<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>283120</bug_id>
          
          <creation_ts>2024-11-14 09:19:28 -0800</creation_ts>
          <short_desc>REGRESSION(286543@main): 1% JS2 regression</short_desc>
          <delta_ts>2024-11-14 09:23:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>283050</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>keith_miller</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2075093</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2024-11-14 09:19:28 -0800</bug_when>
    <thetext>https://commits.webkit.org/286543@main introduced a regression:
1% JS2 regression

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2075096</commentid>
    <comment_count>1</comment_count>
      <attachid>473228</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2024-11-14 09:19:50 -0800</bug_when>
    <thetext>Created attachment 473228
REVERT of 286543@main

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2075098</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-11-14 09:22:48 -0800</bug_when>
    <thetext>Committed 286595@main (b5890b4f6935): &lt;https://commits.webkit.org/286595@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 473228.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2075099</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-11-14 09:23:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/139885125&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473228</attachid>
            <date>2024-11-14 09:19:50 -0800</date>
            <delta_ts>2024-11-14 09:22:49 -0800</delta_ts>
            <desc>REVERT of 286543@main</desc>
            <filename>bug-283120-20241114171949.patch</filename>
            <type>text/plain</type>
            <size>30891</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSAzMTA5YjE4NmYxZTQ4YWVjOWZiNDM1NDI1YjViMDkxZmY4Mzg0YTAzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBUaHUsIDE0IE5vdiAyMDI0IDE3OjE5OjQ1ICswMDAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIDI4NjU0M0BtYWluLgogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI4MzEyMAoKMSUgSlMyIHJlZ3Jlc3Npb24KClJldmVydGVkIGNo
YW5nZXNldDoKCiJpZmRlZiBvdXQgYm9va2tlZXBpbmcgdG8gR0Mgd2FzbSBjb2RlIgpodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgzMDUwCmh0dHBzOi8vY29tbWl0cy53
ZWJraXQub3JnLzI4NjU0M0BtYWluCi0tLQogU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlz
dHMudHh0ICAgICAgICAgIHwgICAxIC0KIC4uLi9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qICB8ICAxMCArLQogU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0
ICAgICAgICAgICAgIHwgICAxIC0KIC4uLi9KYXZhU2NyaXB0Q29yZS9oZWFwL0NvbnNlcnZhdGl2
ZVJvb3RzLmggICB8ICAgMSAtCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVD
YWxsZWUuaCAgfCAgIDQgLQogU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUJCUVBsYW4u
Y3BwICAgIHwgICA3IC0tCiAuLi4vSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ2FsbGVlR3JvdXAu
Y3BwICAgfCAgMzEgKy0tLS0tCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ2FsbGVl
R3JvdXAuaCAgfCAgMjggKy0tLS0KIC4uLi93YXNtL1dhc21DYWxsc2l0ZUNvbGxlY3Rpb24uY3Bw
ICAgICAgICAgICB8IDEwMSAtLS0tLS0tLS0tLS0tLS0tLS0KIC4uLi93YXNtL1dhc21DYWxsc2l0
ZUNvbGxlY3Rpb24uaCAgICAgICAgICAgICB8ICA2NCAtLS0tLS0tLS0tLQogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV2FzbU9NR1BsYW4uY3BwICAgIHwgICA5IC0tCiAuLi4vSmF2YVNjcmlw
dENvcmUvd2FzbS9XYXNtT1NSRW50cnlQbGFuLmNwcCAgfCAgIDIgLQogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vV2FzbU9wZXJhdGlvbnMuY3BwIHwgICAyICstCiBTb3VyY2UvV1RGL3d0Zi9S
ZWZQdHIuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgLQogMTQgZmlsZXMgY2hhbmdlZCwg
NyBpbnNlcnRpb25zKCspLCAyNTUgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUNhbGxzaXRlQ29sbGVjdGlvbi5jcHAKIGRlbGV0
ZSBtb2RlIDEwMDY0NCBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ2FsbHNpdGVDb2xs
ZWN0aW9uLmgKCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZjc1NDg3ODYy
YjA4Li4zN2FjYTU4NWY2NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTEyNzQsNyArMTI3NCw2IEBAIHNldChKYXZhU2NyaXB0Q29yZV9QUklWQVRFX0ZSQU1FV09SS19I
RUFERVJTCiAgICAgd2FzbS9XYXNtQ2FsbGVlLmgKICAgICB3YXNtL1dhc21DYWxsZWVHcm91cC5o
CiAgICAgd2FzbS9XYXNtQ2FsbGluZ0NvbnZlbnRpb24uaAotICAgIHdhc20vV2FzbUNhbGxzaXRl
Q29sbGVjdGlvbi5oCiAgICAgd2FzbS9XYXNtQ2FwYWJpbGl0aWVzLmgKICAgICB3YXNtL1dhc21D
b21waWxhdGlvbkNvbnRleHQuaAogICAgIHdhc20vV2FzbUNvbXBpbGF0aW9uTW9kZS5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFmNmU2MDkyYTYyMy4uNTRlMzU3NTI4OTlkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE4OSw3ICsxMTg5LDYgQEAKIAkJNTM5
QkZCQjAyMkFEM0NEQzAwMjNGNEMwIC8qIEpTV2Vha09iamVjdFJlZi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTM5QkZCQUYyMkFEM0NEQzAwMjNGNEMw
IC8qIEpTV2Vha09iamVjdFJlZi5oICovOyB9OwogCQk1MzlERDdGNTIzQzFCQkI1MDA5MDVGMTMg
LyogSlNBcnJheUl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MzlERDdGNDIzQzFCQkE5MDA5MDVGMTMgLyogSlNBcnJheUl0ZXJhdG9yLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTM5RkI4
QkExQzk5REE3QzAwOTQwRkExIC8qIEpTQXJyYXlJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzlGQjhCOTFDOTlEQTdDMDA5NDBGQTEgLyog
SlNBcnJheUlubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwotCQk1M0EzRkYzMjJDRTQxOTI0MDA5QUFCQ0YgLyogV2FzbUNhbGxzaXRlQ29sbGVj
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTNG
QjBEMjgyQ0U0MEQxMTAwOEEzMzMxIC8qIFdhc21DYWxsc2l0ZUNvbGxlY3Rpb24uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1M0I0QkQxMjFGNjhC
MzI1MDBEMkJFQTMgLyogV2FzbU9wcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTMzQjE1REUxREM3RjQ2MzAwNEQ1MDBBIC8qIFdhc21PcHMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1M0I2MDFFQzIw
MzRCOEM1MDA2QkU2NjcgLyogSlNDYXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1M0I2MDFFQjIwMzRCOEM1MDA2QkU2NjcgLyogSlNDYXN0LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTNDMkNFOUMy
MkZDQzNENjAwOEIyODUzIC8qIEFpckhlbHBlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzQzJDRTlCMjJGQ0MzRDYwMDhCMjg1MyAvKiBBaXJIZWxw
ZXJzLmggKi87IH07CkBAIC00MzE2LDggKzQzMTUsNiBAQAogCQk1M0Y5REQ3NjJCRUZENzZEMDA0
QTE3QjcgLyogR0NPd25lZERhdGFTY29wZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHQ093bmVkRGF0YVNj
b3BlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUzRkEyQUUwMUNGMzdGM0YwMDIy
NzExRCAvKiBMTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTExJbnRQcm90b3R5cGVMb2FkQWRhcHRp
dmVTdHJ1Y3R1cmVXYXRjaHBvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUz
RkEyQUUyMUNGMzgwMzkwMDIyNzExRCAvKiBMTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVj
dHVyZVdhdGNocG9pbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTNGQjBEMjgyQ0U0MEQxMTAwOEEzMzMxIC8qIFdhc21D
YWxsc2l0ZUNvbGxlY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2FzbUNhbGxzaXRlQ29sbGVjdGlv
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1M0ZCMEQyOTJDRTQwRDExMDA4QTMz
MzEgLyogV2FzbUNhbGxzaXRlQ29sbGVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXYXNt
Q2FsbHNpdGVDb2xsZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTNG
RDA0RDExRDdBQjE4NzAwMzI4N0QzIC8qIFdhc21DYWxsaW5nQ29udmVudGlvbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXYXNtQ2FsbGluZ0NvbnZlbnRpb24uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1M0ZEMDREMjFEN0FCMTg3MDAzMjg3RDMg
LyogV2FzbUNhbGxpbmdDb252ZW50aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdhc21DYWxsaW5nQ29udmVudGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1NTRDNDE4NTI5QjE0Q0E1MDAzQzlGNzEgLyogV2ViQXNzZW1ibHlHQ09iamVjdEJhc2UuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViQXNzZW1ibHlHQ09iamVj
dEJhc2UuY3BwOyBwYXRoID0ganMvV2ViQXNzZW1ibHlHQ09iamVjdEJhc2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzc0Niw4ICs3NzQzLDYgQEAKIAkJCQk1MjZBQzRCNTFF
OTc3QzVEMDAzNTAwRTEgLyogV2FzbUNhbGxlZUdyb3VwLmggKi8sCiAJCQkJNTNGRDA0RDExRDdB
QjE4NzAwMzI4N0QzIC8qIFdhc21DYWxsaW5nQ29udmVudGlvbi5jcHAgKi8sCiAJCQkJNTNGRDA0
RDIxRDdBQjE4NzAwMzI4N0QzIC8qIFdhc21DYWxsaW5nQ29udmVudGlvbi5oICovLAotCQkJCTUz
RkIwRDI5MkNFNDBEMTEwMDhBMzMzMSAvKiBXYXNtQ2FsbHNpdGVDb2xsZWN0aW9uLmNwcCAqLywK
LQkJCQk1M0ZCMEQyODJDRTQwRDExMDA4QTMzMzEgLyogV2FzbUNhbGxzaXRlQ29sbGVjdGlvbi5o
ICovLAogCQkJCUUzMzdCOTY2MjI0MzI0RTUwMDkzQTgyMCAvKiBXYXNtQ2FwYWJpbGl0aWVzLmgg
Ki8sCiAJCQkJRTMyRDUxQTYyQzZEMEZENjAwQjAxM0QxIC8qIFdhc21Db21waWxhdGlvbkNvbnRl
eHQuY3BwICovLAogCQkJCUUzMkQ1MUE1MkM2RDBGRDYwMEIwMTNEMSAvKiBXYXNtQ29tcGlsYXRp
b25Db250ZXh0LmggKi8sCkBAIC0xMTkxOCw3ICsxMTkxMyw2IEBACiAJCQkJNTI1QzBEREExRTkz
NTg0NzAwMjE4NENEIC8qIFdhc21DYWxsZWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUyNkFDNEI3
MUU5NzdDNUQwMDM1MDBFMSAvKiBXYXNtQ2FsbGVlR3JvdXAuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUzRkQwNEQ0MUQ3QUIyOTEwMDMyODdEMyAvKiBXYXNtQ2FsbGluZ0NvbnZlbnRpb24uaCBpbiBI
ZWFkZXJzICovLAotCQkJCTUzQTNGRjMyMkNFNDE5MjQwMDlBQUJDRiAvKiBXYXNtQ2FsbHNpdGVD
b2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzM3Qjk2NzIyNDMyNEVBMDA5M0E4MjAg
LyogV2FzbUNhcGFiaWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTMyRDUxQUYyQzZEMEZG
MjAwQjAxM0QxIC8qIFdhc21Db21waWxhdGlvbkNvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUzQkQyQjc2MjJGMjc1MDIwMDExNzY1QyAvKiBXYXNtQ29tcGlsYXRpb25Nb2RlLmggaW4gSGVh
ZGVycyAqLywKQEAgLTEyNTY5LDcgKzEyNTYzLDcgQEAKIAkJfTsKIAkJNUQ1RDhBQkYwRTBEMEIw
MzAwRjlDNjkyIC8qIENyZWF0ZSAvdXNyL2xvY2FsL2Jpbi9qc2Mgc3ltbGluayAqLyA9IHsKIAkJ
CWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKLQkJCWJ1aWxkQWN0aW9uTWFzayA9IDg7
CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCiAJCQkpOwog
CQkJaW5wdXRQYXRocyA9ICgKQEAgLTEyNzcwLDcgKzEyNzY0LDcgQEAKIAkJfTsKIAkJRjRDREYz
QzkyN0U5MTQ3NTAwMTkxOTI4IC8qIENvcHkgUHJvZmlsaW5nIERhdGEgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7Ci0JCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgz
NjQ3OworCQkJYnVpbGRBY3Rpb25NYXNrID0gMTI7CiAJCQlmaWxlcyA9ICgKIAkJCSk7CiAJCQlp
bnB1dEZpbGVMaXN0UGF0aHMgPSAoCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
U291cmNlcy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQKaW5kZXggZjlh
MGNkZjAxY2M4Li5kZTllN2Q2ODZhYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQKQEAg
LTExMzcsNyArMTEzNyw2IEBAIHdhc20vV2FzbUJyYW5jaEhpbnRzU2VjdGlvblBhcnNlci5jcHAK
IHdhc20vV2FzbUNhbGxlZS5jcHAKIHdhc20vV2FzbUNhbGxlZUdyb3VwLmNwcAogd2FzbS9XYXNt
Q2FsbGluZ0NvbnZlbnRpb24uY3BwCi13YXNtL1dhc21DYWxsc2l0ZUNvbGxlY3Rpb24uY3BwCiB3
YXNtL1dhc21Db21waWxhdGlvbkNvbnRleHQuY3BwCiB3YXNtL1dhc21Db21waWxhdGlvbk1vZGUu
Y3BwCiB3YXNtL1dhc21Db25zdEV4cHJHZW5lcmF0b3IuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaGVhcC9Db25zZXJ2YXRpdmVSb290cy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvQ29uc2VydmF0aXZlUm9vdHMuaAppbmRleCBjYzQ1ZGVkYWI1ZjMuLmVhYzQx
YTMxYzljYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29uc2VydmF0
aXZlUm9vdHMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db25zZXJ2YXRpdmVS
b290cy5oCkBAIC0zNCw3ICszNCw2IEBAIGNsYXNzIEhlYXBDZWxsOwogY2xhc3MgSklUU3R1YlJv
dXRpbmVTZXQ7CiAKIGNsYXNzIENvbnNlcnZhdGl2ZVJvb3RzIHsKLSAgICBXVEZfRk9SQklEX0hF
QVBfQUxMT0NBVElPTjsKIHB1YmxpYzoKICAgICBDb25zZXJ2YXRpdmVSb290cyhIZWFwJik7CiAg
ICAgfkNvbnNlcnZhdGl2ZVJvb3RzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9OYXRpdmVDYWxsZWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L05hdGl2ZUNhbGxlZS5oCmluZGV4IDg0MGFhZDFiZDZmOS4uZGYxMmFkM2UyMzQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVDYWxsZWUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVDYWxsZWUuaApAQCAtMzQsMTEgKzM0
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKIAot
I2lmIEVOQUJMRShXQVNNX0NPREVfUkVDTEFJTUFUSU9OKQogY2xhc3MgTmF0aXZlQ2FsbGVlIDog
cHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkQW5kQ2FuTWFrZVRocmVhZFNhZmVXZWFrUHRyPE5h
dGl2ZUNhbGxlZT4gewotI2Vsc2UKLWNsYXNzIE5hdGl2ZUNhbGxlZSA6IHB1YmxpYyBUaHJlYWRT
YWZlUmVmQ291bnRlZDxOYXRpdmVDYWxsZWU+IHsKLSNlbmRpZgogICAgIFdURl9NQUtFX0NPTVBB
Q1RfVFpPTkVfQUxMT0NBVEVEKE5hdGl2ZUNhbGxlZSk7CiBwdWJsaWM6CiAgICAgZW51bSBjbGFz
cyBDYXRlZ29yeSA6IHVpbnQ4X3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV2FzbUJCUVBsYW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUJC
UVBsYW4uY3BwCmluZGV4IDEyOTgwYTFkYTFlNS4uZWI0ODcwNzQ2N2E5IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQkJRUGxhbi5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vV2FzbUJCUVBsYW4uY3BwCkBAIC0xMzYsOSArMTM2LDcgQEAgdm9p
ZCBCQlFQbGFuOjp3b3JrKENvbXBpbGF0aW9uRWZmb3J0KQogCiAgICAgICAgIG1fY2FsbGVlR3Jv
dXAtPnNldEJCUUNhbGxlZShsb2NrZXIsIG1fZnVuY3Rpb25JbmRleCwgY2FsbGVlLmNvcHlSZWYo
KSk7CiAgICAgICAgIEFTU0VSVChtX2NhbGxlZUdyb3VwLT5yZXBsYWNlbWVudChsb2NrZXIsIGNh
bGxlZS0+aW5kZXgoKSkgPT0gY2FsbGVlLnB0cigpKTsKLSNpZiBFTkFCTEUoV0FTTV9DT0RFX1JF
Q0xBSU1BVElPTikKICAgICAgICAgbV9jYWxsZWVHcm91cC0+cmVwb3J0Q2FsbGVlcyhsb2NrZXIs
IGNhbGxlZS5wdHIoKSwgZnVuY3Rpb24tPm91dGdvaW5nSklURGlyZWN0Q2FsbGVlcyk7Ci0jZW5k
aWYKIAogICAgICAgICBmb3IgKGF1dG8mIGNhbGwgOiBjYWxsZWUtPndhc21Ub1dhc21DYWxsc2l0
ZXMoKSkgewogICAgICAgICAgICAgQ29kZVB0cjxXYXNtRW50cnlQdHJUYWc+IGVudHJ5cG9pbnQ7
CkBAIC0xNTQsMTIgKzE1Miw3IEBAIHZvaWQgQkJRUGxhbjo6d29yayhDb21waWxhdGlvbkVmZm9y
dCkKICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpyZXBhdGNoUG9pbnRlcihjYWxsLmNhbGxl
ZUxvY2F0aW9uLCBDYWxsZWVCaXRzOjpib3hOYXRpdmVDYWxsZWVJZkV4aXN0cyhjYWxsZWVDYWxs
ZWUpKTsKICAgICAgICAgfQogCi0jaWYgRU5BQkxFKFdBU01fQ09ERV9SRUNMQUlNQVRJT04pCiAg
ICAgICAgIG1fY2FsbGVlR3JvdXAtPnVwZGF0ZUNhbGxzaXRlc1RvQ2FsbFVzKGxvY2tlciwgQ29k
ZUxvY2F0aW9uTGFiZWw8V2FzbUVudHJ5UHRyVGFnPihlbnRyeXBvaW50KSwgbV9mdW5jdGlvbklu
ZGV4KTsKLSNlbHNlCi0gICAgICAgIG1fY2FsbGVlR3JvdXAtPmNhbGxzaXRlQ29sbGVjdGlvbigp
LmFkZENhbGxzaXRlcyhsb2NrZXIsIG1fY2FsbGVlR3JvdXAuZ2V0KCksIGNhbGxlZS0+d2FzbVRv
V2FzbUNhbGxzaXRlcygpKTsKLSAgICAgICAgbV9jYWxsZWVHcm91cC0+Y2FsbHNpdGVDb2xsZWN0
aW9uKCkudXBkYXRlQ2FsbHNpdGVzVG9DYWxsVXMobG9ja2VyLCBtX2NhbGxlZUdyb3VwLmdldCgp
LCBDb2RlTG9jYXRpb25MYWJlbDxXYXNtRW50cnlQdHJUYWc+KGVudHJ5cG9pbnQpLCBtX2Z1bmN0
aW9uSW5kZXgsIGZ1bmN0aW9uSW5kZXhTcGFjZSk7Ci0jZW5kaWYKIAogICAgICAgICB7CiAgICAg
ICAgICAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV2FzbUNhbGxlZUdyb3VwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dhc21DYWxsZWVHcm91cC5jcHAKaW5kZXggODBiYWI2N2M3ZTNiLi5kNTc2OTdjMTcy
YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21DYWxsZWVHcm91
cC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUNhbGxlZUdyb3VwLmNw
cApAQCAtNTksMTUgKzU5LDEwIEBAIENhbGxlZUdyb3VwOjpDYWxsZWVHcm91cChNZW1vcnlNb2Rl
IG1vZGUsIGNvbnN0IENhbGxlZUdyb3VwJiBvdGhlcikKICAgICAsIG1fbW9kZShtb2RlKQogICAg
ICwgbV9sbGludENhbGxlZXMob3RoZXIubV9sbGludENhbGxlZXMpCiAgICAgLCBtX2pzRW50cnlw
b2ludENhbGxlZXMob3RoZXIubV9qc0VudHJ5cG9pbnRDYWxsZWVzKQotI2lmIEVOQUJMRShXQVNN
X0NPREVfUkVDTEFJTUFUSU9OKQogICAgICwgbV9jYWxsZXJzKG1fY2FsbGVlQ291bnQpCi0jZW5k
aWYKICAgICAsIG1fd2FzbUluZGlyZWN0Q2FsbEVudHJ5UG9pbnRzKG90aGVyLm1fd2FzbUluZGly
ZWN0Q2FsbEVudHJ5UG9pbnRzKQogICAgICwgbV93YXNtSW5kaXJlY3RDYWxsV2FzbUNhbGxlZXMo
b3RoZXIubV93YXNtSW5kaXJlY3RDYWxsV2FzbUNhbGxlZXMpCiAgICAgLCBtX3dhc21Ub1dhc21F
eGl0U3R1YnMob3RoZXIubV93YXNtVG9XYXNtRXhpdFN0dWJzKQotI2lmICFFTkFCTEUoV0FTTV9D
T0RFX1JFQ0xBSU1BVElPTikKLSAgICAsIG1fY2FsbHNpdGVDb2xsZWN0aW9uKG1fY2FsbGVlQ291
bnQpCi0jZW5kaWYKIHsKICAgICBMb2NrZXIgbG9ja2VyIHsgbV9sb2NrIH07CiAgICAgc2V0Q29t
cGlsYXRpb25GaW5pc2hlZCgpOwpAQCAtNzcsMTIgKzcyLDcgQEAgQ2FsbGVlR3JvdXA6OkNhbGxl
ZUdyb3VwKFZNJiB2bSwgTWVtb3J5TW9kZSBtb2RlLCBNb2R1bGVJbmZvcm1hdGlvbiYgbW9kdWxl
SW5mb3IKICAgICA6IG1fY2FsbGVlQ291bnQobW9kdWxlSW5mb3JtYXRpb24uaW50ZXJuYWxGdW5j
dGlvbkNvdW50KCkpCiAgICAgLCBtX21vZGUobW9kZSkKICAgICAsIG1fbGxpbnRDYWxsZWVzKGxs
aW50Q2FsbGVlcykKLSNpZiBFTkFCTEUoV0FTTV9DT0RFX1JFQ0xBSU1BVElPTikKICAgICAsIG1f
Y2FsbGVycyhtX2NhbGxlZUNvdW50KQotI2Vsc2UKLSAgICAsIG1fY2FsbHNpdGVDb2xsZWN0aW9u
KG1fY2FsbGVlQ291bnQpCi0jZW5kaWYKLQogewogICAgIFJlZlB0cjxDYWxsZWVHcm91cD4gcHJv
dGVjdGVkVGhpcyA9IHRoaXM7CiAgICAgbV9wbGFuID0gYWRvcHRSZWYoKm5ldyBMTEludFBsYW4o
dm0sIG1vZHVsZUluZm9ybWF0aW9uLCBtX2xsaW50Q2FsbGVlcy0+ZGF0YSgpLCBjcmVhdGVTaGFy
ZWRUYXNrPFBsYW46OkNhbGxiYWNrVHlwZT4oW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBXVEZNb3Zl
KHByb3RlY3RlZFRoaXMpXSAoUGxhbiYpIHsKQEAgLTEwNyw5ICs5Nyw2IEBAIENhbGxlZUdyb3Vw
OjpDYWxsZWVHcm91cChWTSYgdm0sIE1lbW9yeU1vZGUgbW9kZSwgTW9kdWxlSW5mb3JtYXRpb24m
IG1vZHVsZUluZm9yCiAgICAgICAgIH0KIAogICAgICAgICBtX3dhc21Ub1dhc21FeGl0U3R1YnMg
PSBtX3BsYW4tPnRha2VXYXNtVG9XYXNtRXhpdFN0dWJzKCk7Ci0jaWYgIUVOQUJMRShXQVNNX0NP
REVfUkVDTEFJTUFUSU9OKQotICAgICAgICBtX2NhbGxzaXRlQ29sbGVjdGlvbi5hZGRDYWxsZWVH
cm91cENhbGxzaXRlcyhsb2NrZXIsICp0aGlzLCBtX3BsYW4tPnRha2VXYXNtVG9XYXNtQ2FsbHNp
dGVzKCkpOwotI2VuZGlmCiAgICAgICAgIG1fanNFbnRyeXBvaW50Q2FsbGVlcyA9IHN0YXRpY19j
YXN0PExMSW50UGxhbio+KG1fcGxhbi5nZXQoKSktPnRha2VKU0NhbGxlZXMoKTsKIAogICAgICAg
ICBzZXRDb21waWxhdGlvbkZpbmlzaGVkKCk7CkBAIC0xMzAsMTEgKzExNyw3IEBAIENhbGxlZUdy
b3VwOjpDYWxsZWVHcm91cChWTSYgdm0sIE1lbW9yeU1vZGUgbW9kZSwgTW9kdWxlSW5mb3JtYXRp
b24mIG1vZHVsZUluZm9yCiAgICAgOiBtX2NhbGxlZUNvdW50KG1vZHVsZUluZm9ybWF0aW9uLmlu
dGVybmFsRnVuY3Rpb25Db3VudCgpKQogICAgICwgbV9tb2RlKG1vZGUpCiAgICAgLCBtX2lwaW50
Q2FsbGVlcyhpcGludENhbGxlZXMpCi0jaWYgRU5BQkxFKFdBU01fQ09ERV9SRUNMQUlNQVRJT04p
CiAgICAgLCBtX2NhbGxlcnMobV9jYWxsZWVDb3VudCkKLSNlbHNlCi0gICAgLCBtX2NhbGxzaXRl
Q29sbGVjdGlvbihtX2NhbGxlZUNvdW50KQotI2VuZGlmCiB7CiAgICAgUmVmUHRyPENhbGxlZUdy
b3VwPiBwcm90ZWN0ZWRUaGlzID0gdGhpczsKICAgICBtX3BsYW4gPSBhZG9wdFJlZigqbmV3IElQ
SW50UGxhbih2bSwgbW9kdWxlSW5mb3JtYXRpb24sIG1faXBpbnRDYWxsZWVzLT5kYXRhKCksIGNy
ZWF0ZVNoYXJlZFRhc2s8UGxhbjo6Q2FsbGJhY2tUeXBlPihbdGhpcywgcHJvdGVjdGVkVGhpcyA9
IFdURk1vdmUocHJvdGVjdGVkVGhpcyldIChQbGFuJikgewpAQCAtMTU0LDkgKzEzNyw2IEBAIENh
bGxlZUdyb3VwOjpDYWxsZWVHcm91cChWTSYgdm0sIE1lbW9yeU1vZGUgbW9kZSwgTW9kdWxlSW5m
b3JtYXRpb24mIG1vZHVsZUluZm9yCiAgICAgICAgIH0KIAogICAgICAgICBtX3dhc21Ub1dhc21F
eGl0U3R1YnMgPSBtX3BsYW4tPnRha2VXYXNtVG9XYXNtRXhpdFN0dWJzKCk7Ci0jaWYgIUVOQUJM
RShXQVNNX0NPREVfUkVDTEFJTUFUSU9OKQotICAgICAgICBtX2NhbGxzaXRlQ29sbGVjdGlvbi5h
ZGRDYWxsZWVHcm91cENhbGxzaXRlcyhsb2NrZXIsICp0aGlzLCBtX3BsYW4tPnRha2VXYXNtVG9X
YXNtQ2FsbHNpdGVzKCkpOwotI2VuZGlmCiAgICAgICAgIG1fanNFbnRyeXBvaW50Q2FsbGVlcyA9
IHN0YXRpY19jYXN0PElQSW50UGxhbio+KG1fcGxhbi5nZXQoKSktPnRha2VKU0NhbGxlZXMoKTsK
IAogICAgICAgICBzZXRDb21waWxhdGlvbkZpbmlzaGVkKCk7CkBAIC0yMTksNyArMTk5LDYgQEAg
QkJRQ2FsbGVlKiBDYWxsZWVHcm91cDo6dHJ5R2V0QkJRQ2FsbGVlRm9yTG9vcE9TUihjb25zdCBB
YnN0cmFjdExvY2tlciYsIFZNJiB2bSwKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBh
dXRvJiBtYXliZUNhbGxlZSA9IG1fYmJxQ2FsbGVlc1tmdW5jdGlvbkluZGV4XTsKLSNpZiBFTkFC
TEUoV0FTTV9DT0RFX1JFQ0xBSU1BVElPTikKICAgICBpZiAobWF5YmVDYWxsZWUuaXNTdHJvbmco
KSkKICAgICAgICAgcmV0dXJuIG1heWJlQ2FsbGVlLnB0cigpOwogCkBAIC0yMzIsMTMgKzIxMSw4
IEBAIEJCUUNhbGxlZSogQ2FsbGVlR3JvdXA6OnRyeUdldEJCUUNhbGxlZUZvckxvb3BPU1IoY29u
c3QgQWJzdHJhY3RMb2NrZXImLCBWTSYgdm0sCiAgICAgQkJRQ2FsbGVlKiByZXN1bHQgPSBiYnFD
YWxsZWUuZ2V0KCk7CiAgICAgdm0uaGVhcC5yZXBvcnRXYXNtQ2FsbGVlUGVuZGluZ0Rlc3RydWN0
aW9uKGJicUNhbGxlZS5yZWxlYXNlTm9uTnVsbCgpKTsKICAgICByZXR1cm4gcmVzdWx0OwotI2Vs
c2UKLSAgICBVTlVTRURfUEFSQU0odm0pOwotICAgIHJldHVybiBtYXliZUNhbGxlZS5nZXQoKTsK
LSNlbmRpZgogfQogCi0jaWYgRU5BQkxFKFdBU01fQ09ERV9SRUNMQUlNQVRJT04pCiB2b2lkIENh
bGxlZUdyb3VwOjpyZWxlYXNlQkJRQ2FsbGVlKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgRnVuY3Rp
b25Db2RlSW5kZXggZnVuY3Rpb25JbmRleCkKIHsKICAgICBpZiAoIU9wdGlvbnM6OmZyZWVSZXRp
cmVkV2FzbUNvZGUoKSkKQEAgLTI1Niw5ICsyMzAsNyBAQCB2b2lkIENhbGxlZUdyb3VwOjpyZWxl
YXNlQkJRQ2FsbGVlKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgRnVuY3Rpb25Db2RlSW5kZXggZnVu
YwogICAgIGJicUNhbGxlZS0+cmVwb3J0VG9WTXNGb3JEZXN0cnVjdGlvbigpOwogfQogI2VuZGlm
Ci0jZW5kaWYKIAotI2lmIEVOQUJMRShXQVNNX0NPREVfUkVDTEFJTUFUSU9OKQogI2lmIEVOQUJM
RShXRUJBU1NFTUJMWV9PTUdKSVQpIHx8IEVOQUJMRShXRUJBU1NFTUJMWV9CQlFKSVQpCiB2b2lk
IENhbGxlZUdyb3VwOjp1cGRhdGVDYWxsc2l0ZXNUb0NhbGxVcyhjb25zdCBBYnN0cmFjdExvY2tl
ciYgbG9ja2VyLCBDb2RlTG9jYXRpb25MYWJlbDxXYXNtRW50cnlQdHJUYWc+IGVudHJ5cG9pbnQs
IEZ1bmN0aW9uQ29kZUluZGV4IGZ1bmN0aW9uSW5kZXgpCiB7CkBAIC0zNzcsNyArMzQ5LDcgQEAg
dm9pZCBDYWxsZWVHcm91cDo6cmVwb3J0Q2FsbGVlcyhjb25zdCBBYnN0cmFjdExvY2tlciYsIEpJ
VENhbGxlZSogY2FsbGVyLCBjb25zdAogICAgICAgICApOwogICAgIH0KIH0KLSNlbmRpZiAvLyBF
TkFCTEUoV0VCQVNTRU1CTFlfT01HSklUKSB8fCBFTkFCTEUoV0VCQVNTRU1CTFlfQkJRSklUKQor
I2VuZGlmCiAKIFRyaVN0YXRlIENhbGxlZUdyb3VwOjpjYWxsZWVJc1JlZmVyZW5jZWQoY29uc3Qg
QWJzdHJhY3RMb2NrZXImLCBXYXNtOjpDYWxsZWUqIGNhbGxlZSkgY29uc3QKIHsKQEAgLTQxNyw3
ICszODksNiBAQCBUcmlTdGF0ZSBDYWxsZWVHcm91cDo6Y2FsbGVlSXNSZWZlcmVuY2VkKGNvbnN0
IEFic3RyYWN0TG9ja2VyJiwgV2FzbTo6Q2FsbGVlKiBjYQogICAgICAgICBSRUxFQVNFX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KIH0KLSNlbmRpZiAvLyBFTkFCTEUoV0FTTV9DT0RFX1JF
Q0xBSU1BVElPTikKIAogYm9vbCBDYWxsZWVHcm91cDo6aXNTYWZlVG9SdW4oTWVtb3J5TW9kZSBt
ZW1vcnlNb2RlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUNhbGxlZUdyb3VwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ2FsbGVlR3Jv
dXAuaAppbmRleCAzNTFlZmM3YmI3MjYuLmZlODE1YmY5N2I3NyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUNhbGxlZUdyb3VwLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV2FzbUNhbGxlZUdyb3VwLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNs
dWRlICJNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCIKICNpbmNsdWRlICJNZW1vcnlNb2RlLmgiCiAj
aW5jbHVkZSAiV2FzbUNhbGxlZS5oIgotI2luY2x1ZGUgIldhc21DYWxsc2l0ZUNvbGxlY3Rpb24u
aCIKICNpbmNsdWRlICJXYXNtSlMuaCIKICNpbmNsdWRlIDx3dGYvQ3Jvc3NUaHJlYWRDb3BpZXIu
aD4KICNpbmNsdWRlIDx3dGYvRml4ZWRCaXRWZWN0b3IuaD4KQEAgLTUzLDcgKzUyLDYgQEAgc3Ry
dWN0IFVubGlua2VkV2FzbVRvV2FzbUNhbGw7CiAKIGNsYXNzIENhbGxlZUdyb3VwIGZpbmFsIDog
cHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPENhbGxlZUdyb3VwPiB7CiBwdWJsaWM6Ci0gICAg
ZnJpZW5kIGNsYXNzIENhbGxzaXRlQ29sbGVjdGlvbjsKICAgICB0eXBlZGVmIHZvaWQgQ2FsbGJh
Y2tUeXBlKFJlZjxDYWxsZWVHcm91cD4mJiwgYm9vbCk7CiAgICAgdXNpbmcgQXN5bmNDb21waWxh
dGlvbkNhbGxiYWNrID0gUmVmUHRyPFdURjo6U2hhcmVkVGFzazxDYWxsYmFja1R5cGU+PjsKICAg
ICBzdGF0aWMgUmVmPENhbGxlZUdyb3VwPiBjcmVhdGVGcm9tTExJbnQoVk0mLCBNZW1vcnlNb2Rl
LCBNb2R1bGVJbmZvcm1hdGlvbiYsIFJlZlB0cjxMTEludENhbGxlZXM+KTsKQEAgLTE1Myw3ICsx
NTEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRCQlFDYWxsZWUoY29uc3QgQWJzdHJhY3RMb2Nr
ZXImLCBGdW5jdGlvbkNvZGVJbmRleCBmdW5jdGlvbkluZGV4LCBSZWY8QkJRQ2FsbGVlPiYmIGNh
bGxlZSkgV1RGX1JFUVVJUkVTX0xPQ0sobV9sb2NrKQogICAgIHsKICAgICAgICAgaWYgKG1fYmJx
Q2FsbGVlcy5pc0VtcHR5KCkpCi0gICAgICAgICAgICBtX2JicUNhbGxlZXMgPSBGaXhlZFZlY3Rv
cjxCQlFTbWFydFB0clR5cGU+KG1fY2FsbGVlQ291bnQpOworICAgICAgICAgICAgbV9iYnFDYWxs
ZWVzID0gRml4ZWRWZWN0b3I8VGhyZWFkU2FmZVdlYWtPclN0cm9uZ1B0cjxCQlFDYWxsZWU+Piht
X2NhbGxlZUNvdW50KTsKICAgICAgICAgbV9iYnFDYWxsZWVzW2Z1bmN0aW9uSW5kZXhdID0gV1RG
TW92ZShjYWxsZWUpOwogICAgIH0KIApAQCAtMTc2LDEzICsxNzQsMTEgQEAgcHVibGljOgogICAg
ICAgICBtX29tZ0NhbGxlZXNbZnVuY3Rpb25JbmRleF0gPSBXVEZNb3ZlKGNhbGxlZSk7CiAgICAg
fQogCi0jaWYgRU5BQkxFKFdBU01fQ09ERV9SRUNMQUlNQVRJT04pCiAgICAgdm9pZCByZWNvcmRP
TUdPU1JFbnRyeUNhbGxlZShjb25zdCBBYnN0cmFjdExvY2tlciYsIEZ1bmN0aW9uQ29kZUluZGV4
IGZ1bmN0aW9uSW5kZXgsIE9NR09TUkVudHJ5Q2FsbGVlJiBjYWxsZWUpIFdURl9SRVFVSVJFU19M
T0NLKG1fbG9jaykKICAgICB7CiAgICAgICAgIGF1dG8gcmVzdWx0ID0gbV9vc3JFbnRyeUNhbGxl
ZXMuYWRkKGZ1bmN0aW9uSW5kZXgsIGNhbGxlZSk7CiAgICAgICAgIEFTU0VSVF9VTlVTRUQocmVz
dWx0LCByZXN1bHQuaXNOZXdFbnRyeSk7CiAgICAgfQotI2VuZGlmCiAjZW5kaWYKIAogICAgIENv
ZGVQdHI8V2FzbUVudHJ5UHRyVGFnPiogZW50cnlwb2ludExvYWRMb2NhdGlvbkZyb21GdW5jdGlv
bkluZGV4U3BhY2UoRnVuY3Rpb25TcGFjZUluZGV4IGZ1bmN0aW9uSW5kZXhTcGFjZSkKQEAgLTIw
OSw3ICsyMDUsNiBAQCBwdWJsaWM6CiAKICAgICBNZW1vcnlNb2RlIG1vZGUoKSBjb25zdCB7IHJl
dHVybiBtX21vZGU7IH0KIAotI2lmIEVOQUJMRShXQVNNX0NPREVfUkVDTEFJTUFUSU9OKQogI2lm
IEVOQUJMRShXRUJBU1NFTUJMWV9PTUdKSVQpIHx8IEVOQUJMRShXRUJBU1NFTUJMWV9CQlFKSVQp
CiAgICAgdm9pZCB1cGRhdGVDYWxsc2l0ZXNUb0NhbGxVcyhjb25zdCBBYnN0cmFjdExvY2tlciYs
IENvZGVMb2NhdGlvbkxhYmVsPFdhc21FbnRyeVB0clRhZz4gZW50cnlwb2ludCwgRnVuY3Rpb25D
b2RlSW5kZXggZnVuY3Rpb25JbmRleCkgV1RGX1JFUVVJUkVTX0xPQ0sobV9sb2NrKTsKICAgICB2
b2lkIHJlcG9ydENhbGxlZXMoY29uc3QgQWJzdHJhY3RMb2NrZXImLCBKSVRDYWxsZWUqIGNhbGxl
ciwgY29uc3QgRml4ZWRCaXRWZWN0b3ImIGNhbGxlZXMpIFdURl9SRVFVSVJFU19MT0NLKG1fbG9j
ayk7CkBAIC0yMTgsMTIgKzIxMyw2IEBAIHB1YmxpYzoKICAgICAvLyBUcmlTdGF0ZTo6SW5kZXRl
cm1pbmF0ZSBtZWFucyB3ZWFrbHkgcmVmZXJlbmNlZC4KICAgICBUcmlTdGF0ZSBjYWxsZWVJc1Jl
ZmVyZW5jZWQoY29uc3QgQWJzdHJhY3RMb2NrZXImLCBXYXNtOjpDYWxsZWUqKSBjb25zdCBXVEZf
UkVRVUlSRVNfTE9DSyhtX2xvY2spOwogCi0jZWxzZQotCi0gICAgQ2FsbHNpdGVDb2xsZWN0aW9u
JiBjYWxsc2l0ZUNvbGxlY3Rpb24oKSB7IHJldHVybiBtX2NhbGxzaXRlQ29sbGVjdGlvbjsgfQot
ICAgIGNvbnN0IENhbGxzaXRlQ29sbGVjdGlvbiYgY2FsbHNpdGVDb2xsZWN0aW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9jYWxsc2l0ZUNvbGxlY3Rpb247IH0KLSNlbmRpZgotCiAgICAgfkNhbGxlZUdy
b3VwKCk7CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBQbGFuOwpAQCAtMjQ2LDE5ICsyMzUs
MTIgQEAgcHJpdmF0ZToKICAgICBGaXhlZFZlY3RvcjxSZWZQdHI8T01HQ2FsbGVlPj4gbV9vbWdD
YWxsZWVzOwogI2VuZGlmCiAjaWYgRU5BQkxFKFdFQkFTU0VNQkxZX0JCUUpJVCkKLSNpZiBFTkFC
TEUoV0FTTV9DT0RFX1JFQ0xBSU1BVElPTikKLSAgICB1c2luZyBCQlFTbWFydFB0clR5cGUgPSBU
aHJlYWRTYWZlV2Vha09yU3Ryb25nUHRyPEJCUUNhbGxlZT47Ci0jZWxzZQotICAgIHVzaW5nIEJC
UVNtYXJ0UHRyVHlwZSA9IFJlZlB0cjxCQlFDYWxsZWU+OwotI2VuZGlmCi0KLSAgICBGaXhlZFZl
Y3RvcjxCQlFTbWFydFB0clR5cGU+IG1fYmJxQ2FsbGVlczsKKyAgICBGaXhlZFZlY3RvcjxUaHJl
YWRTYWZlV2Vha09yU3Ryb25nUHRyPEJCUUNhbGxlZT4+IG1fYmJxQ2FsbGVlczsKICNlbmRpZgog
ICAgIFJlZlB0cjxJUEludENhbGxlZXM+IG1faXBpbnRDYWxsZWVzOwogICAgIFJlZlB0cjxMTElu
dENhbGxlZXM+IG1fbGxpbnRDYWxsZWVzOwogICAgIFVuY2hlY2tlZEtleUhhc2hNYXA8dWludDMy
X3QsIFJlZlB0cjxKU0VudHJ5cG9pbnRDYWxsZWU+LCBEZWZhdWx0SGFzaDx1aW50MzJfdD4sIFdU
Rjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDMyX3Q+PiBtX2pzRW50cnlwb2lu
dENhbGxlZXM7Ci0jaWYgRU5BQkxFKFdBU01fQ09ERV9SRUNMQUlNQVRJT04pCi0jaWYgKEVOQUJM
RShXRUJBU1NFTUJMWV9CQlFKSVQpIHx8IEVOQUJMRShXRUJBU1NFTUJMWV9PTUdKSVQpKQorI2lm
IEVOQUJMRShXRUJBU1NFTUJMWV9CQlFKSVQpIHx8IEVOQUJMRShXRUJBU1NFTUJMWV9PTUdKSVQp
CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBwcm9iYWJseSBmaW5kIHNvbWUgd2F5IHRvIHBydW5l
IGRlYWQgZW50cmllcyBwZXJpb2RpY2FsbHkuCiAgICAgVW5jaGVja2VkS2V5SGFzaE1hcDx1aW50
MzJfdCwgVGhyZWFkU2FmZVdlYWtQdHI8T01HT1NSRW50cnlDYWxsZWU+LCBEZWZhdWx0SGFzaDx1
aW50MzJfdD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dWludDMyX3Q+PiBt
X29zckVudHJ5Q2FsbGVlczsKICNlbmRpZgpAQCAtMjcwLDE0ICsyNTIsMTAgQEAgcHJpdmF0ZToK
ICAgICB1c2luZyBTcGFyc2VDYWxsZXJzID0gSGFzaFNldDx1aW50MzJfdCwgRGVmYXVsdEhhc2g8
dWludDMyX3Q+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVpbnQzMl90Pj47
CiAgICAgdXNpbmcgRGVuc2VDYWxsZXJzID0gQml0VmVjdG9yOwogICAgIEZpeGVkVmVjdG9yPHN0
ZDo6dmFyaWFudDxTcGFyc2VDYWxsZXJzLCBEZW5zZUNhbGxlcnM+PiBtX2NhbGxlcnM7Ci0jZW5k
aWYgLy8gRU5BQkxFKFdBU01fQ09ERV9SRUNMQUlNQVRJT04pCiAgICAgRml4ZWRWZWN0b3I8Q29k
ZVB0cjxXYXNtRW50cnlQdHJUYWc+PiBtX3dhc21JbmRpcmVjdENhbGxFbnRyeVBvaW50czsKICAg
ICBGaXhlZFZlY3RvcjxSZWZQdHI8V2FzbTo6Q2FsbGVlPj4gbV93YXNtSW5kaXJlY3RDYWxsV2Fz
bUNhbGxlZXM7CiAgICAgRml4ZWRWZWN0b3I8TWFjcm9Bc3NlbWJsZXJDb2RlUmVmPFdhc21FbnRy
eVB0clRhZz4+IG1fd2FzbVRvV2FzbUV4aXRTdHViczsKICAgICBSZWZQdHI8RW50cnlQbGFuPiBt
X3BsYW47Ci0jaWYgIUVOQUJMRShXQVNNX0NPREVfUkVDTEFJTUFUSU9OKQotICAgIENhbGxzaXRl
Q29sbGVjdGlvbiBtX2NhbGxzaXRlQ29sbGVjdGlvbjsKLSNlbmRpZgogICAgIHN0ZDo6YXRvbWlj
PGJvb2w+IG1fY29tcGlsYXRpb25GaW5pc2hlZCB7IGZhbHNlIH07CiAgICAgU3RyaW5nIG1fZXJy
b3JNZXNzYWdlOwogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV2FzbUNhbGxzaXRlQ29sbGVjdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9XYXNtQ2FsbHNpdGVDb2xsZWN0aW9uLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZjkzMjU5ZGMxOTY5Li4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV2FzbUNhbGxzaXRlQ29sbGVjdGlvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMDEg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXYXNtQ2FsbHNpdGVDb2xsZWN0aW9uLmgiCi0K
LSNpZiBFTkFCTEUoV0VCQVNTRU1CTFkpCi0KLSNpbmNsdWRlICJXYXNtQ2FsbGVlLmgiCi0jaW5j
bHVkZSAiV2FzbUNhbGxlZUdyb3VwLmgiCi0jaW5jbHVkZSAiV2FzbU1hY2hpbmVUaHJlYWRzLmgi
Ci0jaW5jbHVkZSA8d3RmL0RhdGFMb2cuaD4KLSNpbmNsdWRlIDx3dGYvTG9ja2VyLmg+Ci0jaW5j
bHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgotCi1uYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIFdh
c20gewotCi0jaWYgRU5BQkxFKFdFQkFTU0VNQkxZX09NR0pJVCkgfHwgRU5BQkxFKFdFQkFTU0VN
QkxZX0JCUUpJVCkKLW5hbWVzcGFjZSBXYXNtQ2FsbHNpdGVDb2xsZWN0aW9uSW50ZXJuYWwgewot
c3RhdGljIGNvbnN0ZXhwciBib29sIHZlcmJvc2UgPSBmYWxzZTsKLX0KLSNlbmRpZgotCi12b2lk
IENhbGxzaXRlQ29sbGVjdGlvbjo6YWRkQ2FsbHNpdGVzKGNvbnN0IEFic3RyYWN0TG9ja2VyJiBj
YWxsZWVHcm91cExvY2tlciwgQ2FsbGVlR3JvdXAmIGNhbGxlZUdyb3VwLCBjb25zdCBGaXhlZFZl
Y3RvcjxVbmxpbmtlZFdhc21Ub1dhc21DYWxsPiYgY2FsbHNpdGVzKQotewotICAgIFVOVVNFRF9Q
QVJBTShjYWxsZWVHcm91cExvY2tlcik7Ci0gICAgdW5zaWduZWQgZnVuY3Rpb25JbXBvcnRDb3Vu
dCA9IGNhbGxlZUdyb3VwLmZ1bmN0aW9uSW1wb3J0Q291bnQoKTsKLSAgICBmb3IgKGF1dG8mIGNh
bGxzaXRlIDogY2FsbHNpdGVzKSB7Ci0gICAgICAgIHVuc2lnbmVkIGNhbGxlZUluZGV4ID0gY2Fs
bHNpdGUuZnVuY3Rpb25JbmRleFNwYWNlIC0gZnVuY3Rpb25JbXBvcnRDb3VudDsKLSAgICAgICAg
bV9jYWxsc2l0ZXNbY2FsbGVlSW5kZXhdLmFwcGVuZChDYWxsc2l0ZSB7Ci0gICAgICAgICAgICBj
YWxsc2l0ZS5jYWxsTG9jYXRpb24sCi0gICAgICAgICAgICB7IH0KLSAgICAgICAgfSk7Ci0gICAg
fQotfQotCi12b2lkIENhbGxzaXRlQ29sbGVjdGlvbjo6YWRkQ2FsbGVlR3JvdXBDYWxsc2l0ZXMo
Y29uc3QgQWJzdHJhY3RMb2NrZXImIGNhbGxlZUdyb3VwTG9ja2VyLCBDYWxsZWVHcm91cCYgY2Fs
bGVlR3JvdXAsIFZlY3RvcjxWZWN0b3I8VW5saW5rZWRXYXNtVG9XYXNtQ2FsbD4+JiYgY2FsbHNp
dGVzTGlzdCkKLXsKLSAgICBVTlVTRURfUEFSQU0oY2FsbGVlR3JvdXBMb2NrZXIpOwotICAgIHVu
c2lnbmVkIGZ1bmN0aW9uSW1wb3J0Q291bnQgPSBjYWxsZWVHcm91cC5mdW5jdGlvbkltcG9ydENv
dW50KCk7Ci0gICAgZm9yIChhdXRvJiBjYWxsc2l0ZXMgOiBjYWxsc2l0ZXNMaXN0KSB7Ci0gICAg
ICAgIGZvciAoYXV0byYgY2FsbHNpdGUgOiBjYWxsc2l0ZXMpIHsKLSAgICAgICAgICAgIHVuc2ln
bmVkIGNhbGxlZUluZGV4ID0gY2FsbHNpdGUuZnVuY3Rpb25JbmRleFNwYWNlIC0gZnVuY3Rpb25J
bXBvcnRDb3VudDsKLSAgICAgICAgICAgIG1fY2FsbHNpdGVzW2NhbGxlZUluZGV4XS5hcHBlbmQo
Q2FsbHNpdGUgewotICAgICAgICAgICAgICAgIGNhbGxzaXRlLmNhbGxMb2NhdGlvbiwKLSAgICAg
ICAgICAgICAgICB7IH0KLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgfQotICAgIG1f
Y2FsbGVlR3JvdXBDYWxsc2l0ZXMgPSBXVEZNb3ZlKGNhbGxzaXRlc0xpc3QpOwotfQotCi0jaWYg
RU5BQkxFKFdFQkFTU0VNQkxZX09NR0pJVCkgfHwgRU5BQkxFKFdFQkFTU0VNQkxZX0JCUUpJVCkK
LXZvaWQgQ2FsbHNpdGVDb2xsZWN0aW9uOjp1cGRhdGVDYWxsc2l0ZXNUb0NhbGxVcyhjb25zdCBB
YnN0cmFjdExvY2tlciYgY2FsbGVlR3JvdXBMb2NrZXIsIENhbGxlZUdyb3VwJiBjYWxsZWVHcm91
cCwgQ29kZUxvY2F0aW9uTGFiZWw8V2FzbUVudHJ5UHRyVGFnPiBlbnRyeXBvaW50LCB1aW50MzJf
dCBmdW5jdGlvbkluZGV4LCB1aW50MzJfdCBmdW5jdGlvbkluZGV4U3BhY2UpCi17Ci0gICAgVU5V
U0VEX1BBUkFNKGNhbGxlZUdyb3VwTG9ja2VyKTsKLSAgICBVTlVTRURfUEFSQU0oZnVuY3Rpb25J
bmRleFNwYWNlKTsKLQotICAgIGZvciAoYXV0byYgY2FsbHNpdGUgOiBtX2NhbGxzaXRlc1tmdW5j
dGlvbkluZGV4XSkKLSAgICAgICAgY2FsbHNpdGUubV90YXJnZXQgPSBNYWNyb0Fzc2VtYmxlcjo6
cHJlcGFyZUZvckF0b21pY1JlcGF0Y2hOZWFyQ2FsbENvbmN1cnJlbnRseShjYWxsc2l0ZS5tX2Nh
bGxMb2NhdGlvbiwgZW50cnlwb2ludCk7Ci0KLSAgICAvLyBJdCdzIGltcG9ydGFudCB0byBtYWtl
IHN1cmUgd2UgZG8gdGhpcyBiZWZvcmUgd2UgbWFrZSBhbnkgb2YgdGhlIGNvZGUgd2UganVzdCBj
b21waWxlZCB2aXNpYmxlLiBJZiB3ZSBkaWRuJ3QsIHdlIGNvdWxkIGVuZCB1cAotICAgIC8vIHdo
ZXJlIHdlIGFyZSB0aWVyaW5nIHVwIHNvbWUgZnVuY3Rpb24gQSB0byBBJyBhbmQgd2UgcmVwYXRj
aCBzb21lIGZ1bmN0aW9uIEIgdG8gY2FsbCBBJyBpbnN0ZWFkIG9mIEEuIEFub3RoZXIgQ1BVIGNv
dWxkIHNlZQotICAgIC8vIHRoZSB1cGRhdGVzIHRvIEIgYnV0IHN0aWxsIG5vdCBoYXZlIHJlc2V0
IGl0cyBjYWNoZSBvZiBBJywgd2hpY2ggd291bGQgbGVhZCB0byBhbGwga2luZHMgb2YgYmFkbmVz
cy4KLSAgICByZXNldEluc3RydWN0aW9uQ2FjaGVPbkFsbFRocmVhZHMoKTsKLSAgICBXVEY6OnN0
b3JlU3RvcmVGZW5jZSgpOyAvLyBUaGlzIHByb2JhYmx5IGlzbid0IG5lY2Vzc2FyeSBidXQgaXQn
cyBnb29kIHRvIGJlIHBhcmFub2lkLgotCi0gICAgY2FsbGVlR3JvdXAubV93YXNtSW5kaXJlY3RD
YWxsRW50cnlQb2ludHNbZnVuY3Rpb25JbmRleF0gPSBlbnRyeXBvaW50OwotCi0gICAgZm9yIChh
dXRvJiBjYWxsc2l0ZSA6IG1fY2FsbHNpdGVzW2Z1bmN0aW9uSW5kZXhdKSB7Ci0gICAgICAgIGRh
dGFMb2dMbklmKFdhc21DYWxsc2l0ZUNvbGxlY3Rpb25JbnRlcm5hbDo6dmVyYm9zZSwgIlJlcGF0
Y2hpbmcgY2FsbCBhdDogIiwgUmF3UG9pbnRlcihjYWxsc2l0ZS5tX2NhbGxMb2NhdGlvbi5kYXRh
TG9jYXRpb24oKSksICIgdG8gIiwgUmF3UG9pbnRlcihlbnRyeXBvaW50LnRhZ2dlZFB0cigpKSk7
Ci0gICAgICAgIE1hY3JvQXNzZW1ibGVyOjpyZXBhdGNoTmVhckNhbGwoY2FsbHNpdGUubV9jYWxs
TG9jYXRpb24sIGNhbGxzaXRlLm1fdGFyZ2V0KTsKLSAgICB9Ci19Ci0jZW5kaWYKLQotfSB9IC8v
IG5hbWVzcGFjZSBKU0M6Oldhc20KLQotI2VuZGlmIC8vIEVOQUJMRShXRUJBU1NFTUJMWSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21DYWxsc2l0ZUNvbGxlY3Rp
b24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21DYWxsc2l0ZUNvbGxlY3Rpb24u
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWU4ODNkNmQ5Y2E2Li4wMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUNhbGxzaXRlQ29sbGVjdGlv
bi5oCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAyMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0g
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiV2FzbUZv
cm1hdC5oIgotI2luY2x1ZGUgPHd0Zi9GaXhlZFZlY3Rvci5oPgotI2luY2x1ZGUgPHd0Zi9Mb2Nr
Lmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotCi0jaWYgRU5BQkxFKFdFQkFTU0VNQkxZKQot
Ci1uYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIFdhc20gewotCi1jbGFzcyBDYWxsZWVHcm91cDsK
LQotY2xhc3MgQ2FsbHNpdGVDb2xsZWN0aW9uIHsKLXB1YmxpYzoKLSAgICBDYWxsc2l0ZUNvbGxl
Y3Rpb24odW5zaWduZWQgZnVuY3Rpb25zRXhjdWRpbmdJbXBvcnQpCi0gICAgICAgIDogbV9jYWxs
c2l0ZXMoZnVuY3Rpb25zRXhjdWRpbmdJbXBvcnQpCi0gICAgewotICAgIH0KLQotICAgIHZvaWQg
YWRkQ2FsbGVlR3JvdXBDYWxsc2l0ZXMoY29uc3QgQWJzdHJhY3RMb2NrZXImIGNhbGxlZUdyb3Vw
TG9ja2VyLCBDYWxsZWVHcm91cCYsIFZlY3RvcjxWZWN0b3I8VW5saW5rZWRXYXNtVG9XYXNtQ2Fs
bD4+JiYpOwotICAgIHZvaWQgYWRkQ2FsbHNpdGVzKGNvbnN0IEFic3RyYWN0TG9ja2VyJiBjYWxs
ZWVHcm91cExvY2tlciwgQ2FsbGVlR3JvdXAmLCBjb25zdCBGaXhlZFZlY3RvcjxVbmxpbmtlZFdh
c21Ub1dhc21DYWxsPiYpOwotCi0gICAgdm9pZCB1cGRhdGVDYWxsc2l0ZXNUb0NhbGxVcyhjb25z
dCBBYnN0cmFjdExvY2tlciYgY2FsbGVlR3JvdXBMb2NrZXIsIENhbGxlZUdyb3VwJiwgQ29kZUxv
Y2F0aW9uTGFiZWw8V2FzbUVudHJ5UHRyVGFnPiBlbnRyeXBvaW50LCB1aW50MzJfdCBmdW5jdGlv
bkluZGV4LCB1aW50MzJfdCBmdW5jdGlvbkluZGV4U3BhY2UpOwotCi0gICAgY29uc3QgVmVjdG9y
PFZlY3RvcjxVbmxpbmtlZFdhc21Ub1dhc21DYWxsPj4mIGNhbGxlZUdyb3VwQ2FsbHNpdGVzKCkg
Y29uc3QgeyByZXR1cm4gbV9jYWxsZWVHcm91cENhbGxzaXRlczsgfQotCi1wcml2YXRlOgotICAg
IHN0cnVjdCBDYWxsc2l0ZSB7Ci0gICAgICAgIENvZGVMb2NhdGlvbk5lYXJDYWxsPFdhc21FbnRy
eVB0clRhZz4gbV9jYWxsTG9jYXRpb247Ci0gICAgICAgIENvZGVMb2NhdGlvbkxhYmVsPFdhc21F
bnRyeVB0clRhZz4gbV90YXJnZXQ7Ci0gICAgfTsKLSAgICBWZWN0b3I8VmVjdG9yPFVubGlua2Vk
V2FzbVRvV2FzbUNhbGw+PiBtX2NhbGxlZUdyb3VwQ2FsbHNpdGVzOwotICAgIEZpeGVkVmVjdG9y
PFZlY3RvcjxDYWxsc2l0ZT4+IG1fY2FsbHNpdGVzOwotfTsKLQotfSB9IC8vIG5hbWVzcGFjZSBK
U0M6Oldhc20KLQotI2VuZGlmIC8vIEVOQUJMRShXRUJBU1NFTUJMWSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PTUdQbGFuLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dhc21PTUdQbGFuLmNwcAppbmRleCA3Y2Y1YjEwOWZhZmYuLmVjMDM4ZWEy
MjNhYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU9NR1BsYW4u
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PTUdQbGFuLmNwcApAQCAt
MTg1LDkgKzE4NSw3IEBAIHZvaWQgT01HUGxhbjo6d29yayhDb21waWxhdGlvbkVmZm9ydCkKIAog
ICAgICAgICBtX2NhbGxlZUdyb3VwLT5zZXRPTUdDYWxsZWUobG9ja2VyLCBtX2Z1bmN0aW9uSW5k
ZXgsIGNhbGxlZS5jb3B5UmVmKCkpOwogICAgICAgICBBU1NFUlQobV9jYWxsZWVHcm91cC0+cmVw
bGFjZW1lbnQobG9ja2VyLCBjYWxsZWUtPmluZGV4KCkpID09IGNhbGxlZS5wdHIoKSk7Ci0jaWYg
RU5BQkxFKFdBU01fQ09ERV9SRUNMQUlNQVRJT04pCiAgICAgICAgIG1fY2FsbGVlR3JvdXAtPnJl
cG9ydENhbGxlZXMobG9ja2VyLCBjYWxsZWUucHRyKCksIGludGVybmFsRnVuY3Rpb24tPm91dGdv
aW5nSklURGlyZWN0Q2FsbGVlcyk7Ci0jZW5kaWYKIAogICAgICAgICBmb3IgKGF1dG8mIGNhbGwg
OiBjYWxsZWUtPndhc21Ub1dhc21DYWxsc2l0ZXMoKSkgewogICAgICAgICAgICAgQ29kZVB0cjxX
YXNtRW50cnlQdHJUYWc+IGVudHJ5cG9pbnQ7CkBAIC0yMDUsMTMgKzIwMyw4IEBAIHZvaWQgT01H
UGxhbjo6d29yayhDb21waWxhdGlvbkVmZm9ydCkKICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpyZXBhdGNoUG9pbnRlcihjYWxsLmNhbGxlZUxvY2F0aW9uLCBDYWxsZWVCaXRzOjpib3hOYXRp
dmVDYWxsZWVJZkV4aXN0cyhjYWxsZWVDYWxsZWUpKTsKICAgICAgICAgfQogCi0jaWYgRU5BQkxF
KFdBU01fQ09ERV9SRUNMQUlNQVRJT04pCiAgICAgICAgIG1fY2FsbGVlR3JvdXAtPnVwZGF0ZUNh
bGxzaXRlc1RvQ2FsbFVzKGxvY2tlciwgQ29kZUxvY2F0aW9uTGFiZWw8V2FzbUVudHJ5UHRyVGFn
PihlbnRyeXBvaW50KSwgbV9mdW5jdGlvbkluZGV4KTsKICAgICAgICAgQVNTRVJUKCptX2NhbGxl
ZUdyb3VwLT5lbnRyeXBvaW50TG9hZExvY2F0aW9uRnJvbUZ1bmN0aW9uSW5kZXhTcGFjZShmdW5j
dGlvbkluZGV4U3BhY2UpID09IGVudHJ5cG9pbnQpOwotI2Vsc2UKLSAgICAgICAgbV9jYWxsZWVH
cm91cC0+Y2FsbHNpdGVDb2xsZWN0aW9uKCkuYWRkQ2FsbHNpdGVzKGxvY2tlciwgbV9jYWxsZWVH
cm91cC5nZXQoKSwgY2FsbGVlLT53YXNtVG9XYXNtQ2FsbHNpdGVzKCkpOwotICAgICAgICBtX2Nh
bGxlZUdyb3VwLT5jYWxsc2l0ZUNvbGxlY3Rpb24oKS51cGRhdGVDYWxsc2l0ZXNUb0NhbGxVcyhs
b2NrZXIsIG1fY2FsbGVlR3JvdXAsIENvZGVMb2NhdGlvbkxhYmVsPFdhc21FbnRyeVB0clRhZz4o
ZW50cnlwb2ludCksIG1fZnVuY3Rpb25JbmRleCwgZnVuY3Rpb25JbmRleFNwYWNlKTsKLSNlbmRp
ZgogCiAgICAgICAgIHsKICAgICAgICAgICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7CkBAIC0y
MzYsMTMgKzIyOSwxMSBAQCB2b2lkIE9NR1BsYW46OndvcmsoQ29tcGlsYXRpb25FZmZvcnQpCiAg
ICAgaWYgKGpzRW50cnlwb2ludENhbGxlZSkKICAgICAgICAganNFbnRyeXBvaW50Q2FsbGVlLT5z
ZXRSZXBsYWNlbWVudFRhcmdldChlbnRyeXBvaW50KTsKIAotI2lmIEVOQUJMRShXQVNNX0NPREVf
UkVDTEFJTUFUSU9OKQogICAgIGlmIChPcHRpb25zOjpmcmVlUmV0aXJlZFdhc21Db2RlKCkpIHsK
ICAgICAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKICAgICAgICAgTG9ja2VyIGxvY2tlciB7
IG1fY2FsbGVlR3JvdXAtPm1fbG9jayB9OwogICAgICAgICBtX2NhbGxlZUdyb3VwLT5yZWxlYXNl
QkJRQ2FsbGVlKGxvY2tlciwgbV9mdW5jdGlvbkluZGV4KTsKICAgICB9Ci0jZW5kaWYKIAogICAg
IGRhdGFMb2dMbklmKFdhc21PTUdQbGFuSW50ZXJuYWw6OnZlcmJvc2UsICJGaW5pc2hlZCBPTUcg
IiwgbV9mdW5jdGlvbkluZGV4KTsKICAgICBMb2NrZXIgbG9ja2VyIHsgbV9sb2NrIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtT1NSRW50cnlQbGFuLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PU1JFbnRyeVBsYW4uY3BwCmluZGV4IDY3
ODE2ODAyNjg4Mi4uNmRmM2ZmYjhhMDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XYXNtT1NSRW50cnlQbGFuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9XYXNtT1NSRW50cnlQbGFuLmNwcApAQCAtMTQwLDEwICsxNDAsOCBAQCB2b2lkIE9TUkVu
dHJ5UGxhbjo6d29yayhDb21waWxhdGlvbkVmZm9ydCkKICAgICBjYWxsZWUtPnNldEVudHJ5cG9p
bnQoV1RGTW92ZShvbWdFbnRyeXBvaW50KSwgaW50ZXJuYWxGdW5jdGlvbi0+b3NyRW50cnlTY3Jh
dGNoQnVmZmVyU2l6ZSwgV1RGTW92ZSh1bmxpbmtlZENhbGxzKSwgV1RGTW92ZShpbnRlcm5hbEZ1
bmN0aW9uLT5zdGFja21hcHMpLCBXVEZNb3ZlKGludGVybmFsRnVuY3Rpb24tPmV4Y2VwdGlvbkhh
bmRsZXJzKSwgV1RGTW92ZShleGNlcHRpb25IYW5kbGVyTG9jYXRpb25zKSk7CiAgICAgewogICAg
ICAgICBMb2NrZXIgbG9ja2VyIHsgbV9jYWxsZWVHcm91cC0+bV9sb2NrIH07Ci0jaWYgRU5BQkxF
KFdBU01fQ09ERV9SRUNMQUlNQVRJT04pCiAgICAgICAgIG1fY2FsbGVlR3JvdXAtPnJlY29yZE9N
R09TUkVudHJ5Q2FsbGVlKGxvY2tlciwgbV9mdW5jdGlvbkluZGV4LCBjYWxsZWUuZ2V0KCkpOwog
ICAgICAgICBtX2NhbGxlZUdyb3VwLT5yZXBvcnRDYWxsZWVzKGxvY2tlciwgY2FsbGVlLnB0cigp
LCBpbnRlcm5hbEZ1bmN0aW9uLT5vdXRnb2luZ0pJVERpcmVjdENhbGxlZXMpOwotI2VuZGlmCiAK
ICAgICAgICAgZm9yIChhdXRvJiBjYWxsIDogY2FsbGVlLT53YXNtVG9XYXNtQ2FsbHNpdGVzKCkp
IHsKICAgICAgICAgICAgIENvZGVQdHI8V2FzbUVudHJ5UHRyVGFnPiBlbnRyeXBvaW50OwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU9wZXJhdGlvbnMuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU9wZXJhdGlvbnMuY3BwCmluZGV4IDliYjlj
NzI2NmRhNC4uOTkzZGI5YWNlZWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9XYXNtT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
V2FzbU9wZXJhdGlvbnMuY3BwCkBAIC0xMTk4LDcgKzExOTgsNyBAQCBKU0NfREVGSU5FX05PRVhD
RVBUX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uV2FzbUxvb3BPU1JFbnRlckJCUUpJVCwgdm9pZCwg
KFByb2JlOgogCiBBTFdBWVNfSU5MSU5FIHZvaWQgYXNzZXJ0Q2FsbGVlSXNSZWZlcmVuY2VkKENh
bGxGcmFtZSogZnJhbWUsIEpTV2ViQXNzZW1ibHlJbnN0YW5jZSogaW5zdGFuY2UpCiB7Ci0jaWYg
QVNTRVJUX0VOQUJMRUQgJiYgRU5BQkxFKFdBU01fQ09ERV9SRUNMQUlNQVRJT04pCisjaWYgQVNT
RVJUX0VOQUJMRUQKICAgICBDYWxsZWVHcm91cCYgY2FsbGVlR3JvdXAgPSAqaW5zdGFuY2UtPmNh
bGxlZUdyb3VwKCk7CiAgICAgV2FzbTo6Q2FsbGVlKiBjYWxsZWUgPSBzdGF0aWNfY2FzdDxXYXNt
OjpDYWxsZWUqPihmcmFtZS0+Y2FsbGVlKCkuYXNOYXRpdmVDYWxsZWUoKSk7CiAgICAgVHJpU3Rh
dGUgc3RhdHVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUmVmUHRyLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9SZWZQdHIuaAppbmRleCA3NTYzMTc5MzRlMDEuLmJkZjEzMzg3Zjc5NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvUmVmUHRyLmgKKysrIGIvU291cmNlL1dURi93dGYvUmVmUHRy
LmgKQEAgLTYwLDcgKzYwLDYgQEAgcHVibGljOgogICAgIEFMV0FZU19JTkxJTkUgflJlZlB0cigp
IHsgUmVmRGVyZWZUcmFpdHM6OmRlcmVmSWZOb3ROdWxsKFB0clRyYWl0czo6ZXhjaGFuZ2UobV9w
dHIsIG51bGxwdHIpKTsgfQogCiAgICAgVCogZ2V0KCkgY29uc3QgeyByZXR1cm4gUHRyVHJhaXRz
Ojp1bndyYXAobV9wdHIpOyB9Ci0gICAgVCogcHRyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCk7IH0K
IAogICAgIFJlZjxUPiByZWxlYXNlTm9uTnVsbCgpIHsgQVNTRVJUKG1fcHRyKTsgUmVmPFQ+IHRt
cChhZG9wdFJlZigqbV9wdHIpKTsgbV9wdHIgPSBudWxscHRyOyByZXR1cm4gdG1wOyB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>