Re: [Fwd: GLPK CMake build configuration (Windows)]
Derek Huang <[email protected]> Thu, 1 Feb 2024 18:01:44 -0500
| Newsgroups | gmane.comp.gnu.glpk |
|---|---|
| Message-ID | <CAG1Nrm7YqjacGgUJRGz2RBeqdBw-9B4h8=BtVUzdqK1tfiW9Yw@mail.gmail.com> |
--0000000000006be7ed061059fb86 Content-Type: multipart/alternative; boundary="0000000000006be7ec061059fb84" --0000000000006be7ec061059fb84 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, Just wanted to put an update for the CMakeLists.txt since I forgot to CC to the mailing list, apologies. Also, since I forgot to CC my previous email about this, maybe we just remove glp_netgen_prob from netgen.c and glpk.h since it is not called and causes linker error when building DLL on Windows since glp_netgen_prob is listed in the .def file? I saw the other possible change as mentioned in https://www.mail-archive.com/[email protected]/msg01020.html; maybe that could be done officially? Best, Derek On Mon, Jan 29, 2024 at 3:43=E2=80=AFPM Derek Huang <[email protected]> = wrote: > I see, thank you. > > > > So maybe we can just add these netgen.c changes to the upstream? Since it > is definitely a bit strange to have only a public API function declaratio= n > without a definition. > > > > Best, > > Derek > --0000000000006be7ec061059fb84 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Hi,<div><br></div><div>Just wanted to put an update for th= e CMakeLists.txt since I forgot to CC to the mailing list, apologies.</div>= <div><br></div><div>Also, since I forgot to CC my previous email about this= , maybe we just remove glp_netgen_prob from netgen.c and glpk.h since it is= not called and causes linker error when building DLL on Windows since glp_= netgen_prob is listed in the .def file?</div><div><br></div><div>I saw the = other possible change as mentioned in=C2=A0<a href=3D"https://www.mail-arch= ive.com/[email protected]/msg01020.html">https://www.mail-archive.com/bug-gl= [email protected]/msg01020.html</a>; maybe that could be done officially?</div><di= v><br></div><div>Best,</div><div>Derek</div></div><br><div class=3D"gmail_q= uote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Jan 29, 2024 at 3:43=E2= =80=AFPM Derek Huang <<a href=3D"mailto:[email protected]">djh458@ste= rn.nyu.edu</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style= =3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding= -left:1ex"><div class=3D"msg481975590232959651"><div lang=3D"EN-US" style= =3D"overflow-wrap: break-word;"><div class=3D"m_481975590232959651WordSecti= on1"><p class=3D"MsoNormal">I see, thank you.</p><p class=3D"MsoNormal"><u>= </u>=C2=A0<u></u></p><p class=3D"MsoNormal">So maybe we can just add these = netgen.c changes to the upstream? Since it is definitely a bit strange to h= ave only a public API function declaration without a definition.</p><p clas= s=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoNormal">Best,</p><p = class=3D"MsoNormal">Derek</p></div></div> </div></blockquote></div> --0000000000006be7ec061059fb84-- --0000000000006be7ed061059fb86 Content-Type: text/plain; charset="US-ASCII"; name="CMakeLists.txt" Content-Disposition: attachment; filename="CMakeLists.txt" Content-Transfer-Encoding: base64 Content-ID: <f_ls3thgob0> X-Attachment-Id: f_ls3thgob0 Y21ha2VfbWluaW11bV9yZXF1aXJlZChWRVJTSU9OIDMuMTUpCgojIwojIFVzYWdlCiMgPT09PT0K IwojIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBzb21lIGJyaWVmIGluc3RydWN0aW9ucyBvbiBob3cg dG8gY29tcGlsZSwgdGVzdCwgYW5kCiMgaW5zdGFsbCBHTFBLIHVzaW5nIENNYWtlLiBBbHRob3Vn aCBjdXJyZW50bHkgY29uZmlndXJlZCBvbmx5IGZvciB1c2Ugb24KIyBXaW5kb3dzLCB0aGUgY29u ZmlnIGNhbiBiZSBleHRlbmRlZCB0byBzdXBwb3J0ICpuaXggc3lzdGVtcyBhcyB3ZWxsLgojCiMg Tm90ZToKIwojIFRoaXMgZmlsZSBjYW4gYmUgc3BsaXQgdXAgaW50byBzbWFsbGVyIC5jbWFrZSBm aWxlcyBpZiBkZXNpcmVkLiBJdCBpcyBhIGZldwojIGh1bmRyZWQgbGluZXMgbG9uZyB1bmZvcnR1 bmF0ZWx5IGluIGxhcmdlIHBhcnQgc2luY2UgdGhlIHNvdXJjZXMgYXJlIGFsbAojIGxpc3RlZCBl eHBsaWNpdGx5IGluc3RlYWQgb2YgdXNpbmcgZ2xvYnMgYW5kIGJlY2F1c2Ugb2YgdGhlIGluc3Rh bGwgbG9naWMuCiMKIyBXaW5kb3dzCiMgLS0tLS0tLQojCiMgVGhlIGZvbGxvd2luZyBpdGVtcyBh cmUgdmFsdWVzIHRvIGJlIGRldGVybWluZWQgYnkgdGhlIHVzZXIuIFRoZXkgYXJlIHVzZWQgaW4K IyB0aGUgYnVpbGQgY29tbWFuZHMgZW5jbG9zZWQgaW4gYnJhY2tldHMgdG8gZGlzdGluZ3Vpc2gg dGhlbS4KIwojIEFyY2g6IFdpbjMyLCB4NjQKIyBDb25maWc6IERlYnVnLCBSZWxlYXNlCiMgUHJl Zml4OiAoZGVzaXJlZCBpbnN0YWxsIHJvb3QpCiMKIyBCdWlsZGluZwojIH5+fn5+fn5+CiMKIyBO b3RlOgojCiMgQnVpbGRpbmcgZHluYW1pY2FsbHksIGkuZS4gd2l0aCAtREJVSUxEX1NIQVJFRF9M SUJTPU9OLCB3aWxsIHJlc3VsdCBpbiBhCiMgbGlua2VyIGVycm9yIGFib3V0IGFuIHVucmVzb2x2 ZWQgZXh0ZXJuYWwgc3ltYm9sIChnbHBfbmV0Z2VuX3Byb2IpLiBUaGUKIyBkZWZpbml0aW9uIG9m IHRoaXMgZnVuY3Rpb24gaXMgbm93aGVyZSB0byBiZSBmb3VuZCBpbiB0aGUgR0xQSyBzb3VyY2Uu IFRvIGZpeAojIHRoaXMsIGdscF9uZXRnZW5fcHJvYiBuZWVkcyB0byBiZSByZW1vdmVkIGZyb20g dGhlIC5kZWYgZmlsZS4gSXQgaXMgYWxzbwojIGJldHRlciB0aGF0IGdscF9uZXRnZW5fcHJvYiBp cyBzaW1wbHkgY29tbWVudGVkIG91dCBmcm9tIGdscGsuaCB0b28uCiMKIyBCdWlsZCBzdGF0aWMg bGlua2luZyBhZ2FpbnN0IEMgcnVudGltZSBkeW5hbWljYWxseSArIGFsc28gYnVpbGQgZXhhbXBs ZXM6CiMKIyAgIGNtYWtlIC1TIC4gLUIgYnVpbGRfd2luZG93c19bQXJjaF0gLUEgW0FyY2hdCiMg ICBjbWFrZSAtLWJ1aWxkIGJ1aWxkX3dpbmRvd3NfW0FyY2hdIC0tY29uZmlnIFtDb25maWddIC1q CiMKIyBCdWlsZCBkeW5hbWljIGxpbmtpbmcgYWdhaW5zdCBDIHJ1bnRpbWUgc3RhdGljYWxseSAr IG5vIGV4YW1wbGVzOgojCiMgICBjbWFrZSAtUyAuIC1CIGJ1aWxkX3dpbmRvd3NfW0FyY2hdIC1B IFtBcmNoXSAtREJVSUxEX1NIQVJFRF9MSUJTPU9OIF4KIyAgICAgICAtREdMUEtfVVNFX1NUQVRJ Q19DUlQ9T04gLURHTFBLX0JVSUxEX0VYQU1QTEVTPU9GRgojICAgY21ha2UgLS1idWlsZCBidWls ZF93aW5kb3dzX1tBcmNoXSAtLWNvbmZpZyBbQ29uZmlnXSAtagojCiMgQnVpbGQgZHluYW1pYyBs aW5raW5nIGFnYWluc3QgQyBydW50aW1lIGR5bmFtaWNhbGx5ICsgYWxzbyBidWlsZCBleGFtcGxl cwojIHdoaWxlIGluc3RhbGxpbmcgd2l0aCBtdWx0aS1jb25maWd1cmF0aW9uIGluc3RhbGwgdHJl ZToKIwojICAgY21ha2UgLVMgLiAtQiBidWlsZF93aW5kb3dzX1tBcmNoXSAtQSBbQXJjaF0gLURC VUlMRF9TSEFSRURfTElCUz1PTiBeCiMgICAgICAgLURHTFBLX0lOU1RBTExfTVVMVElfQ09ORklH PU9OCiMgICBjbWFrZSAtLWJ1aWxkIGJ1aWxkX3dpbmRvd3NfW0FyY2hdIC0tY29uZmlnIFtDb25m aWddIC1qCiMKIyBUZXN0aW5nCiMgfn5+fn5+fgojCiMgTm90ZToKIwojIFRlc3RpbmcgYSBkeW5h bWljIGJ1aWxkJ3MgZXhhbXBsZSBwcm9ncmFtcyB3aWxsIHJlc3VsdCBpbiBhbiBleGl0IGNvZGUg b2YKIyBDMDAwMDEzNSBzaW5jZSBQQVRIIG11c3QgYmUgdXBkYXRlZCBvciB0aGUgRExMIG11c3Qg YmUgaW4gdGhlIHdvcmtpbmcKIyBkaXJlY3RvcnkgZm9yIGNvcnJlY3QgcnVuLXRpbWUgbG9hZGlu Zy4gVGhlIGV4YW1wbGUgcHJvZ3JhbXMgYXNzdW1lIHRoZWlyCiMgaW5wdXRzIGFyZSBpbiB0aGUg Y3VycmVudCBkaXJlY3Rvcnkgd2hpY2ggbWFrZXMgdGhpcyBkaWZmaWN1bHQuCiMKIyAgIGN0ZXN0 IC0tdGVzdC1kaXIgYnVpbGRfd2luZG93c19bQXJjaF0gLUMgW0NvbmZpZ10gLWoKIwojIEluc3Rh bGwKIyB+fn5+fn5+CiMKIyAgIGNtYWtlIC0taW5zdGFsbCBidWlsZF93aW5kb3dzX1tBcmNoXSAt LXByZWZpeCBbUHJlZml4XSAtLWNvbmZpZyBbQ29uZmlnXQojCiMgSWYgR0xQS19JTlNUQUxMX01V TFRJX0NPTkZJRyBpcyBzcGVjaWZpZWQsIGFuZCBhc3N1bWluZyB0aGF0IHdlIGFyZSBidWlsZGlu ZwojIHNoYXJlZCBsaWJyYXJpZXMsIHRoZSBpbnN0YWxsIHRyZWUgbG9va3MgbGlrZSB0aGlzOgoj CiMgaW5zdGFsbF9yb290LwojICAgYmluLwojICAgICBEZWJ1Zy8KIyAgICAgICBnbHBrLmRsbAoj ICAgICAgIGdscHNvbC5leGUKIyAgICAgUmVsZWFzZS8KIyAgICAgICBnbHBrLmRsbAojICAgICAg IGdscHNvbC5leGUKIyAgIGluY2x1ZGUvCiMgICAgIGdscGsuaAojICAgbGliLwojICAgICBEZWJ1 Zy8KIyAgICAgICBnbHBrLmxpYgojICAgICAgIGdscGsucGRiCiMgICAgIFJlbGVhc2UvCiMgICAg ICAgZ2xway5saWIKIwojIE90aGVyd2lzZSwgd2UgaGF2ZSBhIGZsYXQgaW5zdGFsbCB3aXRoICJk IiBzdWZmaWNlcywgZS5nLgojCiMgaW5zdGFsbF9yb290LwojICAgYmluLwojICAgICBnbHBrLmRs bAojICAgICBnbHBrZC5kbGwKIyAgICAgZ2xwc29sLmV4ZQojICAgICBnbHBzb2xkLmV4ZQojICAg aW5jbHVkZS8KIyAgICAgZ2xway5oCiMgICBsaWIvCiMgICAgIGdscGsubGliCiMgICAgIGdscGtk LmxpYgojICAgICBnbHBrZC5wZGIKIwoKIyBHTFBLIHZlcnNpb24Kc2V0KEdMUEtfVkVSU0lPTl9N QUpPUiA1KQpzZXQoR0xQS19WRVJTSU9OX01JTk9SIDApCnNldChHTFBLX1ZFUlNJT04gJHtHTFBL X1ZFUlNJT05fTUFKT1J9LiR7R0xQS19WRVJTSU9OX01JTk9SfSkKCnByb2plY3QoCiAgICBnbHBr CiAgICBWRVJTSU9OICR7R0xQS19WRVJTSU9OfQogICAgREVTQ1JJUFRJT04gIkdOVSBMaW5lYXIg UHJvZ3JhbW1pbmcgS2l0IgogICAgSE9NRVBBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3Nv ZnR3YXJlL2dscGsvIgogICAgTEFOR1VBR0VTIEMKKQoKIyBzZWxlY3Qgc3RhdGljL3NoYXJlZCBs aWJyYXJ5IGNvbXBpbGF0aW9uCm9wdGlvbihCVUlMRF9TSEFSRURfTElCUyAiQnVpbGQgR0xQSyBs aWJyYXJ5IGFzIHNoYXJlZCIgT0ZGKQojIHVzZSBzdGF0aWMgQyBydW50aW1lIGxpYnJhcnkuIGRl ZmF1bHRlZCB0byBPRkYgdG8gbWF0Y2ggdGhlIENNYWtlIGRlZmF1bHQgb2YKIyB1c2luZyBNdWx0 aVRocmVhZGVkJDwkPENPTkZJRzpEZWJ1Zz46RGVidWc+RExMIHRvIHNlbGVjdCBkeW5hbWljIEMg cnVudGltZS4KIyBzZWUgaHR0cHM6Ly9jbWFrZS5vcmcvY21ha2UvaGVscC9sYXRlc3QvcHJvcF90 Z3QvTVNWQ19SVU5USU1FX0xJQlJBUlkuaHRtbCwKIyBodHRwczovL2xlYXJuLm1pY3Jvc29mdC5j b20vZW4tdXMvY3BwL2MtcnVudGltZS1saWJyYXJ5L2NydC1saWJyYXJ5LWZlYXR1cmVzCm9wdGlv bihHTFBLX1VTRV9TVEFUSUNfQ1JUICJMaW5rIGFnYWluc3QgQyBydW50aW1lIHN0YXRpY2FsbHki IE9GRikKIyB0byBzZXBhcmF0ZSBEZWJ1ZyBhbmQgUmVsZWFzZSBsaWJyYXJpZXMsIHdoaWNoIGFs c28gbGluayBhZ2FpbnN0IGRlYnVnIGFuZAojIHJlbGVhc2UgQyBydW50aW1lcyByZXNwZWN0aXZl bHkgKHNob3VsZCBuZXZlciBiZSBtaXhlZCksIGFkZCBhbiBleHRyYSBsYXllcgojIG9mIG5hbWVz cGFjaW5nIHRvIGxpYiBhbmQgYmluLCBlLmcuIGxpYi9EZWJ1ZywgYmluL1JlbGVhc2UsIGV0Yy4g Zm9yIE1TVkMsIGlmCiMgdGhpcyBpcyBub3Qgc3BlY2lmaWVkLCBkZWJ1ZyBsaWJyYXJpZXMgKyBQ REIgaXMgc3VmZml4ZWQgd2l0aCAiZCIKb3B0aW9uKEdMUEtfSU5TVEFMTF9NVUxUSV9DT05GSUcg T0ZGKQojIGJ1aWxkIGV4YW1wbGUgcHJvZ3JhbXMKb3B0aW9uKEdMUEtfQlVJTERfRVhBTVBMRVMg IkJ1aWxkIHRoZSBHTFBLIGV4YW1wbGUgcHJvZ3JhbXMiIE9OKQoKIyBvbmx5IGF2YWlsYWJsZSBm b3IgV2luZG93cyBjdXJyZW50bHkKaWYoTk9UIFdJTjMyKQogICAgbWVzc2FnZShGQVRBTF9FUlJP UiAiQ01ha2UgY29uZmlnIGlzIGN1cnJlbnRseSBvbmx5IHVzYWJsZSBmb3IgV2luZG93cyIpCmVu ZGlmKCkKCiMgZW5hYmxlIHRlc3RpbmcgdmlhIGN0ZXN0CmluY2x1ZGUoQ1Rlc3QpCgojIGNoZWNr IGlmIG11bHRpLWNvbmZpZyBvciBub3QKZ2V0X3Byb3BlcnR5KEdMUEtfQlVJTERfTVVMVElfQ09O RklHIEdMT0JBTCBQUk9QRVJUWSBHRU5FUkFUT1JfSVNfTVVMVElfQ09ORklHKQppZihHTFBLX0JV SUxEX01VTFRJX0NPTkZJRykKICAgIG1lc3NhZ2UoU1RBVFVTICJCdWlsZCBnZW5lcmF0b3I6IE11 bHRpLWNvbmZpZyIpCmVsc2UoKQogICAgbWVzc2FnZShTVEFUVVMgIkJ1aWxkIGdlbmVyYXRvcjog U2luZ2xlLWNvbmZpZyIpCmVuZGlmKCkKCiMgc3RhdGljL3NoYXJlZCBsaWJyYXJ5IGJ1aWxkCmlm KEJVSUxEX1NIQVJFRF9MSUJTKQogICAgbWVzc2FnZShTVEFUVVMgIkdMUEsgYnVpbGQ6IFNoYXJl ZCIpCmVsc2UoKQogICAgbWVzc2FnZShTVEFUVVMgIkdMUEsgYnVpbGQ6IFN0YXRpYyIpCmVuZGlm KCkKIyBsaW5rIHN0YXRpY2FsbHkgYWdhaW5zdCBDIHJ1bnRpbWUgbGlicmFyeSBpZiByZXF1ZXN0 ZWQKaWYoV0lOMzIpCiAgICBpZihHTFBLX1VTRV9TVEFUSUNfQ1JUKQogICAgICAgIHNldChDTUFL RV9NU1ZDX1JVTlRJTUVfTElCUkFSWSAiTXVsdGlUaHJlYWRlZCQ8JDxDT05GSUc6RGVidWc+OkRl YnVnPiIpCiAgICAgICAgbWVzc2FnZShTVEFUVVMgIlVDUlQgbGlua2FnZTogU3RhdGljIikKICAg ICMgbGluayBkeW5hbWljYWxseS4gdGhpcyBpcyB0aGUgZGVmYXVsdCBidXQgd2Ugc2V0IHRoaXMg ZXhwbGljaXRseQogICAgZWxzZSgpCiAgICAgICAgc2V0KENNQUtFX01TVkNfUlVOVElNRV9MSUJS QVJZICJNdWx0aVRocmVhZGVkJDwkPENPTkZJRzpEZWJ1Zz46RGVidWc+RExMIikKICAgICAgICBt ZXNzYWdlKFNUQVRVUyAiVUNSVCBsaW5rYWdlOiBTaGFyZWQiKQogICAgZW5kaWYoKQplbmRpZigp CiMgbXVsdGktY29uZmlnIGluc3RhbGxhdGlvbiAob25seSBmb3IgV2luZG93cykKaWYoV0lOMzIg QU5EIEdMUEtfSU5TVEFMTF9NVUxUSV9DT05GSUcpCiAgICBtZXNzYWdlKFNUQVRVUyAiSW5zdGFs bGF0aW9uOiBNdWx0aSIpCmVsc2UoKQogICAgbWVzc2FnZShTVEFUVVMgIkluc3RhbGxhdGlvbjog RmxhdCIpCmVuZGlmKCkKIyBleGFtcGxlIHByb2dyYW1zCmlmKEdMUEtfQlVJTERfRVhBTVBMRVMp CiAgICBtZXNzYWdlKFNUQVRVUyAiQnVpbGQgZXhhbXBsZXM6IE5vIikKZWxzZSgpCiAgICBtZXNz YWdlKFNUQVRVUyAiQnVpbGQgZXhhbXBsZXM6IFllcyIpCmVuZGlmKCkKCiMgZXhhbXBsZXMgZGly ZWN0b3J5IGFic29sdXRlIHBhdGgKc2V0KEdMUEtfRVhBTVBMRVNfRElSICR7Q01BS0VfQ1VSUkVO VF9TT1VSQ0VfRElSfS9leGFtcGxlcykKCiMgY2hlY2sgaWYgZ2VuZXJhdGluZyAzMi0gb3IgNjQt Yml0IGNvZGUKaWYoQ01BS0VfU0laRU9GX1ZPSURfUCBFUVVBTCA4KQogICAgc2V0KEdMUEtfVEFS R0VUXzY0IE9OKQogICAgc2V0KEdMUEtfVEFSR0VUXzMyIE9GRikKICAgIHNldChHTFBLX1dJTkRP V1NfU1VCRElSIHc2NCkKICAgIG1lc3NhZ2UoU1RBVFVTICJBcmNoaXRlY3R1cmU6IDY0LWJpdCIp CmVsc2VpZihDTUFLRV9TSVpFT0ZfVk9JRF9QIEVRVUFMIDQpCiAgICBzZXQoR0xQS19UQVJHRVRf NjQgT0ZGKQogICAgc2V0KEdMUEtfVEFSR0VUXzMyIE9OKQogICAgc2V0KEdMUEtfV0lORE9XU19T VUJESVIgdzMyKQogICAgbWVzc2FnZShTVEFUVVMgIkFyY2hpdGVjdHVyZTogMzItYml0IikKZWxz ZSgpCiAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJJbmNvbXBhdGlibGUgcG9pbnRlciBzaXplLCBt dXN0IGJlIDggb3IgNCBieXRlcyIpCmVuZGlmKCkKCiMgY29tcGlsZSBmbGFncwppZihNU1ZDKQog ICAgIyBUT0RPOiBpbmNyZWFzZSB3YXJuaW5nIGxldmVsIGxhdGVyPyBlLmcuIC9XNCwgL1dhbGwK ICAgIGFkZF9jb21waWxlX2RlZmluaXRpb25zKEhBVkVfQ09ORklHX0ggX0NSVF9TRUNVUkVfTk9f V0FSTklOR1MpCiAgICBhZGRfY29tcGlsZV9vcHRpb25zKC9XMykKZWxzZSgpCiAgICAjIFRPRE86 IGZpbGwgaW4gZm9yICpuaXgKZW5kaWYoKQoKIyBpbmNsdWRlIGRpcmVjdG9yaWVzCmluY2x1ZGVf ZGlyZWN0b3JpZXMoCiAgICBzcmMKICAgIHNyYy9hbWQKICAgIHNyYy9hcGkKICAgIHNyYy9iZmxp YgogICAgc3JjL2NvbGFtZAogICAgc3JjL2RyYWZ0CiAgICBzcmMvZW52CiAgICBzcmMvaW50b3B0 CiAgICBzcmMvbWluaXNhdAogICAgc3JjL21pc2MKICAgIHNyYy9tcGwKICAgIHNyYy9ucHAKICAg IHNyYy9wcm94eQogICAgc3JjL3NpbXBsZXgKICAgIHNyYy96bGliCikKIyBhZGQgdzMyIG9yIHc2 NCBhcyBpbmNsdWRlIGZvciBjb25maWcuaCBhcHByb3ByaWF0ZWx5CmluY2x1ZGVfZGlyZWN0b3Jp ZXMoJHtHTFBLX1dJTkRPV1NfU1VCRElSfSkKc2V0KEdMUEtfQ09ORklHX0hfRElSICR7Q01BS0Vf Q1VSUkVOVF9TT1VSQ0VfRElSfS8ke0dMUEtfV0lORE9XU19TVUJESVJ9KQptZXNzYWdlKFNUQVRV UyAiY29uZmlnLmggZnJvbTogJHtHTFBLX1dJTkRPV1NfU1VCRElSfSIpCgojIGJ1aWxkIEdMUEsg bGlicmFyeS4gbWF5YmUgdXNlIHdpbGRjYXJkcz8gaW5jbHVkZSAuZGVmIGZvciBETEwKYWRkX2xp YnJhcnkoCiAgICBnbHBrCiAgICBzcmMvYW1kL2FtZF8xLmMKICAgIHNyYy9hbWQvYW1kXzIuYwog ICAgc3JjL2FtZC9hbWRfYWF0LmMKICAgIHNyYy9hbWQvYW1kX2NvbnRyb2wuYwogICAgc3JjL2Ft ZC9hbWRfZGVmYXVsdHMuYwogICAgc3JjL2FtZC9hbWRfZHVtcC5jCiAgICBzcmMvYW1kL2FtZF9p bmZvLmMKICAgIHNyYy9hbWQvYW1kX29yZGVyLmMKICAgIHNyYy9hbWQvYW1kX3Bvc3RfdHJlZS5j CiAgICBzcmMvYW1kL2FtZF9wb3N0b3JkZXIuYwogICAgc3JjL2FtZC9hbWRfcHJlcHJvY2Vzcy5j CiAgICBzcmMvYW1kL2FtZF92YWxpZC5jCiAgICBzcmMvYXBpL2FkdmJhcy5jCiAgICBzcmMvYXBp L2FzbmhhbGwuYwogICAgc3JjL2FwaS9hc25scC5jCiAgICBzcmMvYXBpL2Fzbm9rYWxnLmMKICAg IHNyYy9hcGkvY2thc24uYwogICAgc3JjL2FwaS9ja2NuZi5jCiAgICBzcmMvYXBpL2NwbGV4LmMK ICAgIHNyYy9hcGkvY3BwLmMKICAgIHNyYy9hcGkvY3B4YmFzLmMKICAgIHNyYy9hcGkvZ3JhcGgu YwogICAgc3JjL2FwaS9ncmlkZ2VuLmMKICAgIHNyYy9hcGkvaW50ZmVhczEuYwogICAgc3JjL2Fw aS9tYXhmZmFsZy5jCiAgICBzcmMvYXBpL21heGZscC5jCiAgICBzcmMvYXBpL21jZmxwLmMKICAg IHNyYy9hcGkvbWNmb2thbGcuYwogICAgc3JjL2FwaS9tY2ZyZWxheC5jCiAgICBzcmMvYXBpL21p bmlzYXQxLmMKICAgIHNyYy9hcGkvbXBsLmMKICAgIHNyYy9hcGkvbXBzLmMKICAgIHNyYy9hcGkv bmV0Z2VuLmMKICAgIHNyYy9hcGkvbnBwLmMKICAgIHNyYy9hcGkvcHJpcHQuYwogICAgc3JjL2Fw aS9wcm1pcC5jCiAgICBzcmMvYXBpL3Byb2IxLmMKICAgIHNyYy9hcGkvcHJvYjIuYwogICAgc3Jj L2FwaS9wcm9iMy5jCiAgICBzcmMvYXBpL3Byb2I0LmMKICAgIHNyYy9hcGkvcHJvYjUuYwogICAg c3JjL2FwaS9wcnJuZ3MuYwogICAgc3JjL2FwaS9wcnNvbC5jCiAgICBzcmMvYXBpL3JkYXNuLmMK ICAgIHNyYy9hcGkvcmRjYy5jCiAgICBzcmMvYXBpL3JkY25mLmMKICAgIHNyYy9hcGkvcmRpcHQu YwogICAgc3JjL2FwaS9yZG1heGYuYwogICAgc3JjL2FwaS9yZG1jZi5jCiAgICBzcmMvYXBpL3Jk bWlwLmMKICAgIHNyYy9hcGkvcmRwcm9iLmMKICAgIHNyYy9hcGkvcmRzb2wuYwogICAgc3JjL2Fw aS9ybWZnZW4uYwogICAgc3JjL2FwaS9zdHJvbmcuYwogICAgc3JjL2FwaS90b3Bzb3J0LmMKICAg IHNyYy9hcGkvd2Vhay5jCiAgICBzcmMvYXBpL3djbGlxZXguYwogICAgc3JjL2FwaS93cmFzbi5j CiAgICBzcmMvYXBpL3dyY2MuYwogICAgc3JjL2FwaS93cmNuZi5jCiAgICBzcmMvYXBpL3dyaXB0 LmMKICAgIHNyYy9hcGkvd3JtYXhmLmMKICAgIHNyYy9hcGkvd3JtY2YuYwogICAgc3JjL2FwaS93 cm1pcC5jCiAgICBzcmMvYXBpL3dycHJvYi5jCiAgICBzcmMvYXBpL3dyc29sLmMKICAgIHNyYy9i ZmxpYi9idGYuYwogICAgc3JjL2JmbGliL2J0ZmludC5jCiAgICBzcmMvYmZsaWIvZmh2LmMKICAg IHNyYy9iZmxpYi9maHZpbnQuYwogICAgc3JjL2JmbGliL2lmdS5jCiAgICBzcmMvYmZsaWIvbHVm LmMKICAgIHNyYy9iZmxpYi9sdWZpbnQuYwogICAgc3JjL2JmbGliL3NjZi5jCiAgICBzcmMvYmZs aWIvc2NmaW50LmMKICAgIHNyYy9iZmxpYi9zZ2YuYwogICAgc3JjL2JmbGliL3N2YS5jCiAgICBz cmMvY29sYW1kL2NvbGFtZC5jCiAgICBzcmMvZHJhZnQvYmZkLmMKICAgIHNyYy9kcmFmdC9iZngu YwogICAgc3JjL2RyYWZ0L2dscGFwaTA2LmMKICAgIHNyYy9kcmFmdC9nbHBhcGkwNy5jCiAgICBz cmMvZHJhZnQvZ2xwYXBpMDguYwogICAgc3JjL2RyYWZ0L2dscGFwaTA5LmMKICAgIHNyYy9kcmFm dC9nbHBhcGkxMC5jCiAgICBzcmMvZHJhZnQvZ2xwYXBpMTIuYwogICAgc3JjL2RyYWZ0L2dscGFw aTEzLmMKICAgIHNyYy9kcmFmdC9nbHBpb3MwMS5jCiAgICBzcmMvZHJhZnQvZ2xwaW9zMDIuYwog ICAgc3JjL2RyYWZ0L2dscGlvczAzLmMKICAgIHNyYy9kcmFmdC9nbHBpb3MwNy5jCiAgICBzcmMv ZHJhZnQvZ2xwaW9zMDkuYwogICAgc3JjL2RyYWZ0L2dscGlvczExLmMKICAgIHNyYy9kcmFmdC9n bHBpb3MxMi5jCiAgICBzcmMvZHJhZnQvZ2xwaXBtLmMKICAgIHNyYy9kcmFmdC9nbHBtYXQuYwog ICAgc3JjL2RyYWZ0L2dscHNjbC5jCiAgICBzcmMvZHJhZnQvZ2xwc3N4MDEuYwogICAgc3JjL2Ry YWZ0L2dscHNzeDAyLmMKICAgIHNyYy9kcmFmdC9sdXguYwogICAgc3JjL2Vudi9hbGxvYy5jCiAg ICBzcmMvZW52L2Rsc3VwLmMKICAgIHNyYy9lbnYvZW52LmMKICAgIHNyYy9lbnYvZXJyb3IuYwog ICAgc3JjL2Vudi9zdGRjLmMKICAgIHNyYy9lbnYvc3Rkb3V0LmMKICAgIHNyYy9lbnYvc3RyZWFt LmMKICAgIHNyYy9lbnYvdGltZS5jCiAgICBzcmMvZW52L3Rscy5jCiAgICBzcmMvaW50b3B0L2Nm Zy5jCiAgICBzcmMvaW50b3B0L2NmZzEuYwogICAgc3JjL2ludG9wdC9jZmcyLmMKICAgIHNyYy9p bnRvcHQvY2xxY3V0LmMKICAgIHNyYy9pbnRvcHQvY292Z2VuLmMKICAgIHNyYy9pbnRvcHQvZnB1 bXAuYwogICAgc3JjL2ludG9wdC9nbWljdXQuYwogICAgc3JjL2ludG9wdC9nbWlnZW4uYwogICAg c3JjL2ludG9wdC9taXJnZW4uYwogICAgc3JjL2ludG9wdC9zcHYuYwogICAgc3JjL21pbmlzYXQv bWluaXNhdC5jCiAgICBzcmMvbWlzYy9hdmwuYwogICAgc3JjL21pc2MvYmlnbnVtLmMKICAgIHNy Yy9taXNjL2RpbWFjcy5jCiAgICBzcmMvbWlzYy9kbXAuYwogICAgc3JjL21pc2MvZmZhbGcuYwog ICAgc3JjL21pc2MvZnAycmF0LmMKICAgIHNyYy9taXNjL2Z2cy5jCiAgICBzcmMvbWlzYy9nY2Qu YwogICAgc3JjL21pc2MvaGJtLmMKICAgIHNyYy9taXNjL2pkLmMKICAgIHNyYy9taXNjL2tlbGxl ci5jCiAgICBzcmMvbWlzYy9rcy5jCiAgICBzcmMvbWlzYy9tYzEzZC5jCiAgICBzcmMvbWlzYy9t YzIxYS5jCiAgICBzcmMvbWlzYy9tdDEuYwogICAgc3JjL21pc2MvbXlnbXAuYwogICAgc3JjL21p c2Mvb2thbGcuYwogICAgc3JjL21pc2MvcW1kLmMKICAgIHNyYy9taXNjL3JlbGF4NC5jCiAgICBz cmMvbWlzYy9yZ3IuYwogICAgc3JjL21pc2Mvcm5nLmMKICAgIHNyYy9taXNjL3JuZzEuYwogICAg c3JjL21pc2Mvcm91bmQybi5jCiAgICBzcmMvbWlzYy9zcG0uYwogICAgc3JjL21pc2Mvc3RyMmlu dC5jCiAgICBzcmMvbWlzYy9zdHIybnVtLmMKICAgIHNyYy9taXNjL3N0cnNweC5jCiAgICBzcmMv bWlzYy9zdHJ0cmltLmMKICAgIHNyYy9taXNjL3RyaWFuZy5jCiAgICBzcmMvbWlzYy93Y2xpcXVl LmMKICAgIHNyYy9taXNjL3djbGlxdWUxLmMKICAgIHNyYy9tcGwvbXBsMS5jCiAgICBzcmMvbXBs L21wbDIuYwogICAgc3JjL21wbC9tcGwzLmMKICAgIHNyYy9tcGwvbXBsNC5jCiAgICBzcmMvbXBs L21wbDUuYwogICAgc3JjL21wbC9tcGw2LmMKICAgIHNyYy9tcGwvbXBsc3FsLmMKICAgIHNyYy9u cHAvbnBwMS5jCiAgICBzcmMvbnBwL25wcDIuYwogICAgc3JjL25wcC9ucHAzLmMKICAgIHNyYy9u cHAvbnBwNC5jCiAgICBzcmMvbnBwL25wcDUuYwogICAgc3JjL25wcC9ucHA2LmMKICAgIHNyYy9w cm94eS9wcm94eS5jCiAgICBzcmMvcHJveHkvcHJveHkxLmMKICAgIHNyYy9zaW1wbGV4L3NweGF0 LmMKICAgIHNyYy9zaW1wbGV4L3NweGNodXpjLmMKICAgIHNyYy9zaW1wbGV4L3NweGNodXpyLmMK ICAgIHNyYy9zaW1wbGV4L3NweGxwLmMKICAgIHNyYy9zaW1wbGV4L3NweG50LmMKICAgIHNyYy9z aW1wbGV4L3NweHByaW0uYwogICAgc3JjL3NpbXBsZXgvc3B4cHJvYi5jCiAgICBzcmMvc2ltcGxl eC9zcHljaHV6Yy5jCiAgICBzcmMvc2ltcGxleC9zcHljaHV6ci5jCiAgICBzcmMvc2ltcGxleC9z cHlkdWFsLmMKICAgIHNyYy96bGliL2FkbGVyMzIuYwogICAgc3JjL3psaWIvY29tcHJlc3MuYwog ICAgc3JjL3psaWIvY3JjMzIuYwogICAgc3JjL3psaWIvZGVmbGF0ZS5jCiAgICBzcmMvemxpYi9n emNsb3NlLmMKICAgIHNyYy96bGliL2d6bGliLmMKICAgIHNyYy96bGliL2d6cmVhZC5jCiAgICBz cmMvemxpYi9nendyaXRlLmMKICAgIHNyYy96bGliL2luZmZhc3QuYwogICAgc3JjL3psaWIvaW5m bGF0ZS5jCiAgICBzcmMvemxpYi9pbmZ0cmVlcy5jCiAgICBzcmMvemxpYi90cmVlcy5jCiAgICBz cmMvemxpYi91bmNvbXByLmMKICAgIHNyYy96bGliL3ppby5jCiAgICBzcmMvemxpYi96dXRpbC5j CiAgICAke0dMUEtfV0lORE9XU19TVUJESVJ9L2dscGtfJHtHTFBLX1ZFUlNJT05fTUFKT1J9XyR7 R0xQS19WRVJTSU9OX01JTk9SfS5kZWYKKQojIGNvbmZpZy5oIGNvcHlpbmcgZnJvbSBjb25maWdf VkMuIHczMiBhbmQgdzY0IGFyZSBzYW1lIGJ1dCB3ZSBjaG9vc2UKYWRkX2N1c3RvbV9jb21tYW5k KAogICAgVEFSR0VUIGdscGsgUFJFX0JVSUxECiAgICBDT01NQU5ECiAgICAgICAgJHtDTUFLRV9D T01NQU5EfSAtRSBjb3B5X2lmX2RpZmZlcmVudCAke0dMUEtfQ09ORklHX0hfRElSfS9jb25maWdf VkMKICAgICAgICAgICAgJHtHTFBLX0NPTkZJR19IX0RJUn0vY29uZmlnLmgKICAgIENPTU1FTlQg IkNvcHlpbmcgY29uZmlnX1ZDIHRvIGNvbmZpZy5oIgogICAgVkVSQkFUSU0KKQojIGdscGsuaCBp cyB0aGUgcHVibGljIGhlYWRlcgpzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoZ2xwayBQUk9QRVJUSUVT IFBVQkxJQ19IRUFERVIgc3JjL2dscGsuaCkKIyBpZiBub3QgdXNpbmcgbXVsdGktY29uZmlnIGlu c3RhbGwsIHN1ZmZpeCAiZCIgdG8gZ2xwawppZihNU1ZDIEFORCBOT1QgR0xQS19JTlNUQUxMX01V TFRJX0NPTkZJRykKICAgIHNldF90YXJnZXRfcHJvcGVydGllcyhnbHBrIFBST1BFUlRJRVMgT1VU UFVUX05BTUUgZ2xwayQ8JDxDT05GSUc6RGVidWc+OmQ+KQplbmRpZigpCgojIGJ1aWxkIGdscHNv bAphZGRfZXhlY3V0YWJsZShnbHBzb2wgZXhhbXBsZXMvZ2xwc29sLmMpCnRhcmdldF9saW5rX2xp YnJhcmllcyhnbHBzb2wgUFJJVkFURSBnbHBrKQojIGlmIG5vdCB1c2luZyBtdWx0aS1jb25maWcg aW5zdGFsbCwgc3VmZml4ICJkIiB0byBnbHBzb2wKaWYoTVNWQyBBTkQgTk9UIEdMUEtfSU5TVEFM TF9NVUxUSV9DT05GSUcpCiAgICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoZ2xwc29sIFBST1BFUlRJ RVMgT1VUUFVUX05BTUUgZ2xwc29sJDwkPENPTkZJRzpEZWJ1Zz46ZD4pCmVuZGlmKCkKCiMgYnVp bGQgZXhhbXBsZXMKaWYoR0xQS19CVUlMRF9FWEFNUExFUykKICAgIGFkZF9leGVjdXRhYmxlKGlw dHNhbXAgZXhhbXBsZXMvaXB0c2FtcC5jKQogICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGlwdHNh bXAgUFJJVkFURSBnbHBrKQogICAgYWRkX2V4ZWN1dGFibGUobXBsc2FtcDEgZXhhbXBsZXMvbXBs c2FtcDEuYykKICAgIHRhcmdldF9saW5rX2xpYnJhcmllcyhtcGxzYW1wMSBQUklWQVRFIGdscGsp CiAgICBhZGRfZXhlY3V0YWJsZShtcGxzYW1wMiBleGFtcGxlcy9tcGxzYW1wMi5jKQogICAgdGFy Z2V0X2xpbmtfbGlicmFyaWVzKG1wbHNhbXAyIFBSSVZBVEUgZ2xwaykKICAgICMgYWJvcnRzIHNp bmNlIGdscF9uZXRnZW4gZGlzYWJsZWQgZHVlIHRvIGxpY2Vuc2luZyBwcm9ibGVtcwogICAgIyBh ZGRfZXhlY3V0YWJsZShuZXRnZW4gZXhhbXBsZXMvbmV0Z2VuLmMpCiAgICAjIHRhcmdldF9saW5r X2xpYnJhcmllcyhuZXRnZW4gUFJJVkFURSBnbHBrKQogICAgYWRkX2V4ZWN1dGFibGUobnBwc2Ft cCBleGFtcGxlcy9ucHBzYW1wLmMpCiAgICB0YXJnZXRfbGlua19saWJyYXJpZXMobnBwc2FtcCBQ UklWQVRFIGdscGspCiAgICBhZGRfZXhlY3V0YWJsZShzYW1wbGUgZXhhbXBsZXMvc2FtcGxlLmMp CiAgICB0YXJnZXRfbGlua19saWJyYXJpZXMoc2FtcGxlIFBSSVZBVEUgZ2xwaykKICAgIGFkZF9l eGVjdXRhYmxlKHNweHNhbXAxIGV4YW1wbGVzL3NweHNhbXAxLmMpCiAgICB0YXJnZXRfbGlua19s aWJyYXJpZXMoc3B4c2FtcDEgUFJJVkFURSBnbHBrKQogICAgYWRkX2V4ZWN1dGFibGUoc3B4c2Ft cDIgZXhhbXBsZXMvc3B4c2FtcDIuYykKICAgIHRhcmdldF9saW5rX2xpYnJhcmllcyhzcHhzYW1w MiBQUklWQVRFIGdscGspCmVuZGlmKCkKCiMgYWRkIGdscHNvbCBhcyBjdGVzdCB0ZXN0CmFkZF90 ZXN0KE5BTUUgImdscHNvbF92ZXJzaW9uIiBDT01NQU5EIGdscHNvbCAtLXZlcnNpb24pCmFkZF90 ZXN0KAogICAgTkFNRSAiZ2xwc29sX211cnRhZ2giCiAgICBDT01NQU5EIGdscHNvbCAtLW1wcyAk e0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vZXhhbXBsZXMvbXVydGFnaC5tcHMgLS1tYXgKKQoj IGFkZCBleGFtcGxlcyBhcyBhZGRpdGlvbmFsIHRlc3RzCmlmKEdMUEtfQlVJTERfRVhBTVBMRVMp CiAgICBhZGRfdGVzdChOQU1FIGlwdHNhbXAgQ09NTUFORCBpcHRzYW1wIFdPUktJTkdfRElSRUNU T1JZICR7R0xQS19FWEFNUExFU19ESVJ9KQogICAgYWRkX3Rlc3QoTkFNRSBtcGxzYW1wMSBDT01N QU5EIG1wbHNhbXAxIFdPUktJTkdfRElSRUNUT1JZICR7R0xQS19FWEFNUExFU19ESVJ9KQogICAg YWRkX3Rlc3QoTkFNRSBtcGxzYW1wMiBDT01NQU5EIG1wbHNhbXAyIFdPUktJTkdfRElSRUNUT1JZ ICR7R0xQS19FWEFNUExFU19ESVJ9KQogICAgIyBhZGRfdGVzdChOQU1FIG5ldGdlbiBDT01NQU5E IG5ldGdlbiBXT1JLSU5HX0RJUkVDVE9SWSAke0dMUEtfRVhBTVBMRVNfRElSfSkKICAgIGFkZF90 ZXN0KE5BTUUgbnBwc2FtcCBDT01NQU5EIG5wcHNhbXAgV09SS0lOR19ESVJFQ1RPUlkgJHtHTFBL X0VYQU1QTEVTX0RJUn0pCiAgICBhZGRfdGVzdChOQU1FIHNhbXBsZSBDT01NQU5EIHNhbXBsZSBX T1JLSU5HX0RJUkVDVE9SWSAke0dMUEtfRVhBTVBMRVNfRElSfSkKICAgIGFkZF90ZXN0KE5BTUUg c3B4c2FtcDEgQ09NTUFORCBzcHhzYW1wMSBXT1JLSU5HX0RJUkVDVE9SWSAke0dMUEtfRVhBTVBM RVNfRElSfSkKICAgIGFkZF90ZXN0KE5BTUUgc3B4c2FtcDIgQ09NTUFORCBzcHhzYW1wMiBXT1JL SU5HX0RJUkVDVE9SWSAke0dMUEtfRVhBTVBMRVNfRElSfSkKZW5kaWYoKQoKIyB0YXJnZXRzIHRv IGluc3RhbGwuIGdscGsgaW5jbHVkZXMgdGhlIGdscGsuaCBoZWFkZXIKc2V0KEdMUEtfSU5TVEFM TF9UQVJHRVRTIGdscGsgZ2xwc29sKQojIGluc3RhbGwgbGlicmFyeSBhbmQgZ2xwc29sIHdoZW4g Y21ha2UgLS1pbnN0YWxsIGlzIGludm9rZWQKaWYoTVNWQykKICAgICMgRGVidWcgY29uZmlnIHNo b3VsZCBhbHNvIGluc3RhbGwgUERCIGZpbGVzLiB0aGV5IGdvIHRvIGxpYiBpZiBsaWJyYXJpZXMK ICAgICMgYXJlIHN0YXRpYywgYmluIGlmIGxpYnJhcmllcyBhcmUgRExMIGZvciBkZWJ1Z2dpbmcg Y29udmVuaWVuY2UKICAgIGlmKEJVSUxEX1NIQVJFRF9MSUJTKQogICAgICAgIHNldChHTFBLX1BE Ql9JTlNUQUxMX1NVQkRJUiBiaW4pCiAgICBlbHNlKCkKICAgICAgICBzZXQoR0xQS19QREJfSU5T VEFMTF9TVUJESVIgbGliKQogICAgZW5kaWYoKQogICAgIyBtdWx0aS1jb25maWcgaW5zdGFsbGF0 aW9uCiAgICBpZihHTFBLX0lOU1RBTExfTVVMVElfQ09ORklHKQogICAgICAgIGluc3RhbGwoCiAg ICAgICAgICAgIFRBUkdFVFMgJHtHTFBLX0lOU1RBTExfVEFSR0VUU30KICAgICAgICAgICAgUlVO VElNRSBERVNUSU5BVElPTiBiaW4vJDxDT05GSUc+CiAgICAgICAgICAgIExJQlJBUlkgREVTVElO QVRJT04gbGliLyQ8Q09ORklHPgogICAgICAgICAgICBBUkNISVZFIERFU1RJTkFUSU9OIGxpYi8k PENPTkZJRz4KICAgICAgICAgICAgUFVCTElDX0hFQURFUiBERVNUSU5BVElPTiBpbmNsdWRlCiAg ICAgICAgICAgIENPTVBPTkVOVCBnbHBrCiAgICAgICAgKQogICAgICAgICMgRGVidWcgY29uZmln IHNob3VsZCBhbHNvIGluc3RhbGwgUERCIGZpbGVzLiB0aGV5IGdvIHRvIGxpYiBpZgogICAgICAg ICMgbGlicmFyaWVzIGFyZSBzdGF0aWMsIGJpbiBpZiBsaWJyYXJpZXMgYXJlIERMTAogICAgICAg IGlmKEJVSUxEX1NIQVJFRF9MSUJTKQogICAgICAgICAgICBzZXQoR0xQS19QREJfSU5TVEFMTF9T VUJESVIgYmluKQogICAgICAgIGVsc2UoKQogICAgICAgICAgICBzZXQoR0xQS19QREJfSU5TVEFM TF9TVUJESVIgbGliKQogICAgICAgIGVuZGlmKCkKICAgICAgICAjIGluc3RhbGwgUERCIGZpbGUg Zm9yIERlYnVnIGNvbmZpZyBvbmx5CiAgICAgICAgaW5zdGFsbCgKICAgICAgICAgICAgRklMRVMg JHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L0RlYnVnL2dscGsucGRiCiAgICAgICAgICAgIENP TkZJR1VSQVRJT05TIERlYnVnCiAgICAgICAgICAgIERFU1RJTkFUSU9OICR7R0xQS19QREJfSU5T VEFMTF9TVUJESVJ9L0RlYnVnCiAgICAgICAgICAgIENPTVBPTkVOVCBnbHBrCiAgICAgICAgKQog ICAgIyBmbGF0IGluc3RhbGxhdGlvbiB3aGVyZSBhcnRpZmFjdHMgYXJlIHN1ZmZpeGVkIHdpdGgg ImQiCiAgICBlbHNlKCkKICAgICAgICBpbnN0YWxsKAogICAgICAgICAgICBUQVJHRVRTICR7R0xQ S19JTlNUQUxMX1RBUkdFVFN9CiAgICAgICAgICAgIFJVTlRJTUUgREVTVElOQVRJT04gYmluCiAg ICAgICAgICAgIExJQlJBUlkgREVTVElOQVRJT04gbGliCiAgICAgICAgICAgIEFSQ0hJVkUgREVT VElOQVRJT04gbGliCiAgICAgICAgICAgIFBVQkxJQ19IRUFERVIgREVTVElOQVRJT04gaW5jbHVk ZQogICAgICAgICAgICBDT01QT05FTlQgZ2xwawogICAgICAgICkKICAgICAgICBpbnN0YWxsKAog ICAgICAgICAgICBGSUxFUyAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vRGVidWcvZ2xwa2Qu cGRiCiAgICAgICAgICAgIENPTkZJR1VSQVRJT05TIERlYnVnCiAgICAgICAgICAgIERFU1RJTkFU SU9OICR7R0xQS19QREJfSU5TVEFMTF9TVUJESVJ9CiAgICAgICAgICAgIENPTVBPTkVOVCBnbHBr CiAgICAgICAgKQogICAgZW5kaWYoKQojIHR5cGljYWwgZmxhdCAqbml4IGluc3RhbGxhdGlvbgoj IFRPRE86IGZvciAqbml4LCBuZWVkIHBrZy1jb25maWcgc3R1ZmYgdG9vLCBldGMuCmVsc2UoKQog ICAgaW5zdGFsbCgKICAgICAgICBUQVJHRVRTICR7R0xQS19JTlNUQUxMX1RBUkdFVFN9CiAgICAg ICAgUlVOVElNRSBERVNUSU5BVElPTiBiaW4KICAgICAgICBMSUJSQVJZIERFU1RJTkFUSU9OIGxp YgogICAgICAgIEFSQ0hJVkUgREVTVElOQVRJT04gbGliCiAgICAgICAgUFVCTElDX0hFQURFUiBE RVNUSU5BVElPTiBpbmNsdWRlCiAgICAgICAgQ09NUE9ORU5UIGdscGsKICAgICkKZW5kaWYoKQo= --0000000000006be7ed061059fb86--