NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
--============_-1089530073==_=========== Content-Type: text/plain; charset="us-ascii" ; format="flowed" I don't know if this will do the trick, but in previous versions of Absoft you had to use a more recent version of cfortran.h than perhaps came with the netcdf library. i have attached it. Theinstructions that cam with it were as follows: 1) Unpack the netcdf source tree. This will create a directory named netcdf-3.5.0. $ uncompress netcdf.tar.Z $ tar -xf netcdf.tar 2) Update netcdf3.5.0/src/fortran/cfortran.h. This README file was shipped as part of an archive that also included a new cfortran.h. You must use this cfortran.h when building netcdf 3.5.0 with Pro Fortran for OS X. $ cp cfortran.h netcdf3.5.0/src/fortran/cfortran.h 3) Setup the appropriate envrionment variables. If you are using tcsh (or another csh based command shell) enter: setenv FC /Applications/absoft/bin/f90 setenv FFLAGS "-YEXT_NAMES=LCS -YEXT_SFX=_ -YCFRL=1" setenv F90 /Applications/absoft/bin/f90 setenv F90FLAGS "-YEXT_NAMES=LCS -YEXT_SFX=_ -YCFRL=1" setenv FLIBS -lU77 setenv CPPFLAGS "-DAbsoftProFortran" setenv CFLAGS "" If you are using bash (or another ksh based command shell) enter: export FC=/Applications/absoft/bin/f90 export FFLAGS="-YEXT_NAMES=LCS -YEXT_SFX=_ -YCFRL=1" export F90=/Applications/absoft/bin/f90 export F90FLAGS="-YEXT_NAMES=LCS -YEXT_SFX=_ -YCFRL=1" export FLIBS=-lU77 export CPPFLAGS="-DAbsoftProFortran" export CFLAGS 4) Configure, build netcdf 3.5.0, and run the test suite: $ cd netcdf-3.5.0/src $ ./configure $ make $ make tests 5) Using netcdf 3.5.0: When linking against the netcdf library, your Fortran code must be compiled with -f -N15 and -N90 and your Fortran 90 code must be compiled with -YEXT_NAMES=LCS -YEXT_SFX=_ -YCFRL=1 If this works, I will send the bill to Russ. -Roy M. At 4:02 PM -0600 7/28/05, Mike Mills wrote: >Hi folks, > >I've previously build NetCDF libraries on my Mac with IBM XL Fortran >extensions. However, I now need to use Absoft Fortran Pro 9.2 in >order to compile 64-bit code. I've run into the problem Russ Rew >described in January 2005 at the following website: > >http://my.unidata.ucar.edu/content/support/help/MailArchives/netcdf/msg02849.html > >As Russ mentions, "./configure" and "make" work, but "make test" >fails because the library has an extra "_" after the NetCDF C >functions, and hence they are not found. I've not been able to find >any solutions to this issue in the discussion groups. I have this >problem with v3.6.0, v3.6.0-p1, and v3.6.1-beta3. I've tried lots >of different flag options. These are the ones I've got right now: > >export CPPFLAGS="-DAbsoftProFortran" >export CFLAGS='' >export FLIBS="-lU77" >export FC="/Applications/Absoft/bin/f90" >export FFLAGS="-w -YEXT_NAMES=LCS -YEXT_SFX=_ -YCFRL=1" >export F90="/Applications/Absoft/bin/f90" >export F90FLAGS="-w -YEXT_NAMES=LCS -YEXT_SFX=_ -YCFRL=1" > >Does anyone know of a solution to this issue? > >-Mike Mills >LASP, University of Colorado, Boulder -- ********************** "The contents of this message do not reflect any position of the Government or NOAA." ********************** Roy Mendelssohn Supervisory Operations Research Analyst NOAA/NMFS Environmental Research Division Southwest Fisheries Science Center 1352 Lighthouse Avenue Pacific Grove, CA 93950-2097 e-mail: Roy.Mendelssohn@xxxxxxxx (Note new e-mail address) voice: (831)-648-9029 fax: (831)-648-8440 www: http://www.pfeg.noaa.gov/ "Old age and treachery will overcome youth and skill." --============_-1089530073==_=========== Content-Id: <p06230915bf0f16638f34@[161.55.17.99].0.0> Content-Type: application/octet-stream; name="cfortran.h" Content-Disposition: attachment; filename="cfortran.h" Content-Transfer-Encoding: base64 LyogY2ZvcnRyYW4uaCAgNC4xICovICAgICAgICAgIC8qIGFub255bW91cyBmdHBAemVi cmEuZGVzeS5kZSAqLwovKiBCdXJraGFyZCBCdXJvdyAgYnVyb3dAZGVzeS5kZSAgICAg ICAgICAgICAgICAgMTk5MCAtIDE5OTguICovCgojaWZuZGVmIF9fQ0ZPUlRSQU5fTE9B REVECiNkZWZpbmUgX19DRk9SVFJBTl9MT0FERUQKCi8qIAogICBUSElTIEZJTEUgSVMg UFJPUEVSVFkgT0YgQlVSS0hBUkQgQlVST1cuIElGIFlPVSBBUkUgVVNJTkcgVEhJUyBG SUxFIFlPVQogICBTSE9VTEQgQUxTTyBIQVZFIEFDQ0VTUyBUTyBDRk9SVFJBTi5ET0Mg V0hJQ0ggUFJPVklERVMgVEVSTVMgRk9SIFVTSU5HLAogICBNT0RJRllJTkcsIENPUFlJ TkcgQU5EIERJU1RSSUJVVElORyBUSEUgQ0ZPUlRSQU4uSCBQQUNLQUdFLgoqLwoKLyog CiAgQXZvaWQgc3ltYm9scyBhbHJlYWR5IHVzZWQgYnkgY29tcGlsZXJzIGFuZCBzeXN0 ZW0gKi5oOgogIF9fIC0gT1NGMSB6dWthbDA2IFYzLjAgMzQ3IGFscGhhLCBjYyAtYyAt c3RkMSBjZm9ydGVzdC5jCgogKi8KCgovKiBGaXJzdCBwcmVwYXJlIGZvciB0aGUgQyBj b21waWxlci4gKi8KCiNpZm5kZWYgQU5TSV9DX3ByZXByb2Nlc3NvciAvKiBpLmUuIHVz ZXIgY2FuIG92ZXJyaWRlLiAqLwojaWZkZWYgX19DRl9fS25SCiNkZWZpbmUgQU5TSV9D X3ByZXByb2Nlc3NvciAwCiNlbHNlCiNpZmRlZiBfX1NURENfXwojZGVmaW5lIEFOU0lf Q19wcmVwcm9jZXNzb3IgMQojZWxzZQojZGVmaW5lIF9jZmxlZnQgICAgICAgICAgICAg MQojZGVmaW5lIF9jZnJpZ2h0IAojZGVmaW5lIF9jZmxlZnRfY2ZyaWdodCAgICAgMAoj ZGVmaW5lIEFOU0lfQ19wcmVwcm9jZXNzb3IgX2NmbGVmdC8qKi9fY2ZyaWdodAojZW5k aWYKI2VuZGlmCiNlbmRpZgoKI2lmIEFOU0lfQ19wcmVwcm9jZXNzb3IKI2RlZmluZSBf MChBLEIpICAgQSMjQgojZGVmaW5lICBfKEEsQikgICBfMChBLEIpICAvKiBzZWUgY2F0 LHhjYXQgb2YgSyZSIEFOU0kgQyBwLiAyMzEgKi8KI2RlZmluZSBfMihBLEIpICAgQSMj QiAgICAgLyogSyZSIEFOU0kgQyBwLjIzMDogLi4gaWRlbnRpZmllciBpcyBub3QgcmVw bGFjZWQgKi8KI2RlZmluZSBfMyhBLEIsQykgXyhBLF8oQixDKSkKI2Vsc2UgICAgICAg ICAgICAgICAgICAgICAgLyogaWYgaXQgdHVybnMgdXAgYWdhaW4gZHVyaW5nIHJlc2Nh bm5pbmcuICAgICAgICAgKi8KI2RlZmluZSAgXyhBLEIpICAgQS8qKi9CCiNkZWZpbmUg XzIoQSxCKSAgIEEvKiovQgojZGVmaW5lIF8zKEEsQixDKSBBLyoqL0IvKiovQwojZW5k aWYKCiNpZiAoZGVmaW5lZCh2YXgpJiZkZWZpbmVkKHVuaXgpKSB8fCAoZGVmaW5lZChf X3ZheF9fKSYmZGVmaW5lZChfX3VuaXhfXykpCiNkZWZpbmUgVkFYVWx0cml4CiNlbmRp ZgoKI2luY2x1ZGUgPHN0ZGlvLmg+ICAgICAvKiBOVUxMIFtpbiBhbGwgbWFjaGluZXMg c3RkaW8uaF0gICAgICAgICAgICAgICAgICAgICAgKi8KI2luY2x1ZGUgPHN0cmluZy5o PiAgICAvKiBzdHJsZW4sIG1lbXNldCwgbWVtY3B5LCBtZW1jaHIuICAgICAgICAgICAg ICAgICAgICAgKi8KI2lmICEoIGRlZmluZWQoVkFYVWx0cml4KSB8fCBkZWZpbmVkKHN1 bikgfHwgKGRlZmluZWQoYXBvbGxvKSYmIWRlZmluZWQoX19TVERDUFBfXykpICkKI2lu Y2x1ZGUgPHN0ZGxpYi5oPiAgICAvKiBtYWxsb2MsZnJlZSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKi8KI2Vsc2UKI2luY2x1ZGUgPG1hbGxvYy5o PiAgICAvKiBIYWQgdG8gYmUgcmVtb3ZlZCBmb3IgRG9tYWluT1MgaDEwNSAxMC40IHN5 czUuMyA0MjV0Ki8KI2lmZGVmIGFwb2xsbwojZGVmaW5lIF9fQ0ZfX0FQT0xMTzY3IC8q IF9fU1REQ1BQX18gaXMgaW4gQXBvbGxvIDYuOCAoaS5lLiBBTlNJKSBhbmQgb253YXJk cyAqLwojZW5kaWYKI2VuZGlmCgojaWYgIWRlZmluZWQoX19HTlVDX18pICYmICFkZWZp bmVkKF9fc3VuKSAmJiAoZGVmaW5lZChzdW4pfHxkZWZpbmVkKFZBWFVsdHJpeCl8fGRl ZmluZWQobHlueCkpCiNkZWZpbmUgX19DRl9fS25SICAgICAvKiBTdW4sIEx5bnhPUyBh bmQgVkFYIFVsdHJpeCBjYyBvbmx5IHN1cHBvcnRzIEsmUi4gICAgICovCiAgICAgICAg ICAgICAgICAgICAgICAvKiBNYW51YWxseSBkZWZpbmUgX19DRl9fS25SIGZvciBIUCBp ZiBkZXNpcmVkL3JlcXVpcmVkLiovCiNlbmRpZiAgICAgICAgICAgICAgICAvKiAgICAg ICBpLmUuIFdlIHdpbGwgZ2VuZXJhdGUgS2VybmlnaGFuIGFuZCBSaXRjaGllIEMuICov Ci8qIE5vdGUgdGhhdCB5b3UgbWF5IGRlZmluZSBfX0NGX19LblIgYmVmb3JlICNpbmNs dWRlIGNmb3J0cmFuLmgsIGluIG9yZGVyIHRvCmdlbmVyYXRlIEsmUiBDIGluc3RlYWQg b2YgdGhlIGRlZmF1bHQgQU5TSSBDLiBUaGUgZGlmZmVyZW5jZXMgYXJlIG1haW5seSBp biB0aGUKZnVuY3Rpb24gcHJvdG90eXBlcyBhbmQgZGVjbGFyYXRpb25zLiBBbGwgbWFj aGluZXMsIGV4Y2VwdCB0aGUgQXBvbGxvLCB3b3JrCndpdGggZWl0aGVyIHN0eWxlLiBU aGUgQXBvbGxvJ3MgYXJndW1lbnQgcHJvbW90aW9uIHJ1bGVzIHJlcXVpcmUgQU5TSSBv ciB1c2Ugb2YKdGhlIG9ic29sZXRlIHN0ZF8kY2FsbCB3aGljaCB3ZSBoYXZlIG5vdCBp bXBsZW1lbnRlZCBoZXJlLiBIZW5jZSBvbiB0aGUgQXBvbGxvLApvbmx5IEMgY2FsbGlu ZyBGT1JUUkFOIHN1YnJvdXRpbmVzIHdpbGwgd29yayB1c2luZyBLJlIgc3R5bGUuKi8K CgovKiBSZW1haW5kZXIgb2YgY2ZvcnRyYW4uaCBkZXBlbmRzIG9uIHRoZSBGb3J0cmFu IGNvbXBpbGVyLiAqLwoKI2lmIGRlZmluZWQoQ0xJUFBFUkZvcnRyYW4pIHx8IGRlZmlu ZWQoX19DWUdXSU4zMl9fKQojaWZuZGVmIGYyY0ZvcnRyYW4KI2RlZmluZSBmMmNGb3J0 cmFuCiNlbmRpZgojZW5kaWYKCi8qIFZBWC9WTVMgZG9lcyBub3QgbGV0IHVzIFwtc3Bs aXQgbG9uZyAjaWYgbGluZXMuICovIAovKiBTcGxpdCAjaWYgaW50byAyIGJlY2F1c2Ug c29tZSBIUC1VWCBjYW4ndCBoYW5kbGUgbG9uZyAjaWYgKi8KI2lmICEoZGVmaW5lZChO QUdmOTBGb3J0cmFuKXx8ZGVmaW5lZChmMmNGb3J0cmFuKXx8ZGVmaW5lZChocHV4Rm9y dHJhbil8fGRlZmluZWQoYXBvbGxvRm9ydHJhbil8fGRlZmluZWQoc3VuRm9ydHJhbil8 fGRlZmluZWQoSUJNUjJGb3J0cmFuKXx8ZGVmaW5lZChDUkFZRm9ydHJhbil8fGRlZmlu ZWQocGdpRm9ydHJhbikpCiNpZiAhKGRlZmluZWQobWlwc0ZvcnRyYW4pfHxkZWZpbmVk KERFQ0ZvcnRyYW4pfHxkZWZpbmVkKHZtc0ZvcnRyYW4pfHxkZWZpbmVkKENPTlZFWEZv cnRyYW4pfHxkZWZpbmVkKFBvd2VyU3RhdGlvbkZvcnRyYW4pfHxkZWZpbmVkKEFic29m dFVOSVhGb3J0cmFuKXx8ZGVmaW5lZChBYnNvZnRQcm9Gb3J0cmFuKXx8ZGVmaW5lZChT WEZvcnRyYW4pKQovKiBJZiBubyBGb3J0cmFuIGNvbXBpbGVyIGlzIGdpdmVuLCB3ZSBj aG9vc2Ugb25lIGZvciB0aGUgbWFjaGluZXMgd2Uga25vdy4gICAqLwojaWYgZGVmaW5l ZChseW54KSB8fCBkZWZpbmVkKFZBWFVsdHJpeCkKI2RlZmluZSBmMmNGb3J0cmFuICAg IC8qIEx5bng6ICAgICAgT25seSBzdXBwb3J0IGYyYyBhdCB0aGUgbW9tZW50LgogICAg ICAgICAgICAgICAgICAgICAgICAgVkFYVWx0cml4OiBmNzcgYmVoYXZlcyBsaWtlIGYy Yy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgU3VwcG9ydCBmMmMgb3IgZjc3IHdp dGggZ2NjLCB2Y2Mgd2l0aCBmMmMuIAogICAgICAgICAgICAgICAgICAgICAgICAgICBm Nzcgd2l0aCB2Y2Mgd29ya3MsIG1pc3NpbmcgbGluayBtYWdpYyBmb3IgZjc3IEkvTy4q LwojZW5kaWYKI2lmIGRlZmluZWQoX19ocHV4KSAgICAgICAgICAgICAvKiA5MjExMDc6 IFVzZSBfX2hwdXggaW5zdGVhZCBvZiBfX2hwOTAwMHMzMDAgKi8KI2RlZmluZSAgICAg ICBocHV4Rm9ydHJhbiAgICAgICAvKiAgICAgICAgIFNob3VsZCBhbHNvIGFsbG93IGhw OTAwMHM3LzgwMCB1c2UuKi8KI2VuZGlmCiNpZiAgICAgICBkZWZpbmVkKGFwb2xsbykK I2RlZmluZSAgICAgICAgICAgYXBvbGxvRm9ydHJhbiAvKiBfX0NGX19BUE9MTE82NyBh bHNvIGRlZmluZXMgc29tZSBiZWhhdmlvci4gKi8KI2VuZGlmCiNpZiAgICAgICAgICBk ZWZpbmVkKHN1bikgfHwgZGVmaW5lZChfX3N1bikgCiNkZWZpbmUgICAgICAgICAgICAg IHN1bkZvcnRyYW4KI2VuZGlmCiNpZiAgICAgICBkZWZpbmVkKF9JQk1SMikKI2RlZmlu ZSAgICAgICAgICAgIElCTVIyRm9ydHJhbgojZW5kaWYKI2lmICAgICAgICBkZWZpbmVk KF9DUkFZKQojZGVmaW5lICAgICAgICAgICAgIENSQVlGb3J0cmFuIC8qICAgICAgIF9D UkFZVDNFIGFsc28gZGVmaW5lcyBzb21lIGJlaGF2aW9yLiAqLwojZW5kaWYKI2lmICAg ICAgICBkZWZpbmVkKF9TWCkKI2RlZmluZSAgICAgICAgICAgICAgIFNYRm9ydHJhbgoj ZW5kaWYKI2lmICAgICAgICAgZGVmaW5lZChtaXBzKSB8fCBkZWZpbmVkKF9fbWlwcykK I2RlZmluZSAgICAgICAgICAgICBtaXBzRm9ydHJhbgojZW5kaWYKI2lmICAgICAgICAg IGRlZmluZWQodm1zKSB8fCBkZWZpbmVkKF9fdm1zKQojZGVmaW5lICAgICAgICAgICAg ICB2bXNGb3J0cmFuCiNlbmRpZgojaWYgICAgICBkZWZpbmVkKF9fYWxwaGEpICYmIGRl ZmluZWQoX191bml4X18pCiNkZWZpbmUgICAgICAgICAgICAgIERFQ0ZvcnRyYW4KI2Vu ZGlmCiNpZiAgIGRlZmluZWQoX19jb252ZXhfXykKI2RlZmluZSAgICAgICAgICAgQ09O VkVYRm9ydHJhbgojZW5kaWYKI2lmICAgZGVmaW5lZChWSVNVQUxfQ1BMVVNQTFVTKQoj ZGVmaW5lICAgICBQb3dlclN0YXRpb25Gb3J0cmFuCiNlbmRpZgojZW5kaWYgLyogLi4u Rm9ydHJhbiAqLwojZW5kaWYgLyogLi4uRm9ydHJhbiAqLwoKLyogU3BsaXQgI2lmIGlu dG8gMiBiZWNhdXNlIHNvbWUgSFAtVVggY2FuJ3QgaGFuZGxlIGxvbmcgI2lmICovCiNp ZiAhKGRlZmluZWQoTkFHZjkwRm9ydHJhbil8fGRlZmluZWQoZjJjRm9ydHJhbil8fGRl ZmluZWQoaHB1eEZvcnRyYW4pfHxkZWZpbmVkKGFwb2xsb0ZvcnRyYW4pfHxkZWZpbmVk KHN1bkZvcnRyYW4pfHxkZWZpbmVkKElCTVIyRm9ydHJhbil8fGRlZmluZWQoQ1JBWUZv cnRyYW4pfHxkZWZpbmVkKHBnaUZvcnRyYW4pKQojaWYgIShkZWZpbmVkKG1pcHNGb3J0 cmFuKXx8ZGVmaW5lZChERUNGb3J0cmFuKXx8ZGVmaW5lZCh2bXNGb3J0cmFuKXx8ZGVm aW5lZChDT05WRVhGb3J0cmFuKXx8ZGVmaW5lZChQb3dlclN0YXRpb25Gb3J0cmFuKXx8 ZGVmaW5lZChBYnNvZnRVTklYRm9ydHJhbil8fGRlZmluZWQoQWJzb2Z0UHJvRm9ydHJh bil8fGRlZmluZWQoU1hGb3J0cmFuKSkKLyogSWYgeW91ciBjb21waWxlciBiYXJmcyBv biAnICNlcnJvcicsIHJlcGxhY2UgIyB3aXRoIHRoZSB0cmlncmFwaCBmb3IgIyAgICAg Ki8KICNlcnJvciAiY2ZvcnRyYW4uaDogIENhbid0IGZpbmQgeW91ciBlbnZpcm9ubWVu dCBhbW9uZzpcCiAgICAtIE1JUFMgY2MgYW5kIGY3NyAyLjAuIChlLmcuIFNpbGljb24g R3JhcGhpY3MsIERFQ3N0YXRpb25zLCAuLi4pICAgICBcCiAgICAtIElCTSBBSVggWEwg QyBhbmQgRk9SVFJBTiBDb21waWxlci82MDAwIFZlcnNpb24gMDEuMDEuMDAwMC4wMDAw ICAgICBcCiAgICAtIFZBWCAgIFZNUyBDQyAzLjEgYW5kIEZPUlRSQU4gNS40LiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAtIEFscGhhIFZNUyBERUMg QyAxLjMgYW5kIERFQyBGT1JUUkFOIDYuMC4gICAgICAgICAgICAgICAgICAgICAgICAg ICBcCiAgICAtIEFscGhhIE9TRiBERUMgQyBhbmQgREVDIEZvcnRyYW4gZm9yIE9TRi8x IEFYUCBWZXJzaW9uIDEuMiAgICAgICAgICBcCiAgICAtIEFwb2xsbyBEb21haW5PUyAx MC4yIChzeXM1LjMpIHdpdGggZjc3IDEwLjcgYW5kIGNjIDYuNy4gICAgICAgICAgICBc CiAgICAtIENSQVkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAtIE5FQyBTWC00IFNVUEVSLVVYICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAg ICAtIENPTlZFWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCiAgICAtIFN1biAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAt IFBvd2VyU3RhdGlvbiBGb3J0cmFuIHdpdGggVmlzdWFsIEMrKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCiAgICAtIEhQOTAwMHMzMDAvczcwMC9zODAwIExhdGVz dCB0ZXN0IHdpdGg6IEhQLVVYIEEuMDguMDcgQSA5MDAwLzczMCAgICBcCiAgICAtIEx5 bnhPUzogY2Mgb3IgZ2NjIHdpdGggZjJjLiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCiAgICAtIFZBWFVsdHJpeDogdmNjLGNjIG9yIGdjYyB3aXRo IGYyYy4gZ2NjIG9yIGNjIHdpdGggZjc3LiAgICAgICAgICAgICBcCiAgICAtICAgICAg ICAgICAgZjc3IHdpdGggdmNjIHdvcmtzOyBidXQgbWlzc2luZyBsaW5rIG1hZ2ljIGZv ciBmNzcgSS9PLiBcCiAgICAtICAgICAgICAgICAgTk8gZm9ydC4gTm9uZSBvZiBnY2Ms IGNjIG9yIHZjYyBnZW5lcmF0ZSByZXF1aXJlZCBuYW1lcy5cCiAgICAtIGYyYyAgICA6 IFVzZSAjZGVmaW5lICAgIGYyY0ZvcnRyYW4sIG9yIGNjIC1EZjJjRm9ydHJhbiAgICAg ICAgICAgICBcCiAgICAtIE5BRyBmOTA6IFVzZSAjZGVmaW5lIE5BR2Y5MEZvcnRyYW4s IG9yIGNjIC1ETkFHZjkwRm9ydHJhbiAgICAgICAgICBcCiAgICAtIEFic29mdCBVTklY IEY3NzogVXNlICNkZWZpbmUgQWJzb2Z0VU5JWEZvcnRyYW4gb3IgY2MgLURBYnNvZnRV TklYRm9ydHJhbiBcCiAgICAtIEFic29mdCBQcm8gRm9ydHJhbjogVXNlICNkZWZpbmUg QWJzb2Z0UHJvRm9ydHJhbiBcCiAgICAtIFBvcnRsYW5kIEdyb3VwIEZvcnRyYW46IFVz ZSAjZGVmaW5lIHBnaUZvcnRyYW4iCi8qIENvbXBpbGVyIG11c3QgdGhyb3cgdXMgb3V0 IGF0IHRoaXMgcG9pbnQhICovCiNlbmRpZgojZW5kaWYKCgojaWYgZGVmaW5lZChWQVhD KSAmJiAhZGVmaW5lZChfX1ZBWEMpCiNkZWZpbmUgT0xEX1ZBWEMKI3ByYWdtYSBub3N0 YW5kYXJkICAgICAgICAgICAgICAgICAgICAgICAvKiBQcmV2ZW50ICVDQy1JLVBBUkFN Tk9UVVNFRC4gICAgICAgKi8KI2VuZGlmCgovKiBUaHJvdWdob3V0IGNmb3J0cmFuLmgg d2UgdXNlOiBVTiA9IFVwcGVyY2FzZSBOYW1lLiAgTE4gPSBMb3dlcmNhc2UgTmFtZS4g ICAqLwoKI2lmIGRlZmluZWQoZjJjRm9ydHJhbikgfHwgZGVmaW5lZChOQUdmOTBGb3J0 cmFuKSB8fCBkZWZpbmVkKERFQ0ZvcnRyYW4pIHx8IGRlZmluZWQobWlwc0ZvcnRyYW4p IHx8IGRlZmluZWQoYXBvbGxvRm9ydHJhbikgfHwgZGVmaW5lZChzdW5Gb3J0cmFuKSB8 fCBkZWZpbmVkKENPTlZFWEZvcnRyYW4pIHx8IGRlZmluZWQoU1hGb3J0cmFuKSB8fCBk ZWZpbmVkKGV4dG5hbWUpIHx8IGRlZmluZWQocGdpRm9ydHJhbikgfHwgZGVmaW5lZChB YnNvZnRQcm9Gb3J0cmFuKQojZGVmaW5lIENGQ18oVU4sTE4pICAgICAgICAgICAgXyhM TixfKSAgICAgIC8qIExvd2VyY2FzZSBGT1JUUkFOIHN5bWJvbHMuICAgICAqLwojZGVm aW5lIG9yaWdfZmNhbGxzYyhVTixMTikgICAgQ0ZDXyhVTixMTikKI2Vsc2UgCiNpZiBk ZWZpbmVkKENSQVlGb3J0cmFuKSB8fCBkZWZpbmVkKFBvd2VyU3RhdGlvbkZvcnRyYW4p IAojaWZkZWYgX0NSQVkgICAgICAgICAgLyogKFVOKSwgbm90IFVOLCBjaXJjdW12ZW50 cyBDUkFZIHByZXByb2Nlc3NvciBidWcuICAgICAqLwojZGVmaW5lIENGQ18oVU4sTE4p ICAgICAgICAgICAgKFVOKSAgICAgICAgIC8qIFVwcGVyY2FzZSBGT1JUUkFOIHN5bWJv bHMuICAgICAqLwojZWxzZSAgICAgICAgICAgICAgICAgLyogQXQgbGVhc3QgVklTVUFM X0NQTFVTUExVUyBiYXJmcyBvbiAoVU4pLCBzbyBuZWVkIFVOLiAqLwojZGVmaW5lIENG Q18oVU4sTE4pICAgICAgICAgICAgVU4gICAgICAgICAgIC8qIFVwcGVyY2FzZSBGT1JU UkFOIHN5bWJvbHMuICAgICAqLwojZW5kaWYKI2RlZmluZSBvcmlnX2ZjYWxsc2MoVU4s TE4pICAgIENGQ18oVU4sTE4pICAvKiBDUkFZIGluc2lzdHMgb24gYXJnLidzIGhlcmUu ICAgKi8KI2Vsc2UgIC8qIEZvciBmb2xsb3dpbmcgbWFjaGluZXMgb25lIG1heSB3aXNo IHRvIGNoYW5nZSB0aGUgZmNhbGxzYyBkZWZhdWx0LiAgKi8KI2RlZmluZSBDRl9TQU1F X05BTUVTUEFDRQojaWZkZWYgdm1zRm9ydHJhbgojZGVmaW5lIENGQ18oVU4sTE4pICAg ICAgICAgICAgTE4gICAgICAgICAgIC8qIEVpdGhlciBjYXNlIEZPUlRSQU4gc3ltYm9s cy4gICAqLwogICAgIC8qIEJVVCB3ZSB1c3VhbGx5IHVzZSBVTiBmb3IgQyBtYWNybyB0 byBGT1JUUkFOIHJvdXRpbmVzLCBzbyB1c2UgTE4gaGVyZSwqLwogICAgIC8qIGJlY2F1 c2UgVkFYL1ZNUyBkb2Vzbid0IGRvIHJlY3Vyc2l2ZSBtYWNyb3MuICAgICAgICAgICAg ICAgICAgICAgICAgICAqLwojZGVmaW5lIG9yaWdfZmNhbGxzYyhVTixMTikgICAgVU4K I2Vsc2UgICAgICAvKiBIUC1VWCB3aXRob3V0ICtwcHUgb3IgSUJNUjIgd2l0aG91dCAt cWV4dG5hbWUuIE5PVCByZWNjb21lbmRlZC4gKi8KI2RlZmluZSBDRkNfKFVOLExOKSAg ICAgICAgICAgIExOICAgICAgICAgICAvKiBMb3dlcmNhc2UgRk9SVFJBTiBzeW1ib2xz LiAgICAgKi8KI2RlZmluZSBvcmlnX2ZjYWxsc2MoVU4sTE4pICAgIENGQ18oVU4sTE4p CiNlbmRpZiAvKiAgdm1zRm9ydHJhbiAqLwojZW5kaWYgLyogQ1JBWUZvcnRyYW4gUG93 ZXJTdGF0aW9uRm9ydHJhbiAqLwojZW5kaWYgLyogLi4uLkZvcnRyYW4gKi8KCiNkZWZp bmUgZmNhbGxzYyhVTixMTikgICAgICAgICAgICAgICBvcmlnX2ZjYWxsc2MoVU4sTE4p CiNkZWZpbmUgcHJlZmFjZV9mY2FsbHNjKFAscCxVTixMTikgICBDRkNfKF8oUCxVTiks XyhwLExOKSkKI2RlZmluZSAgYXBwZW5kX2ZjYWxsc2MoUCxwLFVOLExOKSAgIENGQ18o XyhVTixQKSxfKExOLHApKQoKI2RlZmluZSBDX0ZVTkNUSU9OKFVOLExOKSAgICAgICAg ICAgIGZjYWxsc2MoVU4sTE4pICAgICAgCiNkZWZpbmUgRk9SVFJBTl9GVU5DVElPTihV TixMTikgICAgICBDRkNfKFVOLExOKQoKI2lmbmRlZiBDT01NT05fQkxPQ0sKI2lmbmRl ZiBDT05WRVhGb3J0cmFuCiNpZm5kZWYgQ0xJUFBFUkZvcnRyYW4KI2lmICAgICAhKGRl ZmluZWQoQWJzb2Z0VU5JWEZvcnRyYW4pfHxkZWZpbmVkKEFic29mdFByb0ZvcnRyYW4p KQojZGVmaW5lIENPTU1PTl9CTE9DSyhVTixMTikgICAgICAgICAgQ0ZDXyhVTixMTikK I2Vsc2UKI2RlZmluZSBDT01NT05fQkxPQ0soVU4sTE4pICAgICAgICAgIF8oX0MsTE4p CiNlbmRpZiAgLyogQWJzb2Z0VU5JWEZvcnRyYW4gb3IgQWJzb2Z0UHJvRm9ydHJhbiAq LwojZWxzZQojZGVmaW5lIENPTU1PTl9CTE9DSyhVTixMTikgICAgICAgICAgXyhMTixf XykKI2VuZGlmICAvKiBDTElQUEVSRm9ydHJhbiAqLwojZWxzZQojZGVmaW5lIENPTU1P Tl9CTE9DSyhVTixMTikgICAgICAgICAgXzMoXyxMTixfKQojZW5kaWYgIC8qIENPTlZF WEZvcnRyYW4gKi8KI2VuZGlmICAvKiBDT01NT05fQkxPQ0sgKi8KCiNpZm5kZWYgRE9V QkxFX1BSRUNJU0lPTgojaWYgZGVmaW5lZChDUkFZRm9ydHJhbikgJiYgIWRlZmluZWQo X0NSQVlUM0UpCiNkZWZpbmUgRE9VQkxFX1BSRUNJU0lPTiBsb25nIGRvdWJsZQojZWxz ZQojZGVmaW5lIERPVUJMRV9QUkVDSVNJT04gZG91YmxlCiNlbmRpZgojZW5kaWYKCiNp Zm5kZWYgRk9SVFJBTl9SRUFMCiNpZiBkZWZpbmVkKENSQVlGb3J0cmFuKSAmJiAgZGVm aW5lZChfQ1JBWVQzRSkKI2RlZmluZSBGT1JUUkFOX1JFQUwgZG91YmxlCiNlbHNlCiNk ZWZpbmUgRk9SVFJBTl9SRUFMIGZsb2F0CiNlbmRpZgojZW5kaWYKCiNpZmRlZiBDUkFZ Rm9ydHJhbgojaWZkZWYgX0NSQVkKI2luY2x1ZGUgPGZvcnRyYW4uaD4KI2Vsc2UKI2lu Y2x1ZGUgImZvcnRyYW4uaCIgIC8qIGkuZS4gaWYgY3Jvc3Njb21waWxpbmcgYXNzdW1l IHVzZXIgaGFzIGZpbGUuICovCiNlbmRpZgojZGVmaW5lIEZMT0FUVlZWVlZWVl9jZlBQ IChGT1JUUkFOX1JFQUwgKikgICAvKiBVc2VkIGZvciBDIGNhbGxzIEZPUlRSQU4uICAg ICAqLwovKiBDUkFZJ3MgZG91YmxlPT1mbG9hdCBidXQgQ1JBWSBzYXlzIHBvaW50ZXJz IHRvIGRvdWJsZXMgYW5kIGZsb2F0cyBhcmUgZGlmZi4qLwojZGVmaW5lIFZPSURQICAo dm9pZCAqKSAgLyogV2hlbiBGT1JUUkFOIGNhbGxzIEMsIHdlIGRvbid0IGtub3cgaWYg QyByb3V0aW5lIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnLidzIGhhdmUg YmVlbiBkZWNsYXJlZCBmbG9hdCAqLCBvciBkb3VibGUgKi4gICAqLwojZWxzZQojZGVm aW5lIEZMT0FUVlZWVlZWVl9jZlBQCiNkZWZpbmUgVk9JRFAKI2VuZGlmCgojaWZkZWYg dm1zRm9ydHJhbgojaWYgICAgZGVmaW5lZCh2bXMpIHx8IGRlZmluZWQoX192bXMpCiNp bmNsdWRlIDxkZXNjcmlwLmg+CiNlbHNlCiNpbmNsdWRlICJkZXNjcmlwLmgiICAvKiBp LmUuIGlmIGNyb3NzY29tcGlsaW5nIGFzc3VtZSB1c2VyIGhhcyBmaWxlLiAqLwojZW5k aWYKI2VuZGlmCgojaWZkZWYgc3VuRm9ydHJhbgojaWYgZGVmaW5lZChzdW4pIHx8IGRl ZmluZWQoX19zdW4pCiNpbmNsdWRlIDxtYXRoLmg+ICAgICAvKiBTdW4ncyBGTE9BVEZV TkNUSU9OVFlQRSwgQVNTSUdORkxPQVQsIFJFVFVSTkZMT0FULiAgKi8KI2Vsc2UKI2lu Y2x1ZGUgIm1hdGguaCIgICAgIC8qIGkuZS4gaWYgY3Jvc3Njb21waWxpbmcgYXNzdW1l IHVzZXIgaGFzIGZpbGUuICovCiNlbmRpZgovKiBBdCBsZWFzdCBzdGFydGluZyB3aXRo IHRoZSBkZWZhdWx0IEMgY29tcGlsZXIgU0MzLjAuMSBvZiBTdW5PUyA1LjMsCiAqIEZM T0FURlVOQ1RJT05UWVBFLCBBU1NJR05GTE9BVCwgUkVUVVJORkxPQVQgYXJlIG5vdCBy ZXF1aXJlZCBhbmQgbm90IGluCiAqIDxtYXRoLmg+LCBzaW5jZSBzdW4gQyBubyBsb25n ZXIgcHJvbW90ZXMgQyBmbG9hdCByZXR1cm4gdmFsdWVzIHRvIGRvdWJsZXMuCiAqIFRo ZXJlZm9yZSwgb25seSB1c2UgdGhlbSBpZiBkZWZpbmVkLgogKiBFdmVuIGlmIGdjYyBp cyBiZWluZyB1c2VkLCBhc3N1bWUgdGhhdCBpdCBleGhpYml0cyB0aGUgU3VuIEMgY29t cGlsZXIKICogYmVoYXZpb3IgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byB1c2UgKi5vIGZy b20gdGhlIFN1biBDIGNvbXBpbGVyLgogKiBpLmUuIElmIEZMT0FURlVOQ1RJT05UWVBF LCBldGMuIGFyZSBpbiBtYXRoLmgsIHRoZXkgcmVxdWlyZWQgYnkgZ2NjLgogKi8KI2Vu ZGlmCgojaWZuZGVmIGFwb2xsb0ZvcnRyYW4KI2RlZmluZSBDT01NT05fQkxPQ0tfREVG KERFRklOSVRJT04sIE5BTUUpIGV4dGVybiBERUZJTklUSU9OIE5BTUUKI2RlZmluZSBD Rl9OVUxMX1BST1RPCiNlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvKiBIUCBkb2Vzbid0IHVuZGVyc3RhbmQgI2VsaWYuICovCi8qIFdpdGhv dXQgQU5TSSBwcm90b3R5cGluZywgQXBvbGxvIHByb21vdGVzIGZsb2F0IGZ1bmN0aW9u cyB0byBkb3VibGUuICAgICovCi8qIE5vdGUgdGhhdCBWQVgvVk1TLCBJQk0sIE1pcHMg Y2hva2Ugb24gJ3R5cGUgZnVuY3Rpb24oLi4uKTsnIHByb3RvdHlwZXMuICovCiNkZWZp bmUgQ0ZfTlVMTF9QUk9UTyAuLi4KI2lmbmRlZiBfX0NGX19BUE9MTE82NwojZGVmaW5l IENPTU1PTl9CTE9DS19ERUYoREVGSU5JVElPTiwgTkFNRSkgXAogREVGSU5JVElPTiBO QU1FIF9fYXR0cmlidXRlKChfX3NlY3Rpb24oTkFNRSkpKQojZWxzZQojZGVmaW5lIENP TU1PTl9CTE9DS19ERUYoREVGSU5JVElPTiwgTkFNRSkgXAogREVGSU5JVElPTiBOQU1F ICNhdHRyaWJ1dGVbc2VjdGlvbihOQU1FKV0KI2VuZGlmCiNlbmRpZgoKI2lmZGVmIF9f Y3BsdXNwbHVzCiN1bmRlZiAgQ0ZfTlVMTF9QUk9UTwojZGVmaW5lIENGX05VTExfUFJP VE8gIC4uLgojZW5kaWYKCgojaWZuZGVmIFVTRV9ORVdfREVMRVRFCiNpZmRlZiBfX2Nw bHVzcGx1cwojZGVmaW5lIFVTRV9ORVdfREVMRVRFIDEKI2Vsc2UKI2RlZmluZSBVU0Vf TkVXX0RFTEVURSAwCiNlbmRpZgojZW5kaWYKI2lmIFVTRV9ORVdfREVMRVRFCiNkZWZp bmUgX2NmX21hbGxvYyhOKSBuZXcgY2hhcltOXQojZGVmaW5lIF9jZl9mcmVlKFApICAg ZGVsZXRlW10gUAojZWxzZQojZGVmaW5lIF9jZl9tYWxsb2MoTikgKGNoYXIgKiltYWxs b2MoTikKI2RlZmluZSBfY2ZfZnJlZShQKSAgIGZyZWUoUCkKI2VuZGlmCgojaWZkZWYg bWlwc0ZvcnRyYW4KI2RlZmluZSBDRl9ERUNMQVJFX0dFVEFSRyAgICAgICAgIGludCBm NzdhcmdjOyBjaGFyICoqZjc3YXJndgojZGVmaW5lIENGX1NFVF9HRVRBUkcoQVJHQyxB UkdWKSAgZjc3YXJnYyA9IEFSR0M7IGY3N2FyZ3YgPSBBUkdWCiNlbHNlCiNkZWZpbmUg Q0ZfREVDTEFSRV9HRVRBUkcKI2RlZmluZSBDRl9TRVRfR0VUQVJHKEFSR0MsQVJHVikK I2VuZGlmCgojaWZkZWYgT0xEX1ZBWEMgICAgICAgICAgICAgICAgICAgICAgICAgIC8q IEFsbG93ICVDQy1JLVBBUkFNTk9UVVNFRC4gICAgICAgICAqLwojcHJhZ21hIHN0YW5k YXJkICAgICAgICAgICAgICAgICAgICAgICAgIAojZW5kaWYKCiNkZWZpbmUgQWNmQ09N TUEgLAojZGVmaW5lIEFjZkNPTE9OIDsKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSov CgovKiAgICAgICAgICAgICAgIFVUSUxJVElFUyBVU0VEIFdJVEhJTiBDRk9SVFJBTi5I ICAgICAgICAgICAgICAgICAgICAgICAgICAqLwoKI2RlZmluZSBfY2ZNSU4oQSxCKSAo QTxCP0E6QikKCi8qIDk3MDIxMSAtIFhJWC4xNDU6CiAgIGZpcnN0aW5kZXhsZW5ndGgg IC0gYmV0dGVyIG5hbWUgaXMgYWxsX2J1dF9sYXN0X2luZGV4X2xlbmd0aHMKICAgc2Vj b25kaW5kZXhsZW5ndGggLSBiZXR0ZXIgbmFtZSBpcyAgICAgICAgIGxhc3RfaW5kZXhf bGVuZ3RoCiAqLwojZGVmaW5lICBmaXJzdGluZGV4bGVuZ3RoKEEpIChzaXplb2YoQVsw XSk9PTEgPyAxIDogKHNpemVvZihBKSAvIHNpemVvZihBWzBdKSkgKQojZGVmaW5lIHNl Y29uZGluZGV4bGVuZ3RoKEEpIChzaXplb2YoQVswXSk9PTEgPyAgICAgIHNpemVvZihB KSA6IHNpemVvZihBWzBdKSAgKQoKLyogQmVoYXZpb3Igb2YgRk9SVFJBTiBMT0dJQ0FM LiBBbGwgbWFjaGluZXMnIExPR0lDQUwgaXMgc2FtZSBzaXplIGFzIEMncyBpbnQuCkNv bnZlcnNpb24gaXMgYXV0b21hdGljIGV4Y2VwdCBmb3IgYXJyYXlzIHdoaWNoIHJlcXVp cmUgRjJDTE9HSUNBTFYvQzJGTE9HSUNBTFYuCmYyYywgTUlQUyBmNzcgW0RFQ3N0YXRp b24sIFNHSV0sIFZBWCBVbHRyaXggZjc3LApIUC1VWCBmNzcgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOiBhcyBpbiBDLgpWQVgvVk1TIEZPUlRSQU4s IFZBWCBVbHRyaXggZm9ydCwKQWJzb2Z0IFVuaXggRm9ydHJhbiwgSUJNIFJTLzYwMDAg eGxmICAgICAgICAgICAgIDogTFMgQml0ID0gMC8xID0gVFJVRS9GQUxTRS4KQXBvbGxv ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbmVnLiAg ID0gVFJVRSwgZWxzZSBGQUxTRS4gCltBcG9sbG8gYWNjZXB0cyAtMSBhcyBUUlVFIGZv ciBmdW5jdGlvbiB2YWx1ZXMsIGJ1dCBOT1QgYWxsIG90aGVyIG5lZy4gdmFsdWVzLl0K W0RFQ0ZvcnRyYW4gZm9yIFVsdHJpeCBSSVNDIGlzIGFsc28gY2FsbGVkIGY3NyBidXQg aXMgdGhlIHNhbWUgYXMgVkFYL1ZNUy5dICAgCltNSVBTIGY3NyB0cmVhdHMgLmVxdi4v Lm5lcXYuIGFzIC5lcS4vLm5lLiBhbmQgaGVuY2UgcmVxdWlyZXMgTE9HSUNBTF9TVFJJ Q1QuXSovCgojaWYgZGVmaW5lZChOQUdmOTBGb3J0cmFuKSB8fCBkZWZpbmVkKGYyY0Zv cnRyYW4pIHx8IGRlZmluZWQobWlwc0ZvcnRyYW4pIHx8IGRlZmluZWQoUG93ZXJTdGF0 aW9uRm9ydHJhbikgfHwgZGVmaW5lZChocHV4Rm9ydHJhbjgwMCkgfHwgZGVmaW5lZChB YnNvZnRVTklYRm9ydHJhbikgfHwgZGVmaW5lZChBYnNvZnRQcm9Gb3J0cmFuKSB8fCBk ZWZpbmVkKFNYRm9ydHJhbikgfHwgZGVmaW5lZChwZ2lGb3J0cmFuKQovKiBTWC9Qb3dl clN0YXRpb25Gb3J0cmFuIGhhdmUgMCBhbmQgMSBkZWZpbmVkLCBvdGhlcnMgYXJlIG5l aXRoZXIgVCBub3IgRi4gICAqLwovKiBocHV4Rm9ydHJhbjgwMCBoYXMgMCBhbmQgMHgw MTAwMDAwMCBkZWZpbmVkLiBPdGhlcnMgYXJlIHVua25vd24uICAgICAgICAgICAqLwoj ZGVmaW5lIExPR0lDQUxfU1RSSUNUICAgICAgLyogT3RoZXIgRm9ydHJhbiBoYXZlIC5l cXYuLy5uZXF2LiA9PSAuZXEuLy5uZS4gICAqLwojZW5kaWYKCiNkZWZpbmUgQzJGTE9H SUNBTFYoQSxJKSBcCiBkbyB7aW50IF9faTsgZm9yKF9faT0wO19faTxJO19faSsrKSBB W19faV09QzJGTE9HSUNBTChBW19faV0pOyB9IHdoaWxlICgwKQojZGVmaW5lIEYyQ0xP R0lDQUxWKEEsSSkgXAogZG8ge2ludCBfX2k7IGZvcihfX2k9MDtfX2k8STtfX2krKykg QVtfX2ldPUYyQ0xPR0lDQUwoQVtfX2ldKTsgfSB3aGlsZSAoMCkKCiNpZiBkZWZpbmVk KGFwb2xsb0ZvcnRyYW4pCiNkZWZpbmUgQzJGTE9HSUNBTChMKSAoKEwpPy0xOihMKSZ+ KCh1bnNpZ25lZCkxPDxzaXplb2YoaW50KSo4LTEpKQojZGVmaW5lIEYyQ0xPR0lDQUwo TCkgKChMKTwwPyhMKTowKSAKI2Vsc2UKI2lmIGRlZmluZWQoQ1JBWUZvcnRyYW4pCiNk ZWZpbmUgQzJGTE9HSUNBTChMKSBfYnRvbChMKQojZGVmaW5lIEYyQ0xPR0lDQUwoTCkg X2x0b2IoJihMKSkgICAgIC8qIFN0cmFuZ2VseSBfbHRvYigpIGV4cGVjdHMgYSBwb2lu dGVyLiAqLwojZWxzZQojaWYgZGVmaW5lZChJQk1SMkZvcnRyYW4pIHx8IGRlZmluZWQo dm1zRm9ydHJhbikgfHwgZGVmaW5lZChERUNGb3J0cmFuKSB8fCBkZWZpbmVkKEFic29m dFVOSVhGb3J0cmFuKSB8fCBkZWZpbmVkKEFic29mdFByb0ZvcnRyYW4pCiNkZWZpbmUg QzJGTE9HSUNBTChMKSAoKEwpPyhMKXwxOihMKSZ+KGludCkxKQojZGVmaW5lIEYyQ0xP R0lDQUwoTCkgKChMKSYxPyhMKTowKQojZWxzZQojaWYgZGVmaW5lZChDT05WRVhGb3J0 cmFuKQojZGVmaW5lIEMyRkxPR0lDQUwoTCkgKChMKSA/IH4wIDogMCApCiNkZWZpbmUg RjJDTE9HSUNBTChMKSAoTCkKI2Vsc2UgICAvKiBvdGhlcnMgZXZhbHVhdGUgTE9HSUNB THMgYXMgZm9yIEMuICovCiNkZWZpbmUgQzJGTE9HSUNBTChMKSAoTCkKI2RlZmluZSBG MkNMT0dJQ0FMKEwpIChMKQojaWZuZGVmIExPR0lDQUxfU1RSSUNUCiN1bmRlZiAgQzJG TE9HSUNBTFYKI3VuZGVmICBGMkNMT0dJQ0FMVgojZGVmaW5lIEMyRkxPR0lDQUxWKEEs SSkKI2RlZmluZSBGMkNMT0dJQ0FMVihBLEkpCiNlbmRpZiAgLyogTE9HSUNBTF9TVFJJ Q1QgICAgICAgICAgICAgICAgICAgICAqLwojZW5kaWYgIC8qIENPTlZFWEZvcnRyYW4g fHwgQWxsIE90aGVycyAgICAgICAgKi8KI2VuZGlmICAvKiBJQk1SMkZvcnRyYW4gdm1z Rm9ydHJhbiBERUNGb3J0cmFuIEFic29mdFVOSVhGb3J0cmFuICovCiNlbmRpZiAgLyog Q1JBWUZvcnRyYW4gICAgICAgICAgICAgICAgICAgICAgICAqLwojZW5kaWYgIC8qIGFw b2xsb0ZvcnRyYW4gICAgICAgICAgICAgICAgICAgICAgKi8KCi8qIDk3MDUxNCAtIElu IGFkZGl0aW9uIHRvIENSQVksIHRoZXJlIG1heSBiZSBvdGhlciBtYWNoaW5lcwogICAg ICAgICAgICBmb3Igd2hpY2ggTE9HSUNBTF9TVFJJQ1QgbWFrZXMgbm8gc2Vuc2UuICov CiNpZiBkZWZpbmVkKExPR0lDQUxfU1RSSUNUKSAmJiAhZGVmaW5lZChDUkFZRm9ydHJh bikKLyogRm9yY2UgQzJGTE9HSUNBTCB0byBnZW5lcmF0ZSBvbmx5IHRoZSB2YWx1ZXMg Zm9yIGVpdGhlciAuVFJVRS4gb3IgLkZBTFNFLgogICBTWC9Qb3dlclN0YXRpb25Gb3J0 cmFuIG9ubHkgaGF2ZSAwIGFuZCAxIGRlZmluZWQuCiAgIEVsc2V3aGVyZSwgb25seSBu ZWVkZWQgaWYgeW91IHdhbnQgdG8gZG86CiAgICAgbG9naWNhbCBsdmFyaWFibGUKICAg ICBpZiAobHZhcmlhYmxlIC5lcS4gIC50cnVlLikgdGhlbiAgICAgICAhICgxKQogICBp bnN0ZWFkIG9mCiAgICAgaWYgKGx2YXJpYWJsZSAuZXF2LiAudHJ1ZS4pIHRoZW4gICAg ICAgISAoMikKICAgLSAoMSkgbWF5IG5vdCBldmVuIGJlIEZPUlRSQU4vNzcgYW5kIHRo YXQgQXBvbGxvJ3MgZjc3IGFuZCBJQk0ncyB4bGYKICAgICByZWZ1c2UgdG8gY29tcGls ZSAoMSksIHNvIHlvdSBhcmUgcHJvYmFibHkgd2VsbCBhZHZpc2VkIHRvIHN0YXkgYXdh eSBmcm9tIAogICAgICgxKSBhbmQgZnJvbSBMT0dJQ0FMX1NUUklDVC4KICAgLSBZb3Ug cGF5IGEgKHNsaWdodCkgcGVyZm9ybWFuY2UgcGVuYWx0eSBmb3IgdXNpbmcgTE9HSUNB TF9TVFJJQ1QuICovCiN1bmRlZiAgQzJGTE9HSUNBTAojaWZkZWYgaHB1eEZvcnRyYW44 MDAKI2RlZmluZSBDMkZMT0dJQ0FMKEwpICgoTCk/MHgwMTAwMDAwMDowKQojZWxzZQoj aWYgZGVmaW5lZChhcG9sbG9Gb3J0cmFuKSB8fCBkZWZpbmVkKHZtc0ZvcnRyYW4pIHx8 IGRlZmluZWQoREVDRm9ydHJhbikKI2RlZmluZSBDMkZMT0dJQ0FMKEwpICgoTCk/LTE6 MCkgLyogVGhlc2UgbWFjaGluZXMgdXNlIC0xLzAgZm9yIC50cnVlLi8uZmFsc2UuKi8K I2Vsc2UKI2RlZmluZSBDMkZMT0dJQ0FMKEwpICgoTCk/IDE6MCkgLyogQWxsIG90aGVy cyAgICAgdXNlICsxLzAgZm9yIC50cnVlLi8uZmFsc2UuKi8KI2VuZGlmCiNlbmRpZgoj ZW5kaWYgLyogTE9HSUNBTF9TVFJJQ1QgKi8KCi8qIENvbnZlcnQgYSB2ZWN0b3Igb2Yg QyBzdHJpbmdzIGludG8gRk9SVFJBTiBzdHJpbmdzLiAqLwojaWZuZGVmIF9fQ0ZfX0tu UgpzdGF0aWMgY2hhciAqYzJmc3RydihjaGFyKiBjc3RyLCBjaGFyICpmc3RyLCBpbnQg ZWxlbV9sZW4sIGludCBzaXplb2Zjc3RyKQojZWxzZQpzdGF0aWMgY2hhciAqYzJmc3Ry diggICAgICBjc3RyLCAgICAgICBmc3RyLCAgICAgZWxlbV9sZW4sICAgICBzaXplb2Zj c3RyKQogICAgICAgICAgICAgICAgICAgICBjaGFyKiBjc3RyOyBjaGFyICpmc3RyOyBp bnQgZWxlbV9sZW47IGludCBzaXplb2Zjc3RyOwojZW5kaWYKeyBpbnQgaSxqOwovKiBl bGVtX2xlbiBpbmNsdWRlcyBcMCBmb3IgQyBzdHJpbmdzLiBGb3J0cmFuIHN0cmluZ3Mg ZG9uJ3QgaGF2ZSB0ZXJtLiBcMC4KICAgVXNlZnVsIHNpemUgb2Ygc3RyaW5nIG11c3Qg YmUgdGhlIHNhbWUgaW4gYm90aCBsYW5ndWFnZXMuICovCmZvciAoaT0wOyBpPHNpemVv ZmNzdHIvZWxlbV9sZW47IGkrKykgewogIGZvciAoaj0xOyBqPGVsZW1fbGVuICYmICpj c3RyOyBqKyspICpmc3RyKysgPSAqY3N0cisrOwogIGNzdHIgKz0gMStlbGVtX2xlbi1q OwogIGZvciAoOyBqPGVsZW1fbGVuOyBqKyspICpmc3RyKysgPSAnICc7Cn0gLyogOTUx MDkgLSBTZWVtcyB0byBiZSByZXR1cm5pbmcgdGhlIG9yaWdpbmFsIGZzdHIuICovCnJl dHVybiBmc3RyLXNpemVvZmNzdHIrc2l6ZW9mY3N0ci9lbGVtX2xlbjsgfQoKLyogQ29u dmVydCBhIHZlY3RvciBvZiBGT1JUUkFOIHN0cmluZ3MgaW50byBDIHN0cmluZ3MuICov CiNpZm5kZWYgX19DRl9fS25SCnN0YXRpYyBjaGFyICpmMmNzdHJ2KGNoYXIgKmZzdHIs IGNoYXIqIGNzdHIsIGludCBlbGVtX2xlbiwgaW50IHNpemVvZmNzdHIpCiNlbHNlCnN0 YXRpYyBjaGFyICpmMmNzdHJ2KCAgICAgIGZzdHIsICAgICAgIGNzdHIsICAgICBlbGVt X2xlbiwgICAgIHNpemVvZmNzdHIpCiAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmZz dHI7IGNoYXIqIGNzdHI7IGludCBlbGVtX2xlbjsgaW50IHNpemVvZmNzdHI7IAojZW5k aWYKeyBpbnQgaSxqOwovKiBlbGVtX2xlbiBpbmNsdWRlcyBcMCBmb3IgQyBzdHJpbmdz LiBGb3J0cmFuIHN0cmluZ3MgZG9uJ3QgaGF2ZSB0ZXJtLiBcMC4KICAgVXNlZnVsIHNp emUgb2Ygc3RyaW5nIG11c3QgYmUgdGhlIHNhbWUgaW4gYm90aCBsYW5ndWFnZXMuICov CmNzdHIgKz0gc2l6ZW9mY3N0cjsKZnN0ciArPSBzaXplb2Zjc3RyIC0gc2l6ZW9mY3N0 ci9lbGVtX2xlbjsKZm9yIChpPTA7IGk8c2l6ZW9mY3N0ci9lbGVtX2xlbjsgaSsrKSB7 CiAgKi0tY3N0ciA9ICdcMCc7CiAgZm9yIChqPTE7IGo8ZWxlbV9sZW47IGorKykgKi0t Y3N0ciA9ICotLWZzdHI7Cn0gcmV0dXJuIGNzdHI7IH0KCi8qIGtpbGwgdGhlIHRyYWls aW5nIGNoYXIgdCdzIGluIHN0cmluZyBzLiAqLwojaWZuZGVmIF9fQ0ZfX0tuUgpzdGF0 aWMgY2hhciAqa2lsbF90cmFpbGluZyhjaGFyICpzLCBjaGFyIHQpCiNlbHNlCnN0YXRp YyBjaGFyICpraWxsX3RyYWlsaW5nKCAgICAgIHMsICAgICAgdCkgY2hhciAqczsgY2hh ciB0OwojZW5kaWYKe2NoYXIgKmU7IAplID0gcyArIHN0cmxlbihzKTsKaWYgKGU+cykg eyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE5lZWQgdGhpcyB0byBoYW5kbGUg TlVMTCBzdHJpbmcuKi8KICB3aGlsZSAoZT5zICYmICotLWU9PXQpOyAgICAgICAgICAg IC8qIERvbid0IGZvbGxvdyB0J3MgcGFzdCBiZWdpbm5pbmcuICovCiAgZVsqZT09dD8w OjFdID0gJ1wwJzsgICAgICAgICAgICAgICAvKiBIYW5kbGUgc1swXT10IGNvcnJlY3Rs eS4gICAgICAgKi8KfSByZXR1cm4gczsgfQoKLyoga2lsbF90cmFpbGluZ24ocyx0LGUp IHdpbGwga2lsbCB0aGUgdHJhaWxpbmcgdCdzIGluIHN0cmluZyBzLiBlIG5vcm1hbGx5 IApwb2ludHMgdG8gdGhlIHRlcm1pbmF0aW5nICdcMCcgb2YgcywgYnV0IG1heSBhY3R1 YWxseSBwb2ludCB0byBhbnl3aGVyZSBpbiBzLgpzJ3MgbmV3ICdcMCcgd2lsbCBiZSBw bGFjZWQgYXQgZSBvciBlYXJsaWVyIGluIG9yZGVyIHRvIHJlbW92ZSBhbnkgdHJhaWxp bmcgdCdzLgpJZiBlPHMgc3RyaW5nIHMgaXMgbGVmdCB1bmNoYW5nZWQuICovIAojaWZu ZGVmIF9fQ0ZfX0tuUgpzdGF0aWMgY2hhciAqa2lsbF90cmFpbGluZ24oY2hhciAqcywg Y2hhciB0LCBjaGFyICplKQojZWxzZQpzdGF0aWMgY2hhciAqa2lsbF90cmFpbGluZ24o ICAgICAgcywgICAgICB0LCAgICAgICBlKSBjaGFyICpzOyBjaGFyIHQ7IGNoYXIgKmU7 CiNlbmRpZgp7IAppZiAoZT09cykgKmUgPSAnXDAnOyAgICAgICAgICAgICAgICAgLyog S2lsbCB0aGUgc3RyaW5nIG1ha2VzIHNlbnNlIGhlcmUuKi8KZWxzZSBpZiAoZT5zKSB7 ICAgICAgICAgICAgICAgICAgICAgIC8qIFdhdGNoIG91dCBmb3IgbmVnLiBsZW5ndGgg c3RyaW5nLiovCiAgd2hpbGUgKGU+cyAmJiAqLS1lPT10KTsgICAgICAgICAgICAvKiBE b24ndCBmb2xsb3cgdCdzIHBhc3QgYmVnaW5uaW5nLiAqLwogIGVbKmU9PXQ/MDoxXSA9 ICdcMCc7ICAgICAgICAgICAgICAgLyogSGFuZGxlIHNbMF09dCBjb3JyZWN0bHkuICAg ICAgICovCn0gcmV0dXJuIHM7IH0KCi8qIE5vdGUgdGhlIGZvbGxvd2luZyBhc3N1bWVz IHRoYXQgYW55IGVsZW1lbnQgd2hpY2ggaGFzIHQncyB0byBiZSBjaG9wcGVkIG9mZiwK ZG9lcyBpbmRlZWQgZmlsbCB0aGUgZW50aXJlIGVsZW1lbnQuICovCiNpZm5kZWYgX19D Rl9fS25SCnN0YXRpYyBjaGFyICp2a2lsbF90cmFpbGluZyhjaGFyKiBjc3RyLCBpbnQg ZWxlbV9sZW4sIGludCBzaXplb2Zjc3RyLCBjaGFyIHQpCiNlbHNlCnN0YXRpYyBjaGFy ICp2a2lsbF90cmFpbGluZyggICAgICBjc3RyLCAgICAgZWxlbV9sZW4sICAgICBzaXpl b2Zjc3RyLCAgICAgIHQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyKiBj c3RyOyBpbnQgZWxlbV9sZW47IGludCBzaXplb2Zjc3RyOyBjaGFyIHQ7CiNlbmRpZgp7 IGludCBpOwpmb3IgKGk9MDsgaTxzaXplb2Zjc3RyL2VsZW1fbGVuOyBpKyspIC8qIGVs ZW1fbGVuIGluY2x1ZGVzIFwwIGZvciBDIHN0cmluZ3MuICovCiAga2lsbF90cmFpbGlu Z24oY3N0citlbGVtX2xlbippLHQsY3N0citlbGVtX2xlbiooaSsxKS0xKTsKcmV0dXJu IGNzdHI7IH0KCiNpZmRlZiB2bXNGb3J0cmFuCnR5cGVkZWYgc3RydWN0IGRzYyRkZXNj cmlwdG9yX3MgZnN0cmluZzsKI2RlZmluZSBEU0MkREVTQ1JJUFRPUl9BKERJTUNUKSAg CQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApzdHJ1Y3QgeyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAogIHVuc2lnbmVkIHNob3J0IGRzYyR3X2xlbmd0aDsJICAgICAg ICB1bnNpZ25lZCBjaGFyCSBkc2MkYl9kdHlwZTsJICAgICAgIFwKICB1bnNpZ25lZCBj aGFyCSBkc2MkYl9jbGFzczsJICAgICAgICAgICAgICAgICBjaGFyCSpkc2MkYV9wb2lu dGVyOwkgICAgICAgXAogICAgICAgICAgIGNoYXIJIGRzYyRiX3NjYWxlOwkgICAgICAg IHVuc2lnbmVkIGNoYXIJIGRzYyRiX2RpZ2l0czsgICAgICAgICBcCiAgc3RydWN0IHsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCiAgICB1bnNpZ25lZAkJICAgICAgIDogMzsJICB1bnNp Z25lZCBkc2Mkdl9mbF9iaW5zY2FsZSA6IDE7ICAgICAgXAogICAgdW5zaWduZWQgZHNj JHZfZmxfcmVkaW0gICAgOiAxOyAgICAgICB1bnNpZ25lZCBkc2Mkdl9mbF9jb2x1bW4g ICA6IDE7ICAgICAgXAogICAgdW5zaWduZWQgZHNjJHZfZmxfY29lZmYgICAgOiAxOyAg ICAgICB1bnNpZ25lZCBkc2Mkdl9mbF9ib3VuZHMgICA6IDE7ICAgICAgXAogIH0gZHNj JGJfYWZsYWdzOwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAogIHVuc2lnbmVkIGNoYXIJIGRzYyRiX2RpbWN0OwkgICAg ICAgIHVuc2lnbmVkIGxvbmcJIGRzYyRsX2Fyc2l6ZTsJICAgICAgIFwKICAgICAgICAg ICBjaGFyCSpkc2MkYV9hMDsJICAgICAgICAgICAgICAgICBsb25nCSBkc2MkbF9tIFtE SU1DVF07ICAgICAgXAogIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgbG9u ZyBkc2MkbF9sOyAgICAgICAgICAgICAgICAgICAgICAgICBsb25nIGRzYyRsX3U7ICAg ICAgICAgICAgICAgICAgICAgICAgXAogIH0gZHNjJGJvdW5kcyBbRElNQ1RdOyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAp9CnR5cGVkZWYgRFNDJERFU0NSSVBUT1JfQSgxKSBmc3RyaW5ndmVjdG9yOwovKnR5 cGVkZWYgRFNDJERFU0NSSVBUT1JfQSgyKSBmc3RyaW5nYXJyYXJyOwogIHR5cGVkZWYg RFNDJERFU0NSSVBUT1JfQSgzKSBmc3RyaW5nYXJyYXJyYXJyOyovCiNkZWZpbmUgaW5p dGZzdHIoRixDLEVMRU1OTyxFTEVNTEVOKSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCiggKEYpLmRzYyRsX2Fyc2l6ZT0gICggKEYpLmRzYyR3 X2xlbmd0aCAgICAgICAgICAgICAgICAgICAgICAgID0oRUxFTUxFTikgKSAgICBcCiAg ICAgICAgICAgICAgICAgICAgKiggKEYpLmRzYyRsX21bMF09KEYpLmRzYyRib3VuZHNb MF0uZHNjJGxfdT0oRUxFTU5PKSAgKSwgICBcCiAgKEYpLmRzYyRhX2EwICAgID0gICgg KEYpLmRzYyRhX3BvaW50ZXI9KEMpICkgLSAoRikuZHNjJHdfbGVuZ3RoICAgICAgICAg ICwoRikpCgojZWxzZQojZGVmaW5lIF9OVU1fRUxFTVMgICAgICAtMQojZGVmaW5lIF9O VU1fRUxFTV9BUkcgICAtMgojZGVmaW5lIE5VTV9FTEVNUyhBKSAgICBBLF9OVU1fRUxF TVMKI2RlZmluZSBOVU1fRUxFTV9BUkcoQikgKl8yKEEsQiksX05VTV9FTEVNX0FSRwoj ZGVmaW5lIFRFUk1fQ0hBUlMoQSxCKSBBLEIKI2lmbmRlZiBfX0NGX19LblIKc3RhdGlj IGludCBudW1fZWxlbShjaGFyICpzdHJ2LCB1bnNpZ25lZCBlbGVtX2xlbiwgaW50IHRl cm1fY2hhciwgaW50IG51bV90ZXJtKQojZWxzZQpzdGF0aWMgaW50IG51bV9lbGVtKCAg ICAgIHN0cnYsICAgICAgICAgIGVsZW1fbGVuLCAgICAgdGVybV9jaGFyLCAgICAgbnVt X3Rlcm0pCiAgICAgICAgICAgICAgICAgICAgY2hhciAqc3RydjsgdW5zaWduZWQgZWxl bV9sZW47IGludCB0ZXJtX2NoYXI7IGludCBudW1fdGVybTsKI2VuZGlmCi8qIGVsZW1f bGVuIGlzIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbiBlYWNoIGVsZW1lbnQgb2Yg c3RydiwgdGhlIEZPUlRSQU4KdmVjdG9yIG9mIHN0cmluZ3MuIFRoZSBsYXN0IGVsZW1l bnQgb2YgdGhlIHZlY3RvciBtdXN0IGJlZ2luIHdpdGggYXQgbGVhc3QKbnVtX3Rlcm0g dGVybV9jaGFyIGNoYXJhY3RlcnMsIHNvIHRoYXQgdGhpcyByb3V0aW5lIGNhbiBkZXRl cm1pbmUgaG93IAptYW55IGVsZW1lbnRzIGFyZSBpbiB0aGUgdmVjdG9yLiAqLwp7CnVu c2lnbmVkIG51bSxpOwppZiAobnVtX3Rlcm0gPT0gX05VTV9FTEVNUyB8fCBudW1fdGVy bSA9PSBfTlVNX0VMRU1fQVJHKSAKICByZXR1cm4gdGVybV9jaGFyOwppZiAobnVtX3Rl cm0gPD0wKSBudW1fdGVybSA9IChpbnQpZWxlbV9sZW47CmZvciAobnVtPTA7IDsgbnVt KyspIHsKICBmb3IgKGk9MDsgaTwodW5zaWduZWQpbnVtX3Rlcm0gJiYgKnN0cnY9PXRl cm1fY2hhcjsgaSsrLHN0cnYrKyk7CiAgaWYgKGk9PSh1bnNpZ25lZCludW1fdGVybSkg YnJlYWs7CiAgZWxzZSBzdHJ2ICs9IGVsZW1fbGVuLWk7Cn0KcmV0dXJuIChpbnQpbnVt Owp9CiNlbmRpZgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKLyogICAgICAgICAg IFVUSUxJVElFUyBGT1IgQyBUTyBVU0UgU1RSSU5HUyBJTiBGT1JUUkFOIENPTU1PTiBC TE9DS1MgICAgICAgKi8KCi8qIEMgc3RyaW5nIFRPIEZvcnRyYW4gQ29tbW9uIEJsb2Nr IFNUUmluZy4gKi8KLyogRElNIGlzIHRoZSBudW1iZXIgb2YgRElNZW5zaW9ucyBvZiB0 aGUgYXJyYXkgaW4gdGVybXMgb2Ygc3RyaW5ncywgbm90CiAgIGNoYXJhY3RlcnMuIGUu Zy4gY2hhciBhWzEyXSBoYXMgRElNID0gMCwgY2hhciBhWzEyXVs0XSBoYXMgRElNID0g MSwgZXRjLiAqLwojZGVmaW5lIEMyRkNCU1RSKENTVFIsRlNUUixESU0pICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogYzJmc3Rydigo Y2hhciAqKUNTVFIsIChjaGFyICopRlNUUiwgc2l6ZW9mKEZTVFIpL2NmZWxlbWVudHNv ZihGU1RSLERJTSkrMSwgICAgXAogICAgICAgICBzaXplb2YoRlNUUikrY2ZlbGVtZW50 c29mKEZTVFIsRElNKSkKCi8qIEZvcnRyYW4gQ29tbW9uIEJsb2NrIHN0cmluZyBUTyBD IFNUUmluZy4gKi8KI2RlZmluZSBGQ0IyQ1NUUihGU1RSLENTVFIsRElNKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKIHZraWxsX3Ry YWlsaW5nKGYyY3N0cnYoKGNoYXIgKilGU1RSLCAoY2hhciAqKUNTVFIsICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9m KEZTVFIpL2NmZWxlbWVudHNvZihGU1RSLERJTSkrMSwgICAgICAgICAgICAgICAgIFwK ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKEZTVFIpK2NmZWxlbWVudHNvZihG U1RSLERJTSkpLCAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgIHNpemVv ZihGU1RSKS9jZmVsZW1lbnRzb2YoRlNUUixESU0pKzEsICAgICAgICAgICAgICAgICAg ICAgICAgIFwKICAgICAgICAgICAgICAgIHNpemVvZihGU1RSKStjZmVsZW1lbnRzb2Yo RlNUUixESU0pLCAnICcpCgojZGVmaW5lIGNmREVSRUZFUkVOQ0UwCiNkZWZpbmUgY2ZE RVJFRkVSRU5DRTEgKgojZGVmaW5lIGNmREVSRUZFUkVOQ0UyICoqCiNkZWZpbmUgY2ZE RVJFRkVSRU5DRTMgKioqCiNkZWZpbmUgY2ZERVJFRkVSRU5DRTQgKioqKgojZGVmaW5l IGNmREVSRUZFUkVOQ0U1ICoqKioqCiNkZWZpbmUgY2ZlbGVtZW50c29mKEEsRCkgKHNp emVvZihBKS9zaXplb2YoXyhjZkRFUkVGRVJFTkNFLEQpKEEpKSkKCi8qLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSovCgovKiAgICAgICAgICAgICAgIFVUSUxJVElFUyBGT1IgQyBU TyBDQUxMIEZPUlRSQU4gU1VCUk9VVElORVMgICAgICAgICAgICAgICAqLwoKLyogRGVm aW5lIGxvb2t1cCB0YWJsZXMgZm9yIGhvdyB0byBoYW5kbGUgdGhlIHZhcmlvdXMgdHlw ZXMgb2YgdmFyaWFibGVzLiAgKi8KCiNpZmRlZiBPTERfVkFYQyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLyogUHJldmVudCAlQ0MtSS1QQVJBTU5PVFVTRUQuICov CiNwcmFnbWEgbm9zdGFuZGFyZAojZW5kaWYKCiNkZWZpbmUgWlRSSU5HVl9OVU0oSSkg ICAgICAgSQojZGVmaW5lIFpUUklOR1ZfQVJHRlAoSSkgKCooXzIoQSxJKSkpIC8qIFVu ZG9jdW1lbnRlZC4gRm9yIFBJTlQsIGV0Yy4gKi8KI2RlZmluZSBaVFJJTkdWX0FSR0Yo SSkgXzIoQSxJKQojaWZkZWYgQ0ZTVUJBU0ZVTgojZGVmaW5lIFpUUklOR1ZfQVJHUyhJ KSBaVFJJTkdWX0FSR0YoSSkKI2Vsc2UKI2RlZmluZSBaVFJJTkdWX0FSR1MoSSkgXzIo QixJKQojZW5kaWYKCiNkZWZpbmUgICAgUEJZVEVfY2ZWUChBLEIpIFBJTlRfY2ZWUChB LEIpCiNkZWZpbmUgIFBET1VCTEVfY2ZWUChBLEIpCiNkZWZpbmUgICBQRkxPQVRfY2ZW UChBLEIpCiNpZmRlZiBaVFJJTkdWX0FSR1NfYWxsb3dzX1B2YXJpYWJsZXMKLyogVGhp cyBhbGxvd3MgUHZhcmlhYmxlcyBmb3IgQVJHUy4gQVJHRiBtYWNoaW5lcnkgaXMgYWJv dmUgQVJHRlAuCiAqIEIgaXMgbm90IG5lZWRlZCBiZWNhdXNlIHRoZSB2YXJpYWJsZSBt YXkgYmUgY2hhbmdlZCBieSB0aGUgRm9ydHJhbiByb3V0aW5lLAogKiBidXQgYmVjYXVz ZSBCIGlzIHRoZSBvbmx5IHdheSB0byBhY2Nlc3MgYW4gYXJiaXRyYXJ5IG1hY3JvIGFy Z3VtZW50LiAgICAgICAqLwojZGVmaW5lICAgICBQSU5UX2NmVlAoQSxCKSBpbnQgIEIg PSAoaW50KUE7ICAgICAgICAgICAgICAvKiBGb3IgWlNUUklOR1ZfQVJHUyAqLwojZWxz ZQojZGVmaW5lICAgICBQSU5UX2NmVlAoQSxCKQojZW5kaWYKI2RlZmluZSBQTE9HSUNB TF9jZlZQKEEsQikgaW50ICpCOyAgICAgIC8qIFJldHVybmluZyBMT0dJQ0FMIGluIEZV Tm4gYW5kIFNVQm4gKi8KI2RlZmluZSAgICBQTE9OR19jZlZQKEEsQikgUElOVF9jZlZQ KEEsQikKI2RlZmluZSAgIFBTSE9SVF9jZlZQKEEsQikgUElOVF9jZlZQKEEsQikKCiNk ZWZpbmUgICAgICAgIFZDRl9JTlRfUyhULEEsQikgXyhULFZWVlZWVlZfY2ZUWVBFKSBC ID0gQTsKI2RlZmluZSAgICAgICAgVkNGX0lOVF9GKFQsQSxCKSBfKFQsX2NmVkNGKShB LEIpCi8qIF9jZlZDRiB0YWJsZSBpcyBkaXJlY3RseSBtYXBwZWQgdG8gX2NmQ0NDIHRh YmxlLiAqLwojZGVmaW5lICAgICBCWVRFX2NmVkNGKEEsQikKI2RlZmluZSAgIERPVUJM RV9jZlZDRihBLEIpCiNpZiAhZGVmaW5lZChfX0NGX19LblIpCiNkZWZpbmUgICAgRkxP QVRfY2ZWQ0YoQSxCKQojZWxzZQojZGVmaW5lICAgIEZMT0FUX2NmVkNGKEEsQikgRk9S VFJBTl9SRUFMIEIgPSBBOwojZW5kaWYKI2RlZmluZSAgICAgIElOVF9jZlZDRihBLEIp CiNkZWZpbmUgIExPR0lDQUxfY2ZWQ0YoQSxCKQojZGVmaW5lICAgICBMT05HX2NmVkNG KEEsQikKI2RlZmluZSAgICBTSE9SVF9jZlZDRihBLEIpCgovKiA5ODA0MTYKICAgQ2Fz dCAodm9pZCAoKikoQ0ZfTlVMTF9QUk9UTykpIGNhdXNlcyBTdW5PUyBDQyA0LjIgb2Nj YXNpb25hbGx5IHRvIGJhcmYsCiAgIHdoaWxlIHRoZSBmb2xsb3dpbmcgZXF1aXZhbGVu dCB0eXBlZGVmIGlzIGZpbmUuCiAgIEZvciBjb25zaXN0ZW5jeSB1c2UgdGhlIHR5cGVk ZWYgb24gYWxsIG1hY2hpbmVzLgogKi8KdHlwZWRlZiB2b2lkICgqY2ZDQVNUX0ZVTkNU SU9OKShDRl9OVUxMX1BST1RPKTsKCiNkZWZpbmUgVkNGKFROLEkpICAgICAgIF9JY2Y0 KDQsVixUTixfKEEsSSksXyhCLEkpLEYpCiNkZWZpbmUgVlZDRihUTixBSSxCSSkgIF9J Y2Y0KDQsVixUTixBSSxCSSxTKQojZGVmaW5lICAgICAgICBJTlRfY2ZWKFQsQSxCLEYp IF8oVkNGX0lOVF8sRikoVCxBLEIpCiNkZWZpbmUgICAgICAgSU5UVl9jZlYoVCxBLEIs RikKI2RlZmluZSAgICAgIElOVFZWX2NmVihULEEsQixGKQojZGVmaW5lICAgICBJTlRW VlZfY2ZWKFQsQSxCLEYpCiNkZWZpbmUgICAgSU5UVlZWVl9jZlYoVCxBLEIsRikKI2Rl ZmluZSAgIElOVFZWVlZWX2NmVihULEEsQixGKQojZGVmaW5lICBJTlRWVlZWVlZfY2ZW KFQsQSxCLEYpCiNkZWZpbmUgSU5UVlZWVlZWVl9jZlYoVCxBLEIsRikKI2RlZmluZSBQ SU5UX2NmViggICAgICBULEEsQixGKSBfKFQsX2NmVlApKEEsQikKI2RlZmluZSBQVk9J RF9jZlYoICAgICBULEEsQixGKQojaWYgZGVmaW5lZChhcG9sbG9Gb3J0cmFuKSB8fCBk ZWZpbmVkKGhwdXhGb3J0cmFuODAwKSB8fCBkZWZpbmVkKEFic29mdFVOSVhGb3J0cmFu KQojZGVmaW5lICAgIFJPVVRJTkVfY2ZWKFQsQSxCLEYpIHZvaWQgKCpCKShDRl9OVUxM X1BST1RPKSA9IChjZkNBU1RfRlVOQ1RJT04pQTsKI2Vsc2UKI2RlZmluZSAgICBST1VU SU5FX2NmVihULEEsQixGKQojZW5kaWYKI2RlZmluZSAgICAgU0lNUExFX2NmVihULEEs QixGKQojaWZkZWYgdm1zRm9ydHJhbgojZGVmaW5lICAgICBTVFJJTkdfY2ZWKFQsQSxC LEYpIHN0YXRpYyBzdHJ1Y3Qge2ZzdHJpbmcgZjsgdW5zaWduZWQgY2xlbjt9IEIgPSAg XAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ezAsRFNDJEtf RFRZUEVfVCxEU0MkS19DTEFTU19TLE5VTEx9LDB9OwojZGVmaW5lICAgIFBTVFJJTkdf Y2ZWKFQsQSxCLEYpIHN0YXRpYyBmc3RyaW5nIEI9ezAsRFNDJEtfRFRZUEVfVCxEU0Mk S19DTEFTU19TLE5VTEx9OwojZGVmaW5lICAgIFNUUklOR1ZfY2ZWKFQsQSxCLEYpIHN0 YXRpYyBmc3RyaW5ndmVjdG9yIEIgPSAgICAgICAgICAgICAgICAgICAgICAgXAogIHtz aXplb2YoQSksRFNDJEtfRFRZUEVfVCxEU0MkS19DTEFTU19BLE5VTEwsMCwwLHswLDAs MSwxLDF9LDEsMCxOVUxMLDAsezEsMH19OwojZGVmaW5lICAgUFNUUklOR1ZfY2ZWKFQs QSxCLEYpIHN0YXRpYyBmc3RyaW5ndmVjdG9yIEIgPSAgICAgICAgICAgICAgICAgICAg ICAgXAogICAgICAgICAgezAsRFNDJEtfRFRZUEVfVCxEU0MkS19DTEFTU19BLE5VTEws MCwwLHswLDAsMSwxLDF9LDEsMCxOVUxMLDAsezEsMH19OwojZWxzZQojZGVmaW5lICAg ICBTVFJJTkdfY2ZWKFQsQSxCLEYpIHN0cnVjdCB7dW5zaWduZWQgaW50IGNsZW4sIGZs ZW47fSBCOwojZGVmaW5lICAgIFNUUklOR1ZfY2ZWKFQsQSxCLEYpIHN0cnVjdCB7Y2hh ciAqcywgKmZzOyB1bnNpZ25lZCBmbGVuO30gQjsKI2RlZmluZSAgICBQU1RSSU5HX2Nm VihULEEsQixGKSBpbnQgICAgIEI7CiNkZWZpbmUgICBQU1RSSU5HVl9jZlYoVCxBLEIs Rikgc3RydWN0e2NoYXIgKmZzOyB1bnNpZ25lZCBpbnQgc2l6ZW9mQSxmbGVuO31COwoj ZW5kaWYKI2RlZmluZSAgICBaVFJJTkdWX2NmVihULEEsQixGKSAgU1RSSU5HVl9jZlYo VCxBLEIsRikKI2RlZmluZSAgIFBaVFJJTkdWX2NmVihULEEsQixGKSBQU1RSSU5HVl9j ZlYoVCxBLEIsRikKCi8qIE5vdGUgdGhhdCB0aGUgYWN0aW9ucyBvZiB0aGUgQSB0YWJs ZSB3ZXJlIHBlcmZvcm1lZCBpbnNpZGUgdGhlIEFBIHRhYmxlLgogICBWQVggVWx0cml4 IHZjYywgYW5kIEhQLVVYIGNjLCBkaWRuJ3QgZXZhbHVhdGUgYXJndW1lbnRzIHRvIGZ1 bmN0aW9ucyBsZWZ0IHRvCiAgIHJpZ2h0LCBzbyB3ZSBoYWQgdG8gc3BsaXQgdGhlIG9y aWdpbmFsIHRhYmxlIGludG8gdGhlIGN1cnJlbnQgcm9idXN0IHR3by4gKi8KI2RlZmlu ZSBBQ0YoTkFNRSxUTixBSSxJKSAgICAgIF8oVE4sX2NmU1RSKSg0LEEsTkFNRSxJLEFJ LF8oQixJKSwwKQojZGVmaW5lICAgREVGQVVMVF9jZkEoTSxJLEEsQikKI2RlZmluZSAg IExPR0lDQUxfY2ZBKE0sSSxBLEIpIEI9QzJGTE9HSUNBTChCKTsKI2RlZmluZSAgUExP R0lDQUxfY2ZBKE0sSSxBLEIpIEE9QzJGTE9HSUNBTChBKTsKI2RlZmluZSAgICBTVFJJ TkdfY2ZBKE0sSSxBLEIpICBTVFJJTkdfY2ZDKE0sSSxBLEIsc2l6ZW9mKEEpKQojZGVm aW5lICAgUFNUUklOR19jZkEoTSxJLEEsQikgUFNUUklOR19jZkMoTSxJLEEsQixzaXpl b2YoQSkpCiNpZmRlZiB2bXNGb3J0cmFuCiNkZWZpbmUgIEFBVFJJTkdWX2NmQSggICAg QSxCLCBzQSxmaWxBLHNpbEEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCiBpbml0ZnN0cihCLF9jZl9tYWxsb2MoKHNBKS0oZmlsQSkpLChmaWxBKSwoc2ls QSktMSksICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICBjMmZzdHJ2 KEEsQi5kc2MkYV9wb2ludGVyLChzaWxBKSwoc0EpKTsKI2RlZmluZSBBUEFUUklOR1Zf Y2ZBKCAgICBBLEIsIHNBLGZpbEEsc2lsQSkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKIGluaXRmc3RyKEIsQSwoZmlsQSksKHNpbEEpLTEpLGMyZnN0cnYo QSxBLChzaWxBKSwoc0EpKTsKI2Vsc2UKI2RlZmluZSAgQUFUUklOR1ZfY2ZBKCAgICBB LEIsIHNBLGZpbEEsc2lsQSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKICAgICAoQi5zPV9jZl9tYWxsb2MoKHNBKS0oZmlsQSkpLEIuZnM9YzJmc3RydihB LEIucywoQi5mbGVuPShzaWxBKS0xKSsxLChzQSkpKTsKI2RlZmluZSBBUEFUUklOR1Zf Y2ZBKCAgICBBLEIsIHNBLGZpbEEsc2lsQSkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKIEIuZnM9YzJmc3RydihBLEEsKEIuZmxlbj0oc2lsQSktMSkrMSxC LnNpemVvZkE9KHNBKSk7CiNlbmRpZgojZGVmaW5lICAgU1RSSU5HVl9jZkEoTSxJLEEs QikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAogICAgQUFUUklOR1ZfY2ZBKChjaGFyICopQSxCLHNpemVvZihBKSxmaXJzdGluZGV4 bGVuZ3RoKEEpLHNlY29uZGluZGV4bGVuZ3RoKEEpKQojZGVmaW5lICBQU1RSSU5HVl9j ZkEoTSxJLEEsQikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAogICBBUEFUUklOR1ZfY2ZBKChjaGFyICopQSxCLHNpemVvZihBKSxm aXJzdGluZGV4bGVuZ3RoKEEpLHNlY29uZGluZGV4bGVuZ3RoKEEpKQojZGVmaW5lICAg WlRSSU5HVl9jZkEoTSxJLEEsQikgIEFBVFJJTkdWX2NmQSggKGNoYXIgKilBLEIsICAg ICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgIChfMyhNLF9FTEVN U18sSSkpKigoIF8zKE0sX0VMRU1MRU5fLEkpKSsxKSwgICAgICAgICAgICAgICAgXAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXzMoTSxfRUxFTVNfLEkpKSwoXzMo TSxfRUxFTUxFTl8sSSkpKzEpCiNkZWZpbmUgIFBaVFJJTkdWX2NmQShNLEksQSxCKSBB UEFUUklOR1ZfY2ZBKCAoY2hhciAqKUEsQiwgICAgICAgICAgICAgICAgICAgICBcCiAg ICAgICAgICAgICAgICAgICAgKF8zKE0sX0VMRU1TXyxJKSkqKCggXzMoTSxfRUxFTUxF Tl8sSSkpKzEpLCAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChfMyhNLF9FTEVNU18sSSkpLChfMyhNLF9FTEVNTEVOXyxJKSkrMSkKCiNk ZWZpbmUgICAgUEJZVEVfY2ZBQVAoQSxCKSAmQQojZGVmaW5lICBQRE9VQkxFX2NmQUFQ KEEsQikgJkEKI2RlZmluZSAgIFBGTE9BVF9jZkFBUChBLEIpIEZMT0FUVlZWVlZWVl9j ZlBQICZBCiNkZWZpbmUgICAgIFBJTlRfY2ZBQVAoQSxCKSAmQQojZGVmaW5lIFBMT0dJ Q0FMX2NmQUFQKEEsQikgQj0gJkEgICAgICAgICAvKiBCIHVzZWQgdG8ga2VlcCBhIGNv bW1vbiBXIHRhYmxlLiAqLwojZGVmaW5lICAgIFBMT05HX2NmQUFQKEEsQikgJkEKI2Rl ZmluZSAgIFBTSE9SVF9jZkFBUChBLEIpICZBCgojZGVmaW5lIEFBQ0YoVE4sQUksSSxD KSBfU0VQXyhUTixDLGNmQ09NTUEpIF9JY2YoMyxBQSxUTixBSSxfKEIsSSkpCiNkZWZp bmUgICAgICAgIElOVF9jZkFBKFQsQSxCKSAmQgojZGVmaW5lICAgICAgIElOVFZfY2ZB QShULEEsQikgXyhULFZWVlZWVl9jZlBQKSBBCiNkZWZpbmUgICAgICBJTlRWVl9jZkFB KFQsQSxCKSBfKFQsVlZWVlZfY2ZQUCkgIEFbMF0KI2RlZmluZSAgICAgSU5UVlZWX2Nm QUEoVCxBLEIpIF8oVCxWVlZWX2NmUFApICAgQVswXVswXQojZGVmaW5lICAgIElOVFZW VlZfY2ZBQShULEEsQikgXyhULFZWVl9jZlBQKSAgICBBWzBdWzBdWzBdCiNkZWZpbmUg ICBJTlRWVlZWVl9jZkFBKFQsQSxCKSBfKFQsVlZfY2ZQUCkgICAgIEFbMF1bMF1bMF1b MF0KI2RlZmluZSAgSU5UVlZWVlZWX2NmQUEoVCxBLEIpIF8oVCxWX2NmUFApICAgICAg QVswXVswXVswXVswXVswXQojZGVmaW5lIElOVFZWVlZWVlZfY2ZBQShULEEsQikgXyhU LF9jZlBQKSAgICAgICBBWzBdWzBdWzBdWzBdWzBdWzBdCiNkZWZpbmUgICAgICAgUElO VF9jZkFBKFQsQSxCKSBfKFQsX2NmQUFQKShBLEIpCiNkZWZpbmUgICAgICBQVk9JRF9j ZkFBKFQsQSxCKSAodm9pZCAqKSBBCiNpZiBkZWZpbmVkKGFwb2xsb0ZvcnRyYW4pIHx8 IGRlZmluZWQoaHB1eEZvcnRyYW44MDApIHx8IGRlZmluZWQoQWJzb2Z0VU5JWEZvcnRy YW4pCiNkZWZpbmUgICAgUk9VVElORV9jZkFBKFQsQSxCKSAmQgojZWxzZQojZGVmaW5l ICAgIFJPVVRJTkVfY2ZBQShULEEsQikgKGNmQ0FTVF9GVU5DVElPTilBCiNlbmRpZgoj ZGVmaW5lICAgICBTVFJJTkdfY2ZBQShULEEsQikgIFNUUklOR19jZkNDKFQsQSxCKQoj ZGVmaW5lICAgIFBTVFJJTkdfY2ZBQShULEEsQikgUFNUUklOR19jZkNDKFQsQSxCKQoj aWZkZWYgdm1zRm9ydHJhbgojZGVmaW5lICAgIFNUUklOR1ZfY2ZBQShULEEsQikgJkIK I2Vsc2UKI2lmZGVmIENSQVlGb3J0cmFuCiNkZWZpbmUgICAgU1RSSU5HVl9jZkFBKFQs QSxCKSBfY3B0b2ZjZChCLmZzLEIuZmxlbikKI2Vsc2UKI2RlZmluZSAgICBTVFJJTkdW X2NmQUEoVCxBLEIpIEIuZnMKI2VuZGlmCiNlbmRpZgojZGVmaW5lICAgUFNUUklOR1Zf Y2ZBQShULEEsQikgU1RSSU5HVl9jZkFBKFQsQSxCKQojZGVmaW5lICAgIFpUUklOR1Zf Y2ZBQShULEEsQikgU1RSSU5HVl9jZkFBKFQsQSxCKQojZGVmaW5lICAgUFpUUklOR1Zf Y2ZBQShULEEsQikgU1RSSU5HVl9jZkFBKFQsQSxCKQoKI2lmIGRlZmluZWQodm1zRm9y dHJhbikgfHwgZGVmaW5lZChDUkFZRm9ydHJhbikKI2RlZmluZSBKQ0YoVE4sSSkKI2Rl ZmluZSBLQ0YoVE4sSSkKI2Vsc2UKI2RlZmluZSBKQ0YoVE4sSSkgICAgXyhUTixfY2ZT VFIpKDEsSixfKEIsSSksIDAsMCwwLDApCiNpZiBkZWZpbmVkKEFic29mdFVOSVhGb3J0 cmFuKQojZGVmaW5lICBERUZBVUxUX2NmSihCKSAsMAojZWxzZQojZGVmaW5lICBERUZB VUxUX2NmSihCKQojZW5kaWYKI2RlZmluZSAgTE9HSUNBTF9jZkooQikgREVGQVVMVF9j ZkooQikKI2RlZmluZSBQTE9HSUNBTF9jZkooQikgREVGQVVMVF9jZkooQikKI2RlZmlu ZSAgIFNUUklOR19jZkooQikgLEIuZmxlbgojZGVmaW5lICBQU1RSSU5HX2NmSihCKSAs QgojZGVmaW5lICBTVFJJTkdWX2NmSihCKSBTVFJJTkdfY2ZKKEIpCiNkZWZpbmUgUFNU UklOR1ZfY2ZKKEIpIFNUUklOR19jZkooQikKI2RlZmluZSAgWlRSSU5HVl9jZkooQikg U1RSSU5HX2NmSihCKQojZGVmaW5lIFBaVFJJTkdWX2NmSihCKSBTVFJJTkdfY2ZKKEIp CgovKiBLQ0YgaXMgaWRlbnRpY2FsIHRvIERDRiwgZXhjZXB0IHRoYXQgS0NGIFpUUklO RyBpcyBub3QgZW1wdHkuICovCiNkZWZpbmUgS0NGKFROLEkpICAgIF8oVE4sX2NmU1RS KSgxLEtLLF8oQixJKSwgMCwwLDAsMCkKI2lmIGRlZmluZWQoQWJzb2Z0VU5JWEZvcnRy YW4pCiNkZWZpbmUgIERFRkFVTFRfY2ZLSyhCKSAsIHVuc2lnbmVkIEIKI2Vsc2UKI2Rl ZmluZSAgREVGQVVMVF9jZktLKEIpCiNlbmRpZgojZGVmaW5lICBMT0dJQ0FMX2NmS0so QikgREVGQVVMVF9jZktLKEIpCiNkZWZpbmUgUExPR0lDQUxfY2ZLSyhCKSBERUZBVUxU X2NmS0soQikKI2RlZmluZSAgIFNUUklOR19jZktLKEIpICwgdW5zaWduZWQgQgojZGVm aW5lICBQU1RSSU5HX2NmS0soQikgU1RSSU5HX2NmS0soQikKI2RlZmluZSAgU1RSSU5H Vl9jZktLKEIpIFNUUklOR19jZktLKEIpCiNkZWZpbmUgUFNUUklOR1ZfY2ZLSyhCKSBT VFJJTkdfY2ZLSyhCKQojZGVmaW5lICBaVFJJTkdWX2NmS0soQikgU1RSSU5HX2NmS0so QikKI2RlZmluZSBQWlRSSU5HVl9jZktLKEIpIFNUUklOR19jZktLKEIpCiNlbmRpZgoK I2RlZmluZSBXQ0YoVE4sQU4sSSkgICAgICBfKFROLF9jZlNUUikoMixXLEFOLF8oQixJ KSwgMCwwLDApCiNkZWZpbmUgIERFRkFVTFRfY2ZXKEEsQikKI2RlZmluZSAgTE9HSUNB TF9jZlcoQSxCKQojZGVmaW5lIFBMT0dJQ0FMX2NmVyhBLEIpICpCPUYyQ0xPR0lDQUwo KkIpOwojZGVmaW5lICAgU1RSSU5HX2NmVyhBLEIpIChBW0IuY2xlbl0hPSdcMCc/QVtC LmNsZW5dPSdcMCc6MCk7IC8qIEE/PSJjb25zdG50IiovCiNkZWZpbmUgIFBTVFJJTkdf Y2ZXKEEsQikga2lsbF90cmFpbGluZyhBLCcgJyk7CiNpZmRlZiB2bXNGb3J0cmFuCiNk ZWZpbmUgIFNUUklOR1ZfY2ZXKEEsQikgX2NmX2ZyZWUoQi5kc2MkYV9wb2ludGVyKTsK I2RlZmluZSBQU1RSSU5HVl9jZlcoQSxCKSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICB2a2lsbF90cmFpbGluZyhmMmNz dHJ2KChjaGFyKilBLCAoY2hhciopQSwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgQi5kc2Mkd19sZW5ndGgr MSwgQi5kc2MkbF9hcnNpemUrQi5kc2MkbF9tWzBdKSwgICAgIFwKICAgICAgICAgICAg ICAgICAgIEIuZHNjJHdfbGVuZ3RoKzEsIEIuZHNjJGxfYXJzaXplK0IuZHNjJGxfbVsw XSwgJyAnKTsKI2Vsc2UKI2RlZmluZSAgU1RSSU5HVl9jZlcoQSxCKSBfY2ZfZnJlZShC LnMpOwojZGVmaW5lIFBTVFJJTkdWX2NmVyhBLEIpIHZraWxsX3RyYWlsaW5nKCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBmMmNzdHJ2 KChjaGFyKilBLChjaGFyKilBLEIuZmxlbisxLEIuc2l6ZW9mQSksIEIuZmxlbisxLEIu c2l6ZW9mQSwnICcpOwojZW5kaWYKI2RlZmluZSAgWlRSSU5HVl9jZlcoQSxCKSAgICAg IFNUUklOR1ZfY2ZXKEEsQikKI2RlZmluZSBQWlRSSU5HVl9jZlcoQSxCKSAgICAgUFNU UklOR1ZfY2ZXKEEsQikKCiNkZWZpbmUgICBOQ0YoVE4sSSxDKSAgICAgICBfU0VQXyhU TixDLGNmQ09NTUEpIF9JY2YoMixOLFROLF8oQSxJKSwwKSAKI2RlZmluZSAgTk5DRihU TixJLEMpICAgICAgICBVVUNGKFROLEksQykKI2RlZmluZSBOTk5DRihUTixJLEMpICAg ICAgIF9TRVBfKFROLEMsY2ZDT0xPTikgX0ljZigyLE4sVE4sXyhBLEkpLDApIAojZGVm aW5lICAgICAgICBJTlRfY2ZOKFQsQSkgXyhULFZWVlZWVlZfY2ZUWVBFKSAqIEEKI2Rl ZmluZSAgICAgICBJTlRWX2NmTihULEEpIF8oVCxWVlZWVlZfY2ZUWVBFKSAgKiBBCiNk ZWZpbmUgICAgICBJTlRWVl9jZk4oVCxBKSBfKFQsVlZWVlZfY2ZUWVBFKSAgICogQQoj ZGVmaW5lICAgICBJTlRWVlZfY2ZOKFQsQSkgXyhULFZWVlZfY2ZUWVBFKSAgICAqIEEK I2RlZmluZSAgICBJTlRWVlZWX2NmTihULEEpIF8oVCxWVlZfY2ZUWVBFKSAgICAgKiBB CiNkZWZpbmUgICBJTlRWVlZWVl9jZk4oVCxBKSBfKFQsVlZfY2ZUWVBFKSAgICAgICog QQojZGVmaW5lICBJTlRWVlZWVlZfY2ZOKFQsQSkgXyhULFZfY2ZUWVBFKSAgICAgICAq IEEKI2RlZmluZSBJTlRWVlZWVlZWX2NmTihULEEpIF8oVCxfY2ZUWVBFKSAgICAgICAg KiBBCiNkZWZpbmUgICAgICAgUElOVF9jZk4oVCxBKSBfKFQsX2NmVFlQRSkgICAgICAg ICogQQojZGVmaW5lICAgICAgUFZPSURfY2ZOKFQsQSkgdm9pZCAqICAgICAgICAgICAg ICAgIEEKI2lmIGRlZmluZWQoYXBvbGxvRm9ydHJhbikgfHwgZGVmaW5lZChocHV4Rm9y dHJhbjgwMCkgfHwgZGVmaW5lZChBYnNvZnRVTklYRm9ydHJhbikKI2RlZmluZSAgICBS T1VUSU5FX2NmTihULEEpIHZvaWQgKCoqQSkoQ0ZfTlVMTF9QUk9UTykKI2Vsc2UKI2Rl ZmluZSAgICBST1VUSU5FX2NmTihULEEpIHZvaWQgKCAqQSkoQ0ZfTlVMTF9QUk9UTykK I2VuZGlmCiNpZmRlZiB2bXNGb3J0cmFuCiNkZWZpbmUgICAgIFNUUklOR19jZk4oVCxB KSBmc3RyaW5nICogICAgICAgICAgICAgQQojZGVmaW5lICAgIFNUUklOR1ZfY2ZOKFQs QSkgZnN0cmluZ3ZlY3RvciAqICAgICAgIEEKI2Vsc2UKI2lmZGVmIENSQVlGb3J0cmFu CiNkZWZpbmUgICAgIFNUUklOR19jZk4oVCxBKSBfZmNkICAgICAgICAgICAgICAgICAg QQojZGVmaW5lICAgIFNUUklOR1ZfY2ZOKFQsQSkgX2ZjZCAgICAgICAgICAgICAgICAg IEEKI2Vsc2UKI2RlZmluZSAgICAgU1RSSU5HX2NmTihULEEpIGNoYXIgKiAgICAgICAg ICAgICAgICBBCiNkZWZpbmUgICAgU1RSSU5HVl9jZk4oVCxBKSBjaGFyICogICAgICAg ICAgICAgICAgQQojZW5kaWYKI2VuZGlmCiNkZWZpbmUgICAgUFNUUklOR19jZk4oVCxB KSAgIFNUUklOR19jZk4oVCxBKSAvKiBDUkFZIGluc2lzdHMgb24gYXJnLidzIGhlcmUu ICovCiNkZWZpbmUgICBQTlNUUklOR19jZk4oVCxBKSAgIFNUUklOR19jZk4oVCxBKSAv KiBDUkFZIGluc2lzdHMgb24gYXJnLidzIGhlcmUuICovCiNkZWZpbmUgICBQUFNUUklO R19jZk4oVCxBKSAgIFNUUklOR19jZk4oVCxBKSAvKiBDUkFZIGluc2lzdHMgb24gYXJn LidzIGhlcmUuICovCiNkZWZpbmUgICBQU1RSSU5HVl9jZk4oVCxBKSAgU1RSSU5HVl9j Zk4oVCxBKQojZGVmaW5lICAgIFpUUklOR1ZfY2ZOKFQsQSkgIFNUUklOR1ZfY2ZOKFQs QSkKI2RlZmluZSAgIFBaVFJJTkdWX2NmTihULEEpIFBTVFJJTkdWX2NmTihULEEpCgoK LyogQXBvbGxvIDYuNywgQ1JBWSwgb2xkIFN1biwgVkFYL1VsdHJpeCB2Y2MvY2MgYW5k IG5ldyB1bHRyaXgKICAgY2FuJ3QgaGFjayBtb3JlIHRoYW4gMzEgYXJnJ3MuCiAgIGUu Zy4gdWx0cml4ID49IDQuMyBnaXZlcyBtZXNzYWdlOgogICAgICAgem93MzU+IGNjIC1j IC1EREVDRm9ydHJhbiBjZm9ydGVzdC5jCiAgICAgICBjZmU6IEZhdGFsOiBPdXQgb2Yg bWVtb3J5OiBjZm9ydGVzdC5jCiAgICAgICB6b3czNT4KICAgT2xkIF9faHB1eCBoYWQg dGhlIHByb2JsZW0sIGJ1dCBuZXcgJ0hQLVVYIEEuMDkuMDMgQSA5MDAwLzczNScgaXMg ZmluZQogICBpZiB1c2luZyAtQWEsIG90aGVyd2lzZSB3ZSBoYXZlIGEgcHJvYmxlbS4K ICovCiNpZm5kZWYgTUFYX1BSRVBST19BUkdTCiNpZiAhZGVmaW5lZChfX0dOVUNfXykg JiYgKGRlZmluZWQoVkFYVWx0cml4KSB8fCBkZWZpbmVkKF9fQ0ZfX0FQT0xMTzY3KSB8 fCAoZGVmaW5lZChzdW4pJiYhZGVmaW5lZChfX3N1bikpIHx8IGRlZmluZWQoX0NSQVkp IHx8IGRlZmluZWQoX191bHRyaXhfXykgfHwgKGRlZmluZWQoX19ocHV4KSYmZGVmaW5l ZChfX0NGX19LblIpKSkKI2RlZmluZSBNQVhfUFJFUFJPX0FSR1MgMzEKI2Vsc2UKI2Rl ZmluZSBNQVhfUFJFUFJPX0FSR1MgOTkKI2VuZGlmCiNlbmRpZgoKI2lmIGRlZmluZWQo QWJzb2Z0VU5JWEZvcnRyYW4pIAovKiBJbiBhZGRpdGlvbiB0byBleHBsaWNpdCBBYnNv ZnQgc3R1ZmYsIG9ubHkgQWJzb2Z0IHJlcXVpcmVzOgogICAtIERFRkFVTFQgY29taW5n IGZyb20gX2NmU1RSLgogICAgIERFRkFVTFQgY291bGQgaGF2ZSBiZWVuIGNhbGxlZCBl LmcuIElOVCwgYnV0IGtlZXAgaXQgZm9yIGNsYXJpdHkuCiAgIC0gTSB0ZXJtIGluIENG QVJHVDE0IGFuZCBDRkFSR1QxNEZTLgogKi8KI2RlZmluZSBBQlNPRlRfY2YxKFQwKSBf KFQwLF9jZlNUUikoMCxBQlNPRlQxLDAsMCwwLDAsMCkKI2RlZmluZSBBQlNPRlRfY2Yy KFQwKSBfKFQwLF9jZlNUUikoMCxBQlNPRlQyLDAsMCwwLDAsMCkKI2RlZmluZSBBQlNP RlRfY2YzKFQwKSBfKFQwLF9jZlNUUikoMCxBQlNPRlQzLDAsMCwwLDAsMCkKI2RlZmlu ZSBERUZBVUxUX2NmQUJTT0ZUMQojZGVmaW5lIExPR0lDQUxfY2ZBQlNPRlQxCiNkZWZp bmUgIFNUUklOR19jZkFCU09GVDEgLE1BWF9MRU5fRk9SVFJBTl9GVU5DVElPTl9TVFJJ TkcKI2RlZmluZSBERUZBVUxUX2NmQUJTT0ZUMgojZGVmaW5lIExPR0lDQUxfY2ZBQlNP RlQyCiNkZWZpbmUgIFNUUklOR19jZkFCU09GVDIgLHVuc2lnbmVkIEQwCiNkZWZpbmUg REVGQVVMVF9jZkFCU09GVDMKI2RlZmluZSBMT0dJQ0FMX2NmQUJTT0ZUMwojZGVmaW5l ICBTVFJJTkdfY2ZBQlNPRlQzICxEMAojZWxzZQojZGVmaW5lIEFCU09GVF9jZjEoVDAp CiNkZWZpbmUgQUJTT0ZUX2NmMihUMCkKI2RlZmluZSBBQlNPRlRfY2YzKFQwKQojZW5k aWYKCi8qIF9aIGludHJvZHVjZWQgdG8gY2ljdW12ZW50IElCTSBhbmQgSFAgc2lsbHkg cHJlcHJvY2Vzc29yIHdhcm5pbmcuCiAgIGUuZy4gIk1hY3JvIENGQVJHVDE0IGludm9r ZWQgd2l0aCBhIG51bGwgYXJndW1lbnQuIgogKi8KI2RlZmluZSBfWgoKI2RlZmluZSAg Q0ZBUkdUMTRTKFMsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQs VEUpICAgICAgICAgICAgICAgIFwKIFMoVDEsMSkgICBTKFQyLDIpICAgUyhUMywzKSAg ICBTKFQ0LDQpICAgIFMoVDUsNSkgICAgUyhUNiw2KSAgICBTKFQ3LDcpICAgICAgIFwK IFMoVDgsOCkgICBTKFQ5LDkpICAgUyhUQSwxMCkgICBTKFRCLDExKSAgIFMoVEMsMTIp ICAgUyhURCwxMykgICBTKFRFLDE0KQojZGVmaW5lICBDRkFSR1QyN1MoUyxUMSxUMixU MyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSxUSixU SyxUTCxUTSxUTixUTyxUUCxUUSxUUikgXAogUyhUMSwxKSAgIFMoVDIsMikgICBTKFQz LDMpICAgIFMoVDQsNCkgICAgUyhUNSw1KSAgICBTKFQ2LDYpICAgIFMoVDcsNykgICAg ICAgXAogUyhUOCw4KSAgIFMoVDksOSkgICBTKFRBLDEwKSAgIFMoVEIsMTEpICAgUyhU QywxMikgICBTKFRELDEzKSAgIFMoVEUsMTQpICAgICAgXAogUyhURiwxNSkgIFMoVEcs MTYpICBTKFRILDE3KSAgIFMoVEksMTgpICAgUyhUSiwxOSkgICBTKFRLLDIwKSAgIFMo VEwsMjEpICAgICAgXAogUyhUTSwyMikgIFMoVE4sMjMpICBTKFRPLDI0KSAgIFMoVFAs MjUpICAgUyhUUSwyNikgICBTKFRSLDI3KQoKI2RlZmluZSAgQ0ZBUkdUMTRGUyhGLFMs TSxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSkgICAgICAg ICAgIFwKIEYoVDEsMSwwKSBGKFQyLDIsMSkgRihUMywzLDEpICBGKFQ0LDQsMSkgIEYo VDUsNSwxKSAgRihUNiw2LDEpICBGKFQ3LDcsMSkgICAgIFwKIEYoVDgsOCwxKSBGKFQ5 LDksMSkgRihUQSwxMCwxKSBGKFRCLDExLDEpIEYoVEMsMTIsMSkgRihURCwxMywxKSBG KFRFLDE0LDEpICAgIFwKIE0gICAgICAgQ0ZBUkdUMTRTKFMsVDEsVDIsVDMsVDQsVDUs VDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUpCiNkZWZpbmUgIENGQVJHVDI3RlMoRixT LE0sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcs VEgsVEksVEosVEssVEwsVE0sVE4sVE8sVFAsVFEsVFIpIFwKIEYoVDEsMSwwKSAgRihU MiwyLDEpICBGKFQzLDMsMSkgIEYoVDQsNCwxKSAgRihUNSw1LDEpICBGKFQ2LDYsMSkg IEYoVDcsNywxKSAgIFwKIEYoVDgsOCwxKSAgRihUOSw5LDEpICBGKFRBLDEwLDEpIEYo VEIsMTEsMSkgRihUQywxMiwxKSBGKFRELDEzLDEpIEYoVEUsMTQsMSkgIFwKIEYoVEYs MTUsMSkgRihURywxNiwxKSBGKFRILDE3LDEpIEYoVEksMTgsMSkgRihUSiwxOSwxKSBG KFRLLDIwLDEpIEYoVEwsMjEsMSkgIFwKIEYoVE0sMjIsMSkgRihUTiwyMywxKSBGKFRP LDI0LDEpIEYoVFAsMjUsMSkgRihUUSwyNiwxKSBGKFRSLDI3LDEpICAgICAgICAgICAg IFwKIE0gICAgICAgQ0ZBUkdUMjdTKFMsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDks VEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgsVEksVEosVEssVEwsVE0sVE4sVE8sVFAsVFEs VFIpCgojaWYgIShkZWZpbmVkKFBvd2VyU3RhdGlvbkZvcnRyYW4pfHxkZWZpbmVkKGhw dXhGb3J0cmFuODAwKSkKLyogIE9sZCBDRkFSR1QxNCAtPiBDRkFSR1QxNEZTIGFzIHNl ZW4gYmVsb3csIGZvciBBYnNvZnQgY3Jvc3MtY29tcGlsZSB5aWVsZHM6CiAgICAgIFN1 bk9TPiBjYyAtYyAtWGEgLURBYnNvZnRVTklYRm9ydHJhbiBjLmMKICAgICAgImMuYyIs IGxpbmUgNDA2OiB3YXJuaW5nOiBhcmd1bWVudCBtaXNtYXRjaAogICAgSGF2ZW4ndCBj aGVja2VkIGlmIHRoaXMgaXMgQU5TSSBDIG9yIGEgU3VuT1MgYnVnLiBTdW5PUyAtWHMg d29ya3Mgb2suCiAgICBCZWhhdmlvciBpcyBtb3N0IGNsZWFybHkgc2VlbiBpbiBleGFt cGxlOgogICAgICAjZGVmaW5lIEEgMSAsIDIKICAgICAgI2RlZmluZSAgQyhYLFksWikg eD1YLiB5PVkuIHo9Wi4KICAgICAgI2RlZmluZSAgRChYLFksWikgQyhYLFksWikKICAg ICAgRCh4LEEseikKICAgIE91dHB1dCBmcm9tIHByZXByb2Nlc3NvciBpczogeCA9IHgg LiB5ID0gMSAuIHogPSAyIC4KICNkZWZpbmUgQ0ZBUkdUMTQoRixTLE0sVDEsVDIsVDMs VDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUpIFwKICAgICAgIENGQVJHVDE0 RlMoRixTLE0sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUp CiovCiNkZWZpbmUgIENGQVJHVDE0KEYsUyxNLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4 LFQ5LFRBLFRCLFRDLFRELFRFKSAgICAgICAgICAgICBcCiBGKFQxLDEsMCkgRihUMiwy LDEpIEYoVDMsMywxKSAgRihUNCw0LDEpICBGKFQ1LDUsMSkgIEYoVDYsNiwxKSAgRihU Nyw3LDEpICAgICBcCiBGKFQ4LDgsMSkgRihUOSw5LDEpIEYoVEEsMTAsMSkgRihUQiwx MSwxKSBGKFRDLDEyLDEpIEYoVEQsMTMsMSkgRihURSwxNCwxKSAgICBcCiBNICAgICAg IENGQVJHVDE0UyhTLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRE LFRFKQojZGVmaW5lICBDRkFSR1QyNyhGLFMsTSxUMSxUMixUMyxUNCxUNSxUNixUNyxU OCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSxUSixUSyxUTCxUTSxUTixUTyxU UCxUUSxUUikgXAogRihUMSwxLDApICBGKFQyLDIsMSkgIEYoVDMsMywxKSAgRihUNCw0 LDEpICBGKFQ1LDUsMSkgIEYoVDYsNiwxKSAgRihUNyw3LDEpICAgXAogRihUOCw4LDEp ICBGKFQ5LDksMSkgIEYoVEEsMTAsMSkgRihUQiwxMSwxKSBGKFRDLDEyLDEpIEYoVEQs MTMsMSkgRihURSwxNCwxKSAgXAogRihURiwxNSwxKSBGKFRHLDE2LDEpIEYoVEgsMTcs MSkgRihUSSwxOCwxKSBGKFRKLDE5LDEpIEYoVEssMjAsMSkgRihUTCwyMSwxKSAgXAog RihUTSwyMiwxKSBGKFROLDIzLDEpIEYoVE8sMjQsMSkgRihUUCwyNSwxKSBGKFRRLDI2 LDEpIEYoVFIsMjcsMSkgICAgICAgICAgICAgXAogTSAgICAgICBDRkFSR1QyN1MoUyxU MSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxU SSxUSixUSyxUTCxUTSxUTixUTyxUUCxUUSxUUikKCiNkZWZpbmUgIENGQVJHVDIwKEYs UyxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxU SCxUSSxUSixUSykgXAogRihUMSwxLDApICBGKFQyLDIsMSkgIEYoVDMsMywxKSAgRihU NCw0LDEpICBGKFQ1LDUsMSkgIEYoVDYsNiwxKSAgRihUNyw3LDEpICAgXAogRihUOCw4 LDEpICBGKFQ5LDksMSkgIEYoVEEsMTAsMSkgRihUQiwxMSwxKSBGKFRDLDEyLDEpIEYo VEQsMTMsMSkgRihURSwxNCwxKSAgXAogRihURiwxNSwxKSBGKFRHLDE2LDEpIEYoVEgs MTcsMSkgRihUSSwxOCwxKSBGKFRKLDE5LDEpIEYoVEssMjAsMSkgICAgICAgICAgICAg XAogUyhUMSwxKSAgICBTKFQyLDIpICAgIFMoVDMsMykgICAgUyhUNCw0KSAgICBTKFQ1 LDUpICAgIFMoVDYsNikgICAgUyhUNyw3KSAgICAgXAogUyhUOCw4KSAgICBTKFQ5LDkp ICAgIFMoVEEsMTApICAgUyhUQiwxMSkgICBTKFRDLDEyKSAgIFMoVEQsMTMpICAgUyhU RSwxNCkgICAgXAogUyhURiwxNSkgICBTKFRHLDE2KSAgIFMoVEgsMTcpICAgUyhUSSwx OCkgICBTKFRKLDE5KSAgIFMoVEssMjApCiNkZWZpbmUgQ0ZBUkdUQTE0KEYsUyxUMSxU MixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxBMSxBMixBMyxBNCxB NSxBNixBNyxBOCxBOSxBQSxBQixBQyxBRCxBRSkgXAogRihUMSxBMSwxLDApICBGKFQy LEEyLDIsMSkgIEYoVDMsQTMsMywxKSBGKFQ0LEE0LDQsMSkgIEYoVDUsQTUsNSwxKSAg RihUNixBNiw2LDEpICBcCiBGKFQ3LEE3LDcsMSkgIEYoVDgsQTgsOCwxKSAgRihUOSxB OSw5LDEpIEYoVEEsQUEsMTAsMSkgRihUQixBQiwxMSwxKSBGKFRDLEFDLDEyLDEpIFwK IEYoVEQsQUQsMTMsMSkgRihURSxBRSwxNCwxKSBTKFQxLDEpICAgICAgUyhUMiwyKSAg ICAgICBTKFQzLDMpICAgICAgIFMoVDQsNCkgICAgICAgXAogUyhUNSw1KSAgICAgICBT KFQ2LDYpICAgICAgIFMoVDcsNykgICAgICBTKFQ4LDgpICAgICAgIFMoVDksOSkgICAg ICAgUyhUQSwxMCkgICAgICBcCiBTKFRCLDExKSAgICAgIFMoVEMsMTIpICAgICAgUyhU RCwxMykgICAgIFMoVEUsMTQpCiNpZiBNQVhfUFJFUFJPX0FSR1M+MzEKI2RlZmluZSBD RkFSR1RBMjAoRixTLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRE LFRFLFRGLFRHLFRILFRJLFRKLFRLLEExLEEyLEEzLEE0LEE1LEE2LEE3LEE4LEE5LEFB LEFCLEFDLEFELEFFLEFGLEFHLEFILEFJLEFKLEFLKSBcCiBGKFQxLEExLDEsMCkgIEYo VDIsQTIsMiwxKSAgRihUMyxBMywzLDEpICBGKFQ0LEE0LDQsMSkgIEYoVDUsQTUsNSwx KSAgRihUNixBNiw2LDEpICBcCiBGKFQ3LEE3LDcsMSkgIEYoVDgsQTgsOCwxKSAgRihU OSxBOSw5LDEpICBGKFRBLEFBLDEwLDEpIEYoVEIsQUIsMTEsMSkgRihUQyxBQywxMiwx KSBcCiBGKFRELEFELDEzLDEpIEYoVEUsQUUsMTQsMSkgRihURixBRiwxNSwxKSBGKFRH LEFHLDE2LDEpIEYoVEgsQUgsMTcsMSkgRihUSSxBSSwxOCwxKSBcCiBGKFRKLEFKLDE5 LDEpIEYoVEssQUssMjAsMSkgUyhUMSwxKSAgICAgICBTKFQyLDIpICAgICAgIFMoVDMs MykgICAgICAgUyhUNCw0KSAgICAgICBcCiBTKFQ1LDUpICAgICAgIFMoVDYsNikgICAg ICAgUyhUNyw3KSAgICAgICBTKFQ4LDgpICAgICAgIFMoVDksOSkgICAgICAgUyhUQSwx MCkgICAgICBcCiBTKFRCLDExKSAgICAgIFMoVEMsMTIpICAgICAgUyhURCwxMykgICAg ICBTKFRFLDE0KSAgICAgIFMoVEYsMTUpICAgICAgUyhURywxNikgICAgICBcCiBTKFRI LDE3KSAgICAgIFMoVEksMTgpICAgICAgUyhUSiwxOSkgICAgICBTKFRLLDIwKQojZW5k aWYKI2Vsc2UKI2RlZmluZSAgQ0ZBUkdUMTQoRixTLE0sVDEsVDIsVDMsVDQsVDUsVDYs VDcsVDgsVDksVEEsVEIsVEMsVEQsVEUpICAgICAgICAgICAgIFwKIEYoVDEsMSwwKSBT KFQxLDEpIEYoVDIsMiwxKSAgUyhUMiwyKSAgRihUMywzLDEpICBTKFQzLDMpICBGKFQ0 LDQsMSkgIFMoVDQsNCkgIFwKIEYoVDUsNSwxKSBTKFQ1LDUpIEYoVDYsNiwxKSAgUyhU Niw2KSAgRihUNyw3LDEpICBTKFQ3LDcpICBGKFQ4LDgsMSkgIFMoVDgsOCkgIFwKIEYo VDksOSwxKSBTKFQ5LDkpIEYoVEEsMTAsMSkgUyhUQSwxMCkgRihUQiwxMSwxKSBTKFRC LDExKSBGKFRDLDEyLDEpIFMoVEMsMTIpIFwKIEYoVEQsMTMsMSkgUyhURCwxMykgRihU RSwxNCwxKSBTKFRFLDE0KQojZGVmaW5lICBDRkFSR1QyNyhGLFMsTSxUMSxUMixUMyxU NCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSxUSixUSyxU TCxUTSxUTixUTyxUUCxUUSxUUikgXAogRihUMSwxLDApICBTKFQxLDEpICBGKFQyLDIs MSkgIFMoVDIsMikgIEYoVDMsMywxKSAgUyhUMywzKSAgRihUNCw0LDEpICBTKFQ0LDQp ICBcCiBGKFQ1LDUsMSkgIFMoVDUsNSkgIEYoVDYsNiwxKSAgUyhUNiw2KSAgRihUNyw3 LDEpICBTKFQ3LDcpICBGKFQ4LDgsMSkgIFMoVDgsOCkgIFwKIEYoVDksOSwxKSAgUyhU OSw5KSAgRihUQSwxMCwxKSBTKFRBLDEwKSBGKFRCLDExLDEpIFMoVEIsMTEpIEYoVEMs MTIsMSkgUyhUQywxMikgXAogRihURCwxMywxKSBTKFRELDEzKSBGKFRFLDE0LDEpIFMo VEUsMTQpIEYoVEYsMTUsMSkgUyhURiwxNSkgRihURywxNiwxKSBTKFRHLDE2KSBcCiBG KFRILDE3LDEpIFMoVEgsMTcpIEYoVEksMTgsMSkgUyhUSSwxOCkgRihUSiwxOSwxKSBT KFRKLDE5KSBGKFRLLDIwLDEpIFMoVEssMjApICBcCiBGKFRMLDIxLDEpIFMoVEwsMjEp IEYoVE0sMjIsMSkgUyhUTSwyMikgRihUTiwyMywxKSBTKFROLDIzKSBGKFRPLDI0LDEp IFMoVE8sMjQpICBcCiBGKFRQLDI1LDEpIFMoVFAsMjUpIEYoVFEsMjYsMSkgUyhUUSwy NikgRihUUiwyNywxKSBTKFRSLDI3KQoKI2RlZmluZSAgQ0ZBUkdUMjAoRixTLFQxLFQy LFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFLFRGLFRHLFRILFRJLFRK LFRLKSBcCiBGKFQxLDEsMCkgIFMoVDEsMSkgIEYoVDIsMiwxKSAgUyhUMiwyKSAgRihU MywzLDEpICBTKFQzLDMpICBGKFQ0LDQsMSkgIFMoVDQsNCkgIFwKIEYoVDUsNSwxKSAg UyhUNSw1KSAgRihUNiw2LDEpICBTKFQ2LDYpICBGKFQ3LDcsMSkgIFMoVDcsNykgIEYo VDgsOCwxKSAgUyhUOCw4KSAgXAogRihUOSw5LDEpICBTKFQ5LDkpICBGKFRBLDEwLDEp IFMoVEEsMTApIEYoVEIsMTEsMSkgUyhUQiwxMSkgRihUQywxMiwxKSBTKFRDLDEyKSBc CiBGKFRELDEzLDEpIFMoVEQsMTMpIEYoVEUsMTQsMSkgUyhURSwxNCkgRihURiwxNSwx KSBTKFRGLDE1KSBGKFRHLDE2LDEpIFMoVEcsMTYpIFwKIEYoVEgsMTcsMSkgUyhUSCwx NykgRihUSSwxOCwxKSBTKFRJLDE4KSBGKFRKLDE5LDEpIFMoVEosMTkpIEYoVEssMjAs MSkgUyhUSywyMCkKI2RlZmluZSBDRkFSR1RBMTQoRixTLFQxLFQyLFQzLFQ0LFQ1LFQ2 LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFLEExLEEyLEEzLEE0LEE1LEE2LEE3LEE4LEE5 LEFBLEFCLEFDLEFELEFFKSBcCiBGKFQxLEExLDEsMCkgIFMoVDEsMSkgIEYoVDIsQTIs MiwxKSAgUyhUMiwyKSAgRihUMyxBMywzLDEpICBTKFQzLDMpICAgICAgICAgICBcCiBG KFQ0LEE0LDQsMSkgIFMoVDQsNCkgIEYoVDUsQTUsNSwxKSAgUyhUNSw1KSAgRihUNixB Niw2LDEpICBTKFQ2LDYpICAgICAgICAgICBcCiBGKFQ3LEE3LDcsMSkgIFMoVDcsNykg IEYoVDgsQTgsOCwxKSAgUyhUOCw4KSAgRihUOSxBOSw5LDEpICBTKFQ5LDkpICAgICAg ICAgICBcCiBGKFRBLEFBLDEwLDEpIFMoVEEsMTApIEYoVEIsQUIsMTEsMSkgUyhUQiwx MSkgRihUQyxBQywxMiwxKSBTKFRDLDEyKSAgICAgICAgICBcCiBGKFRELEFELDEzLDEp IFMoVEQsMTMpIEYoVEUsQUUsMTQsMSkgUyhURSwxNCkKI2lmIE1BWF9QUkVQUk9fQVJH Uz4zMQojZGVmaW5lIENGQVJHVEEyMChGLFMsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgs VDksVEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgsVEksVEosVEssQTEsQTIsQTMsQTQsQTUs QTYsQTcsQTgsQTksQUEsQUIsQUMsQUQsQUUsQUYsQUcsQUgsQUksQUosQUspIFwKIEYo VDEsQTEsMSwwKSAgUyhUMSwxKSAgRihUMixBMiwyLDEpICBTKFQyLDIpICBGKFQzLEEz LDMsMSkgIFMoVDMsMykgICAgICAgICAgIFwKIEYoVDQsQTQsNCwxKSAgUyhUNCw0KSAg RihUNSxBNSw1LDEpICBTKFQ1LDUpICBGKFQ2LEE2LDYsMSkgIFMoVDYsNikgICAgICAg ICAgIFwKIEYoVDcsQTcsNywxKSAgUyhUNyw3KSAgRihUOCxBOCw4LDEpICBTKFQ4LDgp ICBGKFQ5LEE5LDksMSkgIFMoVDksOSkgICAgICAgICAgIFwKIEYoVEEsQUEsMTAsMSkg UyhUQSwxMCkgRihUQixBQiwxMSwxKSBTKFRCLDExKSBGKFRDLEFDLDEyLDEpIFMoVEMs MTIpICAgICAgICAgIFwKIEYoVEQsQUQsMTMsMSkgUyhURCwxMykgRihURSxBRSwxNCwx KSBTKFRFLDE0KSBGKFRGLEFGLDE1LDEpIFMoVEYsMTUpICAgICAgICAgIFwKIEYoVEcs QUcsMTYsMSkgUyhURywxNikgRihUSCxBSCwxNywxKSBTKFRILDE3KSBGKFRJLEFJLDE4 LDEpIFMoVEksMTgpICAgICAgICAgIFwKIEYoVEosQUosMTksMSkgUyhUSiwxOSkgRihU SyxBSywyMCwxKSBTKFRLLDIwKSAgICAgICAgICAgICAgICAKI2VuZGlmCiNlbmRpZgoK CiNkZWZpbmUgUFJPVE9DQ0FMTFNGU1VCMSggVU4sTE4sVDEpIFwKICAgICAgICBQUk9U T0NDQUxMU0ZTVUIxNChVTixMTixUMSxDRl8wLENGXzAsQ0ZfMCxDRl8wLENGXzAsQ0Zf MCxDRl8wLENGXzAsQ0ZfMCxDRl8wLENGXzAsQ0ZfMCxDRl8wKQojZGVmaW5lIFBST1RP Q0NBTExTRlNVQjIoIFVOLExOLFQxLFQyKSBcCiAgICAgICAgUFJPVE9DQ0FMTFNGU1VC MTQoVU4sTE4sVDEsVDIsQ0ZfMCxDRl8wLENGXzAsQ0ZfMCxDRl8wLENGXzAsQ0ZfMCxD Rl8wLENGXzAsQ0ZfMCxDRl8wLENGXzApCiNkZWZpbmUgUFJPVE9DQ0FMTFNGU1VCMygg VU4sTE4sVDEsVDIsVDMpIFwKICAgICAgICBQUk9UT0NDQUxMU0ZTVUIxNChVTixMTixU MSxUMixUMyxDRl8wLENGXzAsQ0ZfMCxDRl8wLENGXzAsQ0ZfMCxDRl8wLENGXzAsQ0Zf MCxDRl8wLENGXzApCiNkZWZpbmUgUFJPVE9DQ0FMTFNGU1VCNCggVU4sTE4sVDEsVDIs VDMsVDQpIFwKICAgICAgICBQUk9UT0NDQUxMU0ZTVUIxNChVTixMTixUMSxUMixUMyxU NCxDRl8wLENGXzAsQ0ZfMCxDRl8wLENGXzAsQ0ZfMCxDRl8wLENGXzAsQ0ZfMCxDRl8w KQojZGVmaW5lIFBST1RPQ0NBTExTRlNVQjUoIFVOLExOLFQxLFQyLFQzLFQ0LFQ1KSBc CiAgICAgICAgUFJPVE9DQ0FMTFNGU1VCMTQoVU4sTE4sVDEsVDIsVDMsVDQsVDUsQ0Zf MCxDRl8wLENGXzAsQ0ZfMCxDRl8wLENGXzAsQ0ZfMCxDRl8wLENGXzApCiNkZWZpbmUg UFJPVE9DQ0FMTFNGU1VCNiggVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYpIFwKICAgICAg ICBQUk9UT0NDQUxMU0ZTVUIxNChVTixMTixUMSxUMixUMyxUNCxUNSxUNixDRl8wLENG XzAsQ0ZfMCxDRl8wLENGXzAsQ0ZfMCxDRl8wLENGXzApCiNkZWZpbmUgUFJPVE9DQ0FM TFNGU1VCNyggVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcpIFwKICAgICAgICBQUk9U T0NDQUxMU0ZTVUIxNChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxDRl8wLENGXzAs Q0ZfMCxDRl8wLENGXzAsQ0ZfMCxDRl8wKQojZGVmaW5lIFBST1RPQ0NBTExTRlNVQjgo IFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4KSBcCiAgICAgICAgUFJPVE9DQ0FM TFNGU1VCMTQoVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsQ0ZfMCxDRl8wLENG XzAsQ0ZfMCxDRl8wLENGXzApCiNkZWZpbmUgUFJPVE9DQ0FMTFNGU1VCOSggVU4sTE4s VDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDkpIFwKICAgICAgICBQUk9UT0NDQUxMU0ZT VUIxNChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxDRl8wLENGXzAsQ0Zf MCxDRl8wLENGXzApCiNkZWZpbmUgUFJPVE9DQ0FMTFNGU1VCMTAoVU4sTE4sVDEsVDIs VDMsVDQsVDUsVDYsVDcsVDgsVDksVEEpIFwKICAgICAgICBQUk9UT0NDQUxMU0ZTVUIx NChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxDRl8wLENGXzAsQ0Zf MCxDRl8wKQojZGVmaW5lIFBST1RPQ0NBTExTRlNVQjExKFVOLExOLFQxLFQyLFQzLFQ0 LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCKSBcCiAgICAgICAgUFJPVE9DQ0FMTFNGU1VCMTQo VU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsQ0ZfMCxDRl8wLENG XzApCiNkZWZpbmUgUFJPVE9DQ0FMTFNGU1VCMTIoVU4sTE4sVDEsVDIsVDMsVDQsVDUs VDYsVDcsVDgsVDksVEEsVEIsVEMpIFwKICAgICAgICBQUk9UT0NDQUxMU0ZTVUIxNChV TixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxDRl8wLENGXzAp CiNkZWZpbmUgUFJPVE9DQ0FMTFNGU1VCMTMoVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYs VDcsVDgsVDksVEEsVEIsVEMsVEQpIFwKICAgICAgICBQUk9UT0NDQUxMU0ZTVUIxNChV TixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxDRl8wKQoK CiNkZWZpbmUgUFJPVE9DQ0FMTFNGU1VCMTUoVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYs VDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYpIFwKICAgICAgICBQUk9UT0NDQUxMU0ZT VUIyMChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxU RSxURixDRl8wLENGXzAsQ0ZfMCxDRl8wLENGXzApCiNkZWZpbmUgUFJPVE9DQ0FMTFNG U1VCMTYoVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQs VEUsVEYsVEcpIFwKICAgICAgICBQUk9UT0NDQUxMU0ZTVUIyMChVTixMTixUMSxUMixU MyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxDRl8wLENGXzAs Q0ZfMCxDRl8wKQojZGVmaW5lIFBST1RPQ0NBTExTRlNVQjE3KFVOLExOLFQxLFQyLFQz LFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFLFRGLFRHLFRIKSBcCiAgICAg ICAgUFJPVE9DQ0FMTFNGU1VCMjAoVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgs VDksVEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgsQ0ZfMCxDRl8wLENGXzApCiNkZWZpbmUg UFJPVE9DQ0FMTFNGU1VCMTgoVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDks VEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgsVEkpIFwKICAgICAgICBQUk9UT0NDQUxMU0ZT VUIyMChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxU RSxURixURyxUSCxUSSxDRl8wLENGXzApCiNkZWZpbmUgUFJPVE9DQ0FMTFNGU1VCMTko VU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYs VEcsVEgsVEksVEopIFwKICAgICAgICBQUk9UT0NDQUxMU0ZTVUIyMChVTixMTixUMSxU MixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSxU SixDRl8wKQoKCiNpZm5kZWYgRkNBTExTQ19RVUFMSUZJRVIKI2lmZGVmIFZJU1VBTF9D UExVU1BMVVMKI2RlZmluZSBGQ0FMTFNDX1FVQUxJRklFUiBfX3N0ZGNhbGwKI2Vsc2UK I2RlZmluZSBGQ0FMTFNDX1FVQUxJRklFUgojZW5kaWYKI2VuZGlmCgojaWZkZWYgX19j cGx1c3BsdXMKI2RlZmluZSBDRmV4dGVybiBleHRlcm4gIkMiCiNlbHNlCiNkZWZpbmUg Q0ZleHRlcm4gZXh0ZXJuCiNlbmRpZgoKCiNpZmRlZiBDRlNVQkFTRlVOCiNkZWZpbmUg UFJPVE9DQ0FMTFNGU1VCMChVTixMTikgXAogICBQUk9UT0NDQUxMU0ZGVU4wKCBWT0lE LFVOLExOKQojZGVmaW5lIFBST1RPQ0NBTExTRlNVQjE0KFVOLExOLFQxLFQyLFQzLFQ0 LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFKSBcCiAgIFBST1RPQ0NBTExTRkZV TjE0KFZPSUQsVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMs VEQsVEUpCiNkZWZpbmUgUFJPVE9DQ0FMTFNGU1VCMjAoVU4sTE4sVDEsVDIsVDMsVDQs VDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgsVEksVEosVEspXAog ICBQUk9UT0NDQUxMU0ZGVU4yMChWT0lELFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3 LFQ4LFQ5LFRBLFRCLFRDLFRELFRFLFRGLFRHLFRILFRJLFRKLFRLKQojZWxzZQovKiBO b3RlOiBQcmV2ZW50IGNvbXBpbGVyIHdhcm5pbmdzLCBudWxsICNkZWZpbmUgUFJPVE9D Q0FMTFNGU1VCMTQvMjAgYWZ0ZXIgCiAgICNpbmNsdWRlLWluZyBjZm9ydHJhbi5oIGlm IGNhbGxpbmcgdGhlIEZPUlRSQU4gd3JhcHBlciB3aXRoaW4gdGhlIHNhbWUgCiAgIHNv dXJjZSBjb2RlIHdoZXJlIHRoZSB3cmFwcGVyIGlzIGNyZWF0ZWQuICovCiNkZWZpbmUg UFJPVE9DQ0FMTFNGU1VCMChVTixMTikgICAgIENGZXh0ZXJuIHZvaWQgRkNBTExTQ19R VUFMSUZJRVIgQ0ZDXyhVTixMTikoKTsKI2lmbmRlZiBfX0NGX19LblIKI2RlZmluZSBQ Uk9UT0NDQUxMU0ZTVUIxNChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxU QSxUQixUQyxURCxURSkgXAogQ0ZleHRlcm4gdm9pZCBGQ0FMTFNDX1FVQUxJRklFUiBD RkNfKFVOLExOKSggQ0ZBUkdUMTQoTkNGLEtDRixfWixUMSxUMixUMyxUNCxUNSxUNixU NyxUOCxUOSxUQSxUQixUQyxURCxURSkgKTsKI2RlZmluZSBQUk9UT0NDQUxMU0ZTVUIy MChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxU RixURyxUSCxUSSxUSixUSylcCiBDRmV4dGVybiB2b2lkIEZDQUxMU0NfUVVBTElGSUVS IENGQ18oVU4sTE4pKCBDRkFSR1QyMChOQ0YsS0NGLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3 LFQ4LFQ5LFRBLFRCLFRDLFRELFRFLFRGLFRHLFRILFRJLFRKLFRLKSApOwojZWxzZQoj ZGVmaW5lIFBST1RPQ0NBTExTRlNVQjE0KFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3 LFQ4LFQ5LFRBLFRCLFRDLFRELFRFKSAgICAgXAogICAgICAgICBQUk9UT0NDQUxMU0ZT VUIwKFVOLExOKQojZGVmaW5lIFBST1RPQ0NBTExTRlNVQjIwKFVOLExOLFQxLFQyLFQz LFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFLFRGLFRHLFRILFRJLFRKLFRL KSBcCiAgICAgICAgIFBST1RPQ0NBTExTRlNVQjAoVU4sTE4pCiNlbmRpZgojZW5kaWYK CgojaWZkZWYgT0xEX1ZBWEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LyogQWxsb3cgJUNDLUktUEFSQU1OT1RVU0VELiAqLwojcHJhZ21hIHN0YW5kYXJkCiNl bmRpZgoKCiNkZWZpbmUgQ0NBTExTRlNVQjEoIFVOLExOLFQxLCAgICAgICAgICAgICAg ICAgICAgICAgIEExKSAgICAgICAgIFwKICAgICAgICBDQ0FMTFNGU1VCNSAoVU4sTE4s VDEsQ0ZfMCxDRl8wLENGXzAsQ0ZfMCxBMSwwLDAsMCwwKQojZGVmaW5lIENDQUxMU0ZT VUIyKCBVTixMTixUMSxUMiwgICAgICAgICAgICAgICAgICAgICBBMSxBMikgICAgICBc CiAgICAgICAgQ0NBTExTRlNVQjUgKFVOLExOLFQxLFQyLENGXzAsQ0ZfMCxDRl8wLEEx LEEyLDAsMCwwKQojZGVmaW5lIENDQUxMU0ZTVUIzKCBVTixMTixUMSxUMixUMywgICAg ICAgICAgICAgICAgICBBMSxBMixBMykgICBcCiAgICAgICAgQ0NBTExTRlNVQjUgKFVO LExOLFQxLFQyLFQzLENGXzAsQ0ZfMCxBMSxBMixBMywwLDApCiNkZWZpbmUgQ0NBTExT RlNVQjQoIFVOLExOLFQxLFQyLFQzLFQ0LCAgICAgICAgICAgICAgIEExLEEyLEEzLEE0 KVwKICAgICAgICBDQ0FMTFNGU1VCNSAoVU4sTE4sVDEsVDIsVDMsVDQsQ0ZfMCxBMSxB MixBMyxBNCwwKQojZGVmaW5lIENDQUxMU0ZTVUI1KCBVTixMTixUMSxUMixUMyxUNCxU NSwgICAgICAgICAgICBBMSxBMixBMyxBNCxBNSkgICAgICAgICAgXAogICAgICAgIEND QUxMU0ZTVUIxMChVTixMTixUMSxUMixUMyxUNCxUNSxDRl8wLENGXzAsQ0ZfMCxDRl8w LENGXzAsQTEsQTIsQTMsQTQsQTUsMCwwLDAsMCwwKQojZGVmaW5lIENDQUxMU0ZTVUI2 KCBVTixMTixUMSxUMixUMyxUNCxUNSxUNiwgICAgICAgICBBMSxBMixBMyxBNCxBNSxB NikgICAgICAgXAogICAgICAgIENDQUxMU0ZTVUIxMChVTixMTixUMSxUMixUMyxUNCxU NSxUNixDRl8wLENGXzAsQ0ZfMCxDRl8wLEExLEEyLEEzLEE0LEE1LEE2LDAsMCwwLDAp CiNkZWZpbmUgQ0NBTExTRlNVQjcoIFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LCAg ICAgIEExLEEyLEEzLEE0LEE1LEE2LEE3KSAgICBcCiAgICAgICAgQ0NBTExTRlNVQjEw KFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LENGXzAsQ0ZfMCxDRl8wLEExLEEyLEEz LEE0LEE1LEE2LEE3LDAsMCwwKQojZGVmaW5lIENDQUxMU0ZTVUI4KCBVTixMTixUMSxU MixUMyxUNCxUNSxUNixUNyxUOCwgICBBMSxBMixBMyxBNCxBNSxBNixBNyxBOCkgXAog ICAgICAgIENDQUxMU0ZTVUIxMChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxD Rl8wLENGXzAsQTEsQTIsQTMsQTQsQTUsQTYsQTcsQTgsMCwwKQojZGVmaW5lIENDQUxM U0ZTVUI5KCBVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxBMSxBMixBMyxB NCxBNSxBNixBNyxBOCxBOSlcCiAgICAgICAgQ0NBTExTRlNVQjEwKFVOLExOLFQxLFQy LFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LENGXzAsQTEsQTIsQTMsQTQsQTUsQTYsQTcsQTgs QTksMCkKI2RlZmluZSBDQ0FMTFNGU1VCMTAoVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYs VDcsVDgsVDksVEEsQTEsQTIsQTMsQTQsQTUsQTYsQTcsQTgsQTksQUEpXAogICAgICAg IENDQUxMU0ZTVUIxNChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxD Rl8wLENGXzAsQ0ZfMCxDRl8wLEExLEEyLEEzLEE0LEE1LEE2LEE3LEE4LEE5LEFBLDAs MCwwLDApCiNkZWZpbmUgQ0NBTExTRlNVQjExKFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2 LFQ3LFQ4LFQ5LFRBLFRCLEExLEEyLEEzLEE0LEE1LEE2LEE3LEE4LEE5LEFBLEFCKVwK ICAgICAgICBDQ0FMTFNGU1VCMTQoVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgs VDksVEEsVEIsQ0ZfMCxDRl8wLENGXzAsQTEsQTIsQTMsQTQsQTUsQTYsQTcsQTgsQTks QUEsQUIsMCwwLDApCiNkZWZpbmUgQ0NBTExTRlNVQjEyKFVOLExOLFQxLFQyLFQzLFQ0 LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLEExLEEyLEEzLEE0LEE1LEE2LEE3LEE4LEE5 LEFBLEFCLEFDKVwKICAgICAgICBDQ0FMTFNGU1VCMTQoVU4sTE4sVDEsVDIsVDMsVDQs VDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsQ0ZfMCxDRl8wLEExLEEyLEEzLEE0LEE1LEE2 LEE3LEE4LEE5LEFBLEFCLEFDLDAsMCkKI2RlZmluZSBDQ0FMTFNGU1VCMTMoVU4sTE4s VDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsQTEsQTIsQTMsQTQs QTUsQTYsQTcsQTgsQTksQUEsQUIsQUMsQUQpXAogICAgICAgIENDQUxMU0ZTVUIxNChV TixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxDRl8wLEEx LEEyLEEzLEE0LEE1LEE2LEE3LEE4LEE5LEFBLEFCLEFDLEFELDApCgojaWZkZWYgX19j cGx1c3BsdXMKI2RlZmluZSBDUFBQUk9UT0NMU0ZTVUIwKCBVTixMTikKI2RlZmluZSBD UFBQUk9UT0NMU0ZTVUIxNChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxU QSxUQixUQyxURCxURSkKI2RlZmluZSBDUFBQUk9UT0NMU0ZTVUIyMChVTixMTixUMSxU MixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSxU SixUSykKI2Vsc2UKI2RlZmluZSBDUFBQUk9UT0NMU0ZTVUIwKFVOLExOKSBcCiAgICAg ICAgUFJPVE9DQ0FMTFNGU1VCMChVTixMTikKI2RlZmluZSBDUFBQUk9UT0NMU0ZTVUIx NChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSkg ICAgIFwKICAgICAgICBQUk9UT0NDQUxMU0ZTVUIxNChVTixMTixUMSxUMixUMyxUNCxU NSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSkKI2RlZmluZSBDUFBQUk9UT0NMU0ZT VUIyMChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxU RSxURixURyxUSCxUSSxUSixUSykgXAogICAgICAgIFBST1RPQ0NBTExTRlNVQjIwKFVO LExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFLFRGLFRH LFRILFRJLFRKLFRLKQojZW5kaWYKCiNpZmRlZiBDRlNVQkFTRlVOCiNkZWZpbmUgQ0NB TExTRlNVQjAoVU4sTE4pIENDQUxMU0ZGVU4wKFVOLExOKQojZGVmaW5lIENDQUxMU0ZT VUIxNChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxU RSxBMSxBMixBMyxBNCxBNSxBNixBNyxBOCxBOSxBQSxBQixBQyxBRCxBRSlcCiAgICAg ICAgQ0NBTExTRkZVTjE0KFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRB LFRCLFRDLFRELFRFLEExLEEyLEEzLEE0LEE1LEE2LEE3LEE4LEE5LEFBLEFCLEFDLEFE LEFFKQojZWxzZQovKiBkb3suLi59d2hpbGUoMCkgYWxsb3dzIGlmKGE9PWIpIEZPUlQo KTsgZWxzZSBCT1JUKCk7ICovCiNkZWZpbmUgQ0NBTExTRlNVQjAoIFVOLExOKSBkb3tD UFBQUk9UT0NMU0ZTVUIwKFVOLExOKSBDRkNfKFVOLExOKSgpO313aGlsZSgwKQojZGVm aW5lIENDQUxMU0ZTVUIxNChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxU QSxUQixUQyxURCxURSxBMSxBMixBMyxBNCxBNSxBNixBNyxBOCxBOSxBQSxBQixBQyxB RCxBRSlcCmRve1ZWQ0YoVDEsQTEsQjEpIFZWQ0YoVDIsQTIsQjIpIFZWQ0YoVDMsQTMs QjMpIFZWQ0YoVDQsQTQsQjQpIFZWQ0YoVDUsQTUsQjUpICBcCiAgIFZWQ0YoVDYsQTYs QjYpIFZWQ0YoVDcsQTcsQjcpIFZWQ0YoVDgsQTgsQjgpIFZWQ0YoVDksQTksQjkpIFZW Q0YoVEEsQUEsQjEwKSBcCiAgIFZWQ0YoVEIsQUIsQjExKSBWVkNGKFRDLEFDLEIxMikg VlZDRihURCxBRCxCMTMpIFZWQ0YoVEUsQUUsQjE0KSAgICAgICAgICAgICBcCiAgIENQ UFBST1RPQ0xTRlNVQjE0KFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRB LFRCLFRDLFRELFRFKSAgICAgICAgICBcCiAgIEFDRihMTixUMSxBMSwxKSAgQUNGKExO LFQyLEEyLDIpICBBQ0YoTE4sVDMsQTMsMykgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCiAgIEFDRihMTixUNCxBNCw0KSAgQUNGKExOLFQ1LEE1LDUpICBBQ0YoTE4sVDYs QTYsNikgIEFDRihMTixUNyxBNyw3KSAgICAgICAgICBcCiAgIEFDRihMTixUOCxBOCw4 KSAgQUNGKExOLFQ5LEE5LDkpICBBQ0YoTE4sVEEsQUEsMTApIEFDRihMTixUQixBQiwx MSkgICAgICAgICBcCiAgIEFDRihMTixUQyxBQywxMikgQUNGKExOLFRELEFELDEzKSBB Q0YoTE4sVEUsQUUsMTQpICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIENGQ18o VU4sTE4pKCBDRkFSR1RBMTQoQUFDRixKQ0YsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgs VDksVEEsVEIsVEMsVEQsVEUsQTEsQTIsQTMsQTQsQTUsQTYsQTcsQTgsQTksQUEsQUIs QUMsQUQsQUUpICk7XAogICBXQ0YoVDEsQTEsMSkgIFdDRihUMixBMiwyKSAgV0NGKFQz LEEzLDMpICBXQ0YoVDQsQTQsNCkgIFdDRihUNSxBNSw1KSAgICAgICAgXAogICBXQ0Yo VDYsQTYsNikgIFdDRihUNyxBNyw3KSAgV0NGKFQ4LEE4LDgpICBXQ0YoVDksQTksOSkg IFdDRihUQSxBQSwxMCkgICAgICAgXAogICBXQ0YoVEIsQUIsMTEpIFdDRihUQyxBQywx MikgV0NGKFRELEFELDEzKSBXQ0YoVEUsQUUsMTQpICAgICAgfXdoaWxlKDApCiNlbmRp ZgoKCiNpZiBNQVhfUFJFUFJPX0FSR1M+MzEKI2RlZmluZSBDQ0FMTFNGU1VCMTUoVU4s TE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsQTEs QTIsQTMsQTQsQTUsQTYsQTcsQTgsQTksQUEsQUIsQUMsQUQsQUUsQUYpXAogICAgICAg IENDQUxMU0ZTVUIyMChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxU QixUQyxURCxURSxURixDRl8wLENGXzAsQ0ZfMCxDRl8wLENGXzAsQTEsQTIsQTMsQTQs QTUsQTYsQTcsQTgsQTksQUEsQUIsQUMsQUQsQUUsQUYsMCwwLDAsMCwwKQojZGVmaW5l IENDQUxMU0ZTVUIxNihVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxU QixUQyxURCxURSxURixURyxBMSxBMixBMyxBNCxBNSxBNixBNyxBOCxBOSxBQSxBQixB QyxBRCxBRSxBRixBRylcCiAgICAgICAgQ0NBTExTRlNVQjIwKFVOLExOLFQxLFQyLFQz LFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFLFRGLFRHLENGXzAsQ0ZfMCxD Rl8wLENGXzAsQTEsQTIsQTMsQTQsQTUsQTYsQTcsQTgsQTksQUEsQUIsQUMsQUQsQUUs QUYsQUcsMCwwLDAsMCkKI2RlZmluZSBDQ0FMTFNGU1VCMTcoVU4sTE4sVDEsVDIsVDMs VDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgsQTEsQTIsQTMs QTQsQTUsQTYsQTcsQTgsQTksQUEsQUIsQUMsQUQsQUUsQUYsQUcsQUgpXAogICAgICAg IENDQUxMU0ZTVUIyMChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxU QixUQyxURCxURSxURixURyxUSCxDRl8wLENGXzAsQ0ZfMCxBMSxBMixBMyxBNCxBNSxB NixBNyxBOCxBOSxBQSxBQixBQyxBRCxBRSxBRixBRyxBSCwwLDAsMCkKI2RlZmluZSBD Q0FMTFNGU1VCMTgoVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIs VEMsVEQsVEUsVEYsVEcsVEgsVEksQTEsQTIsQTMsQTQsQTUsQTYsQTcsQTgsQTksQUEs QUIsQUMsQUQsQUUsQUYsQUcsQUgsQUkpXAogICAgICAgIENDQUxMU0ZTVUIyMChVTixM TixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxU SCxUSSxDRl8wLENGXzAsQTEsQTIsQTMsQTQsQTUsQTYsQTcsQTgsQTksQUEsQUIsQUMs QUQsQUUsQUYsQUcsQUgsQUksMCwwKQojZGVmaW5lIENDQUxMU0ZTVUIxOShVTixMTixU MSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxU SSxUSixBMSxBMixBMyxBNCxBNSxBNixBNyxBOCxBOSxBQSxBQixBQyxBRCxBRSxBRixB RyxBSCxBSSxBSilcCiAgICAgICAgQ0NBTExTRlNVQjIwKFVOLExOLFQxLFQyLFQzLFQ0 LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFLFRGLFRHLFRILFRJLFRKLENGXzAs QTEsQTIsQTMsQTQsQTUsQTYsQTcsQTgsQTksQUEsQUIsQUMsQUQsQUUsQUYsQUcsQUgs QUksQUosMCkKCiNpZmRlZiBDRlNVQkFTRlVOCiNkZWZpbmUgQ0NBTExTRlNVQjIwKFVO LExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFLFRGLFRH LFRILCBcCiAgICAgICAgVEksVEosVEssIEExLEEyLEEzLEE0LEE1LEE2LEE3LEE4LEE5 LEFBLEFCLEFDLEFELEFFLEFGLEFHLEFILEFJLEFKLEFLKSBcCiAgICAgICAgQ0NBTExT RkZVTjIwKFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRE LFRFLFRGLFRHLFRILCBcCiAgICAgICAgVEksVEosVEssIEExLEEyLEEzLEE0LEE1LEE2 LEE3LEE4LEE5LEFBLEFCLEFDLEFELEFFLEFGLEFHLEFILEFJLEFKLEFLKQojZWxzZQoj ZGVmaW5lIENDQUxMU0ZTVUIyMChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxU OSxUQSxUQixUQyxURCxURSxURixURyxUSCwgXAogICAgICAgIFRJLFRKLFRLLCBBMSxB MixBMyxBNCxBNSxBNixBNyxBOCxBOSxBQSxBQixBQyxBRCxBRSxBRixBRyxBSCxBSSxB SixBSykgXApkb3tWVkNGKFQxLEExLEIxKSAgVlZDRihUMixBMixCMikgIFZWQ0YoVDMs QTMsQjMpICBWVkNGKFQ0LEE0LEI0KSAgVlZDRihUNSxBNSxCNSkgICBcCiAgIFZWQ0Yo VDYsQTYsQjYpICBWVkNGKFQ3LEE3LEI3KSAgVlZDRihUOCxBOCxCOCkgIFZWQ0YoVDks QTksQjkpICBWVkNGKFRBLEFBLEIxMCkgIFwKICAgVlZDRihUQixBQixCMTEpIFZWQ0Yo VEMsQUMsQjEyKSBWVkNGKFRELEFELEIxMykgVlZDRihURSxBRSxCMTQpIFZWQ0YoVEYs QUYsQjE1KSAgXAogICBWVkNGKFRHLEFHLEIxNikgVlZDRihUSCxBSCxCMTcpIFZWQ0Yo VEksQUksQjE4KSBWVkNGKFRKLEFKLEIxOSkgVlZDRihUSyxBSyxCMjApICBcCiAgIENQ UFBST1RPQ0xTRlNVQjIwKFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRB LFRCLFRDLFRELFRFLFRGLFRHLFRILFRJLFRKLFRLKSAgXAogICBBQ0YoTE4sVDEsQTEs MSkgIEFDRihMTixUMixBMiwyKSAgQUNGKExOLFQzLEEzLDMpICBBQ0YoTE4sVDQsQTQs NCkgICAgICAgICAgXAogICBBQ0YoTE4sVDUsQTUsNSkgIEFDRihMTixUNixBNiw2KSAg QUNGKExOLFQ3LEE3LDcpICBBQ0YoTE4sVDgsQTgsOCkgICAgICAgICAgXAogICBBQ0Yo TE4sVDksQTksOSkgIEFDRihMTixUQSxBQSwxMCkgQUNGKExOLFRCLEFCLDExKSBBQ0Yo TE4sVEMsQUMsMTIpICAgICAgICAgXAogICBBQ0YoTE4sVEQsQUQsMTMpIEFDRihMTixU RSxBRSwxNCkgQUNGKExOLFRGLEFGLDE1KSBBQ0YoTE4sVEcsQUcsMTYpICAgICAgICAg XAogICBBQ0YoTE4sVEgsQUgsMTcpIEFDRihMTixUSSxBSSwxOCkgQUNGKExOLFRKLEFK LDE5KSBBQ0YoTE4sVEssQUssMjApICAgICAgICAgXAogICBDRkNfKFVOLExOKSggQ0ZB UkdUQTIwKEFBQ0YsSkNGLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRD LFRELFRFLFRGLFRHLFRILFRJLFRKLFRLLEExLEEyLEEzLEE0LEE1LEE2LEE3LEE4LEE5 LEFBLEFCLEFDLEFELEFFLEFGLEFHLEFILEFJLEFKLEFLKSApOyBcCiBXQ0YoVDEsQTEs MSkgIFdDRihUMixBMiwyKSAgV0NGKFQzLEEzLDMpICBXQ0YoVDQsQTQsNCkgIFdDRihU NSxBNSw1KSAgV0NGKFQ2LEE2LDYpICBcCiBXQ0YoVDcsQTcsNykgIFdDRihUOCxBOCw4 KSAgV0NGKFQ5LEE5LDkpICBXQ0YoVEEsQUEsMTApIFdDRihUQixBQiwxMSkgV0NGKFRD LEFDLDEyKSBcCiBXQ0YoVEQsQUQsMTMpIFdDRihURSxBRSwxNCkgV0NGKFRGLEFGLDE1 KSBXQ0YoVEcsQUcsMTYpIFdDRihUSCxBSCwxNykgV0NGKFRJLEFJLDE4KSBcCiBXQ0Yo VEosQUosMTkpIFdDRihUSyxBSywyMCkgfXdoaWxlKDApCiNlbmRpZgojZW5kaWYgICAg ICAgICAvKiBNQVhfUFJFUFJPX0FSR1MgKi8KCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSovCgovKiAgICAgICAgICAgICAgIFVUSUxJVElFUyBGT1IgQyBUTyBDQUxMIEZPUlRS QU4gRlVOQ1RJT05TICAgICAgICAgICAgICAgICAqLwoKLypOLkIuIFBST1RPQ0NBTExT RkZVTm4oLi4pIGdlbmVyYXRlcyBjb2RlLCB3aGV0aGVyIG9yIG5vdCB0aGUgRk9SVFJB TgogIGZ1bmN0aW9uIGlzIGNhbGxlZC4gVGhlcmVmb3JlLCBlc3BlY2lhbGx5IGZvciBj cmVhdG9yJ3Mgb2YgQyBoZWFkZXIgZmlsZXMKICBmb3IgbGFyZ2UgRk9SVFJBTiBsaWJy YXJpZXMgd2hpY2ggaW5jbHVkZSBtYW55IGZ1bmN0aW9ucywgdG8gcmVkdWNlCiAgY29t cGlsZSB0aW1lIGFuZCBvYmplY3QgY29kZSBzaXplLCBpdCBtYXkgYmUgZGVzaXJhYmxl IHRvIGNyZWF0ZQogIHByZXByb2Nlc3NvciBkaXJlY3RpdmVzIHRvIGFsbG93IHVzZXJz IHRvIGNyZWF0ZSBjb2RlIGZvciBvbmx5IHRob3NlCiAgZnVuY3Rpb25zIHdoaWNoIHRo ZXkgdXNlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICovCgovKiBUaGUgZm9sbG93aW5nIGRlZmluZXMgdGhlIG1heGltdW0gbGVuZ3Ro IHN0cmluZyB0aGF0IGEgZnVuY3Rpb24gY2FuIHJldHVybi4KICAgT2YgY291cnNlIGl0 IG1heSBiZSB1bmRlZmluZS1kIGFuZCByZS1kZWZpbmUtZCBiZWZvcmUgaW5kaXZpZHVh bAogICBQUk9UT0NDQUxMU0ZGVU5uKC4uKSBhcyByZXF1aXJlZC4gSXQgd291bGQgYWxz byBiZSBuaWNlIHRvIGhhdmUgdGhpcyBkZXJpdmVkCiAgIGZyb20gdGhlIGluZGl2aWR1 YWwgbWFjaGluZXMnIGxpbWl0cy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICovCiNkZWZpbmUgTUFYX0xFTl9GT1JUUkFOX0ZVTkNUSU9OX1NUUklORyAw eDRGRQoKLyogVGhlIGZvbGxvd2luZyBkZWZpbmVzIGEgY2hhcmFjdGVyIHVzZWQgYnkg Q0ZPUlRSQU4uSCB0byBmbGFnIHRoZSBlbmQgb2YgYQogICBzdHJpbmcgY29taW5nIG91 dCBvZiBhIEZPUlRSQU4gcm91dGluZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqLwojZGVmaW5lIENGT1JUUkFOX05PTl9DSEFSIDB4N0YKCiNpZmRlZiBPTERf VkFYQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUHJldmVudCAlQ0Mt SS1QQVJBTU5PVFVTRUQuICovCiNwcmFnbWEgbm9zdGFuZGFyZAojZW5kaWYKCiNkZWZp bmUgX1NFUF8oVE4sQyxjZkNPTU1BKSAgICAgXyhfX1NFUF8sQykoVE4sY2ZDT01NQSkK I2RlZmluZSBfX1NFUF8wKFROLGNmQ09NTUEpICAKI2RlZmluZSBfX1NFUF8xKFROLGNm Q09NTUEpICAgICBfSWNmKDIsU0VQLFROLGNmQ09NTUEsMCkKI2RlZmluZSAgICAgICAg SU5UX2NmU0VQKFQsQikgXyhBLEIpCiNkZWZpbmUgICAgICAgSU5UVl9jZlNFUChULEIp IElOVF9jZlNFUChULEIpCiNkZWZpbmUgICAgICBJTlRWVl9jZlNFUChULEIpIElOVF9j ZlNFUChULEIpCiNkZWZpbmUgICAgIElOVFZWVl9jZlNFUChULEIpIElOVF9jZlNFUChU LEIpCiNkZWZpbmUgICAgSU5UVlZWVl9jZlNFUChULEIpIElOVF9jZlNFUChULEIpCiNk ZWZpbmUgICBJTlRWVlZWVl9jZlNFUChULEIpIElOVF9jZlNFUChULEIpCiNkZWZpbmUg IElOVFZWVlZWVl9jZlNFUChULEIpIElOVF9jZlNFUChULEIpCiNkZWZpbmUgSU5UVlZW VlZWVl9jZlNFUChULEIpIElOVF9jZlNFUChULEIpCiNkZWZpbmUgICAgICAgUElOVF9j ZlNFUChULEIpIElOVF9jZlNFUChULEIpCiNkZWZpbmUgICAgICBQVk9JRF9jZlNFUChU LEIpIElOVF9jZlNFUChULEIpCiNkZWZpbmUgICAgUk9VVElORV9jZlNFUChULEIpIElO VF9jZlNFUChULEIpCiNkZWZpbmUgICAgIFNJTVBMRV9jZlNFUChULEIpIElOVF9jZlNF UChULEIpCiNkZWZpbmUgICAgICAgVk9JRF9jZlNFUChULEIpIElOVF9jZlNFUChULEIp ICAgIC8qIEZvciBGT1JUUkFOIGNhbGxzIEMgc3Vici5zLiovCiNkZWZpbmUgICAgIFNU UklOR19jZlNFUChULEIpIElOVF9jZlNFUChULEIpCiNkZWZpbmUgICAgU1RSSU5HVl9j ZlNFUChULEIpIElOVF9jZlNFUChULEIpCiNkZWZpbmUgICAgUFNUUklOR19jZlNFUChU LEIpIElOVF9jZlNFUChULEIpCiNkZWZpbmUgICBQU1RSSU5HVl9jZlNFUChULEIpIElO VF9jZlNFUChULEIpCiNkZWZpbmUgICBQTlNUUklOR19jZlNFUChULEIpIElOVF9jZlNF UChULEIpCiNkZWZpbmUgICBQUFNUUklOR19jZlNFUChULEIpIElOVF9jZlNFUChULEIp CiNkZWZpbmUgICAgWlRSSU5HVl9jZlNFUChULEIpIElOVF9jZlNFUChULEIpCiNkZWZp bmUgICBQWlRSSU5HVl9jZlNFUChULEIpIElOVF9jZlNFUChULEIpCiAgICAgICAgICAg ICAgICAgICAgICAgICAKI2lmIGRlZmluZWQoU0lHTkVEX0JZVEUpIHx8ICFkZWZpbmVk KFVOU0lHTkVEX0JZVEUpCiNpZmRlZiBPTERfVkFYQwojZGVmaW5lIElOVEVHRVJfQllU RSAgICAgICAgICAgICAgIGNoYXIgICAgLyogT2xkIFZBWEMgYmFyZnMgb24gJ3NpZ25l ZCBjaGFyJyAqLwojZWxzZQojZGVmaW5lIElOVEVHRVJfQllURSAgICAgICAgc2lnbmVk IGNoYXIgICAgLyogZGVmYXVsdCAqLwojZW5kaWYKI2Vsc2UKI2RlZmluZSBJTlRFR0VS X0JZVEUgICAgICAgIHVuc2lnbmVkIGNoYXIKI2VuZGlmCiNkZWZpbmUgICAgQllURVZW VlZWVlZfY2ZUWVBFIElOVEVHRVJfQllURQojZGVmaW5lICBET1VCTEVWVlZWVlZWX2Nm VFlQRSBET1VCTEVfUFJFQ0lTSU9OIAojZGVmaW5lICAgRkxPQVRWVlZWVlZWX2NmVFlQ RSBGT1JUUkFOX1JFQUwKI2RlZmluZSAgICAgSU5UVlZWVlZWVl9jZlRZUEUgaW50CiNk ZWZpbmUgTE9HSUNBTFZWVlZWVlZfY2ZUWVBFIGludAojZGVmaW5lICAgIExPTkdWVlZW VlZWX2NmVFlQRSBsb25nCiNkZWZpbmUgICBTSE9SVFZWVlZWVlZfY2ZUWVBFIHNob3J0 CiNkZWZpbmUgICAgICAgICAgUEJZVEVfY2ZUWVBFIElOVEVHRVJfQllURQojZGVmaW5l ICAgICAgICBQRE9VQkxFX2NmVFlQRSBET1VCTEVfUFJFQ0lTSU9OIAojZGVmaW5lICAg ICAgICAgUEZMT0FUX2NmVFlQRSBGT1JUUkFOX1JFQUwKI2RlZmluZSAgICAgICAgICAg UElOVF9jZlRZUEUgaW50CiNkZWZpbmUgICAgICAgUExPR0lDQUxfY2ZUWVBFIGludAoj ZGVmaW5lICAgICAgICAgIFBMT05HX2NmVFlQRSBsb25nCiNkZWZpbmUgICAgICAgICBQ U0hPUlRfY2ZUWVBFIHNob3J0CgojZGVmaW5lIENGQVJHUzAoQSxULFYsVyxYLFksWikg XzMoVCxfY2YsQSkKI2RlZmluZSBDRkFSR1MxKEEsVCxWLFcsWCxZLFopIF8zKFQsX2Nm LEEpKFYpCiNkZWZpbmUgQ0ZBUkdTMihBLFQsVixXLFgsWSxaKSBfMyhULF9jZixBKShW LFcpCiNkZWZpbmUgQ0ZBUkdTMyhBLFQsVixXLFgsWSxaKSBfMyhULF9jZixBKShWLFcs WCkKI2RlZmluZSBDRkFSR1M0KEEsVCxWLFcsWCxZLFopIF8zKFQsX2NmLEEpKFYsVyxY LFkpCiNkZWZpbmUgQ0ZBUkdTNShBLFQsVixXLFgsWSxaKSBfMyhULF9jZixBKShWLFcs WCxZLFopCgojZGVmaW5lICBfSWNmKE4sVCxJLFgsWSkgICAgICAgICAgICAgICAgIF8o SSxfY2ZJTlQpKE4sVCxJLFgsWSwwKQojZGVmaW5lIF9JY2Y0KE4sVCxJLFgsWSxaKSAg ICAgICAgICAgICAgIF8oSSxfY2ZJTlQpKE4sVCxJLFgsWSxaKQojZGVmaW5lICAgICAg ICAgICBCWVRFX2NmSU5UKE4sQSxCLFgsWSxaKSAgICAgICAgRE9VQkxFX2NmSU5UKE4s QSxCLFgsWSxaKQojZGVmaW5lICAgICAgICAgRE9VQkxFX2NmSU5UKE4sQSxCLFgsWSxa KSBfKENGQVJHUyxOKShBLElOVCxCLFgsWSxaLDApCiNkZWZpbmUgICAgICAgICAgRkxP QVRfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgICBET1VCTEVfY2ZJTlQoTixBLEIsWCxZ LFopCiNkZWZpbmUgICAgICAgICAgICBJTlRfY2ZJTlQoTixBLEIsWCxZLFopICAgICAg ICBET1VCTEVfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgIExPR0lDQUxf Y2ZJTlQoTixBLEIsWCxZLFopICAgICAgICBET1VCTEVfY2ZJTlQoTixBLEIsWCxZLFop CiNkZWZpbmUgICAgICAgICAgIExPTkdfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgICBE T1VCTEVfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgICAgU0hPUlRfY2ZJ TlQoTixBLEIsWCxZLFopICAgICAgICBET1VCTEVfY2ZJTlQoTixBLEIsWCxZLFopCiNk ZWZpbmUgICAgICAgICAgUEJZVEVfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgIFBET1VC TEVfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgIFBET1VCTEVfY2ZJTlQo TixBLEIsWCxZLFopIF8oQ0ZBUkdTLE4pKEEsUElOVCxCLFgsWSxaLDApCiNkZWZpbmUg ICAgICAgICBQRkxPQVRfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgIFBET1VCTEVfY2ZJ TlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgICAgIFBJTlRfY2ZJTlQoTixBLEIs WCxZLFopICAgICAgIFBET1VCTEVfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAg ICAgUExPR0lDQUxfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgIFBET1VCTEVfY2ZJTlQo TixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgICAgUExPTkdfY2ZJTlQoTixBLEIsWCxZ LFopICAgICAgIFBET1VCTEVfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAg ICBQU0hPUlRfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgIFBET1VCTEVfY2ZJTlQoTixB LEIsWCxZLFopCiNkZWZpbmUgICAgICAgICAgQllURVZfY2ZJTlQoTixBLEIsWCxZLFop ICAgICAgIERPVUJMRVZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgICBC WVRFVlZfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgRE9VQkxFVlZfY2ZJTlQoTixBLEIs WCxZLFopCiNkZWZpbmUgICAgICAgIEJZVEVWVlZfY2ZJTlQoTixBLEIsWCxZLFopICAg ICBET1VCTEVWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgQllURVZW VlZfY2ZJTlQoTixBLEIsWCxZLFopICAgIERPVUJMRVZWVlZfY2ZJTlQoTixBLEIsWCxZ LFopCiNkZWZpbmUgICAgICBCWVRFVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopICAgRE9V QkxFVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgIEJZVEVWVlZWVlZf Y2ZJTlQoTixBLEIsWCxZLFopICBET1VCTEVWVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFop CiNkZWZpbmUgICAgQllURVZWVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopIERPVUJMRVZW VlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgIERPVUJMRVZfY2ZJ TlQoTixBLEIsWCxZLFopIF8oQ0ZBUkdTLE4pKEEsSU5UVixCLFgsWSxaLDApCiNkZWZp bmUgICAgICAgRE9VQkxFVlZfY2ZJTlQoTixBLEIsWCxZLFopIF8oQ0ZBUkdTLE4pKEEs SU5UVlYsQixYLFksWiwwKQojZGVmaW5lICAgICAgRE9VQkxFVlZWX2NmSU5UKE4sQSxC LFgsWSxaKSBfKENGQVJHUyxOKShBLElOVFZWVixCLFgsWSxaLDApCiNkZWZpbmUgICAg IERPVUJMRVZWVlZfY2ZJTlQoTixBLEIsWCxZLFopIF8oQ0ZBUkdTLE4pKEEsSU5UVlZW VixCLFgsWSxaLDApCiNkZWZpbmUgICAgRE9VQkxFVlZWVlZfY2ZJTlQoTixBLEIsWCxZ LFopIF8oQ0ZBUkdTLE4pKEEsSU5UVlZWVlYsQixYLFksWiwwKQojZGVmaW5lICAgRE9V QkxFVlZWVlZWX2NmSU5UKE4sQSxCLFgsWSxaKSBfKENGQVJHUyxOKShBLElOVFZWVlZW VixCLFgsWSxaLDApCiNkZWZpbmUgIERPVUJMRVZWVlZWVlZfY2ZJTlQoTixBLEIsWCxZ LFopIF8oQ0ZBUkdTLE4pKEEsSU5UVlZWVlZWVixCLFgsWSxaLDApCiNkZWZpbmUgICAg ICAgICBGTE9BVFZfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgIERPVUJMRVZfY2ZJTlQo TixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgIEZMT0FUVlZfY2ZJTlQoTixBLEIsWCxZ LFopICAgICAgRE9VQkxFVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAg RkxPQVRWVlZfY2ZJTlQoTixBLEIsWCxZLFopICAgICBET1VCTEVWVlZfY2ZJTlQoTixB LEIsWCxZLFopCiNkZWZpbmUgICAgICBGTE9BVFZWVlZfY2ZJTlQoTixBLEIsWCxZLFop ICAgIERPVUJMRVZWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgIEZMT0FU VlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopICAgRE9VQkxFVlZWVlZfY2ZJTlQoTixBLEIs WCxZLFopCiNkZWZpbmUgICAgRkxPQVRWVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopICBE T1VCTEVWVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICBGTE9BVFZWVlZW VlZfY2ZJTlQoTixBLEIsWCxZLFopIERPVUJMRVZWVlZWVlZfY2ZJTlQoTixBLEIsWCxZ LFopCiNkZWZpbmUgICAgICAgICAgIElOVFZfY2ZJTlQoTixBLEIsWCxZLFopICAgICAg IERPVUJMRVZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgICAgSU5UVlZf Y2ZJTlQoTixBLEIsWCxZLFopICAgICAgRE9VQkxFVlZfY2ZJTlQoTixBLEIsWCxZLFop CiNkZWZpbmUgICAgICAgICBJTlRWVlZfY2ZJTlQoTixBLEIsWCxZLFopICAgICBET1VC TEVWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgIElOVFZWVlZfY2ZJ TlQoTixBLEIsWCxZLFopICAgIERPVUJMRVZWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNk ZWZpbmUgICAgICAgSU5UVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopICAgRE9VQkxFVlZW VlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICBJTlRWVlZWVlZfY2ZJTlQo TixBLEIsWCxZLFopICBET1VCTEVWVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZp bmUgICAgIElOVFZWVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopIERPVUJMRVZWVlZWVlZf Y2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgTE9HSUNBTFZfY2ZJTlQoTixB LEIsWCxZLFopICAgICAgIERPVUJMRVZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUg ICAgICBMT0dJQ0FMVlZfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgRE9VQkxFVlZfY2ZJ TlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgIExPR0lDQUxWVlZfY2ZJTlQoTixBLEIs WCxZLFopICAgICBET1VCTEVWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAg TE9HSUNBTFZWVlZfY2ZJTlQoTixBLEIsWCxZLFopICAgIERPVUJMRVZWVlZfY2ZJTlQo TixBLEIsWCxZLFopCiNkZWZpbmUgICBMT0dJQ0FMVlZWVlZfY2ZJTlQoTixBLEIsWCxZ LFopICAgRE9VQkxFVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgIExPR0lD QUxWVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopICBET1VCTEVWVlZWVlZfY2ZJTlQoTixB LEIsWCxZLFopCiNkZWZpbmUgTE9HSUNBTFZWVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFop IERPVUJMRVZWVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgICAg TE9OR1ZfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgIERPVUJMRVZfY2ZJTlQoTixBLEIs WCxZLFopCiNkZWZpbmUgICAgICAgICBMT05HVlZfY2ZJTlQoTixBLEIsWCxZLFopICAg ICAgRE9VQkxFVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgIExPTkdW VlZfY2ZJTlQoTixBLEIsWCxZLFopICAgICBET1VCTEVWVlZfY2ZJTlQoTixBLEIsWCxZ LFopCiNkZWZpbmUgICAgICAgTE9OR1ZWVlZfY2ZJTlQoTixBLEIsWCxZLFopICAgIERP VUJMRVZWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICBMT05HVlZWVlZf Y2ZJTlQoTixBLEIsWCxZLFopICAgRE9VQkxFVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFop CiNkZWZpbmUgICAgIExPTkdWVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopICBET1VCTEVW VlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgTE9OR1ZWVlZWVlZfY2ZJ TlQoTixBLEIsWCxZLFopIERPVUJMRVZWVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNk ZWZpbmUgICAgICAgICBTSE9SVFZfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgIERPVUJM RVZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgIFNIT1JUVlZfY2ZJTlQo TixBLEIsWCxZLFopICAgICAgRE9VQkxFVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZp bmUgICAgICAgU0hPUlRWVlZfY2ZJTlQoTixBLEIsWCxZLFopICAgICBET1VCTEVWVlZf Y2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICBTSE9SVFZWVlZfY2ZJTlQoTixB LEIsWCxZLFopICAgIERPVUJMRVZWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUg ICAgIFNIT1JUVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopICAgRE9VQkxFVlZWVlZfY2ZJ TlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgU0hPUlRWVlZWVlZfY2ZJTlQoTixBLEIs WCxZLFopICBET1VCTEVWVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICBT SE9SVFZWVlZWVlZfY2ZJTlQoTixBLEIsWCxZLFopIERPVUJMRVZWVlZWVlZfY2ZJTlQo TixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgICAgUFZPSURfY2ZJTlQoTixBLEIsWCxZ LFopIF8oQ0ZBUkdTLE4pKEEsQixCLFgsWSxaLDApCiNkZWZpbmUgICAgICAgIFJPVVRJ TkVfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgICAgUFZPSURfY2ZJTlQoTixBLEIsWCxZ LFopCi8qQ1JBWSBjb3VnaHMgb24gdGhlIGZpcnN0LAogIGkuZS4gdGhlIHVzdWFsIHRy b3VibGUgb2Ygbm90IGJlaW5nIGFibGUgdG8KICBkZWZpbmUgbWFjcm9zIHRvIG1hY3Jv cyB3aXRoIGFyZ3VtZW50cy4gCiAgTmV3IHVsdHJpeCBpcyB3b3JzZSwgaXQgY291Z2hz IG9uIGFsbCBzdWNoIHVzZXMuCiAqLwovKiNkZWZpbmUgICAgICAgU0lNUExFX2NmSU5U ICAgICAgICAgICAgICAgICAgICBQVk9JRF9jZklOVCovCiNkZWZpbmUgICAgICAgICBT SU1QTEVfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgICAgUFZPSURfY2ZJTlQoTixBLEIs WCxZLFopCiNkZWZpbmUgICAgICAgICAgIFZPSURfY2ZJTlQoTixBLEIsWCxZLFopICAg ICAgICAgUFZPSURfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgICBTVFJJ TkdfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgICAgUFZPSURfY2ZJTlQoTixBLEIsWCxZ LFopCiNkZWZpbmUgICAgICAgIFNUUklOR1ZfY2ZJTlQoTixBLEIsWCxZLFopICAgICAg ICAgUFZPSURfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgIFBTVFJJTkdf Y2ZJTlQoTixBLEIsWCxZLFopICAgICAgICAgUFZPSURfY2ZJTlQoTixBLEIsWCxZLFop CiNkZWZpbmUgICAgICAgUFNUUklOR1ZfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgICAg UFZPSURfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgUE5TVFJJTkdfY2ZJ TlQoTixBLEIsWCxZLFopICAgICAgICAgUFZPSURfY2ZJTlQoTixBLEIsWCxZLFopCiNk ZWZpbmUgICAgICAgUFBTVFJJTkdfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgICAgUFZP SURfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgIFpUUklOR1ZfY2ZJTlQo TixBLEIsWCxZLFopICAgICAgICAgUFZPSURfY2ZJTlQoTixBLEIsWCxZLFopCiNkZWZp bmUgICAgICAgUFpUUklOR1ZfY2ZJTlQoTixBLEIsWCxZLFopICAgICAgICAgUFZPSURf Y2ZJTlQoTixBLEIsWCxZLFopCiNkZWZpbmUgICAgICAgICAgIENGXzBfY2ZJTlQoTixB LEIsWCxZLFopCiAgICAgICAgICAgICAgICAgICAgICAgICAKCiNkZWZpbmUgICBVQ0Yo VE4sSSxDKSAgX1NFUF8oVE4sQyxjZkNPTU1BKSBfSWNmKDIsVSxUTixfKEEsSSksMCkK I2RlZmluZSAgVVVDRihUTixJLEMpICBfU0VQXyhUTixDLGNmQ09NTUEpIF9TRVBfKFRO LDEsSSkgCiNkZWZpbmUgVVVVQ0YoVE4sSSxDKSAgX1NFUF8oVE4sQyxjZkNPTE9OKSBf SWNmKDIsVSxUTixfKEEsSSksMCkKI2RlZmluZSAgICAgICAgSU5UX2NmVShULEEpIF8o VCxWVlZWVlZWX2NmVFlQRSkgICBBCiNkZWZpbmUgICAgICAgSU5UVl9jZlUoVCxBKSBf KFQsVlZWVlZWX2NmVFlQRSkgICogQQojZGVmaW5lICAgICAgSU5UVlZfY2ZVKFQsQSkg XyhULFZWVlZWX2NmVFlQRSkgICAqIEEKI2RlZmluZSAgICAgSU5UVlZWX2NmVShULEEp IF8oVCxWVlZWX2NmVFlQRSkgICAgKiBBCiNkZWZpbmUgICAgSU5UVlZWVl9jZlUoVCxB KSBfKFQsVlZWX2NmVFlQRSkgICAgICogQQojZGVmaW5lICAgSU5UVlZWVlZfY2ZVKFQs QSkgXyhULFZWX2NmVFlQRSkgICAgICAqIEEKI2RlZmluZSAgSU5UVlZWVlZWX2NmVShU LEEpIF8oVCxWX2NmVFlQRSkgICAgICAgKiBBCiNkZWZpbmUgSU5UVlZWVlZWVl9jZlUo VCxBKSBfKFQsX2NmVFlQRSkgICAgICAgICogQQojZGVmaW5lICAgICAgIFBJTlRfY2ZV KFQsQSkgXyhULF9jZlRZUEUpICAgICAgICAqIEEKI2RlZmluZSAgICAgIFBWT0lEX2Nm VShULEEpIHZvaWQgICpBIAojZGVmaW5lICAgIFJPVVRJTkVfY2ZVKFQsQSkgdm9pZCAo KkEpKENGX05VTExfUFJPVE8pIAojZGVmaW5lICAgICAgIFZPSURfY2ZVKFQsQSkgdm9p ZCAgIEEgICAgLyogTmVlZGVkIGZvciBDIGNhbGxzIEZPUlRSQU4gc3ViLnMuICAqLwoj ZGVmaW5lICAgICBTVFJJTkdfY2ZVKFQsQSkgY2hhciAgKkEgICAgLyogICAgICAgICAg ICB2aWEgVk9JRCBhbmQgd3JhcHBlci4gICAqLwojZGVmaW5lICAgIFNUUklOR1ZfY2ZV KFQsQSkgY2hhciAgKkEKI2RlZmluZSAgICBQU1RSSU5HX2NmVShULEEpIGNoYXIgICpB CiNkZWZpbmUgICBQU1RSSU5HVl9jZlUoVCxBKSBjaGFyICAqQQojZGVmaW5lICAgIFpU UklOR1ZfY2ZVKFQsQSkgY2hhciAgKkEKI2RlZmluZSAgIFBaVFJJTkdWX2NmVShULEEp IGNoYXIgICpBCgovKiBWT0lEIGJyZWFrcyBVIGludG8gVSBhbmQgVVUuICovCiNkZWZp bmUgICAgICAgSU5UX2NmVVUoVCxBKSBfKFQsVlZWVlZWVl9jZlRZUEUpIEEKI2RlZmlu ZSAgICAgIFZPSURfY2ZVVShULEEpICAgICAgICAgICAgIC8qIE5lZWRlZCBmb3IgRk9S VFJBTiBjYWxscyBDIHN1Yi5zLiAgKi8KI2RlZmluZSAgICBTVFJJTkdfY2ZVVShULEEp IGNoYXIgKkEgCgoKI2RlZmluZSAgICAgIEJZVEVfY2ZQVShBKSAgIENGZXh0ZXJuIElO VEVHRVJfQllURSAgICAgIEZDQUxMU0NfUVVBTElGSUVSIEEKI2RlZmluZSAgICBET1VC TEVfY2ZQVShBKSAgIENGZXh0ZXJuIERPVUJMRV9QUkVDSVNJT04gIEZDQUxMU0NfUVVB TElGSUVSIEEKI2lmICEgKGRlZmluZWQoRkxPQVRGVU5DVElPTlRZUEUpJiZkZWZpbmVk KEFTU0lHTkZMT0FUKSYmZGVmaW5lZChSRVRVUk5GTE9BVCkpCiNkZWZpbmUgICAgIEZM T0FUX2NmUFUoQSkgICBDRmV4dGVybiBGT1JUUkFOX1JFQUwgICAgICBGQ0FMTFNDX1FV QUxJRklFUiBBCiNlbHNlCQkJCSAgIAkgICAgICAgICAgICAgICAgICAgCiNkZWZpbmUg ICAgIEZMT0FUX2NmUFUoQSkgICBDRmV4dGVybiBGTE9BVEZVTkNUSU9OVFlQRSBGQ0FM TFNDX1FVQUxJRklFUiBBCiNlbmRpZgkJCQkgICAJICAgICAgICAgICAgICAgICAgIAoj ZGVmaW5lICAgICAgIElOVF9jZlBVKEEpICAgQ0ZleHRlcm4gaW50ICAgRkNBTExTQ19R VUFMSUZJRVIgICBBCiNkZWZpbmUgICBMT0dJQ0FMX2NmUFUoQSkgICBDRmV4dGVybiBp bnQgICBGQ0FMTFNDX1FVQUxJRklFUiAgIEEKI2RlZmluZSAgICAgIExPTkdfY2ZQVShB KSAgIENGZXh0ZXJuIGxvbmcgIEZDQUxMU0NfUVVBTElGSUVSICAgQQojZGVmaW5lICAg ICBTSE9SVF9jZlBVKEEpICAgQ0ZleHRlcm4gc2hvcnQgRkNBTExTQ19RVUFMSUZJRVIg ICBBCiNkZWZpbmUgICAgU1RSSU5HX2NmUFUoQSkgICBDRmV4dGVybiB2b2lkICBGQ0FM TFNDX1FVQUxJRklFUiAgIEEKI2RlZmluZSAgICAgIFZPSURfY2ZQVShBKSAgIENGZXh0 ZXJuIHZvaWQgIEZDQUxMU0NfUVVBTElGSUVSICAgQQoKI2RlZmluZSAgICBCWVRFX2Nm RSBJTlRFR0VSX0JZVEUgICAgIEEwOwojZGVmaW5lICBET1VCTEVfY2ZFIERPVUJMRV9Q UkVDSVNJT04gQTA7CiNpZiAhIChkZWZpbmVkKEZMT0FURlVOQ1RJT05UWVBFKSYmZGVm aW5lZChBU1NJR05GTE9BVCkmJmRlZmluZWQoUkVUVVJORkxPQVQpKQojZGVmaW5lICAg RkxPQVRfY2ZFIEZPUlRSQU5fUkVBTCAgQTA7CiNlbHNlCiNkZWZpbmUgICBGTE9BVF9j ZkUgRk9SVFJBTl9SRUFMIEFBMDsgICBGTE9BVEZVTkNUSU9OVFlQRSBBMDsKI2VuZGlm CiNkZWZpbmUgICAgIElOVF9jZkUgaW50ICAgIEEwOwojZGVmaW5lIExPR0lDQUxfY2ZF IGludCAgICBBMDsKI2RlZmluZSAgICBMT05HX2NmRSBsb25nICAgQTA7CiNkZWZpbmUg ICBTSE9SVF9jZkUgc2hvcnQgIEEwOwojZGVmaW5lICAgIFZPSURfY2ZFCiNpZmRlZiB2 bXNGb3J0cmFuCiNkZWZpbmUgIFNUUklOR19jZkUgc3RhdGljIGNoYXIgQUEwWzErTUFY X0xFTl9GT1JUUkFOX0ZVTkNUSU9OX1NUUklOR107ICAgICAgICBcCiAgICAgICAgICAg ICAgICAgICAgICAgc3RhdGljIGZzdHJpbmcgQTAgPSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICB7TUFYX0xFTl9GT1JUUkFOX0ZV TkNUSU9OX1NUUklORyxEU0MkS19EVFlQRV9ULERTQyRLX0NMQVNTX1MsQUEwfTtcCiAg ICAgICAgICAgICAgIG1lbXNldChBQTAsIENGT1JUUkFOX05PTl9DSEFSLCBNQVhfTEVO X0ZPUlRSQU5fRlVOQ1RJT05fU1RSSU5HKTtcCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICooQUEwK01BWF9MRU5fRk9SVFJBTl9GVU5DVElPTl9TVFJJTkcp PSdcMCc7CiNlbHNlCiNpZmRlZiBDUkFZRm9ydHJhbgojZGVmaW5lICBTVFJJTkdfY2ZF IHN0YXRpYyBjaGFyIEFBMFsxK01BWF9MRU5fRk9SVFJBTl9GVU5DVElPTl9TVFJJTkdd OyAgICAgICAgXAogICAgICAgICAgICAgICAgICAgc3RhdGljIF9mY2QgQTA7ICooQUEw K01BWF9MRU5fRk9SVFJBTl9GVU5DVElPTl9TVFJJTkcpPSdcMCc7XAogICAgICAgICAg ICAgICAgbWVtc2V0KEFBMCxDRk9SVFJBTl9OT05fQ0hBUiwgTUFYX0xFTl9GT1JUUkFO X0ZVTkNUSU9OX1NUUklORyk7XAogICAgICAgICAgICAgICAgICAgICAgICAgICAgQTAg PSBfY3B0b2ZjZChBQTAsTUFYX0xFTl9GT1JUUkFOX0ZVTkNUSU9OX1NUUklORyk7CiNl bHNlCi8qICdjYzogU0MzLjAuMSAxMyBKdWwgMTk5NCcgYmFyZnMgb24gY2hhciBBMFsw eDRGRSsxXTsgCiAqIGNoYXIgQTBbMHg0RkUgKzFdOyBjaGFyIEEwWzErMHg0RkVdOyBh cmUgYm90aCBPSy4gICAgICovCiNkZWZpbmUgU1RSSU5HX2NmRSBzdGF0aWMgY2hhciBB MFsxK01BWF9MRU5fRk9SVFJBTl9GVU5DVElPTl9TVFJJTkddOyAgICAgICAgICBcCiAg ICAgICAgICAgICAgICAgICAgICAgbWVtc2V0KEEwLCBDRk9SVFJBTl9OT05fQ0hBUiwg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE1BWF9MRU5fRk9SVFJBTl9GVU5DVElPTl9TVFJJTkcpOyAgICAgICAgICAg ICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgKihBMCtNQVhfTEVOX0ZPUlRSQU5f RlVOQ1RJT05fU1RSSU5HKT0nXDAnOwojZW5kaWYKI2VuZGlmCi8qIEVTVFJJTkcgbXVz dCB1c2Ugc3RhdGljIGNoYXIuIGFycmF5IHdoaWNoIGlzIGd1YXJhbnRlZWQgdG8gZXhp c3QgYWZ0ZXIKICAgZnVuY3Rpb24gcmV0dXJucy4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCgovKiBOLkIuaSkgVGhlIGRp ZmYuIGZvciAwIChaZXJvKSBhbmQgPj0xIGFyZ3VtZW50cy4KICAgICAgIGlpKVRoYXQg dGhlIGZvbGxvd2luZyBjcmVhdGUgYW4gdW5tYXRjaGVkIGJyYWNrZXQsIGkuZS4gJygn LCB3aGljaAogICAgICAgICAgbXVzdCBvZiBjb3Vyc2UgYmUgbWF0Y2hlZCBpbiB0aGUg Y2FsbC4KICAgICAgIGlpaSlDb21tYXMgbXVzdCBiZSBoYW5kbGVkIHZlcnkgY2FyZWZ1 bGx5ICAgICAgICAgICAgICAgICAgICAgICAgICovCiNkZWZpbmUgICAgSU5UX2NmR1oo VCxVTixMTikgQTA9Q0ZDXyhVTixMTikoCiNkZWZpbmUgICBWT0lEX2NmR1ooVCxVTixM TikgICAgQ0ZDXyhVTixMTikoCiNpZmRlZiB2bXNGb3J0cmFuCiNkZWZpbmUgU1RSSU5H X2NmR1ooVCxVTixMTikgICAgQ0ZDXyhVTixMTikoJkEwCiNlbHNlCiNpZiBkZWZpbmVk KENSQVlGb3J0cmFuKSB8fCBkZWZpbmVkKEFic29mdFVOSVhGb3J0cmFuKQojZGVmaW5l IFNUUklOR19jZkdaKFQsVU4sTE4pICAgIENGQ18oVU4sTE4pKCBBMAojZWxzZQojZGVm aW5lIFNUUklOR19jZkdaKFQsVU4sTE4pICAgIENGQ18oVU4sTE4pKCBBMCxNQVhfTEVO X0ZPUlRSQU5fRlVOQ1RJT05fU1RSSU5HCiNlbmRpZgojZW5kaWYKCiNkZWZpbmUgICAg IElOVF9jZkcoVCxVTixMTikgICAgSU5UX2NmR1ooVCxVTixMTikKI2RlZmluZSAgICBW T0lEX2NmRyhULFVOLExOKSAgIFZPSURfY2ZHWihULFVOLExOKQojZGVmaW5lICBTVFJJ TkdfY2ZHKFQsVU4sTE4pIFNUUklOR19jZkdaKFQsVU4sTE4pLCAvKiwgaXMgb25seSBk aWZmLiBmcm9tIF9jZkcqLwoKI2RlZmluZSAgICBCWVRFVlZWVlZWVl9jZlBQCiNkZWZp bmUgICAgIElOVFZWVlZWVlZfY2ZQUCAgICAgLyogVGhlc2UgY29tcGxlbWVudCBGTE9B VFZWVlZWVlZfY2ZQUC4gKi8KI2RlZmluZSAgRE9VQkxFVlZWVlZWVl9jZlBQCiNkZWZp bmUgTE9HSUNBTFZWVlZWVlZfY2ZQUAojZGVmaW5lICAgIExPTkdWVlZWVlZWX2NmUFAK I2RlZmluZSAgIFNIT1JUVlZWVlZWVl9jZlBQCiNkZWZpbmUgICAgICAgICAgUEJZVEVf Y2ZQUAojZGVmaW5lICAgICAgICAgICBQSU5UX2NmUFAKI2RlZmluZSAgICAgICAgUERP VUJMRV9jZlBQCiNkZWZpbmUgICAgICAgUExPR0lDQUxfY2ZQUAojZGVmaW5lICAgICAg ICAgIFBMT05HX2NmUFAKI2RlZmluZSAgICAgICAgIFBTSE9SVF9jZlBQCiNkZWZpbmUg ICAgICAgICBQRkxPQVRfY2ZQUCBGTE9BVFZWVlZWVlZfY2ZQUAoKI2RlZmluZSBCQ0Yo VE4sQU4sQykgICAgICAgIF9TRVBfKFROLEMsY2ZDT01NQSkgX0ljZigyLEIsVE4sQU4s MCkKI2RlZmluZSAgICAgICAgSU5UX2NmQihULEEpIChfKFQsVlZWVlZWVl9jZlRZUEUp KSBBCiNkZWZpbmUgICAgICAgSU5UVl9jZkIoVCxBKSAgICAgICAgICAgIEEKI2RlZmlu ZSAgICAgIElOVFZWX2NmQihULEEpICAgICAgICAgICAoQSlbMF0KI2RlZmluZSAgICAg SU5UVlZWX2NmQihULEEpICAgICAgICAgICAoQSlbMF1bMF0KI2RlZmluZSAgICBJTlRW VlZWX2NmQihULEEpICAgICAgICAgICAoQSlbMF1bMF1bMF0KI2RlZmluZSAgIElOVFZW VlZWX2NmQihULEEpICAgICAgICAgICAoQSlbMF1bMF1bMF1bMF0KI2RlZmluZSAgSU5U VlZWVlZWX2NmQihULEEpICAgICAgICAgICAoQSlbMF1bMF1bMF1bMF1bMF0KI2RlZmlu ZSBJTlRWVlZWVlZWX2NmQihULEEpICAgICAgICAgICAoQSlbMF1bMF1bMF1bMF1bMF1b MF0KI2RlZmluZSAgICAgICBQSU5UX2NmQihULEEpIF8oVCxfY2ZQUCkmQQojZGVmaW5l ICAgICBTVFJJTkdfY2ZCKFQsQSkgKGNoYXIgKikgICBBCiNkZWZpbmUgICAgU1RSSU5H Vl9jZkIoVCxBKSAoY2hhciAqKSAgIEEKI2RlZmluZSAgICBQU1RSSU5HX2NmQihULEEp IChjaGFyICopICAgQQojZGVmaW5lICAgUFNUUklOR1ZfY2ZCKFQsQSkgKGNoYXIgKikg ICBBCiNkZWZpbmUgICAgICBQVk9JRF9jZkIoVCxBKSAodm9pZCAqKSAgIEEKI2RlZmlu ZSAgICBST1VUSU5FX2NmQihULEEpIChjZkNBU1RfRlVOQ1RJT04pQQojZGVmaW5lICAg IFpUUklOR1ZfY2ZCKFQsQSkgKGNoYXIgKikgICBBCiNkZWZpbmUgICBQWlRSSU5HVl9j ZkIoVCxBKSAoY2hhciAqKSAgIEEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCiNkZWZpbmUgU0NGKFROLE5B TUUsSSxBKSAgICBfKFROLF9jZlNUUikoMyxTLE5BTUUsSSxBLDAsMCkKI2RlZmluZSAg REVGQVVMVF9jZlMoTSxJLEEpCiNkZWZpbmUgIExPR0lDQUxfY2ZTKE0sSSxBKQojZGVm aW5lIFBMT0dJQ0FMX2NmUyhNLEksQSkKI2RlZmluZSAgIFNUUklOR19jZlMoTSxJLEEp ICxzaXplb2YoQSkKI2RlZmluZSAgU1RSSU5HVl9jZlMoTSxJLEEpICwoICh1bnNpZ25l ZCkweEZGRkYqZmlyc3RpbmRleGxlbmd0aChBKSBcCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICtzZWNvbmRpbmRleGxlbmd0aChBKSkKI2RlZmluZSAgUFNUUklOR19j ZlMoTSxJLEEpICxzaXplb2YoQSkKI2RlZmluZSBQU1RSSU5HVl9jZlMoTSxJLEEpIFNU UklOR1ZfY2ZTKE0sSSxBKQojZGVmaW5lICBaVFJJTkdWX2NmUyhNLEksQSkKI2RlZmlu ZSBQWlRSSU5HVl9jZlMoTSxJLEEpCgojZGVmaW5lICAgSENGKFROLEkpICAgICAgICAg XyhUTixfY2ZTVFIpKDMsSCxjZkNPTU1BLCBILF8oQyxJKSwwLDApCiNkZWZpbmUgIEhI Q0YoVE4sSSkgICAgICAgICBfKFROLF9jZlNUUikoMyxILGNmQ09NTUEsSEgsXyhDLEkp LDAsMCkKI2RlZmluZSBISEhDRihUTixJKSAgICAgICAgIF8oVE4sX2NmU1RSKSgzLEgs Y2ZDT0xPTiwgSCxfKEMsSSksMCwwKQojZGVmaW5lICBIX0NGX1NQRUNJQUwgICAgICAg dW5zaWduZWQKI2RlZmluZSBISF9DRl9TUEVDSUFMCiNkZWZpbmUgIERFRkFVTFRfY2ZI KE0sSSxBKQojZGVmaW5lICBMT0dJQ0FMX2NmSChTLFUsQikKI2RlZmluZSBQTE9HSUNB TF9jZkgoUyxVLEIpCiNkZWZpbmUgICBTVFJJTkdfY2ZIKFMsVSxCKSBfKEEsUykgXyhV LF9DRl9TUEVDSUFMKSBCCiNkZWZpbmUgIFNUUklOR1ZfY2ZIKFMsVSxCKSBTVFJJTkdf Y2ZIKFMsVSxCKQojZGVmaW5lICBQU1RSSU5HX2NmSChTLFUsQikgU1RSSU5HX2NmSChT LFUsQikKI2RlZmluZSBQU1RSSU5HVl9jZkgoUyxVLEIpIFNUUklOR19jZkgoUyxVLEIp CiNkZWZpbmUgUE5TVFJJTkdfY2ZIKFMsVSxCKSBTVFJJTkdfY2ZIKFMsVSxCKQojZGVm aW5lIFBQU1RSSU5HX2NmSChTLFUsQikgU1RSSU5HX2NmSChTLFUsQikKI2RlZmluZSAg WlRSSU5HVl9jZkgoUyxVLEIpCiNkZWZpbmUgUFpUUklOR1ZfY2ZIKFMsVSxCKQoKLyog TmVlZCBWT0lEX2NmU1RSIGJlY2F1c2UgQWJzb2Z0IGZvcmNlZCBmdW5jdGlvbiB0eXBl cyBnbyB0aHJvdWdoIF9jZlNUUi4gKi8KLyogTm8gc3BhY2VzIGluc2lkZSBleHBhbnNp b24uIFRoZXkgc2NyZXdzIHVwIG1hY3JvIGNhdGVuYXRpb24ga2x1ZGdlLiAgICAgKi8K I2RlZmluZSAgICAgICAgICAgVk9JRF9jZlNUUihOLFQsQSxCLEMsRCxFKSBfKENGQVJH UyxOKShULERFRkFVTFQsQSxCLEMsRCxFKQojZGVmaW5lICAgICAgICAgICBCWVRFX2Nm U1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZBUkdTLE4pKFQsREVGQVVMVCxBLEIsQyxELEUp CiNkZWZpbmUgICAgICAgICBET1VCTEVfY2ZTVFIoTixULEEsQixDLEQsRSkgXyhDRkFS R1MsTikoVCxERUZBVUxULEEsQixDLEQsRSkKI2RlZmluZSAgICAgICAgICBGTE9BVF9j ZlNUUihOLFQsQSxCLEMsRCxFKSBfKENGQVJHUyxOKShULERFRkFVTFQsQSxCLEMsRCxF KQojZGVmaW5lICAgICAgICAgICAgSU5UX2NmU1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZB UkdTLE4pKFQsREVGQVVMVCxBLEIsQyxELEUpCiNkZWZpbmUgICAgICAgIExPR0lDQUxf Y2ZTVFIoTixULEEsQixDLEQsRSkgXyhDRkFSR1MsTikoVCxMT0dJQ0FMLEEsQixDLEQs RSkKI2RlZmluZSAgICAgICAgICAgTE9OR19jZlNUUihOLFQsQSxCLEMsRCxFKSBfKENG QVJHUyxOKShULERFRkFVTFQsQSxCLEMsRCxFKQojZGVmaW5lICAgICAgICAgIFNIT1JU X2NmU1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZBUkdTLE4pKFQsREVGQVVMVCxBLEIsQyxE LEUpCiNkZWZpbmUgICAgICAgICAgQllURVZfY2ZTVFIoTixULEEsQixDLEQsRSkgXyhD RkFSR1MsTikoVCxERUZBVUxULEEsQixDLEQsRSkKI2RlZmluZSAgICAgICAgIEJZVEVW Vl9jZlNUUihOLFQsQSxCLEMsRCxFKSBfKENGQVJHUyxOKShULERFRkFVTFQsQSxCLEMs RCxFKQojZGVmaW5lICAgICAgICBCWVRFVlZWX2NmU1RSKE4sVCxBLEIsQyxELEUpIF8o Q0ZBUkdTLE4pKFQsREVGQVVMVCxBLEIsQyxELEUpCiNkZWZpbmUgICAgICAgQllURVZW VlZfY2ZTVFIoTixULEEsQixDLEQsRSkgXyhDRkFSR1MsTikoVCxERUZBVUxULEEsQixD LEQsRSkKI2RlZmluZSAgICAgIEJZVEVWVlZWVl9jZlNUUihOLFQsQSxCLEMsRCxFKSBf KENGQVJHUyxOKShULERFRkFVTFQsQSxCLEMsRCxFKQojZGVmaW5lICAgICBCWVRFVlZW VlZWX2NmU1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZBUkdTLE4pKFQsREVGQVVMVCxBLEIs QyxELEUpCiNkZWZpbmUgICAgQllURVZWVlZWVlZfY2ZTVFIoTixULEEsQixDLEQsRSkg XyhDRkFSR1MsTikoVCxERUZBVUxULEEsQixDLEQsRSkKI2RlZmluZSAgICAgICAgRE9V QkxFVl9jZlNUUihOLFQsQSxCLEMsRCxFKSBfKENGQVJHUyxOKShULERFRkFVTFQsQSxC LEMsRCxFKQojZGVmaW5lICAgICAgIERPVUJMRVZWX2NmU1RSKE4sVCxBLEIsQyxELEUp IF8oQ0ZBUkdTLE4pKFQsREVGQVVMVCxBLEIsQyxELEUpCiNkZWZpbmUgICAgICBET1VC TEVWVlZfY2ZTVFIoTixULEEsQixDLEQsRSkgXyhDRkFSR1MsTikoVCxERUZBVUxULEEs QixDLEQsRSkKI2RlZmluZSAgICAgRE9VQkxFVlZWVl9jZlNUUihOLFQsQSxCLEMsRCxF KSBfKENGQVJHUyxOKShULERFRkFVTFQsQSxCLEMsRCxFKQojZGVmaW5lICAgIERPVUJM RVZWVlZWX2NmU1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZBUkdTLE4pKFQsREVGQVVMVCxB LEIsQyxELEUpCiNkZWZpbmUgICBET1VCTEVWVlZWVlZfY2ZTVFIoTixULEEsQixDLEQs RSkgXyhDRkFSR1MsTikoVCxERUZBVUxULEEsQixDLEQsRSkKI2RlZmluZSAgRE9VQkxF VlZWVlZWVl9jZlNUUihOLFQsQSxCLEMsRCxFKSBfKENGQVJHUyxOKShULERFRkFVTFQs QSxCLEMsRCxFKQojZGVmaW5lICAgICAgICAgRkxPQVRWX2NmU1RSKE4sVCxBLEIsQyxE LEUpIF8oQ0ZBUkdTLE4pKFQsREVGQVVMVCxBLEIsQyxELEUpCiNkZWZpbmUgICAgICAg IEZMT0FUVlZfY2ZTVFIoTixULEEsQixDLEQsRSkgXyhDRkFSR1MsTikoVCxERUZBVUxU LEEsQixDLEQsRSkKI2RlZmluZSAgICAgICBGTE9BVFZWVl9jZlNUUihOLFQsQSxCLEMs RCxFKSBfKENGQVJHUyxOKShULERFRkFVTFQsQSxCLEMsRCxFKQojZGVmaW5lICAgICAg RkxPQVRWVlZWX2NmU1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZBUkdTLE4pKFQsREVGQVVM VCxBLEIsQyxELEUpCiNkZWZpbmUgICAgIEZMT0FUVlZWVlZfY2ZTVFIoTixULEEsQixD LEQsRSkgXyhDRkFSR1MsTikoVCxERUZBVUxULEEsQixDLEQsRSkKI2RlZmluZSAgICBG TE9BVFZWVlZWVl9jZlNUUihOLFQsQSxCLEMsRCxFKSBfKENGQVJHUyxOKShULERFRkFV TFQsQSxCLEMsRCxFKQojZGVmaW5lICAgRkxPQVRWVlZWVlZWX2NmU1RSKE4sVCxBLEIs QyxELEUpIF8oQ0ZBUkdTLE4pKFQsREVGQVVMVCxBLEIsQyxELEUpCiNkZWZpbmUgICAg ICAgICAgIElOVFZfY2ZTVFIoTixULEEsQixDLEQsRSkgXyhDRkFSR1MsTikoVCxERUZB VUxULEEsQixDLEQsRSkKI2RlZmluZSAgICAgICAgICBJTlRWVl9jZlNUUihOLFQsQSxC LEMsRCxFKSBfKENGQVJHUyxOKShULERFRkFVTFQsQSxCLEMsRCxFKQojZGVmaW5lICAg ICAgICAgSU5UVlZWX2NmU1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZBUkdTLE4pKFQsREVG QVVMVCxBLEIsQyxELEUpCiNkZWZpbmUgICAgICAgIElOVFZWVlZfY2ZTVFIoTixULEEs QixDLEQsRSkgXyhDRkFSR1MsTikoVCxERUZBVUxULEEsQixDLEQsRSkKI2RlZmluZSAg ICAgICBJTlRWVlZWVl9jZlNUUihOLFQsQSxCLEMsRCxFKSBfKENGQVJHUyxOKShULERF RkFVTFQsQSxCLEMsRCxFKQojZGVmaW5lICAgICAgSU5UVlZWVlZWX2NmU1RSKE4sVCxB LEIsQyxELEUpIF8oQ0ZBUkdTLE4pKFQsREVGQVVMVCxBLEIsQyxELEUpCiNkZWZpbmUg ICAgIElOVFZWVlZWVlZfY2ZTVFIoTixULEEsQixDLEQsRSkgXyhDRkFSR1MsTikoVCxE RUZBVUxULEEsQixDLEQsRSkKI2RlZmluZSAgICAgICBMT0dJQ0FMVl9jZlNUUihOLFQs QSxCLEMsRCxFKSBfKENGQVJHUyxOKShULERFRkFVTFQsQSxCLEMsRCxFKQojZGVmaW5l ICAgICAgTE9HSUNBTFZWX2NmU1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZBUkdTLE4pKFQs REVGQVVMVCxBLEIsQyxELEUpCiNkZWZpbmUgICAgIExPR0lDQUxWVlZfY2ZTVFIoTixU LEEsQixDLEQsRSkgXyhDRkFSR1MsTikoVCxERUZBVUxULEEsQixDLEQsRSkKI2RlZmlu ZSAgICBMT0dJQ0FMVlZWVl9jZlNUUihOLFQsQSxCLEMsRCxFKSBfKENGQVJHUyxOKShU LERFRkFVTFQsQSxCLEMsRCxFKQojZGVmaW5lICAgTE9HSUNBTFZWVlZWX2NmU1RSKE4s VCxBLEIsQyxELEUpIF8oQ0ZBUkdTLE4pKFQsREVGQVVMVCxBLEIsQyxELEUpCiNkZWZp bmUgIExPR0lDQUxWVlZWVlZfY2ZTVFIoTixULEEsQixDLEQsRSkgXyhDRkFSR1MsTiko VCxERUZBVUxULEEsQixDLEQsRSkKI2RlZmluZSBMT0dJQ0FMVlZWVlZWVl9jZlNUUihO LFQsQSxCLEMsRCxFKSBfKENGQVJHUyxOKShULERFRkFVTFQsQSxCLEMsRCxFKQojZGVm aW5lICAgICAgICAgIExPTkdWX2NmU1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZBUkdTLE4p KFQsREVGQVVMVCxBLEIsQyxELEUpCiNkZWZpbmUgICAgICAgICBMT05HVlZfY2ZTVFIo TixULEEsQixDLEQsRSkgXyhDRkFSR1MsTikoVCxERUZBVUxULEEsQixDLEQsRSkKI2Rl ZmluZSAgICAgICAgTE9OR1ZWVl9jZlNUUihOLFQsQSxCLEMsRCxFKSBfKENGQVJHUyxO KShULERFRkFVTFQsQSxCLEMsRCxFKQojZGVmaW5lICAgICAgIExPTkdWVlZWX2NmU1RS KE4sVCxBLEIsQyxELEUpIF8oQ0ZBUkdTLE4pKFQsREVGQVVMVCxBLEIsQyxELEUpCiNk ZWZpbmUgICAgICBMT05HVlZWVlZfY2ZTVFIoTixULEEsQixDLEQsRSkgXyhDRkFSR1Ms TikoVCxERUZBVUxULEEsQixDLEQsRSkKI2RlZmluZSAgICAgTE9OR1ZWVlZWVl9jZlNU UihOLFQsQSxCLEMsRCxFKSBfKENGQVJHUyxOKShULERFRkFVTFQsQSxCLEMsRCxFKQoj ZGVmaW5lICAgIExPTkdWVlZWVlZWX2NmU1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZBUkdT LE4pKFQsREVGQVVMVCxBLEIsQyxELEUpCiNkZWZpbmUgICAgICAgICBTSE9SVFZfY2ZT VFIoTixULEEsQixDLEQsRSkgXyhDRkFSR1MsTikoVCxERUZBVUxULEEsQixDLEQsRSkK I2RlZmluZSAgICAgICAgU0hPUlRWVl9jZlNUUihOLFQsQSxCLEMsRCxFKSBfKENGQVJH UyxOKShULERFRkFVTFQsQSxCLEMsRCxFKQojZGVmaW5lICAgICAgIFNIT1JUVlZWX2Nm U1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZBUkdTLE4pKFQsREVGQVVMVCxBLEIsQyxELEUp CiNkZWZpbmUgICAgICBTSE9SVFZWVlZfY2ZTVFIoTixULEEsQixDLEQsRSkgXyhDRkFS R1MsTikoVCxERUZBVUxULEEsQixDLEQsRSkKI2RlZmluZSAgICAgU0hPUlRWVlZWVl9j ZlNUUihOLFQsQSxCLEMsRCxFKSBfKENGQVJHUyxOKShULERFRkFVTFQsQSxCLEMsRCxF KQojZGVmaW5lICAgIFNIT1JUVlZWVlZWX2NmU1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZB UkdTLE4pKFQsREVGQVVMVCxBLEIsQyxELEUpCiNkZWZpbmUgICBTSE9SVFZWVlZWVlZf Y2ZTVFIoTixULEEsQixDLEQsRSkgXyhDRkFSR1MsTikoVCxERUZBVUxULEEsQixDLEQs RSkKI2RlZmluZSAgICAgICAgICBQQllURV9jZlNUUihOLFQsQSxCLEMsRCxFKSBfKENG QVJHUyxOKShULERFRkFVTFQsQSxCLEMsRCxFKQojZGVmaW5lICAgICAgICBQRE9VQkxF X2NmU1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZBUkdTLE4pKFQsREVGQVVMVCxBLEIsQyxE LEUpCiNkZWZpbmUgICAgICAgICBQRkxPQVRfY2ZTVFIoTixULEEsQixDLEQsRSkgXyhD RkFSR1MsTikoVCxERUZBVUxULEEsQixDLEQsRSkKI2RlZmluZSAgICAgICAgICAgUElO VF9jZlNUUihOLFQsQSxCLEMsRCxFKSBfKENGQVJHUyxOKShULERFRkFVTFQsQSxCLEMs RCxFKQojZGVmaW5lICAgICAgIFBMT0dJQ0FMX2NmU1RSKE4sVCxBLEIsQyxELEUpIF8o Q0ZBUkdTLE4pKFQsUExPR0lDQUwsQSxCLEMsRCxFKQojZGVmaW5lICAgICAgICAgIFBM T05HX2NmU1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZBUkdTLE4pKFQsREVGQVVMVCxBLEIs QyxELEUpCiNkZWZpbmUgICAgICAgICBQU0hPUlRfY2ZTVFIoTixULEEsQixDLEQsRSkg XyhDRkFSR1MsTikoVCxERUZBVUxULEEsQixDLEQsRSkKI2RlZmluZSAgICAgICAgIFNU UklOR19jZlNUUihOLFQsQSxCLEMsRCxFKSBfKENGQVJHUyxOKShULFNUUklORyxBLEIs QyxELEUpCiNkZWZpbmUgICAgICAgIFBTVFJJTkdfY2ZTVFIoTixULEEsQixDLEQsRSkg XyhDRkFSR1MsTikoVCxQU1RSSU5HLEEsQixDLEQsRSkKI2RlZmluZSAgICAgICAgU1RS SU5HVl9jZlNUUihOLFQsQSxCLEMsRCxFKSBfKENGQVJHUyxOKShULFNUUklOR1YsQSxC LEMsRCxFKQojZGVmaW5lICAgICAgIFBTVFJJTkdWX2NmU1RSKE4sVCxBLEIsQyxELEUp IF8oQ0ZBUkdTLE4pKFQsUFNUUklOR1YsQSxCLEMsRCxFKQojZGVmaW5lICAgICAgIFBO U1RSSU5HX2NmU1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZBUkdTLE4pKFQsUE5TVFJJTkcs QSxCLEMsRCxFKQojZGVmaW5lICAgICAgIFBQU1RSSU5HX2NmU1RSKE4sVCxBLEIsQyxE LEUpIF8oQ0ZBUkdTLE4pKFQsUFBTVFJJTkcsQSxCLEMsRCxFKQojZGVmaW5lICAgICAg ICAgIFBWT0lEX2NmU1RSKE4sVCxBLEIsQyxELEUpIF8oQ0ZBUkdTLE4pKFQsREVGQVVM VCxBLEIsQyxELEUpCiNkZWZpbmUgICAgICAgIFJPVVRJTkVfY2ZTVFIoTixULEEsQixD LEQsRSkgXyhDRkFSR1MsTikoVCxERUZBVUxULEEsQixDLEQsRSkKI2RlZmluZSAgICAg ICAgIFNJTVBMRV9jZlNUUihOLFQsQSxCLEMsRCxFKSBfKENGQVJHUyxOKShULERFRkFV TFQsQSxCLEMsRCxFKQojZGVmaW5lICAgICAgICBaVFJJTkdWX2NmU1RSKE4sVCxBLEIs QyxELEUpIF8oQ0ZBUkdTLE4pKFQsWlRSSU5HVixBLEIsQyxELEUpCiNkZWZpbmUgICAg ICAgUFpUUklOR1ZfY2ZTVFIoTixULEEsQixDLEQsRSkgXyhDRkFSR1MsTikoVCxQWlRS SU5HVixBLEIsQyxELEUpCiNkZWZpbmUgICAgICAgICAgIENGXzBfY2ZTVFIoTixULEEs QixDLEQsRSkKCi8qIFNlZSBBQ0YgdGFibGUgY29tbWVudHMsIHdoaWNoIGV4cGxhaW4g d2h5IENDRiB3YXMgc3BsaXQgaW50byB0d28uICovCiNkZWZpbmUgQ0NGKE5BTUUsVE4s SSkgICAgIF8oVE4sX2NmU1RSKSg1LEMsTkFNRSxJLF8oQSxJKSxfKEIsSSksXyhDLEkp KQojZGVmaW5lICBERUZBVUxUX2NmQyhNLEksQSxCLEMpCiNkZWZpbmUgIExPR0lDQUxf Y2ZDKE0sSSxBLEIsQykgIEE9QzJGTE9HSUNBTCggQSk7CiNkZWZpbmUgUExPR0lDQUxf Y2ZDKE0sSSxBLEIsQykgKkE9QzJGTE9HSUNBTCgqQSk7CiNpZmRlZiB2bXNGb3J0cmFu CiNkZWZpbmUgICBTVFJJTkdfY2ZDKE0sSSxBLEIsQykgKEIuY2xlbj1zdHJsZW4oQSks Qi5mLmRzYyRhX3BvaW50ZXI9QSwgICAgICAgICBcCiAgICAgICAgQz09c2l6ZW9mKGNo YXIqKXx8Qz09KHVuc2lnbmVkKShCLmNsZW4rMSk/Qi5mLmRzYyR3X2xlbmd0aD1CLmNs ZW46ICAgICBcCiAgICAgICAgICAobWVtc2V0KChBKStCLmNsZW4sJyAnLEMtQi5jbGVu LTEpLEFbQi5mLmRzYyR3X2xlbmd0aD1DLTFdPSdcMCcpKTsKICAgICAgLyogUFNUUklO R19jZkMgdG8gYmV3YXJlIG9mIGFycmF5IEEgd2hpY2ggZG9lcyBub3QgY29udGFpbiBh bnkgXDAuICAgICAgKi8KI2RlZmluZSAgUFNUUklOR19jZkMoTSxJLEEsQixDKSAoQi5k c2MkYV9wb2ludGVyPUEsIEM9PXNpemVvZihjaGFyKikgPyAgICAgICAgIFwKICAgICAg ICAgICAgIEIuZHNjJHdfbGVuZ3RoPXN0cmxlbihBKTogIChBW0MtMV09J1wwJyxCLmRz YyR3X2xlbmd0aD1zdHJsZW4oQSksIFwKICAgICAgIG1lbXNldCgoQSkrQi5kc2Mkd19s ZW5ndGgsJyAnLEMtQi5kc2Mkd19sZW5ndGgtMSksIEIuZHNjJHdfbGVuZ3RoPUMtMSkp OwojZWxzZQojZGVmaW5lICAgU1RSSU5HX2NmQyhNLEksQSxCLEMpIChCLmNsZW49c3Ry bGVuKEEpLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAg ICAgQz09c2l6ZW9mKGNoYXIqKXx8Qz09KHVuc2lnbmVkKShCLmNsZW4rMSk/Qi5mbGVu PUIuY2xlbjogICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAobWVtc2V0KChB KStCLmNsZW4sJyAnLEMtQi5jbGVuLTEpLEFbQi5mbGVuPUMtMV09J1wwJykpOwojZGVm aW5lICBQU1RSSU5HX2NmQyhNLEksQSxCLEMpIChDPT1zaXplb2YoY2hhciopPyBCPXN0 cmxlbihBKTogICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgIChBW0Mt MV09J1wwJyxCPXN0cmxlbihBKSxtZW1zZXQoKEEpK0IsJyAnLEMtQi0xKSxCPUMtMSkp OwojZW5kaWYKICAgICAgICAgIC8qIEZvciBDUkFZRm9ydHJhbiBmb3IgKFApU1RSSU5H Vl9jZkMsIEIuZnMgaXMgc2V0LCBidXQgaXJyZWxldmFudC4gKi8KI2RlZmluZSAgU1RS SU5HVl9jZkMoTSxJLEEsQixDKSBcCiAgICAgICAgQUFUUklOR1ZfY2ZBKCAgICBBLEIs KEMvMHhGRkZGKSooQyUweEZGRkYpLEMvMHhGRkZGLEMlMHhGRkZGKQojZGVmaW5lIFBT VFJJTkdWX2NmQyhNLEksQSxCLEMpIFwKICAgICAgIEFQQVRSSU5HVl9jZkEoICAgIEEs QiwoQy8weEZGRkYpKihDJTB4RkZGRiksQy8weEZGRkYsQyUweEZGRkYpCiNkZWZpbmUg IFpUUklOR1ZfY2ZDKE0sSSxBLEIsQykgXAogICAgICAgIEFBVFJJTkdWX2NmQSggICAg QSxCLCAoXzMoTSxfRUxFTVNfLEkpKSooKF8zKE0sX0VMRU1MRU5fLEkpKSsxKSwgICAg ICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXzMoTSxfRUxFTVNfLEkp KSwgKF8zKE0sX0VMRU1MRU5fLEkpKSsxICAgKQojZGVmaW5lIFBaVFJJTkdWX2NmQyhN LEksQSxCLEMpIFwKICAgICAgIEFQQVRSSU5HVl9jZkEoICAgIEEsQiwgKF8zKE0sX0VM RU1TXyxJKSkqKChfMyhNLF9FTEVNTEVOXyxJKSkrMSksICAgICAgIFwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKF8zKE0sX0VMRU1TXyxJKSksIChfMyhNLF9FTEVN TEVOXyxJKSkrMSAgICkKCiNkZWZpbmUgICAgIEJZVEVfY2ZDQ0MoQSxCKSAmQQojZGVm aW5lICAgRE9VQkxFX2NmQ0NDKEEsQikgJkEKI2lmICFkZWZpbmVkKF9fQ0ZfX0tuUikK I2RlZmluZSAgICBGTE9BVF9jZkNDQyhBLEIpICZBCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAvKiBBbHRob3VnaCB0aGUgVkFYIGRvZXNuJ3QsIGF0IGxlYXN0IHRo ZSAgICAgICovCiNlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBIUCBhbmQg SyZSIG1pcHMgcHJvbW90ZSBmbG9hdCBhcmcuJ3Mgb2YgICAgICovCiNkZWZpbmUgICAg RkxPQVRfY2ZDQ0MoQSxCKSAmQiAvKiB1bnByb3RvdHlwZWQgZnVuY3Rpb25zIHRvIGRv dWJsZS4gQ2Fubm90ICAgICovCiNlbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAv KiB1c2UgQSBoZXJlIHRvIHBhc3MgdGhlIGFyZ3VtZW50IHRvIEZPUlRSQU4uICovCiNk ZWZpbmUgICAgICBJTlRfY2ZDQ0MoQSxCKSAmQQojZGVmaW5lICBMT0dJQ0FMX2NmQ0ND KEEsQikgJkEKI2RlZmluZSAgICAgTE9OR19jZkNDQyhBLEIpICZBCiNkZWZpbmUgICAg U0hPUlRfY2ZDQ0MoQSxCKSAmQQojZGVmaW5lICAgIFBCWVRFX2NmQ0NDKEEsQikgIEEK I2RlZmluZSAgUERPVUJMRV9jZkNDQyhBLEIpICBBCiNkZWZpbmUgICBQRkxPQVRfY2ZD Q0MoQSxCKSAgQQojZGVmaW5lICAgICBQSU5UX2NmQ0NDKEEsQikgIEEKI2RlZmluZSBQ TE9HSUNBTF9jZkNDQyhBLEIpICBCPUEgICAgICAgLyogQiB1c2VkIHRvIGtlZXAgYSBj b21tb24gVyB0YWJsZS4gKi8KI2RlZmluZSAgICBQTE9OR19jZkNDQyhBLEIpICBBCiNk ZWZpbmUgICBQU0hPUlRfY2ZDQ0MoQSxCKSAgQQoKI2RlZmluZSBDQ0NGKFROLEksTSkg ICAgICAgICAgIF9TRVBfKFROLE0sY2ZDT01NQSkgX0ljZigzLENDLFROLF8oQSxJKSxf KEIsSSkpCiNkZWZpbmUgICAgICAgIElOVF9jZkNDKFQsQSxCKSBfKFQsX2NmQ0NDKShB LEIpIAojZGVmaW5lICAgICAgIElOVFZfY2ZDQyhULEEsQikgIEEKI2RlZmluZSAgICAg IElOVFZWX2NmQ0MoVCxBLEIpICBBCiNkZWZpbmUgICAgIElOVFZWVl9jZkNDKFQsQSxC KSAgQQojZGVmaW5lICAgIElOVFZWVlZfY2ZDQyhULEEsQikgIEEKI2RlZmluZSAgIElO VFZWVlZWX2NmQ0MoVCxBLEIpICBBCiNkZWZpbmUgIElOVFZWVlZWVl9jZkNDKFQsQSxC KSAgQQojZGVmaW5lIElOVFZWVlZWVlZfY2ZDQyhULEEsQikgIEEKI2RlZmluZSAgICAg ICBQSU5UX2NmQ0MoVCxBLEIpIF8oVCxfY2ZDQ0MpKEEsQikgCiNkZWZpbmUgICAgICBQ Vk9JRF9jZkNDKFQsQSxCKSAgQQojaWYgZGVmaW5lZChhcG9sbG9Gb3J0cmFuKSB8fCBk ZWZpbmVkKGhwdXhGb3J0cmFuODAwKSB8fCBkZWZpbmVkKEFic29mdFVOSVhGb3J0cmFu KQojZGVmaW5lICAgIFJPVVRJTkVfY2ZDQyhULEEsQikgJkEKI2Vsc2UKI2RlZmluZSAg ICBST1VUSU5FX2NmQ0MoVCxBLEIpICBBCiNlbmRpZgojZGVmaW5lICAgICBTSU1QTEVf Y2ZDQyhULEEsQikgIEEKI2lmZGVmIHZtc0ZvcnRyYW4KI2RlZmluZSAgICAgU1RSSU5H X2NmQ0MoVCxBLEIpICZCLmYKI2RlZmluZSAgICBTVFJJTkdWX2NmQ0MoVCxBLEIpICZC CiNkZWZpbmUgICAgUFNUUklOR19jZkNDKFQsQSxCKSAmQgojZGVmaW5lICAgUFNUUklO R1ZfY2ZDQyhULEEsQikgJkIKI2Vsc2UKI2lmZGVmIENSQVlGb3J0cmFuCiNkZWZpbmUg ICAgIFNUUklOR19jZkNDKFQsQSxCKSBfY3B0b2ZjZChBLEIuZmxlbikKI2RlZmluZSAg ICBTVFJJTkdWX2NmQ0MoVCxBLEIpIF9jcHRvZmNkKEIucyxCLmZsZW4pCiNkZWZpbmUg ICAgUFNUUklOR19jZkNDKFQsQSxCKSBfY3B0b2ZjZChBLEIpCiNkZWZpbmUgICBQU1RS SU5HVl9jZkNDKFQsQSxCKSBfY3B0b2ZjZChBLEIuZmxlbikKI2Vsc2UKI2RlZmluZSAg ICAgU1RSSU5HX2NmQ0MoVCxBLEIpICBBCiNkZWZpbmUgICAgU1RSSU5HVl9jZkNDKFQs QSxCKSAgQi5mcwojZGVmaW5lICAgIFBTVFJJTkdfY2ZDQyhULEEsQikgIEEKI2RlZmlu ZSAgIFBTVFJJTkdWX2NmQ0MoVCxBLEIpICBCLmZzCiNlbmRpZgojZW5kaWYKI2RlZmlu ZSAgICBaVFJJTkdWX2NmQ0MoVCxBLEIpICAgU1RSSU5HVl9jZkNDKFQsQSxCKQojZGVm aW5lICAgUFpUUklOR1ZfY2ZDQyhULEEsQikgIFBTVFJJTkdWX2NmQ0MoVCxBLEIpCgoj ZGVmaW5lICAgIEJZVEVfY2ZYICByZXR1cm4gQTA7CiNkZWZpbmUgIERPVUJMRV9jZlgg IHJldHVybiBBMDsKI2lmICEgKGRlZmluZWQoRkxPQVRGVU5DVElPTlRZUEUpJiZkZWZp bmVkKEFTU0lHTkZMT0FUKSYmZGVmaW5lZChSRVRVUk5GTE9BVCkpCiNkZWZpbmUgICBG TE9BVF9jZlggIHJldHVybiBBMDsKI2Vsc2UKI2RlZmluZSAgIEZMT0FUX2NmWCAgQVNT SUdORkxPQVQoQUEwLEEwKTsgcmV0dXJuIEFBMDsKI2VuZGlmCiNkZWZpbmUgICAgIElO VF9jZlggIHJldHVybiBBMDsKI2RlZmluZSBMT0dJQ0FMX2NmWCAgcmV0dXJuIEYyQ0xP R0lDQUwoQTApOwojZGVmaW5lICAgIExPTkdfY2ZYICByZXR1cm4gQTA7CiNkZWZpbmUg ICBTSE9SVF9jZlggIHJldHVybiBBMDsKI2RlZmluZSAgICBWT0lEX2NmWCAgcmV0dXJu ICAgOwojaWYgZGVmaW5lZCh2bXNGb3J0cmFuKSB8fCBkZWZpbmVkKENSQVlGb3J0cmFu KQojZGVmaW5lICBTVFJJTkdfY2ZYICByZXR1cm4ga2lsbF90cmFpbGluZyggICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGtpbGxfdHJhaWxpbmcoQUEwLENGT1JUUkFOX05PTl9D SEFSKSwnICcpOwojZWxzZQojZGVmaW5lICBTVFJJTkdfY2ZYICByZXR1cm4ga2lsbF90 cmFpbGluZyggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbGxfdHJhaWxpbmcoIEEw LENGT1JUUkFOX05PTl9DSEFSKSwnICcpOwojZW5kaWYKCiNkZWZpbmUgQ0ZGVU4oTkFN RSkgXyhfX2NmX18sTkFNRSkKCi8qIE5vdGUgdGhhdCB3ZSBkb24ndCB1c2UgTE4gaGVy ZSwgYnV0IHdlIGtlZXAgaXQgZm9yIGNvbnNpc3RlbmN5LiAqLwojZGVmaW5lIENDQUxM U0ZGVU4wKFVOLExOKSBDRkZVTihVTikoKQoKI2lmZGVmIE9MRF9WQVhDICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEFsbG93ICVDQy1JLVBBUkFNTk9UVVNF RC4gKi8KI3ByYWdtYSBzdGFuZGFyZAojZW5kaWYKCiNkZWZpbmUgQ0NBTExTRkZVTjEo IFVOLExOLFQxLCAgICAgICAgICAgICAgICAgICAgICAgIEExKSAgICAgICAgIFwKICAg ICAgICBDQ0FMTFNGRlVONSAoVU4sTE4sVDEsQ0ZfMCxDRl8wLENGXzAsQ0ZfMCxBMSww LDAsMCwwKQojZGVmaW5lIENDQUxMU0ZGVU4yKCBVTixMTixUMSxUMiwgICAgICAgICAg ICAgICAgICAgICBBMSxBMikgICAgICBcCiAgICAgICAgQ0NBTExTRkZVTjUgKFVOLExO LFQxLFQyLENGXzAsQ0ZfMCxDRl8wLEExLEEyLDAsMCwwKQojZGVmaW5lIENDQUxMU0ZG VU4zKCBVTixMTixUMSxUMixUMywgICAgICAgICAgICAgICAgICBBMSxBMixBMykgICBc CiAgICAgICAgQ0NBTExTRkZVTjUgKFVOLExOLFQxLFQyLFQzLENGXzAsQ0ZfMCxBMSxB MixBMywwLDApCiNkZWZpbmUgQ0NBTExTRkZVTjQoIFVOLExOLFQxLFQyLFQzLFQ0LCAg ICAgICAgICAgICAgIEExLEEyLEEzLEE0KVwKICAgICAgICBDQ0FMTFNGRlVONSAoVU4s TE4sVDEsVDIsVDMsVDQsQ0ZfMCxBMSxBMixBMyxBNCwwKQojZGVmaW5lIENDQUxMU0ZG VU41KCBVTixMTixUMSxUMixUMyxUNCxUNSwgICAgICAgICAgICBBMSxBMixBMyxBNCxB NSkgICAgICAgICAgXAogICAgICAgIENDQUxMU0ZGVU4xMChVTixMTixUMSxUMixUMyxU NCxUNSxDRl8wLENGXzAsQ0ZfMCxDRl8wLENGXzAsQTEsQTIsQTMsQTQsQTUsMCwwLDAs MCwwKQojZGVmaW5lIENDQUxMU0ZGVU42KCBVTixMTixUMSxUMixUMyxUNCxUNSxUNiwg ICAgICAgICBBMSxBMixBMyxBNCxBNSxBNikgICAgICAgXAogICAgICAgIENDQUxMU0ZG VU4xMChVTixMTixUMSxUMixUMyxUNCxUNSxUNixDRl8wLENGXzAsQ0ZfMCxDRl8wLEEx LEEyLEEzLEE0LEE1LEE2LDAsMCwwLDApCiNkZWZpbmUgQ0NBTExTRkZVTjcoIFVOLExO LFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LCAgICAgIEExLEEyLEEzLEE0LEE1LEE2LEE3KSAg ICBcCiAgICAgICAgQ0NBTExTRkZVTjEwKFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3 LENGXzAsQ0ZfMCxDRl8wLEExLEEyLEEzLEE0LEE1LEE2LEE3LDAsMCwwKQojZGVmaW5l IENDQUxMU0ZGVU44KCBVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCwgICBBMSxB MixBMyxBNCxBNSxBNixBNyxBOCkgXAogICAgICAgIENDQUxMU0ZGVU4xMChVTixMTixU MSxUMixUMyxUNCxUNSxUNixUNyxUOCxDRl8wLENGXzAsQTEsQTIsQTMsQTQsQTUsQTYs QTcsQTgsMCwwKQojZGVmaW5lIENDQUxMU0ZGVU45KCBVTixMTixUMSxUMixUMyxUNCxU NSxUNixUNyxUOCxUOSxBMSxBMixBMyxBNCxBNSxBNixBNyxBOCxBOSlcCiAgICAgICAg Q0NBTExTRkZVTjEwKFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LENGXzAs QTEsQTIsQTMsQTQsQTUsQTYsQTcsQTgsQTksMCkKI2RlZmluZSBDQ0FMTFNGRlVOMTAo VU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsQTEsQTIsQTMsQTQsQTUs QTYsQTcsQTgsQTksQUEpXAogICAgICAgIENDQUxMU0ZGVU4xNChVTixMTixUMSxUMixU MyxUNCxUNSxUNixUNyxUOCxUOSxUQSxDRl8wLENGXzAsQ0ZfMCxDRl8wLEExLEEyLEEz LEE0LEE1LEE2LEE3LEE4LEE5LEFBLDAsMCwwLDApCiNkZWZpbmUgQ0NBTExTRkZVTjEx KFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLEExLEEyLEEzLEE0 LEE1LEE2LEE3LEE4LEE5LEFBLEFCKVwKICAgICAgICBDQ0FMTFNGRlVOMTQoVU4sTE4s VDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsQ0ZfMCxDRl8wLENGXzAsQTEs QTIsQTMsQTQsQTUsQTYsQTcsQTgsQTksQUEsQUIsMCwwLDApCiNkZWZpbmUgQ0NBTExT RkZVTjEyKFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLEEx LEEyLEEzLEE0LEE1LEE2LEE3LEE4LEE5LEFBLEFCLEFDKVwKICAgICAgICBDQ0FMTFNG RlVOMTQoVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsQ0Zf MCxDRl8wLEExLEEyLEEzLEE0LEE1LEE2LEE3LEE4LEE5LEFBLEFCLEFDLDAsMCkKI2Rl ZmluZSBDQ0FMTFNGRlVOMTMoVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDks VEEsVEIsVEMsVEQsQTEsQTIsQTMsQTQsQTUsQTYsQTcsQTgsQTksQUEsQUIsQUMsQUQp XAogICAgICAgIENDQUxMU0ZGVU4xNChVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxU OCxUOSxUQSxUQixUQyxURCxDRl8wLEExLEEyLEEzLEE0LEE1LEE2LEE3LEE4LEE5LEFB LEFCLEFDLEFELDApCgojZGVmaW5lIENDQUxMU0ZGVU4xNChVTixMTixUMSxUMixUMyxU NCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxBMSxBMixBMyxBNCxBNSxBNixB NyxBOCxBOSxBQSxBQixBQyxBRCxBRSlcCigoQ0ZGVU4oVU4pKCAgQkNGKFQxLEExLDAp IEJDRihUMixBMiwxKSBCQ0YoVDMsQTMsMSkgQkNGKFQ0LEE0LDEpIEJDRihUNSxBNSwx KSBcCiAgICAgICAgICAgICAgQkNGKFQ2LEE2LDEpIEJDRihUNyxBNywxKSBCQ0YoVDgs QTgsMSkgQkNGKFQ5LEE5LDEpIEJDRihUQSxBQSwxKSBcCiAgICAgICAgICAgICAgQkNG KFRCLEFCLDEpIEJDRihUQyxBQywxKSBCQ0YoVEQsQUQsMSkgQkNGKFRFLEFFLDEpICAg ICAgICAgICAgICBcCiAgICAgICAgICAgU0NGKFQxLExOLDEsQTEpICBTQ0YoVDIsTE4s MixBMikgIFNDRihUMyxMTiwzLEEzKSAgU0NGKFQ0LExOLDQsQTQpICBcCiAgICAgICAg ICAgU0NGKFQ1LExOLDUsQTUpICBTQ0YoVDYsTE4sNixBNikgIFNDRihUNyxMTiw3LEE3 KSAgU0NGKFQ4LExOLDgsQTgpICBcCiAgICAgICAgICAgU0NGKFQ5LExOLDksQTkpICBT Q0YoVEEsTE4sMTAsQUEpIFNDRihUQixMTiwxMSxBQikgU0NGKFRDLExOLDEyLEFDKSBc CiAgICAgICAgICAgU0NGKFRELExOLDEzLEFEKSBTQ0YoVEUsTE4sMTQsQUUpKSkpCgov KiAgTi5CLiBDcmVhdGUgYSBzZXBhcmF0ZSBmdW5jdGlvbiBpbnN0ZWFkIG9mIHVzaW5n IChjYWxsIGZ1bmN0aW9uLCBmdW5jdGlvbgp2YWx1ZSBoZXJlKSBiZWNhdXNlIGluIG9y ZGVyIHRvIGNyZWF0ZSB0aGUgdmFyaWFibGVzIG5lZWRlZCBmb3IgdGhlIGlucHV0CmFy Zy4ncyB3aGljaCBtYXkgYmUgY29uc3QuJ3Mgb25lIGhhcyB0byBkbyB0aGUgY3JlYXRp b24gd2l0aGluIHt9LCBidXQgdGhlc2UKY2FuIG5ldmVyIGJlIHBsYWNlZCB3aXRoaW4g KCkncy4gVGhlcmVmb3JlIG9uZSBtdXN0IGNyZWF0ZSB3cmFwcGVyIGZ1bmN0aW9ucy4K Z2NjLCBvbiB0aGUgb3RoZXIgaGFuZCBtYXkgYmUgYWJsZSB0byBhdm9pZCB0aGUgd3Jh cHBlciBmdW5jdGlvbnMuICovCgovKiBQcm90b3R5cGVzIGFyZSBuZWVkZWQgdG8gY29y cmVjdGx5IGhhbmRsZSB0aGUgdmFsdWUgcmV0dXJuZWQgY29ycmVjdGx5LiBOLkIuCkNh biBvbmx5IGhhdmUgcHJvdG90eXBlIGFyZy4ncyB3aXRoIGRpZmZpY3VsdHksIGEgbGEg Ry4uLiB0YWJsZSBzaW5jZSBGT1JUUkFOCmZ1bmN0aW9ucyByZXR1cm5pbmcgc3RyaW5n cyBoYXZlIGV4dHJhIGFyZy4ncy4gRG9uJ3QgYm90aGVyLCBzaW5jZSB0aGlzIG9ubHkK Y2F1c2VzIGEgY29tcGlsZXIgd2FybmluZyB0byBjb21lIHVwIHdoZW4gb25lIHVzZXMg RkNBTExTQ0ZVTm4gYW5kIENDQUxMU0ZGVU5uCmZvciB0aGUgc2FtZSBmdW5jdGlvbiBp biB0aGUgc2FtZSBzb3VyY2UgY29kZS4gU29tZXRoaW5nIGRvbmUgYnkgdGhlIGV4cGVy dHMgaW4KZGVidWdnaW5nIG9ubHkuKi8gICAgCgojZGVmaW5lIFBST1RPQ0NBTExTRkZV TjAoRixVTixMTikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXApfKEYsX2NmUFUpKCBDRkNfKFVOLExOKSkoQ0ZfTlVMTF9QUk9UTyk7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApzdGF0aWMgX0ljZigy LFUsRixDRkZVTihVTiksMCkoKSB7XyhGLF9jZkUpIF9JY2YoMyxHWixGLFVOLExOKSBB QlNPRlRfY2YxKEYpKTtfKEYsX2NmWCl9CgojZGVmaW5lIFBST1RPQ0NBTExTRkZVTjEo IFQwLFVOLExOLFQxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAogICAgICAgIFBST1RPQ0NBTExTRkZVTjUgKFQwLFVOLExOLFQxLENGXzAsQ0Zf MCxDRl8wLENGXzApCiNkZWZpbmUgUFJPVE9DQ0FMTFNGRlVOMiggVDAsVU4sTE4sVDEs VDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAg UFJPVE9DQ0FMTFNGRlVONSAoVDAsVU4sTE4sVDEsVDIsQ0ZfMCxDRl8wLENGXzApCiNk ZWZpbmUgUFJPVE9DQ0FMTFNGRlVOMyggVDAsVU4sTE4sVDEsVDIsVDMpICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgUFJPVE9DQ0FMTFNGRlVO NSAoVDAsVU4sTE4sVDEsVDIsVDMsQ0ZfMCxDRl8wKQojZGVmaW5lIFBST1RPQ0NBTExT RkZVTjQoIFQwLFVOLExOLFQxLFQyLFQzLFQ0KSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAogICAgICAgIFBST1RPQ0NBTExTRkZVTjUgKFQwLFVOLExOLFQxLFQy LFQzLFQ0LENGXzApCiNkZWZpbmUgUFJPVE9DQ0FMTFNGRlVONSggVDAsVU4sTE4sVDEs VDIsVDMsVDQsVDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAg UFJPVE9DQ0FMTFNGRlVOMTAoVDAsVU4sTE4sVDEsVDIsVDMsVDQsVDUsQ0ZfMCxDRl8w LENGXzAsQ0ZfMCxDRl8wKQojZGVmaW5lIFBST1RPQ0NBTExTRkZVTjYoIFQwLFVOLExO LFQxLFQyLFQzLFQ0LFQ1LFQ2KSAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg ICAgIFBST1RPQ0NBTExTRkZVTjEwKFQwLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LENG XzAsQ0ZfMCxDRl8wLENGXzApCiNkZWZpbmUgUFJPVE9DQ0FMTFNGRlVONyggVDAsVU4s TE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcpICAgICAgICAgICAgICAgICAgICAgICBcCiAg ICAgICAgUFJPVE9DQ0FMTFNGRlVOMTAoVDAsVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYs VDcsQ0ZfMCxDRl8wLENGXzApCiNkZWZpbmUgUFJPVE9DQ0FMTFNGRlVOOCggVDAsVU4s TE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgpICAgICAgICAgICAgICAgICAgICBcCiAg ICAgICAgUFJPVE9DQ0FMTFNGRlVOMTAoVDAsVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYs VDcsVDgsQ0ZfMCxDRl8wKQojZGVmaW5lIFBST1RPQ0NBTExTRkZVTjkoIFQwLFVOLExO LFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5KSAgICAgICAgICAgICAgICAgXAogICAg ICAgIFBST1RPQ0NBTExTRkZVTjEwKFQwLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3 LFQ4LFQ5LENGXzApCiNkZWZpbmUgUFJPVE9DQ0FMTFNGRlVOMTAoVDAsVU4sTE4sVDEs VDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEpICAgICAgICAgICAgICBcCiAgICAgICAg UFJPVE9DQ0FMTFNGRlVOMTQoVDAsVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgs VDksVEEsQ0ZfMCxDRl8wLENGXzAsQ0ZfMCkKI2RlZmluZSBQUk9UT0NDQUxMU0ZGVU4x MShUMCxVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQikgICAgICAg ICAgIFwKICAgICAgICBQUk9UT0NDQUxMU0ZGVU4xNChUMCxVTixMTixUMSxUMixUMyxU NCxUNSxUNixUNyxUOCxUOSxUQSxUQixDRl8wLENGXzAsQ0ZfMCkKI2RlZmluZSBQUk9U T0NDQUxMU0ZGVU4xMihUMCxVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxU QSxUQixUQykgICAgICAgIFwKICAgICAgICBQUk9UT0NDQUxMU0ZGVU4xNChUMCxVTixM TixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxDRl8wLENGXzApCiNk ZWZpbmUgUFJPVE9DQ0FMTFNGRlVOMTMoVDAsVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYs VDcsVDgsVDksVEEsVEIsVEMsVEQpICAgICBcCiAgICAgICAgUFJPVE9DQ0FMTFNGRlVO MTQoVDAsVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQs Q0ZfMCkKCi8qIEhQL1VYIDkuMDEgY2MgcmVxdWlyZXMgdGhlIGJsYW5rIGJldHdlZW4g J19JY2YoMyxHLFQwLFVOLExOKSBDQ0NGKFQxLDEsMCknICovCgojaWZuZGVmIF9fQ0Zf X0tuUgojZGVmaW5lIFBST1RPQ0NBTExTRkZVTjE0KFQwLFVOLExOLFQxLFQyLFQzLFQ0 LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFKSAgXAogXyhUMCxfY2ZQVSkoQ0ZD XyhVTixMTikpKENGX05VTExfUFJPVE8pOyBzdGF0aWMgX0ljZigyLFUsVDAsQ0ZGVU4o VU4pLDApKCAgICAgXAogICBDRkFSR1QxNEZTKFVDRixIQ0YsX1osVDEsVDIsVDMsVDQs VDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUpICkgICAgICAgICAgXAp7ICAgICAg IENGQVJHVDE0UyhWQ0YsVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMs VEQsVEUpICAgIF8oVDAsX2NmRSkgXAogQ0NGKExOLFQxLDEpICBDQ0YoTE4sVDIsMikg IENDRihMTixUMywzKSAgQ0NGKExOLFQ0LDQpICBDQ0YoTE4sVDUsNSkgICAgICAgICAg XAogQ0NGKExOLFQ2LDYpICBDQ0YoTE4sVDcsNykgIENDRihMTixUOCw4KSAgQ0NGKExO LFQ5LDkpICBDQ0YoTE4sVEEsMTApICAgICAgICAgXAogQ0NGKExOLFRCLDExKSBDQ0Yo TE4sVEMsMTIpIENDRihMTixURCwxMykgQ0NGKExOLFRFLDE0KSAgICBfSWNmKDMsRyxU MCxVTixMTikgXAogQ0ZBUkdUMTQoQ0NDRixKQ0YsQUJTT0ZUX2NmMShUMCksVDEsVDIs VDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUpKTsgXAogV0NGKFQxLEEx LDEpICAgV0NGKFQyLEEyLDIpICAgV0NGKFQzLEEzLDMpICAgV0NGKFQ0LEE0LDQpICBX Q0YoVDUsQTUsNSkgICAgICAgXAogV0NGKFQ2LEE2LDYpICAgV0NGKFQ3LEE3LDcpICAg V0NGKFQ4LEE4LDgpICAgV0NGKFQ5LEE5LDkpICBXQ0YoVEEsQTEwLDEwKSAgICAgXAog V0NGKFRCLEExMSwxMSkgV0NGKFRDLEExMiwxMikgV0NGKFRELEExMywxMykgV0NGKFRF LEExNCwxNCkgXyhUMCxfY2ZYKX0KI2Vsc2UKI2RlZmluZSBQUk9UT0NDQUxMU0ZGVU4x NChUMCxVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxU RSkgIFwKIF8oVDAsX2NmUFUpKENGQ18oVU4sTE4pKShDRl9OVUxMX1BST1RPKTsgc3Rh dGljIF9JY2YoMixVLFQwLENGRlVOKFVOKSwwKSggICAgIFwKICAgQ0ZBUkdUMTRGUyhV VUNGLEhIQ0YsX1osVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQs VEUpICkgICAgICAgIFwKIENGQVJHVDE0RlMoVVVVQ0YsSEhIQ0YsX1osVDEsVDIsVDMs VDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUpIDsgICAgICAgIFwKeyAgICAg ICBDRkFSR1QxNFMoVkNGLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRD LFRELFRFKSAgICBfKFQwLF9jZkUpIFwKIENDRihMTixUMSwxKSAgQ0NGKExOLFQyLDIp ICBDQ0YoTE4sVDMsMykgIENDRihMTixUNCw0KSAgQ0NGKExOLFQ1LDUpICAgICAgICAg IFwKIENDRihMTixUNiw2KSAgQ0NGKExOLFQ3LDcpICBDQ0YoTE4sVDgsOCkgIENDRihM TixUOSw5KSAgQ0NGKExOLFRBLDEwKSAgICAgICAgIFwKIENDRihMTixUQiwxMSkgQ0NG KExOLFRDLDEyKSBDQ0YoTE4sVEQsMTMpIENDRihMTixURSwxNCkgICAgX0ljZigzLEcs VDAsVU4sTE4pIFwKIENGQVJHVDE0KENDQ0YsSkNGLEFCU09GVF9jZjEoVDApLFQxLFQy LFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFKSk7IFwKIFdDRihUMSxB MSwxKSAgIFdDRihUMixBMiwyKSAgIFdDRihUMyxBMywzKSAgIFdDRihUNCxBNCw0KSAg IFdDRihUNSxBNSw1KSAgICAgIFwKIFdDRihUNixBNiw2KSAgIFdDRihUNyxBNyw3KSAg IFdDRihUOCxBOCw4KSAgIFdDRihUOSxBOSw5KSAgIFdDRihUQSxBMTAsMTApICAgIFwK IFdDRihUQixBMTEsMTEpIFdDRihUQyxBMTIsMTIpIFdDRihURCxBMTMsMTMpIFdDRihU RSxBMTQsMTQpIF8oVDAsX2NmWCl9CiNlbmRpZgoKLyotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKi8KCi8qICAgICAgICAgICAgICAgVVRJTElUSUVTIEZPUiBGT1JUUkFOIFRPIENB TEwgQyBST1VUSU5FUyAgICAgICAgICAgICAgICAgICovCgojaWZkZWYgT0xEX1ZBWEMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFByZXZlbnQgJUNDLUktUEFS QU1OT1RVU0VELiAqLwojcHJhZ21hIG5vc3RhbmRhcmQKI2VuZGlmCgojaWYgZGVmaW5l ZCh2bXNGb3J0cmFuKSB8fCBkZWZpbmVkKENSQVlGb3J0cmFuKQojZGVmaW5lICAgRENG KFROLEkpCiNkZWZpbmUgIEREQ0YoVE4sSSkKI2RlZmluZSBERERDRihUTixJKQojZWxz ZQojZGVmaW5lICAgRENGKFROLEkpICAgICAgICAgIEhDRihUTixJKQojZGVmaW5lICBE RENGKFROLEkpICAgICAgICAgSEhDRihUTixJKQojZGVmaW5lIERERENGKFROLEkpICAg ICAgICBISEhDRihUTixJKQojZW5kaWYKCiNkZWZpbmUgUUNGKFROLEkpICAgICAgIF8o VE4sX2NmU1RSKSgxLFEsXyhCLEkpLCAwLDAsMCwwKQojZGVmaW5lICBERUZBVUxUX2Nm UShCKQojZGVmaW5lICBMT0dJQ0FMX2NmUShCKQojZGVmaW5lIFBMT0dJQ0FMX2NmUShC KQojZGVmaW5lICBTVFJJTkdWX2NmUShCKSBjaGFyICpCOyB1bnNpZ25lZCBpbnQgXyhC LE4pOwojZGVmaW5lICAgU1RSSU5HX2NmUShCKSBjaGFyICpCPU5VTEw7CiNkZWZpbmUg IFBTVFJJTkdfY2ZRKEIpIGNoYXIgKkI9TlVMTDsKI2RlZmluZSBQU1RSSU5HVl9jZlEo QikgU1RSSU5HVl9jZlEoQikKI2RlZmluZSBQTlNUUklOR19jZlEoQikgY2hhciAqQj1O VUxMOwojZGVmaW5lIFBQU1RSSU5HX2NmUShCKQoKI2lmZGVmICAgICBfX3NnaSAgIC8q IEVsc2UgU0dJIGdpdmVzIHdhcm5pbmcgMTgyIGNvbnRyYXJ5IHRvIGl0cyBDIExSTSBB LjE3LjcgKi8KI2RlZmluZSBST1VUSU5FX29yaWcgICAgKih2b2lkKiopJiAKI2Vsc2UK I2RlZmluZSBST1VUSU5FX29yaWcgICAgICh2b2lkICopICAKI2VuZGlmCgojZGVmaW5l IFJPVVRJTkVfMSAgICAgUk9VVElORV9vcmlnICAgCiNkZWZpbmUgUk9VVElORV8yICAg ICBST1VUSU5FX29yaWcgICAKI2RlZmluZSBST1VUSU5FXzMgICAgIFJPVVRJTkVfb3Jp ZyAgIAojZGVmaW5lIFJPVVRJTkVfNCAgICAgUk9VVElORV9vcmlnICAgCiNkZWZpbmUg Uk9VVElORV81ICAgICBST1VUSU5FX29yaWcgICAKI2RlZmluZSBST1VUSU5FXzYgICAg IFJPVVRJTkVfb3JpZyAgIAojZGVmaW5lIFJPVVRJTkVfNyAgICAgUk9VVElORV9vcmln ICAgCiNkZWZpbmUgUk9VVElORV84ICAgICBST1VUSU5FX29yaWcgICAKI2RlZmluZSBS T1VUSU5FXzkgICAgIFJPVVRJTkVfb3JpZyAgIAojZGVmaW5lIFJPVVRJTkVfMTAgICAg Uk9VVElORV9vcmlnICAgCiNkZWZpbmUgUk9VVElORV8xMSAgICBST1VUSU5FX29yaWcg ICAKI2RlZmluZSBST1VUSU5FXzEyICAgIFJPVVRJTkVfb3JpZyAgIAojZGVmaW5lIFJP VVRJTkVfMTMgICAgUk9VVElORV9vcmlnICAgCiNkZWZpbmUgUk9VVElORV8xNCAgICBS T1VUSU5FX29yaWcgICAKI2RlZmluZSBST1VUSU5FXzE1ICAgIFJPVVRJTkVfb3JpZyAg IAojZGVmaW5lIFJPVVRJTkVfMTYgICAgUk9VVElORV9vcmlnICAgCiNkZWZpbmUgUk9V VElORV8xNyAgICBST1VUSU5FX29yaWcgICAKI2RlZmluZSBST1VUSU5FXzE4ICAgIFJP VVRJTkVfb3JpZyAgIAojZGVmaW5lIFJPVVRJTkVfMTkgICAgUk9VVElORV9vcmlnICAg CiNkZWZpbmUgUk9VVElORV8yMCAgICBST1VUSU5FX29yaWcgICAKI2RlZmluZSBST1VU SU5FXzIxICAgIFJPVVRJTkVfb3JpZyAgIAojZGVmaW5lIFJPVVRJTkVfMjIgICAgUk9V VElORV9vcmlnICAgCiNkZWZpbmUgUk9VVElORV8yMyAgICBST1VUSU5FX29yaWcgICAK I2RlZmluZSBST1VUSU5FXzI0ICAgIFJPVVRJTkVfb3JpZyAgIAojZGVmaW5lIFJPVVRJ TkVfMjUgICAgUk9VVElORV9vcmlnICAgCiNkZWZpbmUgUk9VVElORV8yNiAgICBST1VU SU5FX29yaWcgICAKI2RlZmluZSBST1VUSU5FXzI3ICAgIFJPVVRJTkVfb3JpZyAgIAoK I2RlZmluZSBUQ0YoTkFNRSxUTixJLE0pICAgICAgICAgICAgICBfU0VQXyhUTixNLGNm Q09NTUEpIF8oVE4sX2NmVCkoTkFNRSxJLF8oQSxJKSxfKEIsSSksXyhDLEkpKQojZGVm aW5lICAgICAgICAgICBCWVRFX2NmVChNLEksQSxCLEQpICpBCiNkZWZpbmUgICAgICAg ICBET1VCTEVfY2ZUKE0sSSxBLEIsRCkgKkEKI2RlZmluZSAgICAgICAgICBGTE9BVF9j ZlQoTSxJLEEsQixEKSAqQQojZGVmaW5lICAgICAgICAgICAgSU5UX2NmVChNLEksQSxC LEQpICpBCiNkZWZpbmUgICAgICAgIExPR0lDQUxfY2ZUKE0sSSxBLEIsRCkgIEYyQ0xP R0lDQUwoKkEpCiNkZWZpbmUgICAgICAgICAgIExPTkdfY2ZUKE0sSSxBLEIsRCkgKkEK I2RlZmluZSAgICAgICAgICBTSE9SVF9jZlQoTSxJLEEsQixEKSAqQQojZGVmaW5lICAg ICAgICAgIEJZVEVWX2NmVChNLEksQSxCLEQpICBBCiNkZWZpbmUgICAgICAgIERPVUJM RVZfY2ZUKE0sSSxBLEIsRCkgIEEKI2RlZmluZSAgICAgICAgIEZMT0FUVl9jZlQoTSxJ LEEsQixEKSAgVk9JRFAgQQojZGVmaW5lICAgICAgICAgICBJTlRWX2NmVChNLEksQSxC LEQpICBBCiNkZWZpbmUgICAgICAgTE9HSUNBTFZfY2ZUKE0sSSxBLEIsRCkgIEEKI2Rl ZmluZSAgICAgICAgICBMT05HVl9jZlQoTSxJLEEsQixEKSAgQQojZGVmaW5lICAgICAg ICAgU0hPUlRWX2NmVChNLEksQSxCLEQpICBBCiNkZWZpbmUgICAgICAgICBCWVRFVlZf Y2ZUKE0sSSxBLEIsRCkgICh2b2lkICopQSAvKiBXZSBoYXZlIHRvIGNhc3QgdG8gdm9p ZCAqLCovCiNkZWZpbmUgICAgICAgIEJZVEVWVlZfY2ZUKE0sSSxBLEIsRCkgICh2b2lk ICopQSAvKiBzaW5jZSB3ZSBkb24ndCBrbm93IHRoZSAgICovCiNkZWZpbmUgICAgICAg QllURVZWVlZfY2ZUKE0sSSxBLEIsRCkgICh2b2lkICopQSAvKiBkaW1lbnNpb25zIG9m IHRoZSBhcnJheS4gICovCiNkZWZpbmUgICAgICBCWVRFVlZWVlZfY2ZUKE0sSSxBLEIs RCkgICh2b2lkICopQSAvKiBpLmUuIFVuZm9ydHVuYXRlbHksIGNhbid0ICovCiNkZWZp bmUgICAgIEJZVEVWVlZWVlZfY2ZUKE0sSSxBLEIsRCkgICh2b2lkICopQSAvKiBjaGVj ayB0aGF0IHRoZSB0eXBlICAgICAgICovCiNkZWZpbmUgICAgQllURVZWVlZWVlZfY2ZU KE0sSSxBLEIsRCkgICh2b2lkICopQSAvKiBtYXRjaGVzIHRoZSBwcm90b3R5cGUuICAg ICovCiNkZWZpbmUgICAgICAgRE9VQkxFVlZfY2ZUKE0sSSxBLEIsRCkgICh2b2lkICop QQojZGVmaW5lICAgICAgRE9VQkxFVlZWX2NmVChNLEksQSxCLEQpICAodm9pZCAqKUEK I2RlZmluZSAgICAgRE9VQkxFVlZWVl9jZlQoTSxJLEEsQixEKSAgKHZvaWQgKilBCiNk ZWZpbmUgICAgRE9VQkxFVlZWVlZfY2ZUKE0sSSxBLEIsRCkgICh2b2lkICopQQojZGVm aW5lICAgRE9VQkxFVlZWVlZWX2NmVChNLEksQSxCLEQpICAodm9pZCAqKUEKI2RlZmlu ZSAgRE9VQkxFVlZWVlZWVl9jZlQoTSxJLEEsQixEKSAgKHZvaWQgKilBCiNkZWZpbmUg ICAgICAgIEZMT0FUVlZfY2ZUKE0sSSxBLEIsRCkgICh2b2lkICopQQojZGVmaW5lICAg ICAgIEZMT0FUVlZWX2NmVChNLEksQSxCLEQpICAodm9pZCAqKUEKI2RlZmluZSAgICAg IEZMT0FUVlZWVl9jZlQoTSxJLEEsQixEKSAgKHZvaWQgKilBCiNkZWZpbmUgICAgIEZM T0FUVlZWVlZfY2ZUKE0sSSxBLEIsRCkgICh2b2lkICopQQojZGVmaW5lICAgIEZMT0FU VlZWVlZWX2NmVChNLEksQSxCLEQpICAodm9pZCAqKUEKI2RlZmluZSAgIEZMT0FUVlZW VlZWVl9jZlQoTSxJLEEsQixEKSAgKHZvaWQgKilBCiNkZWZpbmUgICAgICAgICAgSU5U VlZfY2ZUKE0sSSxBLEIsRCkgICh2b2lkICopQSAgCiNkZWZpbmUgICAgICAgICBJTlRW VlZfY2ZUKE0sSSxBLEIsRCkgICh2b2lkICopQSAgCiNkZWZpbmUgICAgICAgIElOVFZW VlZfY2ZUKE0sSSxBLEIsRCkgICh2b2lkICopQSAgCiNkZWZpbmUgICAgICAgSU5UVlZW VlZfY2ZUKE0sSSxBLEIsRCkgICh2b2lkICopQQojZGVmaW5lICAgICAgSU5UVlZWVlZW X2NmVChNLEksQSxCLEQpICAodm9pZCAqKUEKI2RlZmluZSAgICAgSU5UVlZWVlZWVl9j ZlQoTSxJLEEsQixEKSAgKHZvaWQgKilBCiNkZWZpbmUgICAgICBMT0dJQ0FMVlZfY2ZU KE0sSSxBLEIsRCkgICh2b2lkICopQQojZGVmaW5lICAgICBMT0dJQ0FMVlZWX2NmVChN LEksQSxCLEQpICAodm9pZCAqKUEKI2RlZmluZSAgICBMT0dJQ0FMVlZWVl9jZlQoTSxJ LEEsQixEKSAgKHZvaWQgKilBCiNkZWZpbmUgICBMT0dJQ0FMVlZWVlZfY2ZUKE0sSSxB LEIsRCkgICh2b2lkICopQQojZGVmaW5lICBMT0dJQ0FMVlZWVlZWX2NmVChNLEksQSxC LEQpICAodm9pZCAqKUEKI2RlZmluZSBMT0dJQ0FMVlZWVlZWVl9jZlQoTSxJLEEsQixE KSAgKHZvaWQgKilBCiNkZWZpbmUgICAgICAgICBMT05HVlZfY2ZUKE0sSSxBLEIsRCkg ICh2b2lkICopQQojZGVmaW5lICAgICAgICBMT05HVlZWX2NmVChNLEksQSxCLEQpICAo dm9pZCAqKUEKI2RlZmluZSAgICAgICBMT05HVlZWVl9jZlQoTSxJLEEsQixEKSAgKHZv aWQgKilBCiNkZWZpbmUgICAgICBMT05HVlZWVlZfY2ZUKE0sSSxBLEIsRCkgICh2b2lk ICopQQojZGVmaW5lICAgICBMT05HVlZWVlZWX2NmVChNLEksQSxCLEQpICAodm9pZCAq KUEKI2RlZmluZSAgICBMT05HVlZWVlZWVl9jZlQoTSxJLEEsQixEKSAgKHZvaWQgKilB CiNkZWZpbmUgICAgICAgIFNIT1JUVlZfY2ZUKE0sSSxBLEIsRCkgICh2b2lkICopQQoj ZGVmaW5lICAgICAgIFNIT1JUVlZWX2NmVChNLEksQSxCLEQpICAodm9pZCAqKUEKI2Rl ZmluZSAgICAgIFNIT1JUVlZWVl9jZlQoTSxJLEEsQixEKSAgKHZvaWQgKilBCiNkZWZp bmUgICAgIFNIT1JUVlZWVlZfY2ZUKE0sSSxBLEIsRCkgICh2b2lkICopQQojZGVmaW5l ICAgIFNIT1JUVlZWVlZWX2NmVChNLEksQSxCLEQpICAodm9pZCAqKUEKI2RlZmluZSAg IFNIT1JUVlZWVlZWVl9jZlQoTSxJLEEsQixEKSAgKHZvaWQgKilBCiNkZWZpbmUgICAg ICAgICAgUEJZVEVfY2ZUKE0sSSxBLEIsRCkgIEEKI2RlZmluZSAgICAgICAgUERPVUJM RV9jZlQoTSxJLEEsQixEKSAgQQojZGVmaW5lICAgICAgICAgUEZMT0FUX2NmVChNLEks QSxCLEQpICBWT0lEUCBBCiNkZWZpbmUgICAgICAgICAgIFBJTlRfY2ZUKE0sSSxBLEIs RCkgIEEKI2RlZmluZSAgICAgICBQTE9HSUNBTF9jZlQoTSxJLEEsQixEKSAgKCgqQT1G MkNMT0dJQ0FMKCpBKSksQSkKI2RlZmluZSAgICAgICAgICBQTE9OR19jZlQoTSxJLEEs QixEKSAgQQojZGVmaW5lICAgICAgICAgUFNIT1JUX2NmVChNLEksQSxCLEQpICBBCiNk ZWZpbmUgICAgICAgICAgUFZPSURfY2ZUKE0sSSxBLEIsRCkgIEEKI2lmIGRlZmluZWQo YXBvbGxvRm9ydHJhbikgfHwgZGVmaW5lZChocHV4Rm9ydHJhbjgwMCkgfHwgZGVmaW5l ZChBYnNvZnRVTklYRm9ydHJhbikKI2RlZmluZSAgICAgICAgUk9VVElORV9jZlQoTSxJ LEEsQixEKSAgXyhST1VUSU5FXyxJKSAgKCpBKQojZWxzZQojZGVmaW5lICAgICAgICBS T1VUSU5FX2NmVChNLEksQSxCLEQpICBfKFJPVVRJTkVfLEkpICAgIEEKI2VuZGlmCi8q IEEgPT0gcG9pbnRlciB0byB0aGUgY2hhcmFjdGVycwogICBEID09IGxlbmd0aCBvZiB0 aGUgc3RyaW5nLCBvciBvZiBhbiBlbGVtZW50IGluIGFuIGFycmF5IG9mIHN0cmluZ3MK ICAgRSA9PSBudW1iZXIgb2YgZWxlbWVudHMgaW4gYW4gYXJyYXkgb2Ygc3RyaW5ncyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KI2RlZmluZSBUVFNUUiggICAgQSxC LEQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKICAgICAgICAgICAoKEI9X2NmX21hbGxvYyhEKzEpKVtEXT0nXDAnLCBt ZW1jcHkoQixBLEQpLCBraWxsX3RyYWlsaW5nKEIsJyAnKSkKI2RlZmluZSBUVFRUU1RS KCAgQSxCLEQpICAgKCEoRDw0fHxBWzBdfHxBWzFdfHxBWzJdfHxBWzNdKSk/TlVMTDog ICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbWNocihB LCdcMCcsRCkgICAgICAgICAgICAgICAgID9BICAgOiBUVFNUUihBLEIsRCkKI2RlZmlu ZSBUVFRUU1RSViggQSxCLEQsRSkgKF8oQixOKT1FLEI9X2NmX21hbGxvYyhfKEIsTikq KEQrMSkpLCAodm9pZCAqKSAgICAgIFwKICB2a2lsbF90cmFpbGluZyhmMmNzdHJ2KEEs QixEKzEsIF8oQixOKSooRCsxKSksIEQrMSxfKEIsTikqKEQrMSksJyAnKSkKI2lmZGVm IHZtc0ZvcnRyYW4KI2RlZmluZSAgICAgICAgIFNUUklOR19jZlQoTSxJLEEsQixEKSAg VFRUVFNUUiggQS0+ZHNjJGFfcG9pbnRlcixCLEEtPmRzYyR3X2xlbmd0aCkKI2RlZmlu ZSAgICAgICAgU1RSSU5HVl9jZlQoTSxJLEEsQixEKSAgVFRUVFNUUlYoQS0+ZHNjJGFf cG9pbnRlciwgQiwgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQS0+ZHNjJHdfbGVuZ3RoICwgQS0+ZHNjJGxfbVswXSkK I2RlZmluZSAgICAgICAgUFNUUklOR19jZlQoTSxJLEEsQixEKSAgICBUVFNUUiggQS0+ ZHNjJGFfcG9pbnRlcixCLEEtPmRzYyR3X2xlbmd0aCkKI2RlZmluZSAgICAgICBQUFNU UklOR19jZlQoTSxJLEEsQixEKSAgICAgICAgICAgQS0+ZHNjJGFfcG9pbnRlcgojZWxz ZQojaWZkZWYgQ1JBWUZvcnRyYW4KI2RlZmluZSAgICAgICAgIFNUUklOR19jZlQoTSxJ LEEsQixEKSAgVFRUVFNUUiggX2ZjZHRvY3AoQSksQixfZmNkbGVuKEEpKQojZGVmaW5l ICAgICAgICBTVFJJTkdWX2NmVChNLEksQSxCLEQpICBUVFRUU1RSVihfZmNkdG9jcChB KSxCLF9mY2RsZW4oQSksICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBudW1fZWxlbShfZmNkdG9jcChBKSxfZmNkbGVuKEEpLF8zKE0sX1NUUlZfQSxJKSkp CiNkZWZpbmUgICAgICAgIFBTVFJJTkdfY2ZUKE0sSSxBLEIsRCkgICAgVFRTVFIoIF9m Y2R0b2NwKEEpLEIsX2ZjZGxlbihBKSkKI2RlZmluZSAgICAgICBQUFNUUklOR19jZlQo TSxJLEEsQixEKSAgICAgICAgICAgX2ZjZHRvY3AoQSkKI2Vsc2UKI2RlZmluZSAgICAg ICAgIFNUUklOR19jZlQoTSxJLEEsQixEKSAgVFRUVFNUUiggQSxCLEQpCiNkZWZpbmUg ICAgICAgIFNUUklOR1ZfY2ZUKE0sSSxBLEIsRCkgIFRUVFRTVFJWKEEsQixELCBudW1f ZWxlbShBLEQsXzMoTSxfU1RSVl9BLEkpKSkKI2RlZmluZSAgICAgICAgUFNUUklOR19j ZlQoTSxJLEEsQixEKSAgICBUVFNUUiggQSxCLEQpCiNkZWZpbmUgICAgICAgUFBTVFJJ TkdfY2ZUKE0sSSxBLEIsRCkgICAgICAgICAgIEEKI2VuZGlmCiNlbmRpZgojZGVmaW5l ICAgICAgIFBOU1RSSU5HX2NmVChNLEksQSxCLEQpICAgIFNUUklOR19jZlQoTSxJLEEs QixEKQojZGVmaW5lICAgICAgIFBTVFJJTkdWX2NmVChNLEksQSxCLEQpICAgU1RSSU5H Vl9jZlQoTSxJLEEsQixEKQojZGVmaW5lICAgICAgICAgICBDRl8wX2NmVChNLEksQSxC LEQpCgojZGVmaW5lIFJDRihUTixJKSAgICAgICAgICAgXyhUTixfY2ZTVFIpKDMsUixf KEEsSSksXyhCLEkpLF8oQyxJKSwwLDApCiNkZWZpbmUgIERFRkFVTFRfY2ZSKEEsQixE KQojZGVmaW5lICBMT0dJQ0FMX2NmUihBLEIsRCkKI2RlZmluZSBQTE9HSUNBTF9jZlIo QSxCLEQpICpBPUMyRkxPR0lDQUwoKkEpOwojZGVmaW5lICAgU1RSSU5HX2NmUihBLEIs RCkgaWYgKEIpIF9jZl9mcmVlKEIpOwojZGVmaW5lICBTVFJJTkdWX2NmUihBLEIsRCkg X2NmX2ZyZWUoQik7Ci8qIEEgYW5kIEQgYXMgZGVmaW5lZCBhYm92ZSBmb3IgVFNUUklO RyhWKSAqLwojZGVmaW5lIFJSUlJQU1RSKCBBLEIsRCkgICAgaWYgKEIpIG1lbWNweShB LEIsIF9jZk1JTihzdHJsZW4oQiksRCkpLCAgICAgICAgICAgXAogICAgICAgICAgICAg ICAgICAoRD5zdHJsZW4oQik/bWVtc2V0KEErc3RybGVuKEIpLCcgJywgRC1zdHJsZW4o QikpOjApLCBfY2ZfZnJlZShCKTsKI2RlZmluZSBSUlJSUFNUUlYoQSxCLEQpICAgIGMy ZnN0cnYoQixBLEQrMSwoRCsxKSpfKEIsTikpLCBfY2ZfZnJlZShCKTsKI2lmZGVmIHZt c0ZvcnRyYW4KI2RlZmluZSAgUFNUUklOR19jZlIoQSxCLEQpIFJSUlJQU1RSKCBBLT5k c2MkYV9wb2ludGVyLEIsQS0+ZHNjJHdfbGVuZ3RoKQojZGVmaW5lIFBTVFJJTkdWX2Nm UihBLEIsRCkgUlJSUlBTVFJWKEEtPmRzYyRhX3BvaW50ZXIsQixBLT5kc2Mkd19sZW5n dGgpCiNlbHNlCiNpZmRlZiBDUkFZRm9ydHJhbgojZGVmaW5lICBQU1RSSU5HX2NmUihB LEIsRCkgUlJSUlBTVFIoIF9mY2R0b2NwKEEpLEIsX2ZjZGxlbihBKSkKI2RlZmluZSBQ U1RSSU5HVl9jZlIoQSxCLEQpIFJSUlJQU1RSVihfZmNkdG9jcChBKSxCLF9mY2RsZW4o QSkpCiNlbHNlCiNkZWZpbmUgIFBTVFJJTkdfY2ZSKEEsQixEKSBSUlJSUFNUUiggQSxC LEQpCiNkZWZpbmUgUFNUUklOR1ZfY2ZSKEEsQixEKSBSUlJSUFNUUlYoQSxCLEQpCiNl bmRpZgojZW5kaWYKI2RlZmluZSBQTlNUUklOR19jZlIoQSxCLEQpIFBTVFJJTkdfY2ZS KEEsQixEKQojZGVmaW5lIFBQU1RSSU5HX2NmUihBLEIsRCkKCiNkZWZpbmUgICAgQllU RV9jZkZaKFVOLExOKSBJTlRFR0VSX0JZVEUgICAgIEZDQUxMU0NfUVVBTElGSUVSIGZj YWxsc2MoVU4sTE4pKAojZGVmaW5lICBET1VCTEVfY2ZGWihVTixMTikgRE9VQkxFX1BS RUNJU0lPTiBGQ0FMTFNDX1FVQUxJRklFUiBmY2FsbHNjKFVOLExOKSgKI2RlZmluZSAg ICAgSU5UX2NmRlooVU4sTE4pIGludCAgIEZDQUxMU0NfUVVBTElGSUVSIGZjYWxsc2Mo VU4sTE4pKAojZGVmaW5lIExPR0lDQUxfY2ZGWihVTixMTikgaW50ICAgRkNBTExTQ19R VUFMSUZJRVIgZmNhbGxzYyhVTixMTikoCiNkZWZpbmUgICAgTE9OR19jZkZaKFVOLExO KSBsb25nICBGQ0FMTFNDX1FVQUxJRklFUiBmY2FsbHNjKFVOLExOKSgKI2RlZmluZSAg IFNIT1JUX2NmRlooVU4sTE4pIHNob3J0IEZDQUxMU0NfUVVBTElGSUVSIGZjYWxsc2Mo VU4sTE4pKAojZGVmaW5lICAgIFZPSURfY2ZGWihVTixMTikgdm9pZCAgRkNBTExTQ19R VUFMSUZJRVIgZmNhbGxzYyhVTixMTikoCiNpZm5kZWYgX19DRl9fS25SCi8qIFRoZSB2 b2lkIGlzIHJlcSdkIGJ5IHRoZSBBcG9sbG8sIHRvIG1ha2UgdGhpcyBhbiBBTlNJIGZ1 bmN0aW9uIGRlY2xhcmF0aW9uLgogICBUaGUgQXBvbGxvIHByb21vdGVzIEsmUiBmbG9h dCBmdW5jdGlvbnMgdG8gZG91YmxlLiAqLwojZGVmaW5lICAgRkxPQVRfY2ZGWihVTixM TikgRk9SVFJBTl9SRUFMIEZDQUxMU0NfUVVBTElGSUVSIGZjYWxsc2MoVU4sTE4pKHZv aWQKI2lmZGVmIHZtc0ZvcnRyYW4KI2RlZmluZSAgU1RSSU5HX2NmRlooVU4sTE4pIHZv aWQgIEZDQUxMU0NfUVVBTElGSUVSIGZjYWxsc2MoVU4sTE4pKGZzdHJpbmcgKkFTCiNl bHNlCiNpZmRlZiBDUkFZRm9ydHJhbgojZGVmaW5lICBTVFJJTkdfY2ZGWihVTixMTikg dm9pZCAgRkNBTExTQ19RVUFMSUZJRVIgZmNhbGxzYyhVTixMTikoX2ZjZCAgICAgQVMK I2Vsc2UKI2lmICBkZWZpbmVkKEFic29mdFVOSVhGb3J0cmFuKSAKI2RlZmluZSAgU1RS SU5HX2NmRlooVU4sTE4pIHZvaWQgIEZDQUxMU0NfUVVBTElGSUVSIGZjYWxsc2MoVU4s TE4pKGNoYXIgICAgKkFTCiNlbHNlCiNkZWZpbmUgIFNUUklOR19jZkZaKFVOLExOKSB2 b2lkICBGQ0FMTFNDX1FVQUxJRklFUiBmY2FsbHNjKFVOLExOKShjaGFyICAgICpBUywg dW5zaWduZWQgRDAKI2VuZGlmCiNlbmRpZgojZW5kaWYKI2Vsc2UKI2lmICEgKGRlZmlu ZWQoRkxPQVRGVU5DVElPTlRZUEUpJiZkZWZpbmVkKEFTU0lHTkZMT0FUKSYmZGVmaW5l ZChSRVRVUk5GTE9BVCkpCiNkZWZpbmUgICBGTE9BVF9jZkZaKFVOLExOKSBGT1JUUkFO X1JFQUwgICAgICBGQ0FMTFNDX1FVQUxJRklFUiBmY2FsbHNjKFVOLExOKSgKI2Vsc2UK I2RlZmluZSAgIEZMT0FUX2NmRlooVU4sTE4pIEZMT0FURlVOQ1RJT05UWVBFIEZDQUxM U0NfUVVBTElGSUVSIGZjYWxsc2MoVU4sTE4pKAojZW5kaWYKI2lmIGRlZmluZWQodm1z Rm9ydHJhbikgfHwgZGVmaW5lZChDUkFZRm9ydHJhbikgfHwgZGVmaW5lZChBYnNvZnRV TklYRm9ydHJhbikKI2RlZmluZSAgU1RSSU5HX2NmRlooVU4sTE4pIHZvaWQgIEZDQUxM U0NfUVVBTElGSUVSIGZjYWxsc2MoVU4sTE4pKEFTCiNlbHNlCiNkZWZpbmUgIFNUUklO R19jZkZaKFVOLExOKSB2b2lkICBGQ0FMTFNDX1FVQUxJRklFUiBmY2FsbHNjKFVOLExO KShBUywgRDAKI2VuZGlmCiNlbmRpZgoKI2RlZmluZSAgICBCWVRFX2NmRihVTixMTikg ICAgIEJZVEVfY2ZGWihVTixMTikKI2RlZmluZSAgRE9VQkxFX2NmRihVTixMTikgICBE T1VCTEVfY2ZGWihVTixMTikKI2lmbmRlZiBfX0NGX0tuUgojZGVmaW5lICAgRkxPQVRf Y2ZGKFVOLExOKSAgRk9SVFJBTl9SRUFMIEZDQUxMU0NfUVVBTElGSUVSIGZjYWxsc2Mo VU4sTE4pKAojZWxzZQojZGVmaW5lICAgRkxPQVRfY2ZGKFVOLExOKSAgICBGTE9BVF9j ZkZaKFVOLExOKQojZW5kaWYKI2RlZmluZSAgICAgSU5UX2NmRihVTixMTikgICAgICBJ TlRfY2ZGWihVTixMTikKI2RlZmluZSBMT0dJQ0FMX2NmRihVTixMTikgIExPR0lDQUxf Y2ZGWihVTixMTikKI2RlZmluZSAgICBMT05HX2NmRihVTixMTikgICAgIExPTkdfY2ZG WihVTixMTikKI2RlZmluZSAgIFNIT1JUX2NmRihVTixMTikgICAgU0hPUlRfY2ZGWihV TixMTikKI2RlZmluZSAgICBWT0lEX2NmRihVTixMTikgICAgIFZPSURfY2ZGWihVTixM TikKI2RlZmluZSAgU1RSSU5HX2NmRihVTixMTikgICBTVFJJTkdfY2ZGWihVTixMTiks CgojZGVmaW5lICAgICBJTlRfY2ZGRgojZGVmaW5lICAgIFZPSURfY2ZGRgojaWZkZWYg dm1zRm9ydHJhbgojZGVmaW5lICBTVFJJTkdfY2ZGRiAgICAgICAgICAgZnN0cmluZyAq QVM7IAojZWxzZQojaWZkZWYgQ1JBWUZvcnRyYW4KI2RlZmluZSAgU1RSSU5HX2NmRkYg ICAgICAgICAgIF9mY2QgICAgIEFTOwojZWxzZQojZGVmaW5lICBTVFJJTkdfY2ZGRiAg ICAgICAgICAgY2hhciAgICAqQVM7IHVuc2lnbmVkIEQwOwojZW5kaWYKI2VuZGlmCgoj ZGVmaW5lICAgICBJTlRfY2ZMICAgICAgICAgICAgQTA9CiNkZWZpbmUgIFNUUklOR19j ZkwgICAgICAgICAgICBBMD0KI2RlZmluZSAgICBWT0lEX2NmTCAgICAgICAgICAgICAg ICAgICAgICAgIAoKI2RlZmluZSAgICBJTlRfY2ZLCiNkZWZpbmUgICBWT0lEX2NmSwov KiBLU1RSSU5HIGNvcGllcyB0aGUgc3RyaW5nIGludG8gdGhlIHBvc2l0aW9uIHByb3Zp ZGVkIGJ5IHRoZSBjYWxsZXIuICovCiNpZmRlZiB2bXNGb3J0cmFuCiNkZWZpbmUgU1RS SU5HX2NmSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCiBtZW1jcHkoQVMtPmRzYyRhX3BvaW50ZXIsQTAsX2Nm TUlOKEFTLT5kc2Mkd19sZW5ndGgsKEEwPT1OVUxMPzA6c3RybGVuKEEwKSkpKTtcCiBB Uy0+ZHNjJHdfbGVuZ3RoPihBMD09TlVMTD8wOnN0cmxlbihBMCkpPyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgbWVtc2V0KEFTLT5kc2MkYV9wb2lu dGVyKyhBMD09TlVMTD8wOnN0cmxlbihBMCkpLCcgJywgICAgICAgICAgICAgICAgICAg ICAgICBcCiAgICAgICAgIEFTLT5kc2Mkd19sZW5ndGgtKEEwPT1OVUxMPzA6c3RybGVu KEEwKSkpOjA7CiNlbHNlCiNpZmRlZiBDUkFZRm9ydHJhbgojZGVmaW5lIFNUUklOR19j ZksgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAogbWVtY3B5KF9mY2R0b2NwKEFTKSxBMCwgX2NmTUlOKF9mY2Rs ZW4oQVMpLChBMD09TlVMTD8wOnN0cmxlbihBMCkpKSApOyAgICAgICAgXAogX2ZjZGxl bihBUyk+KEEwPT1OVUxMPzA6c3RybGVuKEEwKSk/ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAogIG1lbXNldChfZmNkdG9jcChBUykrKEEwPT1O VUxMPzA6c3RybGVuKEEwKSksJyAnLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAogICAgICAgICBfZmNkbGVuKEFTKS0oQTA9PU5VTEw/MDpzdHJsZW4oQTApKSk6MDsK I2Vsc2UKI2RlZmluZSBTVFJJTkdfY2ZLICAgICAgICAgbWVtY3B5KEFTLEEwLCBfY2ZN SU4oRDAsKEEwPT1OVUxMPzA6c3RybGVuKEEwKSkpICk7IFwKICAgICAgICAgICAgICAg ICBEMD4oQTA9PU5VTEw/MDpzdHJsZW4oQTApKT9tZW1zZXQoQVMrKEEwPT1OVUxMPzA6 c3RybGVuKEEwKSksIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnICcsIEQwLShBMD09TlVMTD8wOnN0cmxlbihBMCkpKTowOwojZW5kaWYK I2VuZGlmCgovKiBOb3RlIHRoYXQgSy4uIGFuZCBJLi4gY2FuJ3QgYmUgY29tYmluZWQg c2luY2UgSy4uIGhhcyB0byBhY2Nlc3MgZGF0YSBiZWZvcmUKUi4uLCBpbiBvcmRlciBm b3IgZnVuY3Rpb25zIHJldHVybmluZyBzdHJpbmdzIHdoaWNoIGFyZSBhbHNvIHBhc3Nl ZCBpbiBhcwphcmd1bWVudHMgdG8gd29yayBjb3JyZWN0bHkuIE5vdGUgdGhhdCBSLi4g ZnJlZXMgYW5kIGhlbmNlIG1heSBjb3JydXB0IHRoZQpzdHJpbmcuICovCiNkZWZpbmUg ICAgQllURV9jZkkgIHJldHVybiBBMDsKI2RlZmluZSAgRE9VQkxFX2NmSSAgcmV0dXJu IEEwOwojaWYgISAoZGVmaW5lZChGTE9BVEZVTkNUSU9OVFlQRSkmJmRlZmluZWQoQVNT SUdORkxPQVQpJiZkZWZpbmVkKFJFVFVSTkZMT0FUKSkKI2RlZmluZSAgIEZMT0FUX2Nm SSAgcmV0dXJuIEEwOwojZWxzZQojZGVmaW5lICAgRkxPQVRfY2ZJICBSRVRVUk5GTE9B VChBMCk7CiNlbmRpZgojZGVmaW5lICAgICBJTlRfY2ZJICByZXR1cm4gQTA7CiNpZmRl ZiBocHV4Rm9ydHJhbjgwMAovKiBJbmNyZWRpYmx5LCBmdW5jdGlvbnMgbXVzdCByZXR1 cm4gdHJ1ZSBhcyAxLCBlbHNld2hlcmUgLnRydWUuPT0weDAxMDAwMDAwLiAqLwojZGVm aW5lIExPR0lDQUxfY2ZJICByZXR1cm4gKChBMCk/MTowKTsKI2Vsc2UKI2RlZmluZSBM T0dJQ0FMX2NmSSAgcmV0dXJuIEMyRkxPR0lDQUwoQTApOwojZW5kaWYKI2RlZmluZSAg ICBMT05HX2NmSSAgcmV0dXJuIEEwOwojZGVmaW5lICAgU0hPUlRfY2ZJICByZXR1cm4g QTA7CiNkZWZpbmUgIFNUUklOR19jZkkgIHJldHVybiAgIDsKI2RlZmluZSAgICBWT0lE X2NmSSAgcmV0dXJuICAgOwoKI2lmZGVmIE9MRF9WQVhDICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8qIEFsbG93ICVDQy1JLVBBUkFNTk9UVVNFRC4gKi8KI3By YWdtYSBzdGFuZGFyZAojZW5kaWYKCiNkZWZpbmUgRkNBTExTQ1NVQjAoIENOLFVOLExO KSAgICAgICAgICAgICBGQ0FMTFNDRlVOMChWT0lELENOLFVOLExOKQojZGVmaW5lIEZD QUxMU0NTVUIxKCBDTixVTixMTixUMSkgICAgICAgICAgRkNBTExTQ0ZVTjEoVk9JRCxD TixVTixMTixUMSkKI2RlZmluZSBGQ0FMTFNDU1VCMiggQ04sVU4sTE4sVDEsVDIpICAg ICAgIEZDQUxMU0NGVU4yKFZPSUQsQ04sVU4sTE4sVDEsVDIpCiNkZWZpbmUgRkNBTExT Q1NVQjMoIENOLFVOLExOLFQxLFQyLFQzKSAgICBGQ0FMTFNDRlVOMyhWT0lELENOLFVO LExOLFQxLFQyLFQzKQojZGVmaW5lIEZDQUxMU0NTVUI0KCBDTixVTixMTixUMSxUMixU MyxUNCkgXAogICAgRkNBTExTQ0ZVTjQoVk9JRCxDTixVTixMTixUMSxUMixUMyxUNCkK I2RlZmluZSBGQ0FMTFNDU1VCNSggQ04sVU4sTE4sVDEsVDIsVDMsVDQsVDUpIFwKICAg IEZDQUxMU0NGVU41KFZPSUQsQ04sVU4sTE4sVDEsVDIsVDMsVDQsVDUpCiNkZWZpbmUg RkNBTExTQ1NVQjYoIENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2KSBcCiAgICBGQ0FM TFNDRlVONihWT0lELENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2KSAgICAgICAKI2Rl ZmluZSBGQ0FMTFNDU1VCNyggQ04sVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcpIFwK ICAgIEZDQUxMU0NGVU43KFZPSUQsQ04sVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcp CiNkZWZpbmUgRkNBTExTQ1NVQjgoIENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3 LFQ4KSBcCiAgICBGQ0FMTFNDRlVOOChWT0lELENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1 LFQ2LFQ3LFQ4KQojZGVmaW5lIEZDQUxMU0NTVUI5KCBDTixVTixMTixUMSxUMixUMyxU NCxUNSxUNixUNyxUOCxUOSkgXAogICAgRkNBTExTQ0ZVTjkoVk9JRCxDTixVTixMTixU MSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSkKI2RlZmluZSBGQ0FMTFNDU1VCMTAoQ04s VU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEpIFwKICAgRkNBTExTQ0ZV TjEwKFZPSUQsQ04sVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEpCiNk ZWZpbmUgRkNBTExTQ1NVQjExKENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4 LFQ5LFRBLFRCKSBcCiAgIEZDQUxMU0NGVU4xMShWT0lELENOLFVOLExOLFQxLFQyLFQz LFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCKQojZGVmaW5lIEZDQUxMU0NTVUIxMihDTixV TixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQykgXAogICBGQ0FM TFNDRlVOMTIoVk9JRCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxU QSxUQixUQykKI2RlZmluZSBGQ0FMTFNDU1VCMTMoQ04sVU4sTE4sVDEsVDIsVDMsVDQs VDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQpIFwKICAgRkNBTExTQ0ZVTjEzKFZPSUQs Q04sVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQpCiNk ZWZpbmUgRkNBTExTQ1NVQjE0KENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4 LFQ5LFRBLFRCLFRDLFRELFRFKSBcCiAgIEZDQUxMU0NGVU4xNChWT0lELENOLFVOLExO LFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFKQojZGVmaW5l IEZDQUxMU0NTVUIxNShDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxU QSxUQixUQyxURCxURSxURikgXAogICBGQ0FMTFNDRlVOMTUoVk9JRCxDTixVTixMTixU MSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURikKI2RlZmlu ZSBGQ0FMTFNDU1VCMTYoQ04sVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDks VEEsVEIsVEMsVEQsVEUsVEYsVEcpIFwKICAgRkNBTExTQ0ZVTjE2KFZPSUQsQ04sVU4s TE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcp CiNkZWZpbmUgRkNBTExTQ1NVQjE3KENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3 LFQ4LFQ5LFRBLFRCLFRDLFRELFRFLFRGLFRHLFRIKSBcCiAgIEZDQUxMU0NGVU4xNyhW T0lELENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRE LFRFLFRGLFRHLFRIKQojZGVmaW5lIEZDQUxMU0NTVUIxOChDTixVTixMTixUMSxUMixU MyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSkgXAog ICBGQ0FMTFNDRlVOMTgoVk9JRCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxU OCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSkKI2RlZmluZSBGQ0FMTFNDU1VC MTkoQ04sVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQs VEUsVEYsVEcsVEgsVEksVEopIFwKICAgRkNBTExTQ0ZVTjE5KFZPSUQsQ04sVU4sTE4s VDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgs VEksVEopCiNkZWZpbmUgRkNBTExTQ1NVQjIwKENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1 LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFLFRGLFRHLFRILFRJLFRKLFRLKSBcCiAg IEZDQUxMU0NGVU4yMChWT0lELENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4 LFQ5LFRBLFRCLFRDLFRELFRFLFRGLFRHLFRILFRJLFRKLFRLKQojZGVmaW5lIEZDQUxM U0NTVUIyMShDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixU QyxURCxURSxURixURyxUSCxUSSxUSixUSyxUTCkgXAogICBGQ0FMTFNDRlVOMjEoVk9J RCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxU RSxURixURyxUSCxUSSxUSixUSyxUTCkKI2RlZmluZSBGQ0FMTFNDU1VCMjIoQ04sVU4s TE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcs VEgsVEksVEosVEssVEwsVE0pIFwKICAgRkNBTExTQ0ZVTjIyKFZPSUQsQ04sVU4sTE4s VDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgs VEksVEosVEssVEwsVE0pCiNkZWZpbmUgRkNBTExTQ1NVQjIzKENOLFVOLExOLFQxLFQy LFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFLFRGLFRHLFRILFRJLFRK LFRLLFRMLFRNLFROKSBcCiAgIEZDQUxMU0NGVU4yMyhWT0lELENOLFVOLExOLFQxLFQy LFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFLFRGLFRHLFRILFRJLFRK LFRLLFRMLFRNLFROKQojZGVmaW5lIEZDQUxMU0NTVUIyNChDTixVTixMTixUMSxUMixU MyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSxUSixU SyxUTCxUTSxUTixUTykgXAogICBGQ0FMTFNDRlVOMjQoVk9JRCxDTixVTixMTixUMSxU MixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSxU SixUSyxUTCxUTSxUTixUTykKI2RlZmluZSBGQ0FMTFNDU1VCMjUoQ04sVU4sTE4sVDEs VDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgsVEks VEosVEssVEwsVE0sVE4sVE8sVFApIFwKICAgRkNBTExTQ0ZVTjI1KFZPSUQsQ04sVU4s TE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcs VEgsVEksVEosVEssVEwsVE0sVE4sVE8sVFApCiNkZWZpbmUgRkNBTExTQ1NVQjI2KENO LFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFLFRG LFRHLFRILFRJLFRKLFRLLFRMLFRNLFROLFRPLFRQLFRRKSBcCiAgIEZDQUxMU0NGVU4y NihWT0lELENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRD LFRELFRFLFRGLFRHLFRILFRJLFRKLFRLLFRMLFRNLFROLFRPLFRQLFRRKQojZGVmaW5l IEZDQUxMU0NTVUIyNyhDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxU QSxUQixUQyxURCxURSxURixURyxUSCxUSSxUSixUSyxUTCxUTSxUTixUTyxUUCxUUSxU UikgXAogICBGQ0FMTFNDRlVOMjcoVk9JRCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxU NixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSxUSixUSyxUTCxUTSxU TixUTyxUUCxUUSxUUikKCgojZGVmaW5lIEZDQUxMU0NGVU4xKCBUMCxDTixVTixMTixU MSkgXAogICAgICAgIEZDQUxMU0NGVU41IChUMCxDTixVTixMTixUMSxDRl8wLENGXzAs Q0ZfMCxDRl8wKQojZGVmaW5lIEZDQUxMU0NGVU4yKCBUMCxDTixVTixMTixUMSxUMikg XAogICAgICAgIEZDQUxMU0NGVU41IChUMCxDTixVTixMTixUMSxUMixDRl8wLENGXzAs Q0ZfMCkKI2RlZmluZSBGQ0FMTFNDRlVOMyggVDAsQ04sVU4sTE4sVDEsVDIsVDMpIFwK ICAgICAgICBGQ0FMTFNDRlVONSAoVDAsQ04sVU4sTE4sVDEsVDIsVDMsQ0ZfMCxDRl8w KQojZGVmaW5lIEZDQUxMU0NGVU40KCBUMCxDTixVTixMTixUMSxUMixUMyxUNCkgXAog ICAgICAgIEZDQUxMU0NGVU41IChUMCxDTixVTixMTixUMSxUMixUMyxUNCxDRl8wKQoj ZGVmaW5lIEZDQUxMU0NGVU41KCBUMCxDTixVTixMTixUMSxUMixUMyxUNCxUNSkgXAog ICAgICAgIEZDQUxMU0NGVU4xMChUMCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxDRl8w LENGXzAsQ0ZfMCxDRl8wLENGXzApCiNkZWZpbmUgRkNBTExTQ0ZVTjYoIFQwLENOLFVO LExOLFQxLFQyLFQzLFQ0LFQ1LFQ2KSBcCiAgICAgICAgRkNBTExTQ0ZVTjEwKFQwLENO LFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LENGXzAsQ0ZfMCxDRl8wLENGXzApCiNkZWZp bmUgRkNBTExTQ0ZVTjcoIFQwLENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3KSBc CiAgICAgICAgRkNBTExTQ0ZVTjEwKFQwLENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2 LFQ3LENGXzAsQ0ZfMCxDRl8wKQojZGVmaW5lIEZDQUxMU0NGVU44KCBUMCxDTixVTixM TixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCkgXAogICAgICAgIEZDQUxMU0NGVU4xMChU MCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxDRl8wLENGXzApCiNkZWZp bmUgRkNBTExTQ0ZVTjkoIFQwLENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4 LFQ5KSBcCiAgICAgICAgRkNBTExTQ0ZVTjEwKFQwLENOLFVOLExOLFQxLFQyLFQzLFQ0 LFQ1LFQ2LFQ3LFQ4LFQ5LENGXzApCiNkZWZpbmUgRkNBTExTQ0ZVTjEwKFQwLENOLFVO LExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBKSBcCiAgICAgICAgRkNBTExT Q0ZVTjE0KFQwLENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLENG XzAsQ0ZfMCxDRl8wLENGXzApCiNkZWZpbmUgRkNBTExTQ0ZVTjExKFQwLENOLFVOLExO LFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCKSBcCiAgICAgICAgRkNBTExT Q0ZVTjE0KFQwLENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRC LENGXzAsQ0ZfMCxDRl8wKQojZGVmaW5lIEZDQUxMU0NGVU4xMihUMCxDTixVTixMTixU MSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQykgXAogICAgICAgIEZDQUxM U0NGVU4xNChUMCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxU QixUQyxDRl8wLENGXzApCiNkZWZpbmUgRkNBTExTQ0ZVTjEzKFQwLENOLFVOLExOLFQx LFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFREKSBcCiAgICAgICAgRkNB TExTQ0ZVTjE0KFQwLENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRB LFRCLFRDLFRELENGXzApCgoKI2RlZmluZSBGQ0FMTFNDRlVOMTUoVDAsQ04sVU4sTE4s VDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYpIFwKICAg ICAgICBGQ0FMTFNDRlVOMjAoVDAsQ04sVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcs VDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsQ0ZfMCxDRl8wLENGXzAsQ0ZfMCxDRl8wKQoj ZGVmaW5lIEZDQUxMU0NGVU4xNihUMCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixU NyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURykgXAogICAgICAgIEZDQUxMU0NGVU4y MChUMCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxU RCxURSxURixURyxDRl8wLENGXzAsQ0ZfMCxDRl8wKQojZGVmaW5lIEZDQUxMU0NGVU4x NyhUMCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxU RCxURSxURixURyxUSCkgXAogICAgICAgIEZDQUxMU0NGVU4yMChUMCxDTixVTixMTixU MSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxD Rl8wLENGXzAsQ0ZfMCkKI2RlZmluZSBGQ0FMTFNDRlVOMTgoVDAsQ04sVU4sTE4sVDEs VDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgsVEkp IFwKICAgICAgICBGQ0FMTFNDRlVOMjAoVDAsQ04sVU4sTE4sVDEsVDIsVDMsVDQsVDUs VDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgsVEksQ0ZfMCxDRl8wKQoj ZGVmaW5lIEZDQUxMU0NGVU4xOShUMCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixU NyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSxUSikgXAogICAgICAgIEZD QUxMU0NGVU4yMChUMCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxU QSxUQixUQyxURCxURSxURixURyxUSCxUSSxUSixDRl8wKQojZGVmaW5lIEZDQUxMU0NG VU4yMChUMCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixU QyxURCxURSxURixURyxUSCxUSSxUSixUSykgXAogICAgICAgIEZDQUxMU0NGVU4yNyhU MCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxU RSxURixURyxUSCxUSSxUSixUSyxDRl8wLENGXzAsQ0ZfMCxDRl8wLENGXzAsQ0ZfMCxD Rl8wKQojZGVmaW5lIEZDQUxMU0NGVU4yMShUMCxDTixVTixMTixUMSxUMixUMyxUNCxU NSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSxUSixUSyxUTCkg XAogICAgICAgIEZDQUxMU0NGVU4yNyhUMCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxU NixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSxUSixUSyxUTCxDRl8w LENGXzAsQ0ZfMCxDRl8wLENGXzAsQ0ZfMCkKI2RlZmluZSBGQ0FMTFNDRlVOMjIoVDAs Q04sVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUs VEYsVEcsVEgsVEksVEosVEssVEwsVE0pIFwKICAgICAgICBGQ0FMTFNDRlVOMjcoVDAs Q04sVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUs VEYsVEcsVEgsVEksVEosVEssVEwsVE0sQ0ZfMCxDRl8wLENGXzAsQ0ZfMCxDRl8wKQoj ZGVmaW5lIEZDQUxMU0NGVU4yMyhUMCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixU NyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSxUSixUSyxUTCxUTSxUTikg XAogICAgICAgIEZDQUxMU0NGVU4yNyhUMCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxU NixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSxUSixUSyxUTCxUTSxU TixDRl8wLENGXzAsQ0ZfMCxDRl8wKQojZGVmaW5lIEZDQUxMU0NGVU4yNChUMCxDTixV TixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixU RyxUSCxUSSxUSixUSyxUTCxUTSxUTixUTykgXAogICAgICAgIEZDQUxMU0NGVU4yNyhU MCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxU RSxURixURyxUSCxUSSxUSixUSyxUTCxUTSxUTixUTyxDRl8wLENGXzAsQ0ZfMCkKI2Rl ZmluZSBGQ0FMTFNDRlVOMjUoVDAsQ04sVU4sTE4sVDEsVDIsVDMsVDQsVDUsVDYsVDcs VDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgsVEksVEosVEssVEwsVE0sVE4sVE8s VFApIFwKICAgICAgICBGQ0FMTFNDRlVOMjcoVDAsQ04sVU4sTE4sVDEsVDIsVDMsVDQs VDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgsVEksVEosVEssVEws VE0sVE4sVE8sVFAsQ0ZfMCxDRl8wKQojZGVmaW5lIEZDQUxMU0NGVU4yNihUMCxDTixV TixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixU RyxUSCxUSSxUSixUSyxUTCxUTSxUTixUTyxUUCxUUSkgXAogICAgICAgIEZDQUxMU0NG VU4yNyhUMCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixU QyxURCxURSxURixURyxUSCxUSSxUSixUSyxUTCxUTSxUTixUTyxUUCxUUSxDRl8wKQoK CiNpZm5kZWYgX19DRl9fS25SCiNkZWZpbmUgRkNBTExTQ0ZVTjAoVDAsQ04sVU4sTE4p IENGZXh0ZXJuIF8oVDAsX2NmRlopKFVOLExOKSBBQlNPRlRfY2YyKFQwKSkgICBcCiAg ICAgICAge19JY2YoMixVVSxUMCxBMCwwKTsgX0ljZigwLEwsVDAsMCwwKSBDTigpOyBf SWNmKDAsSyxUMCwwLDApIF8oVDAsX2NmSSl9CgojZGVmaW5lIEZDQUxMU0NGVU4xNChU MCxDTixVTixMTixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxU RSkgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRmV4dGVybiBf KFQwLF9jZkYpKFVOLExOKSAgICAgICAgICAgICAgICAgICAgXAogQ0ZBUkdUMTQoTkNG LERDRixBQlNPRlRfY2YyKFQwKSxUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxU QixUQyxURCxURSkgKSAgXAogeyAgICAgICAgICAgICAgICAgQ0ZBUkdUMTRTKFFDRixU MSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSkgICAgXAogIF9J Y2YoMixVVSxUMCxBMCwwKTsgX0ljZigwLEwsVDAsMCwwKSAgICAgIENOKCAgICBUQ0Yo TE4sVDEsMSwwKSAgVENGKExOLFQyLDIsMSkgXAogICAgVENGKExOLFQzLDMsMSkgIFRD RihMTixUNCw0LDEpIFRDRihMTixUNSw1LDEpICBUQ0YoTE4sVDYsNiwxKSAgVENGKExO LFQ3LDcsMSkgXAogICAgVENGKExOLFQ4LDgsMSkgIFRDRihMTixUOSw5LDEpIFRDRihM TixUQSwxMCwxKSBUQ0YoTE4sVEIsMTEsMSkgVENGKExOLFRDLDEyLDEpIFwKICAgIFRD RihMTixURCwxMywxKSBUQ0YoTE4sVEUsMTQsMSkgKTsgICAgICAgICAgICAgICAgICAg ICAgICAgIF9JY2YoMCxLLFQwLDAsMCkgXAogICAgICAgICAgICAgICAgICAgQ0ZBUkdU MTRTKFJDRixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSkg IF8oVDAsX2NmSSkgfQoKI2RlZmluZSBGQ0FMTFNDRlVOMjcoVDAsQ04sVU4sTE4sVDEs VDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgsVEks VEosVEssVEwsVE0sVE4sVE8sVFAsVFEsVFIpICAgXAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBDRmV4dGVybiBfKFQwLF9jZkYpKFVOLExOKSAgICAgICAgICAg ICAgICAgICAgXAogQ0ZBUkdUMjcoTkNGLERDRixBQlNPRlRfY2YyKFQwKSxUMSxUMixU MyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSxUSixU SyxUTCxUTSxUTixUTyxUUCxUUSxUUikgKSBcCiB7ICAgICAgICAgICAgICAgICBDRkFS R1QyN1MoUUNGLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRF LFRGLFRHLFRILFRJLFRKLFRLLFRMLFRNLFROLFRPLFRQLFRRLFRSKSAgIFwKICBfSWNm KDIsVVUsVDAsQTAsMCk7IF9JY2YoMCxMLFQwLDAsMCkgICAgICBDTiggICAgIFRDRihM TixUMSwxLDApICBUQ0YoTE4sVDIsMiwxKSAgXAogICAgVENGKExOLFQzLDMsMSkgIFRD RihMTixUNCw0LDEpICBUQ0YoTE4sVDUsNSwxKSAgVENGKExOLFQ2LDYsMSkgIFRDRihM TixUNyw3LDEpICBcCiAgICBUQ0YoTE4sVDgsOCwxKSAgVENGKExOLFQ5LDksMSkgIFRD RihMTixUQSwxMCwxKSBUQ0YoTE4sVEIsMTEsMSkgVENGKExOLFRDLDEyLDEpIFwKICAg IFRDRihMTixURCwxMywxKSBUQ0YoTE4sVEUsMTQsMSkgVENGKExOLFRGLDE1LDEpIFRD RihMTixURywxNiwxKSBUQ0YoTE4sVEgsMTcsMSkgXAogICAgVENGKExOLFRJLDE4LDEp IFRDRihMTixUSiwxOSwxKSBUQ0YoTE4sVEssMjAsMSkgVENGKExOLFRMLDIxLDEpIFRD RihMTixUTSwyMiwxKSBcCiAgICBUQ0YoTE4sVE4sMjMsMSkgVENGKExOLFRPLDI0LDEp IFRDRihMTixUUCwyNSwxKSBUQ0YoTE4sVFEsMjYsMSkgVENGKExOLFRSLDI3LDEpICk7 IF9JY2YoMCxLLFQwLDAsMCkgXAogICAgICAgICAgICAgICAgICAgQ0ZBUkdUMjdTKFJD RixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxU SCxUSSxUSixUSyxUTCxUTSxUTixUTyxUUCxUUSxUUikgIF8oVDAsX2NmSSkgfQoKI2Vs c2UKI2RlZmluZSBGQ0FMTFNDRlVOMChUMCxDTixVTixMTikgQ0ZleHRlcm4gXyhUMCxf Y2ZGWikoVU4sTE4pIEFCU09GVF9jZjMoVDApKSBfSWNmKDAsRkYsVDAsMCwwKVwKICAg ICAgICB7X0ljZigyLFVVLFQwLEEwLDApOyBfSWNmKDAsTCxUMCwwLDApIENOKCk7IF9J Y2YoMCxLLFQwLDAsMCkgXyhUMCxfY2ZJKX0KCiNkZWZpbmUgRkNBTExTQ0ZVTjE0KFQw LENOLFVOLExOLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRF KSAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENGZXh0ZXJuIF8o VDAsX2NmRikoVU4sTE4pICAgICAgICAgICAgICAgICAgICBcCiBDRkFSR1QxNChOTkNG LEREQ0YsQUJTT0ZUX2NmMyhUMCksVDEsVDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEs VEIsVEMsVEQsVEUpKSBfSWNmKDAsRkYsVDAsMCwwKSBcCiAgICAgICBDRkFSR1QxNEZT KE5OTkNGLERERENGLF9aLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRD LFRELFRFKTsgICBcCiB7ICAgICAgICAgICAgICAgICBDRkFSR1QxNFMoUUNGLFQxLFQy LFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRDLFRELFRFKSAgICBcCiAgX0ljZigy LFVVLFQwLEEwLDApOyBfSWNmKDAsTCxUMCwwLDApICAgICAgQ04oICBUQ0YoTE4sVDEs MSwwKSBUQ0YoTE4sVDIsMiwxKSBcCiAgICBUQ0YoTE4sVDMsMywxKSBUQ0YoTE4sVDQs NCwxKSBUQ0YoTE4sVDUsNSwxKSBUQ0YoTE4sVDYsNiwxKSBUQ0YoTE4sVDcsNywxKSBc CiAgICBUQ0YoTE4sVDgsOCwxKSBUQ0YoTE4sVDksOSwxKSBUQ0YoTE4sVEEsMTAsMSkg VENGKExOLFRCLDExLDEpIFRDRihMTixUQywxMiwxKSBcCiAgICBUQ0YoTE4sVEQsMTMs MSkgVENGKExOLFRFLDE0LDEpICk7ICAgICAgICAgICAgICAgICAgICAgICAgICBfSWNm KDAsSyxUMCwwLDApIFwKICAgICAgICAgICAgICAgICAgIENGQVJHVDE0UyhSQ0YsVDEs VDIsVDMsVDQsVDUsVDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUpICBfKFQwLF9jZkkp fQoKI2RlZmluZSBGQ0FMTFNDRlVOMjcoVDAsQ04sVU4sTE4sVDEsVDIsVDMsVDQsVDUs VDYsVDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgsVEksVEosVEssVEwsVE0s VE4sVE8sVFAsVFEsVFIpICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IENGZXh0ZXJuIF8oVDAsX2NmRikoVU4sTE4pICAgICAgICAgICAgICAgICAgICBcCiBD RkFSR1QyNyhOTkNGLEREQ0YsQUJTT0ZUX2NmMyhUMCksVDEsVDIsVDMsVDQsVDUsVDYs VDcsVDgsVDksVEEsVEIsVEMsVEQsVEUsVEYsVEcsVEgsVEksVEosVEssVEwsVE0sVE4s VE8sVFAsVFEsVFIpKSBfSWNmKDAsRkYsVDAsMCwwKSBcCiAgICAgICBDRkFSR1QyN0ZT KE5OTkNGLERERENGLF9aLFQxLFQyLFQzLFQ0LFQ1LFQ2LFQ3LFQ4LFQ5LFRBLFRCLFRD LFRELFRFLFRGLFRHLFRILFRJLFRKLFRLLFRMLFRNLFROLFRPLFRQLFRRLFRSKTsgXAog eyAgICAgICAgICAgICAgICAgQ0ZBUkdUMjdTKFFDRixUMSxUMixUMyxUNCxUNSxUNixU NyxUOCxUOSxUQSxUQixUQyxURCxURSxURixURyxUSCxUSSxUSixUSyxUTCxUTSxUTixU TyxUUCxUUSxUUikgIFwKICBfSWNmKDIsVVUsVDAsQTAsMCk7IF9JY2YoMCxMLFQwLDAs MCkgICAgICBDTiggICAgIFRDRihMTixUMSwxLDApICBUQ0YoTE4sVDIsMiwxKSAgXAog ICAgVENGKExOLFQzLDMsMSkgIFRDRihMTixUNCw0LDEpICBUQ0YoTE4sVDUsNSwxKSAg VENGKExOLFQ2LDYsMSkgIFRDRihMTixUNyw3LDEpICBcCiAgICBUQ0YoTE4sVDgsOCwx KSAgVENGKExOLFQ5LDksMSkgIFRDRihMTixUQSwxMCwxKSBUQ0YoTE4sVEIsMTEsMSkg VENGKExOLFRDLDEyLDEpIFwKICAgIFRDRihMTixURCwxMywxKSBUQ0YoTE4sVEUsMTQs MSkgVENGKExOLFRGLDE1LDEpIFRDRihMTixURywxNiwxKSBUQ0YoTE4sVEgsMTcsMSkg XAogICAgVENGKExOLFRJLDE4LDEpIFRDRihMTixUSiwxOSwxKSBUQ0YoTE4sVEssMjAs MSkgVENGKExOLFRMLDIxLDEpIFRDRihMTixUTSwyMiwxKSBcCiAgICBUQ0YoTE4sVE4s MjMsMSkgVENGKExOLFRPLDI0LDEpIFRDRihMTixUUCwyNSwxKSBUQ0YoTE4sVFEsMjYs MSkgVENGKExOLFRSLDI3LDEpICk7IF9JY2YoMCxLLFQwLDAsMCkgXAogICAgICAgICAg ICAgICAgICAgQ0ZBUkdUMjdTKFJDRixUMSxUMixUMyxUNCxUNSxUNixUNyxUOCxUOSxU QSxUQixUQyxURCxURSxURixURyxUSCxUSSxUSixUSyxUTCxUTSxUTixUTyxUUCxUUSxU UikgIF8oVDAsX2NmSSl9CgojZW5kaWYKCgojZW5kaWYJIC8qIF9fQ0ZPUlRSQU5fTE9B REVEICovCg=
netcdfgroup
archives: