<?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>190916</bug_id>
          
          <creation_ts>2018-10-25 13:32:33 -0700</creation_ts>
          <short_desc>Clean up some obsolete MAX_ALLOWED macros</short_desc>
          <delta_ts>2018-11-02 15:47:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>Other</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mitz</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1472171</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-10-25 13:32:33 -0700</bug_when>
    <thetext>Clean up some obsolete MAX_ALLOWED macros</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472174</commentid>
    <comment_count>1</comment_count>
      <attachid>353104</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-10-25 13:38:24 -0700</bug_when>
    <thetext>Created attachment 353104
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472182</commentid>
    <comment_count>2</comment_count>
      <attachid>353107</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-10-25 14:00:02 -0700</bug_when>
    <thetext>Created attachment 353107
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472935</commentid>
    <comment_count>3</comment_count>
      <attachid>353293</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-10-29 10:00:03 -0700</bug_when>
    <thetext>Created attachment 353293
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473428</commentid>
    <comment_count>4</comment_count>
      <attachid>353293</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-10-30 15:09:36 -0700</bug_when>
    <thetext>Comment on attachment 353293
proposed patch

View in context: https://bugs.webkit.org/attachment.cgi?id=353293&amp;action=review

&gt; Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:86
&gt; -#elif __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101302
&gt; +#elif __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101400

No justification?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473433</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-10-30 15:16:48 -0700</bug_when>
    <thetext>There is no change here - __MAC_OS_X_VERSION_MIN_REQUIRED can be 101300 or 101400, not not anything in between.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473451</commentid>
    <comment_count>6</comment_count>
      <attachid>353293</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-30 15:45:37 -0700</bug_when>
    <thetext>Comment on attachment 353293
proposed patch

Clearing flags on attachment: 353293

Committed r237607: &lt;https://trac.webkit.org/changeset/237607&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473452</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-30 15:45:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473454</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-30 15:46:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/45683831&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474631</commentid>
    <comment_count>9</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-11-02 14:35:39 -0700</bug_when>
    <thetext>This seems to have broken some iOS builds: https://webkit-queues.webkit.org/results/9836096</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474663</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-11-02 15:47:59 -0700</bug_when>
    <thetext>Oh wow, that&apos;s still on iPhoneOS11.3.sdk! Will get it upgraded ASAP. Thank you for pointing it out!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353104</attachid>
            <date>2018-10-25 13:38:24 -0700</date>
            <delta_ts>2018-10-25 14:00:02 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>MaxAllowed.txt</filename>
            <type>text/plain</type>
            <size>34055</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNNYW5hZ2VkVmFsdWUubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU01hbmFnZWRWYWx1ZS5tbQkocmV2
aXNpb24gMjM3NDA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU01hbmFnZWRWYWx1
ZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNiBAQAogI2ltcG9ydCAiT2JqY1J1bnRp
bWVFeHRyYXMuaCIKICNpbXBvcnQgIkpTQ0lubGluZXMuaCIKICNpbXBvcnQgPHd0Zi9OZXZlckRl
c3Ryb3llZC5oPgotI2ltcG9ydCA8d3RmL3NwaS9jb2NvYS9OU01hcFRhYmxlU1BJLmg+CiAKIGNs
YXNzIEpTTWFuYWdlZFZhbHVlSGFuZGxlT3duZXIgOiBwdWJsaWMgSlNDOjpXZWFrSGFuZGxlT3du
ZXIgewogcHVibGljOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZpcnR1YWxN
YWNoaW5lLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWaXJ0
dWFsTWFjaGluZS5tbQkocmV2aXNpb24gMjM3NDA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU1ZpcnR1YWxNYWNoaW5lLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw2IEBA
CiAjaW1wb3J0IDxtdXRleD4KICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgogI2ltcG9ydCA8d3Rm
L0xvY2suaD4KLSNpbXBvcnQgPHd0Zi9zcGkvY29jb2EvTlNNYXBUYWJsZVNQSS5oPgogCiBzdGF0
aWMgTlNNYXBUYWJsZSAqZ2xvYmFsV3JhcHBlckNhY2hlID0gMDsKIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0JKHJldmlzaW9uIDIzNzQwNCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXcmFwcGVyTWFwLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0zOSw3ICszOSw2IEBACiAjaW1wb3J0ICJXZWFrR0NNYXAuaCIKICNpbXBvcnQgIldlYWtHQ01h
cElubGluZXMuaCIKICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KLSNpbXBvcnQgPHd0Zi9zcGkvY29j
b2EvTlNNYXBUYWJsZVNQSS5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgog
CiAjaW5jbHVkZSA8bWFjaC1vL2R5bGQuaD4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwko
cmV2aXNpb24gMjM3NDA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEwLTI1ICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIHNvbWUgb2Jzb2xldGUgTUFY
X0FMTE9XRUQgbWFjcm9zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTA5MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIEFQSS9KU01hbmFnZWRWYWx1ZS5tbToKKyAgICAgICAgKiBBUEkvSlNWaXJ0dWFs
TWFjaGluZS5tbToKKyAgICAgICAgKiBBUEkvSlNXcmFwcGVyTWFwLm1tOgorCiAyMDE4LTEwLTI0
ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgVHVy
biBvbiBDb25pYyBHcmFkaWVudHMKSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwkocmV2aXNpb24gMjM3NDA0KQorKysgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE4LTEwLTI1ICBBbGV4
ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIHNvbWUg
b2Jzb2xldGUgTUFYX0FMTE9XRUQgbWFjcm9zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA5MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9WaWRlb1Byb2Nl
c3NpbmdTb2Z0TGluay5oOgorCiAyMDE4LTEwLTIzICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRA
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMzcyNjEuCklu
ZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0
L1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9WaWRlb1Byb2Nlc3NpbmdTb2Z0
TGluay5oCShyZXZpc2lvbiAyMzc0MDQpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM2LDkgKzM2LDkgQEAKICNpZiAoZGVmaW5lZChUQVJHRVRfSVBIT05FX1NJ
TVVMQVRPUikgICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKQogI2RlZmluZSBFTkFCTEVfVkNQ
X0VOQ09ERVIgMAogI2VsaWYgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgICYmIFRBUkdFVF9P
U19JUEhPTkUpCi0jZGVmaW5lIEVOQUJMRV9WQ1BfRU5DT0RFUiAoX19JUEhPTkVfT1NfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA+PSAxMjAwMDApCisjZGVmaW5lIEVOQUJMRV9WQ1BfRU5DT0RFUiAxCiAj
ZWxpZiAoZGVmaW5lZChUQVJHRVRfT1NfTUFDKSAmJiBUQVJHRVRfT1NfTUFDKQotI2RlZmluZSBF
TkFCTEVfVkNQX0VOQ09ERVIgKF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEz
MDQpCisjZGVmaW5lIEVOQUJMRV9WQ1BfRU5DT0RFUiAoX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEzMDAgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEw
MTMwNCkKICNlbmRpZgogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzc0MDQpCisrKyBTb3Vy
Y2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEw
LTI1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFu
IHVwIHNvbWUgb2Jzb2xldGUgTUFYX0FMTE9XRUQgbWFjcm9zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA5MTYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgKiB3dGYvc3Bp
L2NvY29hL05TTWFwVGFibGVTUEkuaDogUmVtb3ZlZC4gVGhpcyB3YXMgb25seSBuZWVkZWQgZm9y
IG9sZCBTREtzLgorCiAyMDE4LTEwLTI0ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBh
cHBsZS5jb20+CiAKICAgICAgICAgVHVybiBvbiBDb25pYyBHcmFkaWVudHMKSW5kZXg6IFNvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjM3NDA0KQorKysg
U291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpA
QCAtNjE1LDcgKzYxNSw2IEBACiAJCUNENTQ5N0FCMTU4NTdEMDMwMEI1QkMzMCAvKiBNZWRpYVRp
bWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFUaW1lLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENkQ5RkNEMUVFRjNBRDQwMDhCMDY3MSAvKiBBbGdv
cml0aG1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFsZ29yaXRobXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0Q3NjAwRkYxRjkwQTNDQTAwMDI2RTI2IC8qIFVuc2FmZVBvaW50ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVW5zYWZlUG9pbnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlDRTQ2NTE2RDE5REIxRkI0MDAzRUNBMDUgLyogTlNNYXBUYWJsZVNQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU01hcFRhYmxlU1BJLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNFNzNFMDI0MTlEQ0I3QUIwMDU4MEQ1QyAvKiBYUENTUEkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gWFBDU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCURDRUUyMUZBMUNFQTc1MzgwMDBDMjM5NiAvKiBDRkJ1bmRsZVNQSS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDRkJ1bmRsZVNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlEQ0VFMjFGQzFDRUE3NTUxMDAwQzIzOTYgLyogQmxvY2tPYmpD
RXhjZXB0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCbG9ja09iakNF
eGNlcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjk2LDcgKzEyOTUs
NiBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQk5Mzg0QjczRTIw
REVBMjg0MDA1QjczQjIgLyogQ0ZYUENCcmlkZ2VTUEkuaCAqLywKLQkJCQlDRTQ2NTE2RDE5REIx
RkI0MDAzRUNBMDUgLyogTlNNYXBUYWJsZVNQSS5oICovLAogCQkJCTkzRDE5MUNGMjBDQUVDRTgw
MEM1MUI4RSAvKiBvYmpjU1BJLmggKi8sCiAJCQkJQTUwOThCMDExQzE2QTRGOTAwMDg3Nzk3IC8q
IFNlY3VyaXR5U1BJLmggKi8sCiAJCQkpOwpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm1N
YWMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UJ
KHJldmlzaW9uIDIzNzQwNCkKKysrIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlCSh3
b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw2IEBACiAgICAgc3BpL2NmL0NGQnVuZGxlU1BJLmgK
ICAgICBzcGkvY2YvQ0ZTdHJpbmdTUEkuaAogCi0gICAgc3BpL2NvY29hL05TTWFwVGFibGVTUEku
aAogICAgIHNwaS9jb2NvYS9TZWN1cml0eVNQSS5oCiAgICAgc3BpL2NvY29hL29iamNTUEkuaAog
CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9zcGkvY29jb2EvTlNNYXBUYWJsZVNQSS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XVEYvd3RmL3NwaS9jb2NvYS9OU01hcFRhYmxlU1BJLmgJKHJldmlzaW9u
IDIzNzQwNCkKKysrIFNvdXJjZS9XVEYvd3RmL3NwaS9jb2NvYS9OU01hcFRhYmxlU1BJLmgJKG5v
bmV4aXN0ZW50KQpAQCAtMSw0MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0LTIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2ltcG9ydCA8Rm91bmRhdGlvbi9OU01hcFRhYmxlLmg+
Ci0KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9B
TExPV0VEIDwgMTIwMDAwCi0KLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2ltcG9ydCA8
Rm91bmRhdGlvbi9OU01hcFRhYmxlUHJpdi5oPgotI2VuZGlmCi0KLVdURl9FWFRFUk5fQ19CRUdJ
TgotCi12b2lkICpOU01hcEdldChOU01hcFRhYmxlICosIGNvbnN0IHZvaWQgKmtleSk7Ci12b2lk
IE5TTWFwSW5zZXJ0KE5TTWFwVGFibGUgKiwgY29uc3Qgdm9pZCAqa2V5LCBjb25zdCB2b2lkICp2
YWx1ZSk7Ci12b2lkIE5TTWFwUmVtb3ZlKE5TTWFwVGFibGUgKiwgY29uc3Qgdm9pZCAqa2V5KTsK
LQotV1RGX0VYVEVSTl9DX0VORAotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIz
NzQwNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE4IEBACisyMDE4LTEwLTI1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIENsZWFuIHVwIHNvbWUgb2Jzb2xldGUgTUFYX0FMTE9XRUQgbWFjcm9zCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA5MTYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpleGVybmFsRGV2aWNlRGlzcGxheU5hbWVGb3JQ
bGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5t
bToKKyAgICAgICAgKFdlYkNvcmU6Omdsb2JhbFBvaW50Rm9yRXZlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6cG9pbnRGb3JFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjptb3VzZUJ1dHRvbkZvckV2
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTW91c2VFdmVudEJ1aWxkZXI6OlBsYXRm
b3JtTW91c2VFdmVudEJ1aWxkZXIpOgorCiAyMDE4LTEwLTI0ICBBbGV4ZXkgUHJvc2t1cnlha292
ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIHNvbWUgb2Jzb2xldGUgbWFjT1Mg
dmVyc2lvbiBndWFyZHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNpb24gMjM3NDA1KQor
KysgU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE5IEBACisyMDE4LTEwLTI1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgor
CisgICAgICAgIENsZWFuIHVwIHNvbWUgb2Jzb2xldGUgTUFYX0FMTE9XRUQgbWFjcm9zCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA5MTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhbC9jZi9Db3Jl
TWVkaWFTb2Z0TGluay5jcHA6CisgICAgICAgICogcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg6
CisgICAgICAgIEJlaGF2aW9yIGNoYW5nZSBoZXJlLiBUaGUgY2hlY2sgZGlkbid0IHJlYWxseSBt
YWtlIHNlbnNlLCBwcmV0dHkgc3VyZSB3ZSB3b3VsZAorICAgICAgICBqdXN0IGNyYXNoIHdoZW4g
aGl0dGluZyB0aGlzIGNvZGUgcGF0aCBvbiBpT1MuCisKKyAgICAgICAgKiBwYWwvc3BpL2NmL0NG
TmV0d29ya1NQSS5oOgorICAgICAgICAqIHBhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oOgorICAg
ICAgICAqIHBhbC9zcGkvbWFjL0FWRm91bmRhdGlvblNQSS5oOgorCiAyMDE4LTEwLTI0ICBBbGV4
ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIHNvbWUg
b2Jzb2xldGUgbWFjT1MgdmVyc2lvbiBndWFyZHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCShyZXZpc2lvbiAyMzc0MDQpCisrKyBT
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTU5LDExICsxNTksOCBAQAogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0Uo
UEFMLCBDb3JlTWVkaWEsIENNQXVkaW9Gb3JtYXREZXNjcmlwdGlvbkNyZWF0ZSwgT1NTdGF0dXMs
IChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IsIGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlw
dGlvbiogYXNiZCwgc2l6ZV90IGxheW91dFNpemUsIGNvbnN0IEF1ZGlvQ2hhbm5lbExheW91dCog
bGF5b3V0LCBzaXplX3QgbWFnaWNDb29raWVTaXplLCBjb25zdCB2b2lkKiBtYWdpY0Nvb2tpZSwg
Q0ZEaWN0aW9uYXJ5UmVmIGV4dGVuc2lvbnMsIENNQXVkaW9Gb3JtYXREZXNjcmlwdGlvblJlZiog
b3V0RGVzYyksIChhbGxvY2F0b3IsIGFzYmQsIGxheW91dFNpemUsIGxheW91dCwgbWFnaWNDb29r
aWVTaXplLCBtYWdpY0Nvb2tpZSwgZXh0ZW5zaW9ucywgb3V0RGVzYykpCiBTT0ZUX0xJTktfRlVO
Q1RJT05fRk9SX1NPVVJDRShQQUwsIENvcmVNZWRpYSwgQ01DbG9ja0dldEhvc3RUaW1lQ2xvY2ss
IENNQ2xvY2tSZWYsICh2b2lkKSwgKCkpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShQ
QUwsIENvcmVNZWRpYSwgQ01DbG9ja0dldFRpbWUsIENNVGltZSwgKENNQ2xvY2tSZWYgY2xvY2sp
LCAoY2xvY2spKQotCi0jaWYgUExBVEZPUk0oQVBQTEVUVikgfHwgUExBVEZPUk0oTUFDKSB8fCBQ
TEFURk9STShJT1NNQUMpIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IChQTEFURk9STShJT1NfRkFN
SUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEIDwgMTIwMDAwKQogU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyQ2Fs
bEZvckVhY2hTYW1wbGUsIE9TU3RhdHVzLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiwgT1NTdGF0
dXMgKCogQ01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBFIGNhbGxiYWNrKSggQ01TYW1wbGVCdWZm
ZXJSZWYgc2FtcGxlQnVmZmVyLCBDTUl0ZW1Db3VudCBpbmRleCwgdm9pZCAqcmVmY29uKSwgdm9p
ZCAqcmVmY29uKSwgKHNidWYsIGNhbGxiYWNrLCByZWZjb24pKQogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0UoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyQ2FsbEJsb2NrRm9yRWFj
aFNhbXBsZSwgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVmLCBPU1N0YXR1cyAoXiBD
TVNBTVBMRUJVRkZFUkNBTExfTk9FU0NBUEUgaGFuZGxlcikoQ01TYW1wbGVCdWZmZXJSZWYsIENN
SXRlbUNvdW50KSksIChzYnVmLCBoYW5kbGVyKSkKLSNlbmRpZgogCiAjZW5kaWYgLy8gUExBVEZP
Uk0oQ09DT0EpCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29m
dExpbmsuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRp
YVNvZnRMaW5rLmgJKHJldmlzaW9uIDIzNzQwNCkKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Y2YvQ29yZU1lZGlhU29mdExpbmsuaAkod29ya2luZyBjb3B5KQpAQCAtMjcwLDE1ICsyNzAsMTEg
QEAKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTUNsb2Nr
R2V0VGltZSwgQ01UaW1lLCAoQ01DbG9ja1JlZiBjbG9jayksIChjbG9jaykpCiAjZGVmaW5lIENN
Q2xvY2tHZXRUaW1lICBzb2Z0TGlua19Db3JlTWVkaWFfQ01DbG9ja0dldFRpbWUKIAotI2lmIFBM
QVRGT1JNKEFQUExFVFYpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TTUFDKSB8fCBQ
TEFURk9STShXQVRDSE9TKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEyMDAwMCkKLQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxlQnVmZmVyQ2FsbEZvckVhY2hTYW1wbGUsIE9T
U3RhdHVzLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiwgT1NTdGF0dXMgKCogQ01TQU1QTEVCVUZG
RVJDQUxMX05PRVNDQVBFIGNhbGxiYWNrKSggQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVy
LCBDTUl0ZW1Db3VudCBpbmRleCwgdm9pZCAqcmVmY29uKSwgdm9pZCAqcmVmY29uKSwgKHNidWYs
IGNhbGxiYWNrLCByZWZjb24pKQogI2RlZmluZSBDTVNhbXBsZUJ1ZmZlckNhbGxGb3JFYWNoU2Ft
cGxlIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckNhbGxGb3JFYWNoU2FtcGxlCiBT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZm
ZXJDYWxsQmxvY2tGb3JFYWNoU2FtcGxlLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNi
dWYsIE9TU3RhdHVzICheIENNU0FNUExFQlVGRkVSQ0FMTF9OT0VTQ0FQRSBoYW5kbGVyKShDTVNh
bXBsZUJ1ZmZlclJlZiwgQ01JdGVtQ291bnQpKSwgKHNidWYsIGhhbmRsZXIpKQogI2RlZmluZSBD
TVNhbXBsZUJ1ZmZlckNhbGxCbG9ja0ZvckVhY2hTYW1wbGUgc29mdExpbmtfQ29yZU1lZGlhX0NN
U2FtcGxlQnVmZmVyQ2FsbEJsb2NrRm9yRWFjaFNhbXBsZQogCi0jZW5kaWYKLQogI2VuZGlmIC8v
IFBMQVRGT1JNKENPQ09BKQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oCShyZXZpc2lvbiAyMzc0
MDQpCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaAkod29y
a2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNyBAQAogLy8gVGhlIFNQSSBoZWFkZXIgc2hvdWxkIGRl
ZmluZSB3aGljaCBDRk5ldHdvcmsgZmVhdHVyZXMgKmV4aXN0KiBpbiB0aGUgdW5kZXJseWluZyBz
eXN0ZW0sIGJ1dCBub3QKIC8vIHBvbGljeSBhYm91dCB3aGF0IFdlYktpdCBzaG91bGQgZG8uIEFj
Y29yZGluZ2x5LCB3ZSBzaG91bGQgbW92ZSB0aGlzIHNvbWV3aGVyZSBlbHNlIG9yIHJlbmFtZSBp
dAogLy8gdG8gYmUgYWJvdXQgQ0ZOZXR3b3JrIGNhcGFiaWxpdGllcyAoSEFWRSkgcmF0aGVyIHRo
YW4gYWJvdXQgV2ViS2l0IHBvbGljeSAoVVNFKS4KLSNpZiAoKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTMwMiAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTMwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDIwMCkgfHwgKFBMQVRGT1JNKFdB
VENIT1MpICYmIF9fV0FUQ0hfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gNDAyMDApIHx8IChQ
TEFURk9STShUVk9TKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDIwMCkp
CisjaWYgKChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+
PSAxMDEzMDIgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDApIHx8
IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMjAwMDApIHx8IChQTEFURk9STShXQVRDSE9TKSAmJiBfX1dBVENIX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDUwMDAwKSB8fCAoUExBVEZPUk0oVFZPUykgJiYgX19UVl9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDApKQogI2RlZmluZSBVU0VfQ0ZORVRXT1JLX0lHTk9S
RV9IU1RTIDEKICNlbmRpZgogCkBAIC0yNDcsNyArMjQ3LDcgQEAKIGV4dGVybiBjb25zdCBDRlN0
cmluZ1JlZiBfa0NGVVJMQ29ubmVjdGlvblByb3BlcnR5U2hvdWxkU25pZmY7CiBleHRlcm4gY29u
c3QgQ0ZTdHJpbmdSZWYgX2tDRlVSTFN0b3JhZ2VTZXNzaW9uSXNQcml2YXRlOwogCi0jaWYgUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMgor
I2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDE0MDAKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ0ZVUkxSZXF1ZXN0Q29udGVudERlY29k
ZXJTa2lwVVJMQ2hlY2s7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvY29jb2EvUGFzc0tpdFNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaAkocmV2aXNpb24gMjM3NDA0KQorKysgU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NDcsNyArMjQ3LDcgQEAKIC0gKHZvaWQpcGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxl
cjooUEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyICopY29udHJvbGxlciBkaWRS
ZXF1ZXN0TWVyY2hhbnRTZXNzaW9uOih2b2lkKF4pKFBLUGF5bWVudE1lcmNoYW50U2Vzc2lvbiAq
LCBOU0Vycm9yICopKXNlc3Npb25CbG9jazsKIEBlbmQKIAotI2lmIChQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEzMDQpIHx8IChQTEFURk9STShJ
T1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDExMDMwMCkK
KyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0g
MTAxMzA0KSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQogdHlwZWRlZiBOU19FTlVNKE5TVUludGVn
ZXIsIFBLUGF5bWVudFJlcXVlc3RBUElUeXBlKSB7CiAgICAgUEtQYXltZW50UmVxdWVzdEFQSVR5
cGVJbkFwcCA9IDAsCiAgICAgUEtQYXltZW50UmVxdWVzdEFQSVR5cGVXZWJKUywKQEAgLTI3Niw3
ICsyNzYsNyBAQAogICAgIFBLUGF5bWVudEJ1dHRvblR5cGVTZXRVcCwKICAgICBQS1BheW1lbnRC
dXR0b25UeXBlSW5TdG9yZSwKICAgICBQS1BheW1lbnRCdXR0b25UeXBlRG9uYXRlLAotI2lmIChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDE0MDAp
IHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExP
V0VEID49IDEyMDAwMCkKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUFYX0FMTE9XRUQgPj0gMTAxNDAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIFBLUGF5
bWVudEJ1dHRvblR5cGVDaGVja291dCwKICAgICBQS1BheW1lbnRCdXR0b25UeXBlQm9vaywKICAg
ICBQS1BheW1lbnRCdXR0b25UeXBlU3Vic2NyaWJlLApJbmRleDogU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvbWFjL0FWRm91bmRhdGlvblNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaAkocmV2aXNpb24gMjM3NDA0KQor
KysgU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0FWRm91bmRhdGlvblNQSS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NCw3ICs1NCw3IEBACiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZQbGF5
ZXJJdGVtLmg+CiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZQbGF5ZXJMYXllci5oPgogCi0jaWYg
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTMw
MCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FM
TE9XRUQgPj0gMTEwMDAwKQorI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA+PSAxMDEzMDApIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCiBOU19BU1NV
TUVfTk9OTlVMTF9CRUdJTgogQGludGVyZmFjZSBBVlBsYXllckl0ZW0gKCkKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCByZWFkb25seSkgTlNUaW1lSW50ZXJ2YWwgc2Vla2FibGVUaW1lUmFuZ2VzTGFz
dE1vZGlmaWVkVGltZSBOU19BVkFJTEFCTEUoMTBfMTMsIDExXzApOwpAQCAtNjEsNyArNjEsNyBA
QAogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1RpbWVJbnRlcnZhbCBsaXZlVXBk
YXRlSW50ZXJ2YWw7CiBAZW5kCiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKLSNlbmRpZiAvLyAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMzAwKSB8
fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dF
RCA+PSAxMTAwMDApCisjZW5kaWYgLy8gKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01BWF9BTExPV0VEID49IDEwMTMwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2lm
IEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpIHx8IFBMQVRGT1JNKElPU19GQU1JTFkp
CiAKQEAgLTIzNSw3ICsyMzUsNyBAQAogCiAjZW5kaWYgLy8gX19oYXNfaW5jbHVkZSg8QVZGb3Vu
ZGF0aW9uL0FWU2FtcGxlQnVmZmVyUmVuZGVyU3luY2hyb25pemVyLmg+KQogCi0jaWYgKChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTMwMCkgfHwg
KFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQg
PCAxMTAwMDApKSAmJiBfX2hhc19pbmNsdWRlKDxBVkZvdW5kYXRpb24vQVZRdWV1ZWRTYW1wbGVC
dWZmZXJSZW5kZXJpbmcuaD4pCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01BWF9BTExPV0VEIDwgMTAxMzAwKSAmJiBfX2hhc19pbmNsdWRlKDxBVkZvdW5kYXRpb24v
QVZRdWV1ZWRTYW1wbGVCdWZmZXJSZW5kZXJpbmcuaD4pCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24v
QVZRdWV1ZWRTYW1wbGVCdWZmZXJSZW5kZXJpbmcuaD4KIEBjbGFzcyBBVlZpZGVvUGVyZm9ybWFu
Y2VNZXRyaWNzOwogTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KQEAgLTI3Myw3ICsyNzMsNyBAQAog
TlNfQVNTVU1FX05PTk5VTExfRU5ECiAjZW5kaWYgLy8gX19oYXNfaW5jbHVkZSg8QVZGb3VuZGF0
aW9uL0FWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmg+KQogCi0jaWYgKChQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTMwMCkgfHwgKFBMQVRGT1JN
KElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMTAwMDAp
KSAmJiBfX2hhc19pbmNsdWRlKDxBVkZvdW5kYXRpb24vQVZRdWV1ZWRTYW1wbGVCdWZmZXJSZW5k
ZXJpbmcuaD4pCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9B
TExPV0VEIDwgMTAxMzAwKSAmJiBfX2hhc19pbmNsdWRlKDxBVkZvdW5kYXRpb24vQVZRdWV1ZWRT
YW1wbGVCdWZmZXJSZW5kZXJpbmcuaD4pCiAvLyBOb3RoaW5nIHRvIGRvLCBBVmZvdW5kYXRpb24v
QVZRdWV1ZWRTYW1wbGVCdWZmZXJSZW5kZXJpbmcuaCB3YXMgaW1wb3J0ZWQgYWJvdmUuCiAjZWxp
ZiBfX2hhc19pbmNsdWRlKDxBVkZvdW5kYXRpb24vQVZTYW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVy
Lmg+KQogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlci5o
PgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCShyZXZpc2lvbiAyMzc0MDUpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yODA5LDcgKzI4
MDksNiBAQAogICAgIGlmICghQVZGb3VuZGF0aW9uTGlicmFyeSgpKQogICAgICAgICByZXR1cm4g
bmlsOwogCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMTAwMDAKICAg
ICBpZiAoW2dldEFWT3V0cHV0Q29udGV4dENsYXNzKCkgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3RvcihzaGFyZWRBdWRpb1ByZXNlbnRhdGlvbk91dHB1dENvbnRleHQpXSkgewogICAgICAgICBB
Vk91dHB1dENvbnRleHQgKm91dHB1dENvbnRleHQgPSBbZ2V0QVZPdXRwdXRDb250ZXh0Q2xhc3Mo
KSBzaGFyZWRBdWRpb1ByZXNlbnRhdGlvbk91dHB1dENvbnRleHRdOwogCkBAIC0yODI4LDcgKzI4
MjcsNiBAQAogCiAgICAgICAgIHJldHVybiBbb3V0cHV0RGV2aWNlTmFtZXMgY29tcG9uZW50c0pv
aW5lZEJ5U3RyaW5nOkAiICsgIl07CiAgICAgfQotI2VuZGlmCiAKICAgICBpZiAocGxheWVyLmV4
dGVybmFsUGxheWJhY2tUeXBlICE9IEFWUGxheWVyRXh0ZXJuYWxQbGF5YmFja1R5cGVBaXJQbGF5
KQogICAgICAgICByZXR1cm4gbmlsOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5tbQkocmV2aXNpb24gMjM3NDA0
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFj
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCw3IEBACiBzdGF0aWMgTlNQb2ludCBnbG9i
YWxQb2ludEZvckV2ZW50KE5TRXZlbnQgKmV2ZW50KQogewogICAgIHN3aXRjaCAoW2V2ZW50IHR5
cGVdKSB7Ci0jaWYgZGVmaW5lZChfX0xQNjRfXykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9B
TExPV0VEID49IDEwMTAwMworI2lmIGRlZmluZWQoX19MUDY0X18pCiAgICAgY2FzZSBOU0V2ZW50
VHlwZVByZXNzdXJlOgogI2VuZGlmCiAgICAgY2FzZSBOU0V2ZW50VHlwZUxlZnRNb3VzZURvd246
CkBAIC03OSw3ICs3OSw3IEBACiBzdGF0aWMgSW50UG9pbnQgcG9pbnRGb3JFdmVudChOU0V2ZW50
ICpldmVudCwgTlNWaWV3ICp3aW5kb3dWaWV3KQogewogICAgIHN3aXRjaCAoW2V2ZW50IHR5cGVd
KSB7Ci0jaWYgZGVmaW5lZChfX0xQNjRfXykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExP
V0VEID49IDEwMTAwMworI2lmIGRlZmluZWQoX19MUDY0X18pCiAgICAgY2FzZSBOU0V2ZW50VHlw
ZVByZXNzdXJlOgogI2VuZGlmCiAgICAgY2FzZSBOU0V2ZW50VHlwZUxlZnRNb3VzZURvd246CkBA
IC0xMTAsNyArMTEwLDcgQEAKIHN0YXRpYyBNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbkZvckV2ZW50
KE5TRXZlbnQgKmV2ZW50KQogewogICAgIHN3aXRjaCAoW2V2ZW50IHR5cGVdKSB7Ci0jaWYgZGVm
aW5lZChfX0xQNjRfXykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTAw
MworI2lmIGRlZmluZWQoX19MUDY0X18pCiAgICAgY2FzZSBOU0V2ZW50VHlwZVByZXNzdXJlOgog
I2VuZGlmCiAgICAgY2FzZSBOU0V2ZW50VHlwZUxlZnRNb3VzZURvd246CkBAIC03MjMsNyArNzIz
LDcgQEAKICAgICAgICAgLy8gUGxhdGZvcm1FdmVudAogICAgICAgICBtX3R5cGUgPSBtb3VzZUV2
ZW50VHlwZUZvckV2ZW50KGV2ZW50KTsKIAotI2lmIGRlZmluZWQoX19MUDY0X18pICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEwMDMKKyNpZiBkZWZpbmVkKF9fTFA2NF9f
KQogICAgICAgICBCT09MIGV2ZW50SXNQcmVzc3VyZUV2ZW50ID0gW2V2ZW50IHR5cGVdID09IE5T
RXZlbnRUeXBlUHJlc3N1cmU7CiAgICAgICAgIGlmIChldmVudElzUHJlc3N1cmVFdmVudCkgewog
ICAgICAgICAgICAgLy8gU2luY2UgQXBwS2l0IGRvZXNuJ3Qgc2VuZCBtb3VzZSBldmVudHMgZm9y
IGZvcmNlIGRvd24gb3IgZm9yY2UgdXAsIHdlIGhhdmUgdG8gdXNlIHRoZSBjdXJyZW50IHByZXNz
dXJlCkBAIC03NTMsNyArNzUzLDcgQEAKICNlbmRpZgogCiAgICAgICAgIG1fZm9yY2UgPSAwOwot
I2lmIGRlZmluZWQoX19MUDY0X18pICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+
PSAxMDEwMDMKKyNpZiBkZWZpbmVkKF9fTFA2NF9fKQogICAgICAgICBpbnQgc3RhZ2UgPSBldmVu
dElzUHJlc3N1cmVFdmVudCA/IGV2ZW50LnN0YWdlIDogY29ycmVzcG9uZGluZ1ByZXNzdXJlRXZl
bnQuc3RhZ2U7CiAgICAgICAgIGRvdWJsZSBwcmVzc3VyZSA9IGV2ZW50SXNQcmVzc3VyZUV2ZW50
ID8gZXZlbnQucHJlc3N1cmUgOiBjb3JyZXNwb25kaW5nUHJlc3N1cmVFdmVudC5wcmVzc3VyZTsK
ICAgICAgICAgbV9mb3JjZSA9IHByZXNzdXJlICsgc3RhZ2U7CkluZGV4OiBTb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNp
b24gMjM3NDA1KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwyMSBAQAorMjAxOC0xMC0yNSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxl
LmNvbT4KKworICAgICAgICBDbGVhbiB1cCBzb21lIG9ic29sZXRlIE1BWF9BTExPV0VEIG1hY3Jv
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwOTE2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OmFwcGx5U25pZmZpbmdQb2xpY2llc0FuZEJpbmRSZXF1
ZXN0VG9JbmZlcmZhY2VJZk5lZWRlZCk6CisgICAgICAgICogUGxhdGZvcm0vc3BpL0NvY29hL0Rl
dmljZUlkZW50aXR5U1BJLmg6CisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5o
OgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwOgorICAg
ICAgICAoZGVmYXVsdEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZCk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OnRvUEtQYXltZW50UmVxdWVzdCk6CisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVu
dFZpZXcgY2hhbmdlU2VsZWN0aW9uV2l0aFRvdWNoQXQ6d2l0aFNlbGVjdGlvblRvdWNoOmJhc2VJ
c1N0YXJ0Ol0pOiBEZWxldGVkLgorCiAyMDE4LTEwLTI0ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIHNvbWUgb2Jzb2xldGUgbWFjT1MgdmVy
c2lvbiBndWFyZHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya0RhdGFUYXNrQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQkocmV2aXNpb24gMjM3NDA0KQor
KysgU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2Nv
YS5tbQkod29ya2luZyBjb3B5KQpAQCAtODMsNyArODMsNyBAQAogewogI2lmICFQTEFURk9STShN
QUMpCiAgICAgVU5VU0VEX1BBUkFNKHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKTsKLSNlbGlm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDEzMDIKKyNlbGlmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE0MDAKICAgICBzaG91bGRDb250ZW50RW5jb2Rp
bmdTbmlmZiA9IHRydWU7CiAjZW5kaWYKICAgICBhdXRvJiBjb2NvYVNlc3Npb24gPSBzdGF0aWNf
Y2FzdDxOZXR3b3JrU2Vzc2lvbkNvY29hJj4obV9zZXNzaW9uLmdldCgpKTsKQEAgLTk1LDcgKzk1
LDcgQEAKIAogICAgIGF1dG8gbXV0YWJsZVJlcXVlc3QgPSBhZG9wdE5TKFtuc1JlcXVlc3QgbXV0
YWJsZUNvcHldKTsKIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEzMDIKKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCiAgICAgaWYgKCFzaG91bGRDb250ZW50RW5jb2Rp
bmdTbmlmZikKICAgICAgICAgW211dGFibGVSZXF1ZXN0IF9zZXRQcm9wZXJ0eTpAKFlFUykgZm9y
S2V5OihOU1N0cmluZyAqKWtDRlVSTFJlcXVlc3RDb250ZW50RGVjb2RlclNraXBVUkxDaGVja107
CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0RldmljZUlk
ZW50aXR5U1BJLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvQ29j
b2EvRGV2aWNlSWRlbnRpdHlTUEkuaAkocmV2aXNpb24gMjM3NDA0KQorKysgU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9zcGkvQ29jb2EvRGV2aWNlSWRlbnRpdHlTUEkuaAkod29ya2luZyBjb3B5KQpA
QCAtMzEsMTAgKzMxLDYgQEAKIAogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKLSNpZiBf
X0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEIDwgMTEwMzAwCi1leHRlcm4gTlNTdHJpbmcg
KiBfTm9ubnVsbCBjb25zdCBrTUFPcHRpb25zQkFBQWNjZXNzQ29udHJvbHM7Ci0jZW5kaWYKLQog
ZXh0ZXJuICJDIiB7CiAjaW1wb3J0IDxEZXZpY2VJZGVudGl0eS9EZXZpY2VJZGVudGl0eS5oPgog
fQpJbmRleDogU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgJKHJldmlz
aW9uIDIzNzQwNCkKKysrIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNDEsOSArMzQxLDcgQEAKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkb25seSkgQk9PTCBfaXNJbnRlcnJ1cHRpbmdEZWNlbGVyYXRpb247CiBAcHJvcGVydHkg
KG5vbmF0b21pYywgZ2V0dGVyPV9jb250ZW50U2Nyb2xsSW5zZXQsIHNldHRlcj1fc2V0Q29udGVu
dFNjcm9sbEluc2V0OikgVUlFZGdlSW5zZXRzIGNvbnRlbnRTY3JvbGxJbnNldDsKIEBwcm9wZXJ0
eSAobm9uYXRvbWljLCBnZXR0ZXI9X2luZGljYXRvckluc2V0QWRqdXN0bWVudEJlaGF2aW9yLCBz
ZXR0ZXI9X3NldEluZGljYXRvckluc2V0QWRqdXN0bWVudEJlaGF2aW9yOikgVUlTY3JvbGxWaWV3
SW5kaWNhdG9ySW5zZXRBZGp1c3RtZW50QmVoYXZpb3IgaW5kaWNhdG9ySW5zZXRBZGp1c3RtZW50
QmVoYXZpb3I7Ci0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMTAwMDAK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlFZGdlSW5zZXRzIF9zeXN0ZW1Db250
ZW50SW5zZXQ7Ci0jZW5kaWYKIEBlbmQKIAogQGludGVyZmFjZSBOU1N0cmluZyAoVUlLaXREZXRh
aWxzKQpAQCAtNDkyLDkgKzQ5MCw3IEBACiAtICh2b2lkKXNldFNpemU6KENHU2l6ZSlzaXplOwog
QHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgc2V0dGVyPV9zZXRCYWNrZHJvcE1hc2tWaWV3
RmxhZ3M6KSBOU0ludGVnZXIgX2JhY2tkcm9wTWFza1ZpZXdGbGFnczsKIC0gKHZvaWQpX3BvcHVs
YXRlQXJjaGl2ZWRTdWJ2aWV3czooTlNNdXRhYmxlU2V0ICopZW5jb2RlZFZpZXdzOwotI2lmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTEwMDAwCiAtICh2b2lkKXNhZmVBcmVh
SW5zZXRzRGlkQ2hhbmdlOwotI2VuZGlmCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9z
ZXRDb250aW51b3VzQ29ybmVyUmFkaXVzOikgQ0dGbG9hdCBfY29udGludW91c0Nvcm5lclJhZGl1
czsKIC0gKHZvaWQpaW5zZXJ0U3VidmlldzooVUlWaWV3ICopdmlldyBhYm92ZTooVUlWaWV3ICop
c2libGluZzsKIC0gKHZvaWQpdmlld1dpbGxNb3ZlVG9TdXBlcnZpZXc6KFVJVmlldyAqKW5ld1N1
cGVydmlldzsKQEAgLTYzMSw5ICs2MjcsNiBAQAogLSAoQk9PTCloYXNNYXJrZWRUZXh0OwogCiAt
IChCT09MKWhhc1NlbGVjdGFibGVQb3NpdGlvbkF0UG9pbnQ6KENHUG9pbnQpcG9pbnQ7Ci0jaWYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDExMDAwMAotLSAoQk9PTClwb2ludElz
SW5Bc3Npc3RlZE5vZGU6KENHUG9pbnQpcG9pbnQ7Ci0jZW5kaWYKIC0gKE5TQXJyYXkgKil3ZWJT
ZWxlY3Rpb25SZWN0czsKIC0gKHZvaWQpX2NhbmNlbExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVy
OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1
ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
RGVmYXVsdFZhbHVlcy5jcHAJKHJldmlzaW9uIDIzNzQwNCkKKysrIFNvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2
LDcgKzQ2LDcgQEAKIAogYm9vbCBkZWZhdWx0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKCkK
IHsKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9B
TExPV0VEID49IDExMDMwMAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgcmV0dXJuIFdl
YkNvcmU6OklPU0FwcGxpY2F0aW9uOjppc01vYmlsZVNhZmFyaSgpIHx8IGR5bGRfZ2V0X3Byb2dy
YW1fc2RrX3ZlcnNpb24oKSA+PSBEWUxEX0lPU19WRVJTSU9OXzExXzM7CiAjZWxpZiBQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEzMDAKICAgICBy
ZXR1cm4gV2ViQ29yZTo6TWFjQXBwbGljYXRpb246OmlzU2FmYXJpKCkgfHwgZHlsZF9nZXRfcHJv
Z3JhbV9zZGtfdmVyc2lvbigpID4gRFlMRF9NQUNPU1hfVkVSU0lPTl8xMF8xMzsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRv
clByb3h5Q29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBw
bGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQkocmV2aXNpb24g
MjM3NDA0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5
bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTQ5LDcgKzE0
OSw3IEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotI2lmIChQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJT1Nf
RkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDExMDAwMCkKKyNp
ZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAx
MzAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQogCiAtICh2b2lkKXBheW1lbnRBdXRob3JpemF0
aW9uVmlld0NvbnRyb2xsZXI6KFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlciAq
KWNvbnRyb2xsZXIgZGlkQXV0aG9yaXplUGF5bWVudDooUEtQYXltZW50ICopcGF5bWVudCBoYW5k
bGVyOih2b2lkICheKShQS1BheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0ICpyZXN1bHQpKWNvbXBs
ZXRpb24KIHsKQEAgLTQ5OCw4ICs0OTgsNyBAQAogfQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMCAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMzA0KSBcCi0gICAgfHwgKFBMQVRGT1JN
KElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDMw
MCAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDExMDMwMCkKKyNpZiAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMCAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMzA0KSB8fCBQTEFURk9STShJ
T1NfRkFNSUxZKQogc3RhdGljIFBLUGF5bWVudFJlcXVlc3RBUElUeXBlIHRvQVBJVHlwZShXZWJD
b3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6UmVxdWVzdGVyIHJlcXVlc3RlcikK
IHsKICAgICBzd2l0Y2ggKHJlcXVlc3RlcikgewpAQCAtNTI2LDggKzUyNSw3IEBACiAgICAgfSBl
bHNlIGlmICghbGlua0ljb25VUkxzLmlzRW1wdHkoKSkKICAgICAgICAgW3Jlc3VsdCBzZXRUaHVt
Ym5haWxVUkw6bGlua0ljb25VUkxzWzBdXTsKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA+PSAxMDEzMDQpIFwKLSAgICB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkg
JiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMzAwICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTEwMzAwKQorI2lmIChQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEzMDQpIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCiAg
ICAgW3Jlc3VsdCBzZXRBUElUeXBlOnRvQVBJVHlwZShwYXltZW50UmVxdWVzdC5yZXF1ZXN0ZXIo
KSldOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQkocmV2aXNpb24gMjM3NDA0KQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjkyNCwxMyArMjkyNCw2IEBACiAgICAgfSk7CiB9CiAKLSNpZiBf
X0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEIDwgMTIwMDAwCi0tICh2b2lkKWNoYW5nZVNl
bGVjdGlvbldpdGhUb3VjaEF0OihDR1BvaW50KXBvaW50IHdpdGhTZWxlY3Rpb25Ub3VjaDooVUlX
S1NlbGVjdGlvblRvdWNoKXRvdWNoIGJhc2VJc1N0YXJ0OihCT09MKWJhc2VJc1N0YXJ0Ci17Ci0g
ICAgW3NlbGYgY2hhbmdlU2VsZWN0aW9uV2l0aFRvdWNoQXQ6cG9pbnQgd2l0aFNlbGVjdGlvblRv
dWNoOnRvdWNoIGJhc2VJc1N0YXJ0OmJhc2VJc1N0YXJ0IHdpdGhGbGFnczpVSVdLTm9uZV07Ci19
Ci0jZW5kaWYKLQogLSAodm9pZCljaGFuZ2VTZWxlY3Rpb25XaXRoVG91Y2hBdDooQ0dQb2ludClw
b2ludCB3aXRoU2VsZWN0aW9uVG91Y2g6KFVJV0tTZWxlY3Rpb25Ub3VjaCl0b3VjaCBiYXNlSXNT
dGFydDooQk9PTCliYXNlSXNTdGFydCB3aXRoRmxhZ3M6KFVJV0tTZWxlY3Rpb25GbGFncylmbGFn
cwogewogICAgIF91c2luZ0dlc3R1cmVGb3JTZWxlY3Rpb24gPSBZRVM7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzc0MDUpCisrKyBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxOC0x
MC0yNSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVh
biB1cCBzb21lIG9ic29sZXRlIE1BWF9BTExPV0VEIG1hY3JvcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwOTE2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgor
ICAgICAgICAoLVtXZWJIVE1MVmlldyBwcmVzc3VyZUNoYW5nZVdpdGhFdmVudDpdKToKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYlBERlZpZXcuaDoKKwogMjAxOC0xMC0yNCAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBzb21lIG9ic29sZXRlIG1h
Y09TIHZlcnNpb24gZ3VhcmRzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYkhUTUxWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViSFRNTFZpZXcubW0JKHJldmlzaW9uIDIzNzQwNCkKKysrIFNvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ0OTEs
NyArNDQ5MSw3IEBACiAKIC0gKHZvaWQpcHJlc3N1cmVDaGFuZ2VXaXRoRXZlbnQ6KE5TRXZlbnQg
KilldmVudAogewotI2lmIFBMQVRGT1JNKE1BQykgJiYgZGVmaW5lZChfX0xQNjRfXykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTAwMworI2lmIFBMQVRGT1JNKE1BQykg
JiYgZGVmaW5lZChfX0xQNjRfXykKICAgICBOU0V2ZW50ICpsYXN0UHJlc3N1cmVFdmVudCA9IFtb
c2VsZiBfd2ViVmlld10gX3ByZXNzdXJlRXZlbnRdOwogICAgIGlmIChldmVudC5waGFzZSAhPSBO
U0V2ZW50UGhhc2VDaGFuZ2VkICYmIGV2ZW50LnBoYXNlICE9IE5TRXZlbnRQaGFzZUJlZ2FuICYm
IGV2ZW50LnBoYXNlICE9IE5TRXZlbnRQaGFzZUVuZGVkKQogICAgICAgICByZXR1cm47CkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBERlZpZXcuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBERlZpZXcuaAkocmV2aXNp
b24gMjM3NDA0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQREZWaWV3
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDExICszMyw2IEBACiAKIEBjbGFzcyBXZWJEYXRhU291
cmNlOwogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAxMjAwCi1AcHJv
dG9jb2wgUERGVmlld0RlbGVnYXRlIDxOU09iamVjdD4KLUBlbmQKLSNlbmRpZgotCiBAaW50ZXJm
YWNlIFdlYlBERlZpZXcgOiBOU1ZpZXcgPFBERlZpZXdEZWxlZ2F0ZSwgV2ViRG9jdW1lbnRWaWV3
LCBXZWJEb2N1bWVudFNlYXJjaGluZywgV2ViRG9jdW1lbnRJbmNyZW1lbnRhbFNlYXJjaGluZywg
V2ViTXVsdGlwbGVUZXh0TWF0Y2hlcywgV2ViRG9jdW1lbnRTZWxlY3Rpb24sIFdlYkRvY3VtZW50
RWxlbWVudCwgV2ViRG9jdW1lbnRQREYsIF9XZWJEb2N1bWVudFZpZXdTdGF0ZSwgX1dlYkRvY3Vt
ZW50Wm9vbWluZz4KIHsKICAgICBQREZWaWV3ICpQREZTdWJ2aWV3OwpJbmRleDogVG9vbHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjM3NDI3KQor
KysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTgt
MTAtMjUgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xl
YW4gdXAgc29tZSBvYnNvbGV0ZSBNQVhfQUxMT1dFRCBtYWNyb3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDkxNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
ZGFyd2luL1dlYWtMaW5raW5nLmNwcDoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1dLSFRUUENvb2tpZVN0b3JlLm1tOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvaW9zL0RyYWdBbmREcm9wVGVzdHNJT1MubW06CisKIDIwMTgtMTAtMjUgIEpvc2VwaCBQ
ZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBB
ZGQgYSB3YXRjaGxpc3QgbWVzc2FnZSBydWxlIHRvIHdhcm4gYWJvdXQgZmVhdHVyZSBjaGVja2lu
ZyBuZXcgaW5zcGVjdG9yIHByb3RvY29sIGNoYW5nZXMKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL2Rhcndpbi9XZWFrTGlua2luZy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvZGFyd2luL1dlYWtMaW5raW5nLmNwcAkocmV2aXNpb24g
MjM3NDA0KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvZGFyd2luL1dlYWtMaW5r
aW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTkgKzMyLDExIEBACiAKICNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQogCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAx
MDEwMDAKIGFzbSgiLmxpbmtlcl9vcHRpb24gXCItbFRlc3RXVEZBbHdheXNNaXNzaW5nLWlPUy12
MlwiIik7Ci0jZWxzZQotYXNtKCIubGlua2VyX29wdGlvbiBcIi1sVGVzdFdURkFsd2F5c01pc3Np
bmctaU9TXCIiKTsKLSNlbmRpZgogCiAjZWxzZQogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01B
WF9BTExPV0VEID49IDEwMTIwMAogYXNtKCIubGlua2VyX29wdGlvbiBcIi1sVGVzdFdURkFsd2F5
c01pc3NpbmctbWFjT1MtdjJcIiIpOwotI2Vsc2UKLWFzbSgiLmxpbmtlcl9vcHRpb24gXCItbFRl
c3RXVEZBbHdheXNNaXNzaW5nLW1hY09TXCIiKTsKLSNlbmRpZgogCiAjZW5kaWYKIApJbmRleDog
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0hUVFBDb29raWVTdG9yZS5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dL
SFRUUENvb2tpZVN0b3JlLm1tCShyZXZpc2lvbiAyMzc0MDQpCisrKyBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLSFRUUENvb2tpZVN0b3JlLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC00MDQsOCArNDA0LDggQEAKIH0KICNlbmRpZiAvLyAoUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPU19G
QU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMCkKIAot
Ly8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIHJlbW92ZWQgb25jZSA8cmRhcjovL3Byb2JsZW0vMzUz
NDQyMDI+IGlzIHJlc29sdmVkIGFuZCBib3RzIGFyZSB1cGRhdGVkLgotI2lmIChQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8PSAxMDEzMDEpIHx8IChQTEFU
Rk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEIDw9IDEx
MDEwMikKKy8vIEZJWE1FOiBUaGlzICNpZiBzaG91bGQgYmUgcmVtb3ZlZCBvbmNlIDxyZGFyOi8v
cHJvYmxlbS8zNTM0NDIwMj4gaXMgcmVzb2x2ZWQgYW5kIGJvdHMgYXJlIHVwZGF0ZWQuCisjaWYg
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPD0gMTAxMzAx
CiBURVNUKFdlYktpdCwgV0tIVFRQQ29va2llU3RvcmVOb25QZXJzaXN0ZW50KQogewogICAgIFJl
dGFpblB0cjxXS1dlYnNpdGVEYXRhU3RvcmU+IG5vblBlcnNpc3RlbnREYXRhU3RvcmU7CkBAIC00
MzQsNyArNDM0LDcgQEAKICAgICBhdXRvIGN1c3RvbURhdGFTdG9yZSA9IGFkb3B0TlMoW1tXS1dl
YnNpdGVEYXRhU3RvcmUgYWxsb2NdIF9pbml0V2l0aENvbmZpZ3VyYXRpb246d2Vic2l0ZURhdGFT
dG9yZUNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKICAgICBydW5UZXN0V2l0aFdlYnNpdGVEYXRhU3Rv
cmUoY3VzdG9tRGF0YVN0b3JlLmdldCgpKTsKIH0KLSNlbmRpZiAvLyAoUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPD0gMTAxMzAxKSB8fCAoUExBVEZPUk0o
SU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA8PSAxMTAxMDIp
CisjZW5kaWYgLy8gUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9X
RUQgPD0gMTAxMzAxCiAKIFRFU1QoV2ViS2l0LCBDb29raWVPYnNlcnZlckNyYXNoKQogewpJbmRl
eDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvRHJhZ0FuZERyb3BUZXN0c0lPUy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9EcmFnQW5kRHJvcFRl
c3RzSU9TLm1tCShyZXZpc2lvbiAyMzc0MDQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L2lvcy9EcmFnQW5kRHJvcFRlc3RzSU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcyLDcgKzEz
NzIsNyBAQAogfQogCiAvLyBGSVhNRTogUmUtZW5hYmxlIHRoaXMgdGVzdCBvbmNlIHdlIHJlc29s
dmUgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUyMDQ+Ci0jaWYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA8PSAxMTA0MDEKKyNpZiAwCiBURVNUKERy
YWdBbmREcm9wVGVzdHMsIEN1c3RvbUFjdGlvblNoZWV0UG9wb3ZlcikKIHsKICAgICBhdXRvIHdl
YlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1Jl
Y3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353107</attachid>
            <date>2018-10-25 14:00:02 -0700</date>
            <delta_ts>2018-10-29 10:00:03 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>MaxAllowed.txt</filename>
            <type>text/plain</type>
            <size>37476</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM3NDA0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBA
CisyMDE4LTEwLTI1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAg
ICAgIENsZWFuIHVwIHNvbWUgb2Jzb2xldGUgTUFYX0FMTE9XRUQgbWFjcm9zCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA5MTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEFQSS9KU01hbmFnZWRWYWx1
ZS5tbToKKyAgICAgICAgKiBBUEkvSlNWaXJ0dWFsTWFjaGluZS5tbToKKyAgICAgICAgKiBBUEkv
SlNXcmFwcGVyTWFwLm1tOgorCiAyMDE4LTEwLTI0ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2Fy
ZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgVHVybiBvbiBDb25pYyBHcmFkaWVudHMKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNNYW5hZ2VkVmFsdWUubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU01hbmFnZWRWYWx1ZS5tbQkocmV2aXNpb24g
MjM3NDA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU01hbmFnZWRWYWx1ZS5tbQko
d29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNiBAQAogI2ltcG9ydCAiT2JqY1J1bnRpbWVFeHRy
YXMuaCIKICNpbXBvcnQgIkpTQ0lubGluZXMuaCIKICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3ll
ZC5oPgotI2ltcG9ydCA8d3RmL3NwaS9jb2NvYS9OU01hcFRhYmxlU1BJLmg+CiAKIGNsYXNzIEpT
TWFuYWdlZFZhbHVlSGFuZGxlT3duZXIgOiBwdWJsaWMgSlNDOjpXZWFrSGFuZGxlT3duZXIgewog
cHVibGljOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZpcnR1YWxNYWNoaW5l
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWaXJ0dWFsTWFj
aGluZS5tbQkocmV2aXNpb24gMjM3NDA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U1ZpcnR1YWxNYWNoaW5lLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw2IEBACiAjaW1w
b3J0IDxtdXRleD4KICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgogI2ltcG9ydCA8d3RmL0xvY2su
aD4KLSNpbXBvcnQgPHd0Zi9zcGkvY29jb2EvTlNNYXBUYWJsZVNQSS5oPgogCiBzdGF0aWMgTlNN
YXBUYWJsZSAqZ2xvYmFsV3JhcHBlckNhY2hlID0gMDsKIApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0JKHJldmlzaW9uIDIzNzQwNCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNXcmFwcGVyTWFwLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3
ICszOSw2IEBACiAjaW1wb3J0ICJXZWFrR0NNYXAuaCIKICNpbXBvcnQgIldlYWtHQ01hcElubGlu
ZXMuaCIKICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KLSNpbXBvcnQgPHd0Zi9zcGkvY29jb2EvTlNN
YXBUYWJsZVNQSS5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogCiAjaW5j
bHVkZSA8bWFjaC1vL2R5bGQuaD4KSW5kZXg6IFNvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwkocmV2aXNpb24gMjM3NDA0KQorKysgU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE4LTEwLTI1ICBBbGV4
ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIHNvbWUg
b2Jzb2xldGUgTUFYX0FMTE9XRUQgbWFjcm9zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA5MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9WaWRlb1Byb2Nl
c3NpbmdTb2Z0TGluay5oOgorCiAyMDE4LTEwLTIzICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRA
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMzcyNjEuCklu
ZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0
L1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9WaWRlb1Byb2Nlc3NpbmdTb2Z0
TGluay5oCShyZXZpc2lvbiAyMzc0MDQpCisrKyBTb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM2LDkgKzM2LDkgQEAKICNpZiAoZGVmaW5lZChUQVJHRVRfSVBIT05FX1NJ
TVVMQVRPUikgICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKQogI2RlZmluZSBFTkFCTEVfVkNQ
X0VOQ09ERVIgMAogI2VsaWYgKGRlZmluZWQoVEFSR0VUX09TX0lQSE9ORSkgICYmIFRBUkdFVF9P
U19JUEhPTkUpCi0jZGVmaW5lIEVOQUJMRV9WQ1BfRU5DT0RFUiAoX19JUEhPTkVfT1NfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA+PSAxMjAwMDApCisjZGVmaW5lIEVOQUJMRV9WQ1BfRU5DT0RFUiAxCiAj
ZWxpZiAoZGVmaW5lZChUQVJHRVRfT1NfTUFDKSAmJiBUQVJHRVRfT1NfTUFDKQotI2RlZmluZSBF
TkFCTEVfVkNQX0VOQ09ERVIgKF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEz
MDQpCisjZGVmaW5lIEVOQUJMRV9WQ1BfRU5DT0RFUiAoX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEzMDAgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEw
MTMwNCkKICNlbmRpZgogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzc0MDQpCisrKyBTb3Vy
Y2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEw
LTI1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFu
IHVwIHNvbWUgb2Jzb2xldGUgTUFYX0FMTE9XRUQgbWFjcm9zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA5MTYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgKiB3dGYvc3Bp
L2NvY29hL05TTWFwVGFibGVTUEkuaDogUmVtb3ZlZC4gVGhpcyB3YXMgb25seSBuZWVkZWQgZm9y
IG9sZCBTREtzLgorCiAyMDE4LTEwLTI0ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBh
cHBsZS5jb20+CiAKICAgICAgICAgVHVybiBvbiBDb25pYyBHcmFkaWVudHMKSW5kZXg6IFNvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjM3NDA0KQorKysg
U291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpA
QCAtNjE1LDcgKzYxNSw2IEBACiAJCUNENTQ5N0FCMTU4NTdEMDMwMEI1QkMzMCAvKiBNZWRpYVRp
bWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFUaW1lLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENkQ5RkNEMUVFRjNBRDQwMDhCMDY3MSAvKiBBbGdv
cml0aG1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFsZ29yaXRobXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0Q3NjAwRkYxRjkwQTNDQTAwMDI2RTI2IC8qIFVuc2FmZVBvaW50ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVW5zYWZlUG9pbnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlDRTQ2NTE2RDE5REIxRkI0MDAzRUNBMDUgLyogTlNNYXBUYWJsZVNQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU01hcFRhYmxlU1BJLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUNFNzNFMDI0MTlEQ0I3QUIwMDU4MEQ1QyAvKiBYUENTUEkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gWFBDU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCURDRUUyMUZBMUNFQTc1MzgwMDBDMjM5NiAvKiBDRkJ1bmRsZVNQSS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDRkJ1bmRsZVNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlEQ0VFMjFGQzFDRUE3NTUxMDAwQzIzOTYgLyogQmxvY2tPYmpD
RXhjZXB0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCbG9ja09iakNF
eGNlcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjk2LDcgKzEyOTUs
NiBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQk5Mzg0QjczRTIw
REVBMjg0MDA1QjczQjIgLyogQ0ZYUENCcmlkZ2VTUEkuaCAqLywKLQkJCQlDRTQ2NTE2RDE5REIx
RkI0MDAzRUNBMDUgLyogTlNNYXBUYWJsZVNQSS5oICovLAogCQkJCTkzRDE5MUNGMjBDQUVDRTgw
MEM1MUI4RSAvKiBvYmpjU1BJLmggKi8sCiAJCQkJQTUwOThCMDExQzE2QTRGOTAwMDg3Nzk3IC8q
IFNlY3VyaXR5U1BJLmggKi8sCiAJCQkpOwpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm1N
YWMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UJ
KHJldmlzaW9uIDIzNzQwNCkKKysrIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlCSh3
b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw2IEBAIGxpc3QoQVBQRU5EIFdURl9QVUJMSUNfSEVB
REVSUwogICAgIHNwaS9jZi9DRkJ1bmRsZVNQSS5oCiAgICAgc3BpL2NmL0NGU3RyaW5nU1BJLmgK
IAotICAgIHNwaS9jb2NvYS9OU01hcFRhYmxlU1BJLmgKICAgICBzcGkvY29jb2EvU2VjdXJpdHlT
UEkuaAogICAgIHNwaS9jb2NvYS9vYmpjU1BJLmgKIApJbmRleDogU291cmNlL1dURi93dGYvc3Bp
L2NvY29hL05TTWFwVGFibGVTUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9zcGkv
Y29jb2EvTlNNYXBUYWJsZVNQSS5oCShyZXZpc2lvbiAyMzc0MDQpCisrKyBTb3VyY2UvV1RGL3d0
Zi9zcGkvY29jb2EvTlNNYXBUYWJsZVNQSS5oCShub25leGlzdGVudCkKQEAgLTEsNDIgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNC0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
Ci0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNp
bXBvcnQgPEZvdW5kYXRpb24vTlNNYXBUYWJsZS5oPgotCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEyMDAwMAotCi0jaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKLSNpbXBvcnQgPEZvdW5kYXRpb24vTlNNYXBUYWJsZVByaXYu
aD4KLSNlbmRpZgotCi1XVEZfRVhURVJOX0NfQkVHSU4KLQotdm9pZCAqTlNNYXBHZXQoTlNNYXBU
YWJsZSAqLCBjb25zdCB2b2lkICprZXkpOwotdm9pZCBOU01hcEluc2VydChOU01hcFRhYmxlICos
IGNvbnN0IHZvaWQgKmtleSwgY29uc3Qgdm9pZCAqdmFsdWUpOwotdm9pZCBOU01hcFJlbW92ZShO
U01hcFRhYmxlICosIGNvbnN0IHZvaWQgKmtleSk7Ci0KLVdURl9FWFRFUk5fQ19FTkQKLQotI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzc0MDUpCisrKyBTb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxOC0xMC0yNSAgQWxl
eGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbiB1cCBzb21l
IG9ic29sZXRlIE1BWF9BTExPV0VEIG1hY3JvcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwOTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6ZXhlcm5hbERldmljZURpc3BsYXlOYW1lRm9yUGxheWVyKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpnbG9i
YWxQb2ludEZvckV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OnBvaW50Rm9yRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6bW91c2VCdXR0b25Gb3JFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybU1vdXNlRXZlbnRCdWlsZGVyOjpQbGF0Zm9ybU1vdXNlRXZlbnRCdWlsZGVyKToKKwog
MjAxOC0xMC0yNCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAg
ICBDbGVhbiB1cCBzb21lIG9ic29sZXRlIG1hY09TIHZlcnNpb24gZ3VhcmRzCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNzQwNSkKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxOC0xMC0yNSAgQWxleGV5
IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbiB1cCBzb21lIG9i
c29sZXRlIE1BWF9BTExPV0VEIG1hY3JvcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkwOTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwOgorICAgICAg
ICAqIHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oOgorICAgICAgICBCZWhhdmlvciBjaGFuZ2Ug
aGVyZS4gVGhlIGNoZWNrIGRpZG4ndCByZWFsbHkgbWFrZSBzZW5zZSwgcHJldHR5IHN1cmUgd2Ug
d291bGQKKyAgICAgICAganVzdCBjcmFzaCB3aGVuIGhpdHRpbmcgdGhpcyBjb2RlIHBhdGggb24g
aU9TLgorCisgICAgICAgICogcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaDoKKyAgICAgICAgKiBw
YWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaDoKKyAgICAgICAgKiBwYWwvc3BpL21hYy9BVkZvdW5k
YXRpb25TUEkuaDoKKwogMjAxOC0xMC0yNCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxl
LmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBzb21lIG9ic29sZXRlIG1hY09TIHZlcnNpb24gZ3Vh
cmRzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmNwcAkocmV2aXNpb24gMjM3NDA0KQorKysgU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9D
b3JlTWVkaWFTb2Z0TGluay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDEwICszNSwxMiBAQAog
I2luY2x1ZGUgPENvcmVWaWRlby9Db3JlVmlkZW8uaD4KICNlbmRpZgogCi0jaWYgKFBMQVRGT1JN
KElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMzAwMDAp
IHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEw
MTQwMCkKLSNkZWZpbmUgQ01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBFCisjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9B
TExPV0VEID49IDEwMTQwMCkKKyNkZWZpbmUgQ01TQU1QTEVCVUZGRVJDQUxMX0NBTExCQUNLX01P
RElGSUVSUyBDTV9OT05OVUxMIENGX05PRVNDQVBFCisjZWxpZiBQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEzMDAKKyNkZWZpbmUgQ01TQU1QTEVC
VUZGRVJDQUxMX0NBTExCQUNLX01PRElGSUVSUyBDRl9OT0VTQ0FQRQogI2Vsc2UKLSNkZWZpbmUg
Q01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBFIENGX05PRVNDQVBFCisjZGVmaW5lIENNU0FNUExF
QlVGRkVSQ0FMTF9DQUxMQkFDS19NT0RJRklFUlMKICNlbmRpZgogCiAKQEAgLTE1OSwxMSArMTYx
LDggQEAgU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBDb3JlTQogU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBDb3JlTWVkaWEsIENNQXVkaW9Gb3JtYXREZXNjcmlw
dGlvbkNyZWF0ZSwgT1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IsIGNvbnN0IEF1
ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiogYXNiZCwgc2l6ZV90IGxheW91dFNpemUsIGNvbnN0
IEF1ZGlvQ2hhbm5lbExheW91dCogbGF5b3V0LCBzaXplX3QgbWFnaWNDb29raWVTaXplLCBjb25z
dCB2b2lkKiBtYWdpY0Nvb2tpZSwgQ0ZEaWN0aW9uYXJ5UmVmIGV4dGVuc2lvbnMsIENNQXVkaW9G
b3JtYXREZXNjcmlwdGlvblJlZiogb3V0RGVzYyksIChhbGxvY2F0b3IsIGFzYmQsIGxheW91dFNp
emUsIGxheW91dCwgbWFnaWNDb29raWVTaXplLCBtYWdpY0Nvb2tpZSwgZXh0ZW5zaW9ucywgb3V0
RGVzYykpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIENvcmVNZWRpYSwgQ01D
bG9ja0dldEhvc3RUaW1lQ2xvY2ssIENNQ2xvY2tSZWYsICh2b2lkKSwgKCkpCiBTT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX1NPVVJDRShQQUwsIENvcmVNZWRpYSwgQ01DbG9ja0dldFRpbWUsIENNVGlt
ZSwgKENNQ2xvY2tSZWYgY2xvY2spLCAoY2xvY2spKQotCi0jaWYgUExBVEZPUk0oQVBQTEVUVikg
fHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1NNQUMpIHx8IFBMQVRGT1JNKFdBVENIT1Mp
IHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExP
V0VEIDwgMTIwMDAwKQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBDb3JlTWVk
aWEsIENNU2FtcGxlQnVmZmVyQ2FsbEZvckVhY2hTYW1wbGUsIE9TU3RhdHVzLCAoQ01TYW1wbGVC
dWZmZXJSZWYgc2J1ZiwgT1NTdGF0dXMgKCogQ01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBFIGNh
bGxiYWNrKSggQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyLCBDTUl0ZW1Db3VudCBpbmRl
eCwgdm9pZCAqcmVmY29uKSwgdm9pZCAqcmVmY29uKSwgKHNidWYsIGNhbGxiYWNrLCByZWZjb24p
KQotU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxl
QnVmZmVyQ2FsbEJsb2NrRm9yRWFjaFNhbXBsZSwgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJl
ZiBzYnVmLCBPU1N0YXR1cyAoXiBDTVNBTVBMRUJVRkZFUkNBTExfTk9FU0NBUEUgaGFuZGxlciko
Q01TYW1wbGVCdWZmZXJSZWYsIENNSXRlbUNvdW50KSksIChzYnVmLCBoYW5kbGVyKSkKLSNlbmRp
ZgorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBDb3JlTWVkaWEsIENNU2FtcGxl
QnVmZmVyQ2FsbEZvckVhY2hTYW1wbGUsIE9TU3RhdHVzLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1
ZiwgT1NTdGF0dXMgKCogQ01TQU1QTEVCVUZGRVJDQUxMX0NBTExCQUNLX01PRElGSUVSUyBjYWxs
YmFjaykoIENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZUJ1ZmZlciwgQ01JdGVtQ291bnQgaW5kZXgs
IHZvaWQgKnJlZmNvbiksIHZvaWQgKnJlZmNvbiksIChzYnVmLCBjYWxsYmFjaywgcmVmY29uKSkK
K1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1
ZmZlckNhbGxCbG9ja0ZvckVhY2hTYW1wbGUsIE9TU3RhdHVzLCAoQ01TYW1wbGVCdWZmZXJSZWYg
c2J1ZiwgT1NTdGF0dXMgKF4gQ01TQU1QTEVCVUZGRVJDQUxMX0NBTExCQUNLX01PRElGSUVSUyBo
YW5kbGVyKShDTVNhbXBsZUJ1ZmZlclJlZiwgQ01JdGVtQ291bnQpKSwgKHNidWYsIGhhbmRsZXIp
KQogCiAjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgJKHJldmlzaW9uIDIzNzQwNCkKKysrIFNv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaAkod29ya2luZyBjb3B5
KQpAQCAtMzcsMTAgKzM3LDEyIEBACiAjZGVmaW5lIFNPRlRMSU5LX0FWS0lUX0ZSQU1FV09SSygp
IFNPRlRfTElOS19GUkFNRVdPUktfT1BUSU9OQUwoQVZLaXQpCiAjZW5kaWYKIAotI2lmIChQTEFU
Rk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEIDwgMTMw
MDAwKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQg
PCAxMDE0MDApCi0jZGVmaW5lIENNU0FNUExFQlVGRkVSQ0FMTF9OT0VTQ0FQRQorI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
QVhfQUxMT1dFRCA+PSAxMDE0MDApCisjZGVmaW5lIENNU0FNUExFQlVGRkVSQ0FMTF9DQUxMQkFD
S19NT0RJRklFUlMgQ01fTk9OTlVMTCBDRl9OT0VTQ0FQRQorI2VsaWYgUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMzAwCisjZGVmaW5lIENNU0FN
UExFQlVGRkVSQ0FMTF9DQUxMQkFDS19NT0RJRklFUlMgQ0ZfTk9FU0NBUEUKICNlbHNlCi0jZGVm
aW5lIENNU0FNUExFQlVGRkVSQ0FMTF9OT0VTQ0FQRSBDRl9OT0VTQ0FQRQorI2RlZmluZSBDTVNB
TVBMRUJVRkZFUkNBTExfQ0FMTEJBQ0tfTU9ESUZJRVJTCiAjZW5kaWYKIAogU09GVF9MSU5LX0ZS
QU1FV09SS19GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhKQpAQCAtMjcwLDE1ICsyNzIsMTEgQEAg
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTQogU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIENNQ2xvY2tHZXRUaW1lLCBDTVRpbWUsIChD
TUNsb2NrUmVmIGNsb2NrKSwgKGNsb2NrKSkKICNkZWZpbmUgQ01DbG9ja0dldFRpbWUgIHNvZnRM
aW5rX0NvcmVNZWRpYV9DTUNsb2NrR2V0VGltZQogCi0jaWYgUExBVEZPUk0oQVBQTEVUVikgfHwg
UExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1NNQUMpIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8
IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VE
IDwgMTIwMDAwKQotCi1TT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRp
YSwgQ01TYW1wbGVCdWZmZXJDYWxsRm9yRWFjaFNhbXBsZSwgT1NTdGF0dXMsIChDTVNhbXBsZUJ1
ZmZlclJlZiBzYnVmLCBPU1N0YXR1cyAoKiBDTVNBTVBMRUJVRkZFUkNBTExfTk9FU0NBUEUgY2Fs
bGJhY2spKCBDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIsIENNSXRlbUNvdW50IGluZGV4
LCB2b2lkICpyZWZjb24pLCB2b2lkICpyZWZjb24pLCAoc2J1ZiwgY2FsbGJhY2ssIHJlZmNvbikp
CitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1wbGVC
dWZmZXJDYWxsRm9yRWFjaFNhbXBsZSwgT1NTdGF0dXMsIChDTVNhbXBsZUJ1ZmZlclJlZiBzYnVm
LCBPU1N0YXR1cyAoKiBDTVNBTVBMRUJVRkZFUkNBTExfQ0FMTEJBQ0tfTU9ESUZJRVJTIGNhbGxi
YWNrKShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGVCdWZmZXIsIENNSXRlbUNvdW50IGluZGV4LCB2
b2lkICpyZWZjb24pLCB2b2lkICpyZWZjb24pLCAoc2J1ZiwgY2FsbGJhY2ssIHJlZmNvbikpCiAj
ZGVmaW5lIENNU2FtcGxlQnVmZmVyQ2FsbEZvckVhY2hTYW1wbGUgc29mdExpbmtfQ29yZU1lZGlh
X0NNU2FtcGxlQnVmZmVyQ2FsbEZvckVhY2hTYW1wbGUKLVNPRlRfTElOS19GVU5DVElPTl9GT1Jf
SEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckNhbGxCbG9ja0ZvckVhY2hTYW1w
bGUsIE9TU3RhdHVzLCAoQ01TYW1wbGVCdWZmZXJSZWYgc2J1ZiwgT1NTdGF0dXMgKF4gQ01TQU1Q
TEVCVUZGRVJDQUxMX05PRVNDQVBFIGhhbmRsZXIpKENNU2FtcGxlQnVmZmVyUmVmLCBDTUl0ZW1D
b3VudCkpLCAoc2J1ZiwgaGFuZGxlcikpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQ
QUwsIENvcmVNZWRpYSwgQ01TYW1wbGVCdWZmZXJDYWxsQmxvY2tGb3JFYWNoU2FtcGxlLCBPU1N0
YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYsIE9TU3RhdHVzICheIENNU0FNUExFQlVGRkVS
Q0FMTF9DQUxMQkFDS19NT0RJRklFUlMgaGFuZGxlcikoQ01TYW1wbGVCdWZmZXJSZWYsIENNSXRl
bUNvdW50KSksIChzYnVmLCBoYW5kbGVyKSkKICNkZWZpbmUgQ01TYW1wbGVCdWZmZXJDYWxsQmxv
Y2tGb3JFYWNoU2FtcGxlIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckNhbGxCbG9j
a0ZvckVhY2hTYW1wbGUKIAotI2VuZGlmCi0KICNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKIAog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9jZi9DRk5ldHdvcmtTUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jZi9DRk5ldHdvcmtTUEkuaAkocmV2aXNpb24gMjM3NDA0KQorKysgU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcg
KzM0LDcgQEAKIC8vIFRoZSBTUEkgaGVhZGVyIHNob3VsZCBkZWZpbmUgd2hpY2ggQ0ZOZXR3b3Jr
IGZlYXR1cmVzICpleGlzdCogaW4gdGhlIHVuZGVybHlpbmcgc3lzdGVtLCBidXQgbm90CiAvLyBw
b2xpY3kgYWJvdXQgd2hhdCBXZWJLaXQgc2hvdWxkIGRvLiBBY2NvcmRpbmdseSwgd2Ugc2hvdWxk
IG1vdmUgdGhpcyBzb21ld2hlcmUgZWxzZSBvciByZW5hbWUgaXQKIC8vIHRvIGJlIGFib3V0IENG
TmV0d29yayBjYXBhYmlsaXRpZXMgKEhBVkUpIHJhdGhlciB0aGFuIGFib3V0IFdlYktpdCBwb2xp
Y3kgKFVTRSkuCi0jaWYgKChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhf
QUxMT1dFRCA+PSAxMDEzMDIgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEzMDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMTAyMDApIHx8IChQTEFURk9STShXQVRDSE9TKSAmJiBfX1dBVENIX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDQwMjAwKSB8fCAoUExBVEZPUk0oVFZPUykgJiYgX19U
Vl9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAyMDApKQorI2lmICgoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMzAyICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlM
WSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAwKSB8fCAoUExB
VEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA1MDAw
MCkgfHwgKFBMQVRGT1JNKFRWT1MpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTIwMDAwKSkKICNkZWZpbmUgVVNFX0NGTkVUV09SS19JR05PUkVfSFNUUyAxCiAjZW5kaWYKIApA
QCAtMjQ3LDcgKzI0Nyw3IEBAIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBfa0NGVVJMQ2FjaGVQ
YXIKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBfa0NGVVJMQ29ubmVjdGlvblByb3BlcnR5U2hv
dWxkU25pZmY7CiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYgX2tDRlVSTFN0b3JhZ2VTZXNzaW9u
SXNQcml2YXRlOwogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTMwMgorI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ0ZV
UkxSZXF1ZXN0Q29udGVudERlY29kZXJTa2lwVVJMQ2hlY2s7CiAjZW5kaWYKIApJbmRleDogU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaAkocmV2aXNpb24g
MjM3NDA0KQorKysgU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNDcsNyArMjQ3LDcgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVH
SU4KIC0gKHZvaWQpcGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcjooUEtQYXltZW50
QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyICopY29udHJvbGxlciBkaWRSZXF1ZXN0TWVyY2hh
bnRTZXNzaW9uOih2b2lkKF4pKFBLUGF5bWVudE1lcmNoYW50U2Vzc2lvbiAqLCBOU0Vycm9yICop
KXNlc3Npb25CbG9jazsKIEBlbmQKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEzMDQpIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAm
JiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDExMDMwMCkKKyNpZiAoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMzA0KSB8fCBQ
TEFURk9STShJT1NfRkFNSUxZKQogdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIFBLUGF5bWVu
dFJlcXVlc3RBUElUeXBlKSB7CiAgICAgUEtQYXltZW50UmVxdWVzdEFQSVR5cGVJbkFwcCA9IDAs
CiAgICAgUEtQYXltZW50UmVxdWVzdEFQSVR5cGVXZWJKUywKQEAgLTI3Niw3ICsyNzYsNyBAQCB0
eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBQS1BheW1lbnRCdXR0CiAgICAgUEtQYXltZW50QnV0
dG9uVHlwZVNldFVwLAogICAgIFBLUGF5bWVudEJ1dHRvblR5cGVJblN0b3JlLAogICAgIFBLUGF5
bWVudEJ1dHRvblR5cGVEb25hdGUsCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYm
IF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTIwMDAwKQorI2lmIChQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDE0MDApIHx8IFBM
QVRGT1JNKElPU19GQU1JTFkpCiAgICAgUEtQYXltZW50QnV0dG9uVHlwZUNoZWNrb3V0LAogICAg
IFBLUGF5bWVudEJ1dHRvblR5cGVCb29rLAogICAgIFBLUGF5bWVudEJ1dHRvblR5cGVTdWJzY3Jp
YmUsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJ
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0FWRm91bmRh
dGlvblNQSS5oCShyZXZpc2lvbiAyMzc0MDQpCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9tYWMvQVZGb3VuZGF0aW9uU1BJLmgJKHdvcmtpbmcgY29weSkKQEAgLTU0LDE0ICs1NCwxNCBA
QAogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWUGxheWVySXRlbS5oPgogI2ltcG9ydCA8QVZGb3Vu
ZGF0aW9uL0FWUGxheWVyTGF5ZXIuaD4KIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZ
KSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDExMDAwMCkKKyNpZiAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMzAwKSB8
fCBQTEFURk9STShJT1NfRkFNSUxZKQogTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIEBpbnRlcmZh
Y2UgQVZQbGF5ZXJJdGVtICgpCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TVGlt
ZUludGVydmFsIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUgTlNfQVZBSUxBQkxF
KDEwXzEzLCAxMV8wKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNUaW1lSW50
ZXJ2YWwgbGl2ZVVwZGF0ZUludGVydmFsOwogQGVuZAogTlNfQVNTVU1FX05PTk5VTExfRU5ECi0j
ZW5kaWYgLy8gKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VE
ID49IDEwMTMwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUFYX0FMTE9XRUQgPj0gMTEwMDAwKQorI2VuZGlmIC8vIChQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEzMDApIHx8IFBMQVRGT1JNKElPU19G
QU1JTFkpCiAKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSB8fCBQTEFURk9S
TShJT1NfRkFNSUxZKQogCkBAIC0yMzUsNyArMjM1LDcgQEAgTlNfQVNTVU1FX05PTk5VTExfRU5E
CiAKICNlbmRpZiAvLyBfX2hhc19pbmNsdWRlKDxBVkZvdW5kYXRpb24vQVZTYW1wbGVCdWZmZXJS
ZW5kZXJTeW5jaHJvbml6ZXIuaD4pCiAKLSNpZiAoKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkg
JiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDExMDAwMCkpICYmIF9faGFzX2lu
Y2x1ZGUoPEFWRm91bmRhdGlvbi9BVlF1ZXVlZFNhbXBsZUJ1ZmZlclJlbmRlcmluZy5oPikKKyNp
ZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDEz
MDApICYmIF9faGFzX2luY2x1ZGUoPEFWRm91bmRhdGlvbi9BVlF1ZXVlZFNhbXBsZUJ1ZmZlclJl
bmRlcmluZy5oPikKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVlF1ZXVlZFNhbXBsZUJ1ZmZlclJl
bmRlcmluZy5oPgogQGNsYXNzIEFWVmlkZW9QZXJmb3JtYW5jZU1ldHJpY3M7CiBOU19BU1NVTUVf
Tk9OTlVMTF9CRUdJTgpAQCAtMjczLDcgKzI3Myw3IEBAIEBpbnRlcmZhY2UgQVZTYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXIgOiAKIE5TX0FTU1VNRV9OT05OVUxMX0VORAogI2VuZGlmIC8vIF9faGFz
X2luY2x1ZGUoPEFWRm91bmRhdGlvbi9BVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oPikKIAot
I2lmICgoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAx
MDEzMDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01B
WF9BTExPV0VEIDwgMTEwMDAwKSkgJiYgX19oYXNfaW5jbHVkZSg8QVZGb3VuZGF0aW9uL0FWUXVl
dWVkU2FtcGxlQnVmZmVyUmVuZGVyaW5nLmg+KQorI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTMwMCkgJiYgX19oYXNfaW5jbHVkZSg8QVZG
b3VuZGF0aW9uL0FWUXVldWVkU2FtcGxlQnVmZmVyUmVuZGVyaW5nLmg+KQogLy8gTm90aGluZyB0
byBkbywgQVZmb3VuZGF0aW9uL0FWUXVldWVkU2FtcGxlQnVmZmVyUmVuZGVyaW5nLmggd2FzIGlt
cG9ydGVkIGFib3ZlLgogI2VsaWYgX19oYXNfaW5jbHVkZSg8QVZGb3VuZGF0aW9uL0FWU2FtcGxl
QnVmZmVyQXVkaW9SZW5kZXJlci5oPikKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVlNhbXBsZUJ1
ZmZlckF1ZGlvUmVuZGVyZXIuaD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQkocmV2aXNp
b24gMjM3NDA1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMjgwOSw3ICsyODA5LDYgQEAgc3RhdGljIE5TU3RyaW5nICpleGVybmFsRGV2aWNl
RGlzcGxheU5hbQogICAgIGlmICghQVZGb3VuZGF0aW9uTGlicmFyeSgpKQogICAgICAgICByZXR1
cm4gbmlsOwogCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMTAwMDAK
ICAgICBpZiAoW2dldEFWT3V0cHV0Q29udGV4dENsYXNzKCkgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3RvcihzaGFyZWRBdWRpb1ByZXNlbnRhdGlvbk91dHB1dENvbnRleHQpXSkgewogICAgICAg
ICBBVk91dHB1dENvbnRleHQgKm91dHB1dENvbnRleHQgPSBbZ2V0QVZPdXRwdXRDb250ZXh0Q2xh
c3MoKSBzaGFyZWRBdWRpb1ByZXNlbnRhdGlvbk91dHB1dENvbnRleHRdOwogCkBAIC0yODI4LDcg
KzI4MjcsNiBAQCBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIAogICAgICAgICBy
ZXR1cm4gW291dHB1dERldmljZU5hbWVzIGNvbXBvbmVudHNKb2luZWRCeVN0cmluZzpAIiArICJd
OwogICAgIH0KLSNlbmRpZgogCiAgICAgaWYgKHBsYXllci5leHRlcm5hbFBsYXliYWNrVHlwZSAh
PSBBVlBsYXllckV4dGVybmFsUGxheWJhY2tUeXBlQWlyUGxheSkKICAgICAgICAgcmV0dXJuIG5p
bDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9y
eU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZv
cm1FdmVudEZhY3RvcnlNYWMubW0JKHJldmlzaW9uIDIzNzQwNCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5tbQkod29ya2luZyBjb3B5KQpA
QCAtNTQsNyArNTQsNyBAQCBOU1BvaW50IGdsb2JhbFBvaW50KGNvbnN0IE5TUG9pbnQmIHdpbmRv
CiBzdGF0aWMgTlNQb2ludCBnbG9iYWxQb2ludEZvckV2ZW50KE5TRXZlbnQgKmV2ZW50KQogewog
ICAgIHN3aXRjaCAoW2V2ZW50IHR5cGVdKSB7Ci0jaWYgZGVmaW5lZChfX0xQNjRfXykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTAwMworI2lmIGRlZmluZWQoX19MUDY0
X18pCiAgICAgY2FzZSBOU0V2ZW50VHlwZVByZXNzdXJlOgogI2VuZGlmCiAgICAgY2FzZSBOU0V2
ZW50VHlwZUxlZnRNb3VzZURvd246CkBAIC03OSw3ICs3OSw3IEBAIHN0YXRpYyBOU1BvaW50IGds
b2JhbFBvaW50Rm9yRXZlbnQoTlNFdmUKIHN0YXRpYyBJbnRQb2ludCBwb2ludEZvckV2ZW50KE5T
RXZlbnQgKmV2ZW50LCBOU1ZpZXcgKndpbmRvd1ZpZXcpCiB7CiAgICAgc3dpdGNoIChbZXZlbnQg
dHlwZV0pIHsKLSNpZiBkZWZpbmVkKF9fTFA2NF9fKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFY
X0FMTE9XRUQgPj0gMTAxMDAzCisjaWYgZGVmaW5lZChfX0xQNjRfXykKICAgICBjYXNlIE5TRXZl
bnRUeXBlUHJlc3N1cmU6CiAjZW5kaWYKICAgICBjYXNlIE5TRXZlbnRUeXBlTGVmdE1vdXNlRG93
bjoKQEAgLTExMCw3ICsxMTAsNyBAQCBzdGF0aWMgSW50UG9pbnQgcG9pbnRGb3JFdmVudChOU0V2
ZW50ICplCiBzdGF0aWMgTW91c2VCdXR0b24gbW91c2VCdXR0b25Gb3JFdmVudChOU0V2ZW50ICpl
dmVudCkKIHsKICAgICBzd2l0Y2ggKFtldmVudCB0eXBlXSkgewotI2lmIGRlZmluZWQoX19MUDY0
X18pICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEwMDMKKyNpZiBkZWZp
bmVkKF9fTFA2NF9fKQogICAgIGNhc2UgTlNFdmVudFR5cGVQcmVzc3VyZToKICNlbmRpZgogICAg
IGNhc2UgTlNFdmVudFR5cGVMZWZ0TW91c2VEb3duOgpAQCAtNzIzLDcgKzcyMyw3IEBAIHB1Ymxp
YzoKICAgICAgICAgLy8gUGxhdGZvcm1FdmVudAogICAgICAgICBtX3R5cGUgPSBtb3VzZUV2ZW50
VHlwZUZvckV2ZW50KGV2ZW50KTsKIAotI2lmIGRlZmluZWQoX19MUDY0X18pICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEwMDMKKyNpZiBkZWZpbmVkKF9fTFA2NF9fKQog
ICAgICAgICBCT09MIGV2ZW50SXNQcmVzc3VyZUV2ZW50ID0gW2V2ZW50IHR5cGVdID09IE5TRXZl
bnRUeXBlUHJlc3N1cmU7CiAgICAgICAgIGlmIChldmVudElzUHJlc3N1cmVFdmVudCkgewogICAg
ICAgICAgICAgLy8gU2luY2UgQXBwS2l0IGRvZXNuJ3Qgc2VuZCBtb3VzZSBldmVudHMgZm9yIGZv
cmNlIGRvd24gb3IgZm9yY2UgdXAsIHdlIGhhdmUgdG8gdXNlIHRoZSBjdXJyZW50IHByZXNzdXJl
CkBAIC03NTMsNyArNzUzLDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICAgICAgbV9mb3JjZSA9
IDA7Ci0jaWYgZGVmaW5lZChfX0xQNjRfXykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExP
V0VEID49IDEwMTAwMworI2lmIGRlZmluZWQoX19MUDY0X18pCiAgICAgICAgIGludCBzdGFnZSA9
IGV2ZW50SXNQcmVzc3VyZUV2ZW50ID8gZXZlbnQuc3RhZ2UgOiBjb3JyZXNwb25kaW5nUHJlc3N1
cmVFdmVudC5zdGFnZTsKICAgICAgICAgZG91YmxlIHByZXNzdXJlID0gZXZlbnRJc1ByZXNzdXJl
RXZlbnQgPyBldmVudC5wcmVzc3VyZSA6IGNvcnJlc3BvbmRpbmdQcmVzc3VyZUV2ZW50LnByZXNz
dXJlOwogICAgICAgICBtX2ZvcmNlID0gcHJlc3N1cmUgKyBzdGFnZTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyMzc0MDUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDIxIEBACisyMDE4LTEwLTI1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBA
YXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIHNvbWUgb2Jzb2xldGUgTUFYX0FMTE9XRUQg
bWFjcm9zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTA5MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6YXBwbHlTbmlmZmluZ1BvbGljaWVzQW5kQmlu
ZFJlcXVlc3RUb0luZmVyZmFjZUlmTmVlZGVkKToKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvQ29j
b2EvRGV2aWNlSWRlbnRpdHlTUEkuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1VJS2l0
U1BJLmg6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHA6
CisgICAgICAgIChkZWZhdWx0Q3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2Nv
YS5tbToKKyAgICAgICAgKFdlYktpdDo6dG9QS1BheW1lbnRSZXF1ZXN0KToKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBjaGFuZ2VTZWxlY3Rpb25XaXRoVG91Y2hBdDp3aXRoU2VsZWN0aW9uVG91Y2g6
YmFzZUlzU3RhcnQ6XSk6IERlbGV0ZWQuCisKIDIwMTgtMTAtMjQgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYW4gdXAgc29tZSBvYnNvbGV0ZSBtYWNP
UyB2ZXJzaW9uIGd1YXJkcwpJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCShyZXZpc2lvbiAyMzc0
MDQpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFz
a0NvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgTmV0d29ya0Rh
dGFUYXNrQ29jb2E6OmFwcGx5U25pZmZpbmcKIHsKICNpZiAhUExBVEZPUk0oTUFDKQogICAgIFVO
VVNFRF9QQVJBTShzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZik7Ci0jZWxpZiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxMzAyCisjZWxpZiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEIDwgMTAxNDAwCiAgICAgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYgPSB0
cnVlOwogI2VuZGlmCiAgICAgYXV0byYgY29jb2FTZXNzaW9uID0gc3RhdGljX2Nhc3Q8TmV0d29y
a1Nlc3Npb25Db2NvYSY+KG1fc2Vzc2lvbi5nZXQoKSk7CkBAIC05NSw3ICs5NSw3IEBAIHZvaWQg
TmV0d29ya0RhdGFUYXNrQ29jb2E6OmFwcGx5U25pZmZpbmcKIAogICAgIGF1dG8gbXV0YWJsZVJl
cXVlc3QgPSBhZG9wdE5TKFtuc1JlcXVlc3QgbXV0YWJsZUNvcHldKTsKIAotI2lmIFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDIKKyNpZiBQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAw
CiAgICAgaWYgKCFzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZikKICAgICAgICAgW211dGFibGVS
ZXF1ZXN0IF9zZXRQcm9wZXJ0eTpAKFlFUykgZm9yS2V5OihOU1N0cmluZyAqKWtDRlVSTFJlcXVl
c3RDb250ZW50RGVjb2RlclNraXBVUkxDaGVja107CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vc3BpL0NvY29hL0RldmljZUlkZW50aXR5U1BJLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvQ29jb2EvRGV2aWNlSWRlbnRpdHlTUEkuaAkocmV2
aXNpb24gMjM3NDA0KQorKysgU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvQ29jb2EvRGV2aWNl
SWRlbnRpdHlTUEkuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTAgKzMxLDYgQEAKIAogI2lmIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCiAKLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExP
V0VEIDwgMTEwMzAwCi1leHRlcm4gTlNTdHJpbmcgKiBfTm9ubnVsbCBjb25zdCBrTUFPcHRpb25z
QkFBQWNjZXNzQ29udHJvbHM7Ci0jZW5kaWYKLQogZXh0ZXJuICJDIiB7CiAjaW1wb3J0IDxEZXZp
Y2VJZGVudGl0eS9EZXZpY2VJZGVudGl0eS5oPgogfQpJbmRleDogU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgJKHJldmlzaW9uIDIzNzQwNCkKKysrIFNvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNDEsOSAr
MzQxLDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgVUlTY3JvbGxWaWV3SQogQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIF9pc0ludGVycnVwdGluZ0RlY2VsZXJhdGlv
bjsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBnZXR0ZXI9X2NvbnRlbnRTY3JvbGxJbnNldCwgc2V0
dGVyPV9zZXRDb250ZW50U2Nyb2xsSW5zZXQ6KSBVSUVkZ2VJbnNldHMgY29udGVudFNjcm9sbElu
c2V0OwogQHByb3BlcnR5IChub25hdG9taWMsIGdldHRlcj1faW5kaWNhdG9ySW5zZXRBZGp1c3Rt
ZW50QmVoYXZpb3IsIHNldHRlcj1fc2V0SW5kaWNhdG9ySW5zZXRBZGp1c3RtZW50QmVoYXZpb3I6
KSBVSVNjcm9sbFZpZXdJbmRpY2F0b3JJbnNldEFkanVzdG1lbnRCZWhhdmlvciBpbmRpY2F0b3JJ
bnNldEFkanVzdG1lbnRCZWhhdmlvcjsKLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExP
V0VEID49IDExMDAwMAogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSUVkZ2VJbnNl
dHMgX3N5c3RlbUNvbnRlbnRJbnNldDsKLSNlbmRpZgogQGVuZAogCiBAaW50ZXJmYWNlIE5TU3Ry
aW5nIChVSUtpdERldGFpbHMpCkBAIC00OTIsOSArNDkwLDcgQEAgdHlwZWRlZiBOU19FTlVNIChO
U0ludGVnZXIsIF9VSUJhY2tkcm9wTQogLSAodm9pZClzZXRTaXplOihDR1NpemUpc2l6ZTsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRlcj1fc2V0QmFja2Ryb3BNYXNrVmlld0Zs
YWdzOikgTlNJbnRlZ2VyIF9iYWNrZHJvcE1hc2tWaWV3RmxhZ3M7CiAtICh2b2lkKV9wb3B1bGF0
ZUFyY2hpdmVkU3Vidmlld3M6KE5TTXV0YWJsZVNldCAqKWVuY29kZWRWaWV3czsKLSNpZiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDExMDAwMAogLSAodm9pZClzYWZlQXJlYUlu
c2V0c0RpZENoYW5nZTsKLSNlbmRpZgogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0
Q29udGludW91c0Nvcm5lclJhZGl1czopIENHRmxvYXQgX2NvbnRpbnVvdXNDb3JuZXJSYWRpdXM7
CiAtICh2b2lkKWluc2VydFN1YnZpZXc6KFVJVmlldyAqKXZpZXcgYWJvdmU6KFVJVmlldyAqKXNp
Ymxpbmc7CiAtICh2b2lkKXZpZXdXaWxsTW92ZVRvU3VwZXJ2aWV3OihVSVZpZXcgKiluZXdTdXBl
cnZpZXc7CkBAIC02MzEsOSArNjI3LDYgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgVUlX
S0dlc3R1cmVUeQogLSAoQk9PTCloYXNNYXJrZWRUZXh0OwogCiAtIChCT09MKWhhc1NlbGVjdGFi
bGVQb3NpdGlvbkF0UG9pbnQ6KENHUG9pbnQpcG9pbnQ7Ci0jaWYgX19JUEhPTkVfT1NfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA8IDExMDAwMAotLSAoQk9PTClwb2ludElzSW5Bc3Npc3RlZE5vZGU6KENH
UG9pbnQpcG9pbnQ7Ci0jZW5kaWYKIC0gKE5TQXJyYXkgKil3ZWJTZWxlY3Rpb25SZWN0czsKIC0g
KHZvaWQpX2NhbmNlbExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyOwogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAJ
KHJldmlzaW9uIDIzNzQwNCkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
RGVmYXVsdFZhbHVlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgYm9vbCBk
ZWZhdWx0UGFzc2l2ZVRvdWNoTGlzdGVuZXJzQXNEZWZhdQogCiBib29sIGRlZmF1bHRDdXN0b21Q
YXN0ZWJvYXJkRGF0YUVuYWJsZWQoKQogewotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTEwMzAwCisjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKICAgICByZXR1cm4gV2ViQ29yZTo6SU9TQXBwbGljYXRpb246OmlzTW9iaWxlU2Fm
YXJpKCkgfHwgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpID49IERZTERfSU9TX1ZFUlNJ
T05fMTFfMzsKICNlbGlmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9B
TExPV0VEID49IDEwMTMwMAogICAgIHJldHVybiBXZWJDb3JlOjpNYWNBcHBsaWNhdGlvbjo6aXNT
YWZhcmkoKSB8fCBkeWxkX2dldF9wcm9ncmFtX3Nka192ZXJzaW9uKCkgPiBEWUxEX01BQ09TWF9W
RVJTSU9OXzEwXzEzOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGVQYXkvY29j
b2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eUNvY29hLm1tCShyZXZpc2lvbiAyMzc0MDQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDksNyArMTQ5LDcgQEAgc3RhdGljIFdlYkNvcmU6OkFwcGxlUGF5U2Vz
c2lvblBheW1lbnRSZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLSNpZiAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZP
Uk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMTAw
MDApCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VE
ID49IDEwMTMwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogLSAodm9pZClwYXltZW50QXV0
aG9yaXphdGlvblZpZXdDb250cm9sbGVyOihQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRy
b2xsZXIgKiljb250cm9sbGVyIGRpZEF1dGhvcml6ZVBheW1lbnQ6KFBLUGF5bWVudCAqKXBheW1l
bnQgaGFuZGxlcjoodm9pZCAoXikoUEtQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdCAqcmVzdWx0
KSljb21wbGV0aW9uCiB7CkBAIC00OTgsOCArNDk4LDcgQEAgc3RhdGljIFJldGFpblB0cjxOU1Nl
dD4gdG9OU1NldChjb25zdCBWZQogfQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMCAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMzA0KSBcCi0gICAgfHwgKFBMQVRGT1JNKElPU19GQU1J
TFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDMwMCAmJiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDExMDMwMCkKKyNpZiAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMCAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMzA0KSB8fCBQTEFURk9STShJT1NfRkFNSUxZ
KQogc3RhdGljIFBLUGF5bWVudFJlcXVlc3RBUElUeXBlIHRvQVBJVHlwZShXZWJDb3JlOjpBcHBs
ZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6UmVxdWVzdGVyIHJlcXVlc3RlcikKIHsKICAgICBz
d2l0Y2ggKHJlcXVlc3RlcikgewpAQCAtNTI2LDggKzUyNSw3IEBAIFJldGFpblB0cjxQS1BheW1l
bnRSZXF1ZXN0PiB0b1BLUGF5bWVudFIKICAgICB9IGVsc2UgaWYgKCFsaW5rSWNvblVSTHMuaXNF
bXB0eSgpKQogICAgICAgICBbcmVzdWx0IHNldFRodW1ibmFpbFVSTDpsaW5rSWNvblVSTHNbMF1d
OwogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDEzMDAgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTMwNCkg
XAotICAgIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMTAzMDAgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+
PSAxMTAzMDApCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEzMDAgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEw
MTMwNCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBbcmVzdWx0IHNldEFQSVR5cGU6dG9B
UElUeXBlKHBheW1lbnRSZXF1ZXN0LnJlcXVlc3RlcigpKV07CiAjZW5kaWYKIApJbmRleDogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tCShyZXZpc2lvbiAyMzc0MDQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOTI0LDEz
ICsyOTI0LDYgQEAgLSAodm9pZCljaGFuZ2VTZWxlY3Rpb25XaXRoR2VzdHVyZUF0OihDRwogICAg
IH0pOwogfQogCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEyMDAwMAot
LSAodm9pZCljaGFuZ2VTZWxlY3Rpb25XaXRoVG91Y2hBdDooQ0dQb2ludClwb2ludCB3aXRoU2Vs
ZWN0aW9uVG91Y2g6KFVJV0tTZWxlY3Rpb25Ub3VjaCl0b3VjaCBiYXNlSXNTdGFydDooQk9PTCli
YXNlSXNTdGFydAotewotICAgIFtzZWxmIGNoYW5nZVNlbGVjdGlvbldpdGhUb3VjaEF0OnBvaW50
IHdpdGhTZWxlY3Rpb25Ub3VjaDp0b3VjaCBiYXNlSXNTdGFydDpiYXNlSXNTdGFydCB3aXRoRmxh
Z3M6VUlXS05vbmVdOwotfQotI2VuZGlmCi0KIC0gKHZvaWQpY2hhbmdlU2VsZWN0aW9uV2l0aFRv
dWNoQXQ6KENHUG9pbnQpcG9pbnQgd2l0aFNlbGVjdGlvblRvdWNoOihVSVdLU2VsZWN0aW9uVG91
Y2gpdG91Y2ggYmFzZUlzU3RhcnQ6KEJPT0wpYmFzZUlzU3RhcnQgd2l0aEZsYWdzOihVSVdLU2Vs
ZWN0aW9uRmxhZ3MpZmxhZ3MKIHsKICAgICBfdXNpbmdHZXN0dXJlRm9yU2VsZWN0aW9uID0gWUVT
OwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjM3NDA1KQorKysg
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTgtMTAtMjUgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+
CisKKyAgICAgICAgQ2xlYW4gdXAgc29tZSBvYnNvbGV0ZSBNQVhfQUxMT1dFRCBtYWNyb3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDkxNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9X
ZWJIVE1MVmlldy5tbToKKyAgICAgICAgKC1bV2ViSFRNTFZpZXcgcHJlc3N1cmVDaGFuZ2VXaXRo
RXZlbnQ6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQREZWaWV3Lmg6CisKIDIwMTgtMTAtMjQg
IEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYW4gdXAg
c29tZSBvYnNvbGV0ZSBtYWNPUyB2ZXJzaW9uIGd1YXJkcwpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCShyZXZpc2lvbiAyMzc0MDQpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCSh3b3JraW5n
IGNvcHkpCkBAIC00NDkxLDcgKzQ0OTEsNyBAQCAtICh2b2lkKW1vdXNlTW92ZWQ6KE5TRXZlbnQg
KilldmVudAogCiAtICh2b2lkKXByZXNzdXJlQ2hhbmdlV2l0aEV2ZW50OihOU0V2ZW50ICopZXZl
bnQKIHsKLSNpZiBQTEFURk9STShNQUMpICYmIGRlZmluZWQoX19MUDY0X18pICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEwMDMKKyNpZiBQTEFURk9STShNQUMpICYmIGRl
ZmluZWQoX19MUDY0X18pCiAgICAgTlNFdmVudCAqbGFzdFByZXNzdXJlRXZlbnQgPSBbW3NlbGYg
X3dlYlZpZXddIF9wcmVzc3VyZUV2ZW50XTsKICAgICBpZiAoZXZlbnQucGhhc2UgIT0gTlNFdmVu
dFBoYXNlQ2hhbmdlZCAmJiBldmVudC5waGFzZSAhPSBOU0V2ZW50UGhhc2VCZWdhbiAmJiBldmVu
dC5waGFzZSAhPSBOU0V2ZW50UGhhc2VFbmRlZCkKICAgICAgICAgcmV0dXJuOwpJbmRleDogU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQREZWaWV3LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQREZWaWV3LmgJKHJldmlzaW9uIDIz
NzQwNCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUERGVmlldy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMywxMSArMzMsNiBAQAogCiBAY2xhc3MgV2ViRGF0YVNvdXJjZTsK
IAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTIwMAotQHByb3RvY29s
IFBERlZpZXdEZWxlZ2F0ZSA8TlNPYmplY3Q+Ci1AZW5kCi0jZW5kaWYKLQogQGludGVyZmFjZSBX
ZWJQREZWaWV3IDogTlNWaWV3IDxQREZWaWV3RGVsZWdhdGUsIFdlYkRvY3VtZW50VmlldywgV2Vi
RG9jdW1lbnRTZWFyY2hpbmcsIFdlYkRvY3VtZW50SW5jcmVtZW50YWxTZWFyY2hpbmcsIFdlYk11
bHRpcGxlVGV4dE1hdGNoZXMsIFdlYkRvY3VtZW50U2VsZWN0aW9uLCBXZWJEb2N1bWVudEVsZW1l
bnQsIFdlYkRvY3VtZW50UERGLCBfV2ViRG9jdW1lbnRWaWV3U3RhdGUsIF9XZWJEb2N1bWVudFpv
b21pbmc+CiB7CiAgICAgUERGVmlldyAqUERGU3VidmlldzsKSW5kZXg6IFRvb2xzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNzQyNykKKysrIFRv
b2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEwLTI1
ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVw
IHNvbWUgb2Jzb2xldGUgTUFYX0FMTE9XRUQgbWFjcm9zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA5MTYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2Rhcndp
bi9XZWFrTGlua2luZy5jcHA6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9XS0hUVFBDb29raWVTdG9yZS5tbToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L2lvcy9EcmFnQW5kRHJvcFRlc3RzSU9TLm1tOgorCiAyMDE4LTEwLTI1ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIGEg
d2F0Y2hsaXN0IG1lc3NhZ2UgcnVsZSB0byB3YXJuIGFib3V0IGZlYXR1cmUgY2hlY2tpbmcgbmV3
IGluc3BlY3RvciBwcm90b2NvbCBjaGFuZ2VzCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9kYXJ3aW4vV2Vha0xpbmtpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL2Rhcndpbi9XZWFrTGlua2luZy5jcHAJKHJldmlzaW9uIDIzNzQw
NCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2Rhcndpbi9XZWFrTGlua2luZy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDE5ICszMiwxMSBAQAogCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKIAotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMDAw
CiBhc20oIi5saW5rZXJfb3B0aW9uIFwiLWxUZXN0V1RGQWx3YXlzTWlzc2luZy1pT1MtdjJcIiIp
OwotI2Vsc2UKLWFzbSgiLmxpbmtlcl9vcHRpb24gXCItbFRlc3RXVEZBbHdheXNNaXNzaW5nLWlP
U1wiIik7Ci0jZW5kaWYKIAogI2Vsc2UKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxM
T1dFRCA+PSAxMDEyMDAKIGFzbSgiLmxpbmtlcl9vcHRpb24gXCItbFRlc3RXVEZBbHdheXNNaXNz
aW5nLW1hY09TLXYyXCIiKTsKLSNlbHNlCi1hc20oIi5saW5rZXJfb3B0aW9uIFwiLWxUZXN0V1RG
QWx3YXlzTWlzc2luZy1tYWNPU1wiIik7Ci0jZW5kaWYKIAogI2VuZGlmCiAKSW5kZXg6IFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tIVFRQQ29va2llU3RvcmUubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0hUVFBD
b29raWVTdG9yZS5tbQkocmV2aXNpb24gMjM3NDA0KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9XS0hUVFBDb29raWVTdG9yZS5tbQkod29ya2luZyBjb3B5KQpAQCAt
NDA0LDggKzQwNCw4IEBAIFRFU1QoV2ViS2l0LCBXS0hUVFBDb29raWVTdG9yZUNyZWF0aW9uVGkK
IH0KICNlbmRpZiAvLyAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMCkKIAotLy8gRklYTUU6IFRoaXMgc2hvdWxk
IGJlIHJlbW92ZWQgb25jZSA8cmRhcjovL3Byb2JsZW0vMzUzNDQyMDI+IGlzIHJlc29sdmVkIGFu
ZCBib3RzIGFyZSB1cGRhdGVkLgotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NQVhfQUxMT1dFRCA8PSAxMDEzMDEpIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBf
X0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEIDw9IDExMDEwMikKKy8vIEZJWE1FOiBUaGlz
ICNpZiBzaG91bGQgYmUgcmVtb3ZlZCBvbmNlIDxyZGFyOi8vcHJvYmxlbS8zNTM0NDIwMj4gaXMg
cmVzb2x2ZWQgYW5kIGJvdHMgYXJlIHVwZGF0ZWQuCisjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPD0gMTAxMzAxCiBURVNUKFdlYktpdCwgV0tIVFRQ
Q29va2llU3RvcmVOb25QZXJzaXN0ZW50KQogewogICAgIFJldGFpblB0cjxXS1dlYnNpdGVEYXRh
U3RvcmU+IG5vblBlcnNpc3RlbnREYXRhU3RvcmU7CkBAIC00MzQsNyArNDM0LDcgQEAgVEVTVChX
ZWJLaXQsIFdLSFRUUENvb2tpZVN0b3JlQ3VzdG9tKQogICAgIGF1dG8gY3VzdG9tRGF0YVN0b3Jl
ID0gYWRvcHROUyhbW1dLV2Vic2l0ZURhdGFTdG9yZSBhbGxvY10gX2luaXRXaXRoQ29uZmlndXJh
dGlvbjp3ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5nZXQoKV0pOwogICAgIHJ1blRlc3RX
aXRoV2Vic2l0ZURhdGFTdG9yZShjdXN0b21EYXRhU3RvcmUuZ2V0KCkpOwogfQotI2VuZGlmIC8v
IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8PSAxMDEz
MDEpIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9B
TExPV0VEIDw9IDExMDEwMikKKyNlbmRpZiAvLyBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NQVhfQUxMT1dFRCA8PSAxMDEzMDEKIAogVEVTVChXZWJLaXQsIENvb2tpZU9ic2Vy
dmVyQ3Jhc2gpCiB7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9EcmFnQW5k
RHJvcFRlc3RzSU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
aW9zL0RyYWdBbmREcm9wVGVzdHNJT1MubW0JKHJldmlzaW9uIDIzNzQwNCkKKysrIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvaW9zL0RyYWdBbmREcm9wVGVzdHNJT1MubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTEzNzIsNyArMTM3Miw3IEBAIFRFU1QoRHJhZ0FuZERyb3BUZXN0cywgRG9Ob3RDcmFz
aFdoZW5TZWwKIH0KIAogLy8gRklYTUU6IFJlLWVuYWJsZSB0aGlzIHRlc3Qgb25jZSB3ZSByZXNv
bHZlIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1MjA0PgotI2lm
IF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPD0gMTEwNDAxCisjaWYgMAogVEVTVChE
cmFnQW5kRHJvcFRlc3RzLCBDdXN0b21BY3Rpb25TaGVldFBvcG92ZXIpCiB7CiAgICAgYXV0byB3
ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dS
ZWN0TWFrZSgwLCAwLCAzMjAsIDUwMCldKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353293</attachid>
            <date>2018-10-29 10:00:03 -0700</date>
            <delta_ts>2018-10-30 15:45:37 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>MaxAllowed.txt</filename>
            <type>text/plain</type>
            <size>36437</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM3NTU0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBA
CisyMDE4LTEwLTI5ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAg
ICAgIENsZWFuIHVwIHNvbWUgb2Jzb2xldGUgTUFYX0FMTE9XRUQgbWFjcm9zCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA5MTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEFQSS9KU01hbmFnZWRWYWx1
ZS5tbToKKyAgICAgICAgKiBBUEkvSlNWaXJ0dWFsTWFjaGluZS5tbToKKyAgICAgICAgKiBBUEkv
SlNXcmFwcGVyTWFwLm1tOgorCiAyMDE4LTEwLTI5ICBUYWRldSBaYWdhbGxvICA8dHphZ2FsbG9A
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBHZXRTdGFjayBGbHVzaGVkRG91
YmxlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTTWFuYWdlZFZhbHVlLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNNYW5hZ2VkVmFsdWUubW0J
KHJldmlzaW9uIDIzNzU1NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNNYW5hZ2Vk
VmFsdWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDYgQEAKICNpbXBvcnQgIk9iamNS
dW50aW1lRXh0cmFzLmgiCiAjaW1wb3J0ICJKU0NJbmxpbmVzLmgiCiAjaW1wb3J0IDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KLSNpbXBvcnQgPHd0Zi9zcGkvY29jb2EvTlNNYXBUYWJsZVNQSS5oPgog
CiBjbGFzcyBKU01hbmFnZWRWYWx1ZUhhbmRsZU93bmVyIDogcHVibGljIEpTQzo6V2Vha0hhbmRs
ZU93bmVyIHsKIHB1YmxpYzoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWaXJ0
dWFsTWFjaGluZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
VmlydHVhbE1hY2hpbmUubW0JKHJldmlzaW9uIDIzNzU1NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNWaXJ0dWFsTWFjaGluZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAs
NiBAQAogI2ltcG9ydCA8bXV0ZXg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KICNpbXBvcnQg
PHd0Zi9Mb2NrLmg+Ci0jaW1wb3J0IDx3dGYvc3BpL2NvY29hL05TTWFwVGFibGVTUEkuaD4KIAog
c3RhdGljIE5TTWFwVGFibGUgKmdsb2JhbFdyYXBwZXJDYWNoZSA9IDA7CiAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXcmFwcGVyTWFwLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXcmFwcGVyTWFwLm1tCShyZXZpc2lvbiAyMzc1NTQpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTV3JhcHBlck1hcC5tbQkod29ya2luZyBjb3B5
KQpAQCAtMzksNyArMzksNiBAQAogI2ltcG9ydCAiV2Vha0dDTWFwLmgiCiAjaW1wb3J0ICJXZWFr
R0NNYXBJbmxpbmVzLmgiCiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+Ci0jaW1wb3J0IDx3dGYvc3Bp
L2NvY29hL05TTWFwVGFibGVTUEkuaD4KICNpbXBvcnQgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEku
aD4KIAogI2luY2x1ZGUgPG1hY2gtby9keWxkLmg+CkluZGV4OiBTb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNzU1NCkKKysrIFNvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAxOC0x
MC0yOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVh
biB1cCBzb21lIG9ic29sZXRlIE1BWF9BTExPV0VEIG1hY3JvcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwOTE2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQv
VmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaDoKKwogMjAxOC0xMC0yMyAgUnlhbiBIYWRkYWQgIDxy
eWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
MjM3MjYxLgpJbmRleDogU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMv
c2RrL1dlYktpdC9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvVmlkZW9Qcm9j
ZXNzaW5nU29mdExpbmsuaAkocmV2aXNpb24gMjM3NTU0KQorKysgU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGlu
ay5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw5ICszNiw5IEBACiAjaWYgKGRlZmluZWQoVEFSR0VU
X0lQSE9ORV9TSU1VTEFUT1IpICAmJiBUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikKICNkZWZpbmUg
RU5BQkxFX1ZDUF9FTkNPREVSIDAKICNlbGlmIChkZWZpbmVkKFRBUkdFVF9PU19JUEhPTkUpICAm
JiBUQVJHRVRfT1NfSVBIT05FKQotI2RlZmluZSBFTkFCTEVfVkNQX0VOQ09ERVIgKF9fSVBIT05F
X09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTIwMDAwKQorI2RlZmluZSBFTkFCTEVfVkNQX0VO
Q09ERVIgMQogI2VsaWYgKGRlZmluZWQoVEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01BQykK
LSNkZWZpbmUgRU5BQkxFX1ZDUF9FTkNPREVSIChfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9X
RUQgPj0gMTAxMzA0KQorI2RlZmluZSBFTkFCTEVfVkNQX0VOQ09ERVIgKF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxM
T1dFRCA+PSAxMDEzMDQpCiAjZW5kaWYKIAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV1RGL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjM3NTU0
KQorKysgU291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBA
QAorMjAxOC0xMC0yOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAg
ICAgICBDbGVhbiB1cCBzb21lIG9ic29sZXRlIE1BWF9BTExPV0VEIG1hY3JvcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwOTE2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAg
ICogd3RmL3NwaS9jb2NvYS9OU01hcFRhYmxlU1BJLmg6IFJlbW92ZWQuIFRoaXMgd2FzIG9ubHkg
bmVlZGVkIGZvciBvbGQgU0RLcy4KKwogMjAxOC0xMC0yOSAgVGFkZXUgWmFnYWxsbyAgPHR6YWdh
bGxvQGFwcGxlLmNvbT4KIAogICAgICAgICBOZXcgYnl0ZWNvZGUgZm9ybWF0IGZvciBKU0MKSW5k
ZXg6IFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjM3
NTU0KQorKysgU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtNjE1LDcgKzYxNSw2IEBACiAJCUNENTQ5N0FCMTU4NTdEMDMwMEI1QkMzMCAv
KiBNZWRpYVRpbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFUaW1l
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENkQ5RkNEMUVFRjNBRDQwMDhCMDY3
MSAvKiBBbGdvcml0aG1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFsZ29yaXRobXMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q3NjAwRkYxRjkwQTNDQTAwMDI2RTI2IC8qIFVuc2FmZVBv
aW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVW5zYWZlUG9pbnRlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQlDRTQ2NTE2RDE5REIxRkI0MDAzRUNBMDUgLyogTlNNYXBUYWJsZVNQSS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU01hcFRhYmxlU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFNzNFMDI0MTlEQ0I3QUIwMDU4MEQ1QyAvKiBYUENT
UEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gWFBDU1BJLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCURDRUUyMUZBMUNFQTc1MzgwMDBDMjM5NiAvKiBDRkJ1bmRs
ZVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDRkJ1bmRsZVNQSS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEQ0VFMjFGQzFDRUE3NTUxMDAwQzIzOTYgLyog
QmxvY2tPYmpDRXhjZXB0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBC
bG9ja09iakNFeGNlcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjk2
LDcgKzEyOTUsNiBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQk5
Mzg0QjczRTIwREVBMjg0MDA1QjczQjIgLyogQ0ZYUENCcmlkZ2VTUEkuaCAqLywKLQkJCQlDRTQ2
NTE2RDE5REIxRkI0MDAzRUNBMDUgLyogTlNNYXBUYWJsZVNQSS5oICovLAogCQkJCTkzRDE5MUNG
MjBDQUVDRTgwMEM1MUI4RSAvKiBvYmpjU1BJLmggKi8sCiAJCQkJQTUwOThCMDExQzE2QTRGOTAw
MDg3Nzk3IC8qIFNlY3VyaXR5U1BJLmggKi8sCiAJCQkpOwpJbmRleDogU291cmNlL1dURi93dGYv
UGxhdGZvcm1NYWMuY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUGxhdGZvcm1N
YWMuY21ha2UJKHJldmlzaW9uIDIzNzU1NCkKKysrIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFj
LmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw2IEBAIGxpc3QoQVBQRU5EIFdURl9Q
VUJMSUNfSEVBREVSUwogICAgIHNwaS9jZi9DRkJ1bmRsZVNQSS5oCiAgICAgc3BpL2NmL0NGU3Ry
aW5nU1BJLmgKIAotICAgIHNwaS9jb2NvYS9OU01hcFRhYmxlU1BJLmgKICAgICBzcGkvY29jb2Ev
U2VjdXJpdHlTUEkuaAogICAgIHNwaS9jb2NvYS9vYmpjU1BJLmgKIApJbmRleDogU291cmNlL1dU
Ri93dGYvc3BpL2NvY29hL05TTWFwVGFibGVTUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RG
L3d0Zi9zcGkvY29jb2EvTlNNYXBUYWJsZVNQSS5oCShyZXZpc2lvbiAyMzc1NTQpCisrKyBTb3Vy
Y2UvV1RGL3d0Zi9zcGkvY29jb2EvTlNNYXBUYWJsZVNQSS5oCShub25leGlzdGVudCkKQEAgLTEs
NDIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNC0yMDE2IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAot
ICovCi0KLSNpbXBvcnQgPEZvdW5kYXRpb24vTlNNYXBUYWJsZS5oPgotCi0jaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEyMDAwMAot
Ci0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNpbXBvcnQgPEZvdW5kYXRpb24vTlNNYXBU
YWJsZVByaXYuaD4KLSNlbmRpZgotCi1XVEZfRVhURVJOX0NfQkVHSU4KLQotdm9pZCAqTlNNYXBH
ZXQoTlNNYXBUYWJsZSAqLCBjb25zdCB2b2lkICprZXkpOwotdm9pZCBOU01hcEluc2VydChOU01h
cFRhYmxlICosIGNvbnN0IHZvaWQgKmtleSwgY29uc3Qgdm9pZCAqdmFsdWUpOwotdm9pZCBOU01h
cFJlbW92ZShOU01hcFRhYmxlICosIGNvbnN0IHZvaWQgKmtleSk7Ci0KLVdURl9FWFRFUk5fQ19F
TkQKLQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzc1NTQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxOC0x
MC0yOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVh
biB1cCBzb21lIG9ic29sZXRlIE1BWF9BTExPV0VEIG1hY3JvcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwOTE2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6ZXhlcm5hbERldmljZURpc3BsYXlOYW1lRm9yUGxheWVyKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvUGxhdGZvcm1FdmVudEZhY3RvcnlNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpnbG9iYWxQb2ludEZvckV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OnBvaW50Rm9yRXZl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6bW91c2VCdXR0b25Gb3JFdmVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpQbGF0Zm9ybU1vdXNlRXZlbnRCdWlsZGVyOjpQbGF0Zm9ybU1vdXNlRXZlbnRCdWls
ZGVyKToKKwogMjAxOC0xMC0yOSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtMRkNdW0lGQ10gQ29tcHV0ZSBlc3RpbWF0ZWQgbWFyZ2luIHRvcCBmb3IgaW5saW5l
IGZvcm1hdHRpbmcgcm9vdCdzIGFuY2VzdG9ycwpJbmRleDogU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCShyZXZp
c2lvbiAyMzc1NTQpCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTgtMTAtMjkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxh
cEBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgc29tZSBvYnNvbGV0ZSBNQVhfQUxMT1dF
RCBtYWNyb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MDkxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuaDoKKyAgICAgICAgQmVoYXZpb3IgY2hhbmdlIGhlcmUuIFRoZSBjaGVjayBk
aWRuJ3QgcmVhbGx5IG1ha2Ugc2Vuc2UsIHByZXR0eSBzdXJlIHdlIHdvdWxkCisgICAgICAgIGp1
c3QgY3Jhc2ggd2hlbiBoaXR0aW5nIHRoaXMgY29kZSBwYXRoIG9uIGlPUy4KKworICAgICAgICAq
IHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg6CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9QYXNz
S2l0U1BJLmg6CisgICAgICAgICogcGFsL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmg6CisKIDIw
MTgtMTAtMjYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMzc0NTguCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAkocmV2aXNpb24gMjM3NTU0
KQorKysgU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM1LDEwICszNSwxMCBAQAogI2luY2x1ZGUgPENvcmVWaWRlby9Db3Jl
VmlkZW8uaD4KICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMzAwMDApIHx8IChQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTQwMCkKLSNkZWZpbmUgQ01TQU1QTEVC
VUZGRVJDQUxMX05PRVNDQVBFCi0jZWxzZQorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDE0MDAp
CiAjZGVmaW5lIENNU0FNUExFQlVGRkVSQ0FMTF9OT0VTQ0FQRSBDRl9OT0VTQ0FQRQorI2Vsc2UK
KyNkZWZpbmUgQ01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBFCiAjZW5kaWYKIAogCkBAIC0xNTks
MTEgKzE1OSw4IEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgQ29yZU0KIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgQ29yZU1lZGlhLCBDTUF1ZGlvRm9ybWF0
RGVzY3JpcHRpb25DcmVhdGUsIE9TU3RhdHVzLCAoQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yLCBj
b25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24qIGFzYmQsIHNpemVfdCBsYXlvdXRTaXpl
LCBjb25zdCBBdWRpb0NoYW5uZWxMYXlvdXQqIGxheW91dCwgc2l6ZV90IG1hZ2ljQ29va2llU2l6
ZSwgY29uc3Qgdm9pZCogbWFnaWNDb29raWUsIENGRGljdGlvbmFyeVJlZiBleHRlbnNpb25zLCBD
TUF1ZGlvRm9ybWF0RGVzY3JpcHRpb25SZWYqIG91dERlc2MpLCAoYWxsb2NhdG9yLCBhc2JkLCBs
YXlvdXRTaXplLCBsYXlvdXQsIG1hZ2ljQ29va2llU2l6ZSwgbWFnaWNDb29raWUsIGV4dGVuc2lv
bnMsIG91dERlc2MpKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBDb3JlTWVk
aWEsIENNQ2xvY2tHZXRIb3N0VGltZUNsb2NrLCBDTUNsb2NrUmVmLCAodm9pZCksICgpKQogU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoUEFMLCBDb3JlTWVkaWEsIENNQ2xvY2tHZXRUaW1l
LCBDTVRpbWUsIChDTUNsb2NrUmVmIGNsb2NrKSwgKGNsb2NrKSkKLQotI2lmIFBMQVRGT1JNKEFQ
UExFVFYpIHx8IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TTUFDKSB8fCBQTEFURk9STShX
QVRDSE9TKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
QVhfQUxMT1dFRCA8IDEyMDAwMCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwg
Q29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckNhbGxGb3JFYWNoU2FtcGxlLCBPU1N0YXR1cywgKENN
U2FtcGxlQnVmZmVyUmVmIHNidWYsIE9TU3RhdHVzICgqIENNU0FNUExFQlVGRkVSQ0FMTF9OT0VT
Q0FQRSBjYWxsYmFjaykoIENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZUJ1ZmZlciwgQ01JdGVtQ291
bnQgaW5kZXgsIHZvaWQgKnJlZmNvbiksIHZvaWQgKnJlZmNvbiksIChzYnVmLCBjYWxsYmFjaywg
cmVmY29uKSkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwgQ29yZU1lZGlhLCBD
TVNhbXBsZUJ1ZmZlckNhbGxCbG9ja0ZvckVhY2hTYW1wbGUsIE9TU3RhdHVzLCAoQ01TYW1wbGVC
dWZmZXJSZWYgc2J1ZiwgT1NTdGF0dXMgKF4gQ01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBFIGhh
bmRsZXIpKENNU2FtcGxlQnVmZmVyUmVmLCBDTUl0ZW1Db3VudCkpLCAoc2J1ZiwgaGFuZGxlcikp
Ci0jZW5kaWYKIAogI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCShyZXZpc2lvbiAyMzc1NTQp
CisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM3LDEwICszNywxMCBAQAogI2RlZmluZSBTT0ZUTElOS19BVktJVF9GUkFN
RVdPUksoKSBTT0ZUX0xJTktfRlJBTUVXT1JLX09QVElPTkFMKEFWS2l0KQogI2VuZGlmCiAKLSNp
ZiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dF
RCA8IDEzMDAwMCkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9B
TExPV0VEIDwgMTAxNDAwKQotI2RlZmluZSBDTVNBTVBMRUJVRkZFUkNBTExfTk9FU0NBUEUKLSNl
bHNlCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwMCkKICNkZWZpbmUgQ01TQU1QTEVCVUZG
RVJDQUxMX05PRVNDQVBFIENGX05PRVNDQVBFCisjZWxzZQorI2RlZmluZSBDTVNBTVBMRUJVRkZF
UkNBTExfTk9FU0NBUEUKICNlbmRpZgogCiBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9IRUFERVIo
UEFMLCBDb3JlTWVkaWEpCkBAIC0yNzAsMTUgKzI3MCwxMSBAQCBTT0ZUX0xJTktfRlVOQ1RJT05f
Rk9SX0hFQURFUihQQUwsIENvcmVNCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUws
IENvcmVNZWRpYSwgQ01DbG9ja0dldFRpbWUsIENNVGltZSwgKENNQ2xvY2tSZWYgY2xvY2spLCAo
Y2xvY2spKQogI2RlZmluZSBDTUNsb2NrR2V0VGltZSAgc29mdExpbmtfQ29yZU1lZGlhX0NNQ2xv
Y2tHZXRUaW1lCiAKLSNpZiBQTEFURk9STShBUFBMRVRWKSB8fCBQTEFURk9STShNQUMpIHx8IFBM
QVRGT1JNKElPU01BQykgfHwgUExBVEZPUk0oV0FUQ0hPUykgfHwgKFBMQVRGT1JNKElPU19GQU1J
TFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMjAwMDApCi0KLVNPRlRf
TElOS19GVU5DVElPTl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckNh
bGxGb3JFYWNoU2FtcGxlLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYsIE9TU3Rh
dHVzICgqIENNU0FNUExFQlVGRkVSQ0FMTF9OT0VTQ0FQRSBjYWxsYmFjaykoIENNU2FtcGxlQnVm
ZmVyUmVmIHNhbXBsZUJ1ZmZlciwgQ01JdGVtQ291bnQgaW5kZXgsIHZvaWQgKnJlZmNvbiksIHZv
aWQgKnJlZmNvbiksIChzYnVmLCBjYWxsYmFjaywgcmVmY29uKSkKK1NPRlRfTElOS19GVU5DVElP
Tl9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBDTVNhbXBsZUJ1ZmZlckNhbGxGb3JFYWNoU2Ft
cGxlLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVyUmVmIHNidWYsIE9TU3RhdHVzICgqIENNU0FN
UExFQlVGRkVSQ0FMTF9OT0VTQ0FQRSBjYWxsYmFjaykoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxl
QnVmZmVyLCBDTUl0ZW1Db3VudCBpbmRleCwgdm9pZCAqcmVmY29uKSwgdm9pZCAqcmVmY29uKSwg
KHNidWYsIGNhbGxiYWNrLCByZWZjb24pKQogI2RlZmluZSBDTVNhbXBsZUJ1ZmZlckNhbGxGb3JF
YWNoU2FtcGxlIHNvZnRMaW5rX0NvcmVNZWRpYV9DTVNhbXBsZUJ1ZmZlckNhbGxGb3JFYWNoU2Ft
cGxlCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwgQ01TYW1w
bGVCdWZmZXJDYWxsQmxvY2tGb3JFYWNoU2FtcGxlLCBPU1N0YXR1cywgKENNU2FtcGxlQnVmZmVy
UmVmIHNidWYsIE9TU3RhdHVzICheIENNU0FNUExFQlVGRkVSQ0FMTF9OT0VTQ0FQRSBoYW5kbGVy
KShDTVNhbXBsZUJ1ZmZlclJlZiwgQ01JdGVtQ291bnQpKSwgKHNidWYsIGhhbmRsZXIpKQogI2Rl
ZmluZSBDTVNhbXBsZUJ1ZmZlckNhbGxCbG9ja0ZvckVhY2hTYW1wbGUgc29mdExpbmtfQ29yZU1l
ZGlhX0NNU2FtcGxlQnVmZmVyQ2FsbEJsb2NrRm9yRWFjaFNhbXBsZQogCi0jZW5kaWYKLQogI2Vu
ZGlmIC8vIFBMQVRGT1JNKENPQ09BKQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oCShyZXZpc2lv
biAyMzc1NTQpCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEku
aAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNyBAQAogLy8gVGhlIFNQSSBoZWFkZXIgc2hv
dWxkIGRlZmluZSB3aGljaCBDRk5ldHdvcmsgZmVhdHVyZXMgKmV4aXN0KiBpbiB0aGUgdW5kZXJs
eWluZyBzeXN0ZW0sIGJ1dCBub3QKIC8vIHBvbGljeSBhYm91dCB3aGF0IFdlYktpdCBzaG91bGQg
ZG8uIEFjY29yZGluZ2x5LCB3ZSBzaG91bGQgbW92ZSB0aGlzIHNvbWV3aGVyZSBlbHNlIG9yIHJl
bmFtZSBpdAogLy8gdG8gYmUgYWJvdXQgQ0ZOZXR3b3JrIGNhcGFiaWxpdGllcyAoSEFWRSkgcmF0
aGVyIHRoYW4gYWJvdXQgV2ViS2l0IHBvbGljeSAoVVNFKS4KLSNpZiAoKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTMwMiAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTMwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDIwMCkgfHwgKFBMQVRG
T1JNKFdBVENIT1MpICYmIF9fV0FUQ0hfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gNDAyMDAp
IHx8IChQTEFURk9STShUVk9TKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEx
MDIwMCkpCisjaWYgKChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxM
T1dFRCA+PSAxMDEzMDIgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEz
MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMjAwMDApIHx8IChQTEFURk9STShXQVRDSE9TKSAmJiBfX1dBVENIX09TX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDUwMDAwKSB8fCAoUExBVEZPUk0oVFZPUykgJiYgX19UVl9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDApKQogI2RlZmluZSBVU0VfQ0ZORVRXT1JL
X0lHTk9SRV9IU1RTIDEKICNlbmRpZgogCkBAIC0yNDcsNyArMjQ3LDcgQEAgZXh0ZXJuIGNvbnN0
IENGU3RyaW5nUmVmIF9rQ0ZVUkxDYWNoZVBhcgogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIF9r
Q0ZVUkxDb25uZWN0aW9uUHJvcGVydHlTaG91bGRTbmlmZjsKIGV4dGVybiBjb25zdCBDRlN0cmlu
Z1JlZiBfa0NGVVJMU3RvcmFnZVNlc3Npb25Jc1ByaXZhdGU7CiAKLSNpZiBQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAyCisjaWYgUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMAogZXh0
ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDRlVSTFJlcXVlc3RDb250ZW50RGVjb2RlclNraXBVUkxD
aGVjazsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Q
YXNzS2l0U1BJLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29j
b2EvUGFzc0tpdFNQSS5oCShyZXZpc2lvbiAyMzc1NTQpCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0Nyw3ICsyNDcs
NyBAQCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogLSAodm9pZClwYXltZW50QXV0aG9yaXphdGlv
blZpZXdDb250cm9sbGVyOihQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIgKilj
b250cm9sbGVyIGRpZFJlcXVlc3RNZXJjaGFudFNlc3Npb246KHZvaWQoXikoUEtQYXltZW50TWVy
Y2hhbnRTZXNzaW9uICosIE5TRXJyb3IgKikpc2Vzc2lvbkJsb2NrOwogQGVuZAogCi0jaWYgKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTMwNCkg
fHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9X
RUQgPj0gMTEwMzAwKQorI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
QVhfQUxMT1dFRCA+PSAxMDEzMDQpIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCiB0eXBlZGVmIE5T
X0VOVU0oTlNVSW50ZWdlciwgUEtQYXltZW50UmVxdWVzdEFQSVR5cGUpIHsKICAgICBQS1BheW1l
bnRSZXF1ZXN0QVBJVHlwZUluQXBwID0gMCwKICAgICBQS1BheW1lbnRSZXF1ZXN0QVBJVHlwZVdl
YkpTLApAQCAtMjc2LDcgKzI3Niw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFBLUGF5
bWVudEJ1dHQKICAgICBQS1BheW1lbnRCdXR0b25UeXBlU2V0VXAsCiAgICAgUEtQYXltZW50QnV0
dG9uVHlwZUluU3RvcmUsCiAgICAgUEtQYXltZW50QnV0dG9uVHlwZURvbmF0ZSwKLSNpZiAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxNDAwKSB8
fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dF
RCA+PSAxMjAwMDApCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01B
WF9BTExPV0VEID49IDEwMTQwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBQS1BheW1l
bnRCdXR0b25UeXBlQ2hlY2tvdXQsCiAgICAgUEtQYXltZW50QnV0dG9uVHlwZUJvb2ssCiAgICAg
UEtQYXltZW50QnV0dG9uVHlwZVN1YnNjcmliZSwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9tYWMvQVZGb3VuZGF0aW9uU1BJLmgJKHJldmlzaW9uIDIzNzU1NCkKKysr
IFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9BVkZvdW5kYXRpb25TUEkuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTQsMTQgKzU0LDE0IEBACiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZQbGF5
ZXJJdGVtLmg+CiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZQbGF5ZXJMYXllci5oPgogCi0jaWYg
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTMw
MCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FM
TE9XRUQgPj0gMTEwMDAwKQorI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA+PSAxMDEzMDApIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCiBOU19BU1NV
TUVfTk9OTlVMTF9CRUdJTgogQGludGVyZmFjZSBBVlBsYXllckl0ZW0gKCkKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCByZWFkb25seSkgTlNUaW1lSW50ZXJ2YWwgc2Vla2FibGVUaW1lUmFuZ2VzTGFz
dE1vZGlmaWVkVGltZSBOU19BVkFJTEFCTEUoMTBfMTMsIDExXzApOwogQHByb3BlcnR5IChub25h
dG9taWMsIHJlYWRvbmx5KSBOU1RpbWVJbnRlcnZhbCBsaXZlVXBkYXRlSW50ZXJ2YWw7CiBAZW5k
CiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKLSNlbmRpZiAvLyAoUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TX0ZB
TUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMTAwMDApCisjZW5k
aWYgLy8gKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49
IDEwMTMwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2lmIEVOQUJMRShXSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCiAKQEAgLTIzNSw3ICsyMzUs
NyBAQCBOU19BU1NVTUVfTk9OTlVMTF9FTkQKIAogI2VuZGlmIC8vIF9faGFzX2luY2x1ZGUoPEFW
Rm91bmRhdGlvbi9BVlNhbXBsZUJ1ZmZlclJlbmRlclN5bmNocm9uaXplci5oPikKIAotI2lmICgo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDEzMDAp
IHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExP
V0VEIDwgMTEwMDAwKSkgJiYgX19oYXNfaW5jbHVkZSg8QVZGb3VuZGF0aW9uL0FWUXVldWVkU2Ft
cGxlQnVmZmVyUmVuZGVyaW5nLmg+KQorI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTMwMCkgJiYgX19oYXNfaW5jbHVkZSg8QVZGb3VuZGF0
aW9uL0FWUXVldWVkU2FtcGxlQnVmZmVyUmVuZGVyaW5nLmg+KQogI2ltcG9ydCA8QVZGb3VuZGF0
aW9uL0FWUXVldWVkU2FtcGxlQnVmZmVyUmVuZGVyaW5nLmg+CiBAY2xhc3MgQVZWaWRlb1BlcmZv
cm1hbmNlTWV0cmljczsKIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCkBAIC0yNzMsNyArMjczLDcg
QEAgQGludGVyZmFjZSBBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciA6IAogTlNfQVNTVU1FX05P
Tk5VTExfRU5ECiAjZW5kaWYgLy8gX19oYXNfaW5jbHVkZSg8QVZGb3VuZGF0aW9uL0FWU2FtcGxl
QnVmZmVyRGlzcGxheUxheWVyLmg+KQogCi0jaWYgKChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTMwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkp
ICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMTAwMDApKSAmJiBfX2hhc19p
bmNsdWRlKDxBVkZvdW5kYXRpb24vQVZRdWV1ZWRTYW1wbGVCdWZmZXJSZW5kZXJpbmcuaD4pCisj
aWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAx
MzAwKSAmJiBfX2hhc19pbmNsdWRlKDxBVkZvdW5kYXRpb24vQVZRdWV1ZWRTYW1wbGVCdWZmZXJS
ZW5kZXJpbmcuaD4pCiAvLyBOb3RoaW5nIHRvIGRvLCBBVmZvdW5kYXRpb24vQVZRdWV1ZWRTYW1w
bGVCdWZmZXJSZW5kZXJpbmcuaCB3YXMgaW1wb3J0ZWQgYWJvdmUuCiAjZWxpZiBfX2hhc19pbmNs
dWRlKDxBVkZvdW5kYXRpb24vQVZTYW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVyLmg+KQogI2ltcG9y
dCA8QVZGb3VuZGF0aW9uL0FWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlci5oPgpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDLm1tCShyZXZpc2lvbiAyMzc1NTQpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yODA5LDcgKzI4MDksNiBAQCBzdGF0
aWMgTlNTdHJpbmcgKmV4ZXJuYWxEZXZpY2VEaXNwbGF5TmFtCiAgICAgaWYgKCFBVkZvdW5kYXRp
b25MaWJyYXJ5KCkpCiAgICAgICAgIHJldHVybiBuaWw7CiAKLSNpZiBfX0lQSE9ORV9PU19WRVJT
SU9OX01BWF9BTExPV0VEID49IDExMDAwMAogICAgIGlmIChbZ2V0QVZPdXRwdXRDb250ZXh0Q2xh
c3MoKSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNoYXJlZEF1ZGlvUHJlc2VudGF0aW9u
T3V0cHV0Q29udGV4dCldKSB7CiAgICAgICAgIEFWT3V0cHV0Q29udGV4dCAqb3V0cHV0Q29udGV4
dCA9IFtnZXRBVk91dHB1dENvbnRleHRDbGFzcygpIHNoYXJlZEF1ZGlvUHJlc2VudGF0aW9uT3V0
cHV0Q29udGV4dF07CiAKQEAgLTI4MjgsNyArMjgyNyw2IEBAIEFMTE9XX0RFUFJFQ0FURURfREVD
TEFSQVRJT05TX0VORAogCiAgICAgICAgIHJldHVybiBbb3V0cHV0RGV2aWNlTmFtZXMgY29tcG9u
ZW50c0pvaW5lZEJ5U3RyaW5nOkAiICsgIl07CiAgICAgfQotI2VuZGlmCiAKICAgICBpZiAocGxh
eWVyLmV4dGVybmFsUGxheWJhY2tUeXBlICE9IEFWUGxheWVyRXh0ZXJuYWxQbGF5YmFja1R5cGVB
aXJQbGF5KQogICAgICAgICByZXR1cm4gbmlsOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5tbQkocmV2aXNpb24g
MjM3NTU0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0
b3J5TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCw3IEBAIE5TUG9pbnQgZ2xvYmFs
UG9pbnQoY29uc3QgTlNQb2ludCYgd2luZG8KIHN0YXRpYyBOU1BvaW50IGdsb2JhbFBvaW50Rm9y
RXZlbnQoTlNFdmVudCAqZXZlbnQpCiB7CiAgICAgc3dpdGNoIChbZXZlbnQgdHlwZV0pIHsKLSNp
ZiBkZWZpbmVkKF9fTFA2NF9fKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0g
MTAxMDAzCisjaWYgZGVmaW5lZChfX0xQNjRfXykKICAgICBjYXNlIE5TRXZlbnRUeXBlUHJlc3N1
cmU6CiAjZW5kaWYKICAgICBjYXNlIE5TRXZlbnRUeXBlTGVmdE1vdXNlRG93bjoKQEAgLTc5LDcg
Kzc5LDcgQEAgc3RhdGljIE5TUG9pbnQgZ2xvYmFsUG9pbnRGb3JFdmVudChOU0V2ZQogc3RhdGlj
IEludFBvaW50IHBvaW50Rm9yRXZlbnQoTlNFdmVudCAqZXZlbnQsIE5TVmlldyAqd2luZG93Vmll
dykKIHsKICAgICBzd2l0Y2ggKFtldmVudCB0eXBlXSkgewotI2lmIGRlZmluZWQoX19MUDY0X18p
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEwMDMKKyNpZiBkZWZpbmVk
KF9fTFA2NF9fKQogICAgIGNhc2UgTlNFdmVudFR5cGVQcmVzc3VyZToKICNlbmRpZgogICAgIGNh
c2UgTlNFdmVudFR5cGVMZWZ0TW91c2VEb3duOgpAQCAtMTEwLDcgKzExMCw3IEBAIHN0YXRpYyBJ
bnRQb2ludCBwb2ludEZvckV2ZW50KE5TRXZlbnQgKmUKIHN0YXRpYyBNb3VzZUJ1dHRvbiBtb3Vz
ZUJ1dHRvbkZvckV2ZW50KE5TRXZlbnQgKmV2ZW50KQogewogICAgIHN3aXRjaCAoW2V2ZW50IHR5
cGVdKSB7Ci0jaWYgZGVmaW5lZChfX0xQNjRfXykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9B
TExPV0VEID49IDEwMTAwMworI2lmIGRlZmluZWQoX19MUDY0X18pCiAgICAgY2FzZSBOU0V2ZW50
VHlwZVByZXNzdXJlOgogI2VuZGlmCiAgICAgY2FzZSBOU0V2ZW50VHlwZUxlZnRNb3VzZURvd246
CkBAIC03MjMsNyArNzIzLDcgQEAgcHVibGljOgogICAgICAgICAvLyBQbGF0Zm9ybUV2ZW50CiAg
ICAgICAgIG1fdHlwZSA9IG1vdXNlRXZlbnRUeXBlRm9yRXZlbnQoZXZlbnQpOwogCi0jaWYgZGVm
aW5lZChfX0xQNjRfXykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTAw
MworI2lmIGRlZmluZWQoX19MUDY0X18pCiAgICAgICAgIEJPT0wgZXZlbnRJc1ByZXNzdXJlRXZl
bnQgPSBbZXZlbnQgdHlwZV0gPT0gTlNFdmVudFR5cGVQcmVzc3VyZTsKICAgICAgICAgaWYgKGV2
ZW50SXNQcmVzc3VyZUV2ZW50KSB7CiAgICAgICAgICAgICAvLyBTaW5jZSBBcHBLaXQgZG9lc24n
dCBzZW5kIG1vdXNlIGV2ZW50cyBmb3IgZm9yY2UgZG93biBvciBmb3JjZSB1cCwgd2UgaGF2ZSB0
byB1c2UgdGhlIGN1cnJlbnQgcHJlc3N1cmUKQEAgLTc1Myw3ICs3NTMsNyBAQCBwdWJsaWM6CiAj
ZW5kaWYKIAogICAgICAgICBtX2ZvcmNlID0gMDsKLSNpZiBkZWZpbmVkKF9fTFA2NF9fKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMDAzCisjaWYgZGVmaW5lZChfX0xQ
NjRfXykKICAgICAgICAgaW50IHN0YWdlID0gZXZlbnRJc1ByZXNzdXJlRXZlbnQgPyBldmVudC5z
dGFnZSA6IGNvcnJlc3BvbmRpbmdQcmVzc3VyZUV2ZW50LnN0YWdlOwogICAgICAgICBkb3VibGUg
cHJlc3N1cmUgPSBldmVudElzUHJlc3N1cmVFdmVudCA/IGV2ZW50LnByZXNzdXJlIDogY29ycmVz
cG9uZGluZ1ByZXNzdXJlRXZlbnQucHJlc3N1cmU7CiAgICAgICAgIG1fZm9yY2UgPSBwcmVzc3Vy
ZSArIHN0YWdlOwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNzU1NCkKKysrIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTgtMTAtMjkg
IEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAg
c29tZSBvYnNvbGV0ZSBNQVhfQUxMT1dFRCBtYWNyb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDkxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0Rh
dGFUYXNrQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjph
cHBseVNuaWZmaW5nUG9saWNpZXNBbmRCaW5kUmVxdWVzdFRvSW5mZXJmYWNlSWZOZWVkZWQpOgor
ICAgICAgICAqIFBsYXRmb3JtL3NwaS9Db2NvYS9EZXZpY2VJZGVudGl0eVNQSS5oOgorICAgICAg
ICAqIFBsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJl
ZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKGRlZmF1bHRDdXN0b21QYXN0ZWJv
YXJkRGF0YUVuYWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0Ojp0b1BLUGF5
bWVudFJlcXVlc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNoYW5nZVNlbGVjdGlvbldpdGhU
b3VjaEF0OndpdGhTZWxlY3Rpb25Ub3VjaDpiYXNlSXNTdGFydDpdKTogRGVsZXRlZC4KKwogMjAx
OC0xMC0yOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtQU09O
XSBXaGVuIFNhZmFyaSByZXN0b3JlcyBzZXNzaW9uIHN0YXRlIGFmdGVyIGxhdW5jaGluZywgZ29p
bmcgYmFjayBhbmQgZm9yd2FyZCBkb2VzIG5vdCBzd2FwIHByb2Nlc3NlcwpJbmRleDogU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRh
VGFza0NvY29hLm1tCShyZXZpc2lvbiAyMzc1NTQpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC04
Myw3ICs4Myw3IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmFwcGx5U25pZmZpbmcKIHsK
ICNpZiAhUExBVEZPUk0oTUFDKQogICAgIFVOVVNFRF9QQVJBTShzaG91bGRDb250ZW50RW5jb2Rp
bmdTbmlmZik7Ci0jZWxpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxMzAy
CisjZWxpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNDAwCiAgICAgc2hv
dWxkQ29udGVudEVuY29kaW5nU25pZmYgPSB0cnVlOwogI2VuZGlmCiAgICAgYXV0byYgY29jb2FT
ZXNzaW9uID0gc3RhdGljX2Nhc3Q8TmV0d29ya1Nlc3Npb25Db2NvYSY+KG1fc2Vzc2lvbi5nZXQo
KSk7CkBAIC05NSw3ICs5NSw3IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmFwcGx5U25p
ZmZpbmcKIAogICAgIGF1dG8gbXV0YWJsZVJlcXVlc3QgPSBhZG9wdE5TKFtuc1JlcXVlc3QgbXV0
YWJsZUNvcHldKTsKIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEzMDIKKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCiAgICAgaWYgKCFzaG91bGRDb250ZW50RW5jb2Rp
bmdTbmlmZikKICAgICAgICAgW211dGFibGVSZXF1ZXN0IF9zZXRQcm9wZXJ0eTpAKFlFUykgZm9y
S2V5OihOU1N0cmluZyAqKWtDRlVSTFJlcXVlc3RDb250ZW50RGVjb2RlclNraXBVUkxDaGVja107
CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL0NvY29hL0RldmljZUlk
ZW50aXR5U1BJLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvQ29j
b2EvRGV2aWNlSWRlbnRpdHlTUEkuaAkocmV2aXNpb24gMjM3NTU0KQorKysgU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9zcGkvQ29jb2EvRGV2aWNlSWRlbnRpdHlTUEkuaAkod29ya2luZyBjb3B5KQpA
QCAtMzEsMTAgKzMxLDYgQEAKIAogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKLSNpZiBf
X0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEIDwgMTEwMzAwCi1leHRlcm4gTlNTdHJpbmcg
KiBfTm9ubnVsbCBjb25zdCBrTUFPcHRpb25zQkFBQWNjZXNzQ29udHJvbHM7Ci0jZW5kaWYKLQog
ZXh0ZXJuICJDIiB7CiAjaW1wb3J0IDxEZXZpY2VJZGVudGl0eS9EZXZpY2VJZGVudGl0eS5oPgog
fQpJbmRleDogU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgJKHJldmlz
aW9uIDIzNzU1NCkKKysrIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNDEsOSArMzQxLDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50
ZWdlciwgVUlTY3JvbGxWaWV3SQogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09M
IF9pc0ludGVycnVwdGluZ0RlY2VsZXJhdGlvbjsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBnZXR0
ZXI9X2NvbnRlbnRTY3JvbGxJbnNldCwgc2V0dGVyPV9zZXRDb250ZW50U2Nyb2xsSW5zZXQ6KSBV
SUVkZ2VJbnNldHMgY29udGVudFNjcm9sbEluc2V0OwogQHByb3BlcnR5IChub25hdG9taWMsIGdl
dHRlcj1faW5kaWNhdG9ySW5zZXRBZGp1c3RtZW50QmVoYXZpb3IsIHNldHRlcj1fc2V0SW5kaWNh
dG9ySW5zZXRBZGp1c3RtZW50QmVoYXZpb3I6KSBVSVNjcm9sbFZpZXdJbmRpY2F0b3JJbnNldEFk
anVzdG1lbnRCZWhhdmlvciBpbmRpY2F0b3JJbnNldEFkanVzdG1lbnRCZWhhdmlvcjsKLSNpZiBf
X0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDExMDAwMAogQHByb3BlcnR5IChub25h
dG9taWMsIHJlYWRvbmx5KSBVSUVkZ2VJbnNldHMgX3N5c3RlbUNvbnRlbnRJbnNldDsKLSNlbmRp
ZgogQGVuZAogCiBAaW50ZXJmYWNlIE5TU3RyaW5nIChVSUtpdERldGFpbHMpCkBAIC00OTIsOSAr
NDkwLDcgQEAgdHlwZWRlZiBOU19FTlVNIChOU0ludGVnZXIsIF9VSUJhY2tkcm9wTQogLSAodm9p
ZClzZXRTaXplOihDR1NpemUpc2l6ZTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNl
dHRlcj1fc2V0QmFja2Ryb3BNYXNrVmlld0ZsYWdzOikgTlNJbnRlZ2VyIF9iYWNrZHJvcE1hc2tW
aWV3RmxhZ3M7CiAtICh2b2lkKV9wb3B1bGF0ZUFyY2hpdmVkU3Vidmlld3M6KE5TTXV0YWJsZVNl
dCAqKWVuY29kZWRWaWV3czsKLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49
IDExMDAwMAogLSAodm9pZClzYWZlQXJlYUluc2V0c0RpZENoYW5nZTsKLSNlbmRpZgogQHByb3Bl
cnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0Q29udGludW91c0Nvcm5lclJhZGl1czopIENHRmxv
YXQgX2NvbnRpbnVvdXNDb3JuZXJSYWRpdXM7CiAtICh2b2lkKWluc2VydFN1YnZpZXc6KFVJVmll
dyAqKXZpZXcgYWJvdmU6KFVJVmlldyAqKXNpYmxpbmc7CiAtICh2b2lkKXZpZXdXaWxsTW92ZVRv
U3VwZXJ2aWV3OihVSVZpZXcgKiluZXdTdXBlcnZpZXc7CkBAIC02MzEsOSArNjI3LDYgQEAgdHlw
ZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgVUlXS0dlc3R1cmVUeQogLSAoQk9PTCloYXNNYXJrZWRU
ZXh0OwogCiAtIChCT09MKWhhc1NlbGVjdGFibGVQb3NpdGlvbkF0UG9pbnQ6KENHUG9pbnQpcG9p
bnQ7Ci0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDExMDAwMAotLSAoQk9P
TClwb2ludElzSW5Bc3Npc3RlZE5vZGU6KENHUG9pbnQpcG9pbnQ7Ci0jZW5kaWYKIC0gKE5TQXJy
YXkgKil3ZWJTZWxlY3Rpb25SZWN0czsKIC0gKHZvaWQpX2NhbmNlbExvbmdQcmVzc0dlc3R1cmVS
ZWNvZ25pemVyOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0Rl
ZmF1bHRWYWx1ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAJKHJldmlzaW9uIDIzNzU1NCkKKysrIFNvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ2LDcgKzQ2LDcgQEAgYm9vbCBkZWZhdWx0UGFzc2l2ZVRvdWNoTGlzdGVuZXJzQXNE
ZWZhdQogCiBib29sIGRlZmF1bHRDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQoKQogewotI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQg
Pj0gMTEwMzAwCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICByZXR1cm4gV2ViQ29yZTo6
SU9TQXBwbGljYXRpb246OmlzTW9iaWxlU2FmYXJpKCkgfHwgZHlsZF9nZXRfcHJvZ3JhbV9zZGtf
dmVyc2lvbigpID49IERZTERfSU9TX1ZFUlNJT05fMTFfMzsKICNlbGlmIFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTMwMAogICAgIHJldHVybiBX
ZWJDb3JlOjpNYWNBcHBsaWNhdGlvbjo6aXNTYWZhcmkoKSB8fCBkeWxkX2dldF9wcm9ncmFtX3Nk
a192ZXJzaW9uKCkgPiBEWUxEX01BQ09TWF9WRVJTSU9OXzEwXzEzOwpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlD
b2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9j
b2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCShyZXZpc2lvbiAyMzc1NTQp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNDksNyArMTQ5LDcgQEAg
c3RhdGljIFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZQogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FM
TE9XRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMTAwMDApCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTMwMCkgfHwgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKIAogLSAodm9pZClwYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyOihQS1Bh
eW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIgKiljb250cm9sbGVyIGRpZEF1dGhvcml6
ZVBheW1lbnQ6KFBLUGF5bWVudCAqKXBheW1lbnQgaGFuZGxlcjoodm9pZCAoXikoUEtQYXltZW50
QXV0aG9yaXphdGlvblJlc3VsdCAqcmVzdWx0KSljb21wbGV0aW9uCiB7CkBAIC00OTgsOCArNDk4
LDcgQEAgc3RhdGljIFJldGFpblB0cjxOU1NldD4gdG9OU1NldChjb25zdCBWZQogfQogI2VuZGlm
CiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTMwMCAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMzA0KSBc
Ci0gICAgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDExMDMwMCAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49
IDExMDMwMCkKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTMwMCAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAx
MzA0KSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQogc3RhdGljIFBLUGF5bWVudFJlcXVlc3RBUElU
eXBlIHRvQVBJVHlwZShXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6UmVx
dWVzdGVyIHJlcXVlc3RlcikKIHsKICAgICBzd2l0Y2ggKHJlcXVlc3RlcikgewpAQCAtNTI2LDgg
KzUyNSw3IEBAIFJldGFpblB0cjxQS1BheW1lbnRSZXF1ZXN0PiB0b1BLUGF5bWVudFIKICAgICB9
IGVsc2UgaWYgKCFsaW5rSWNvblVSTHMuaXNFbXB0eSgpKQogICAgICAgICBbcmVzdWx0IHNldFRo
dW1ibmFpbFVSTDpsaW5rSWNvblVSTHNbMF1dOwogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01BWF9BTExPV0VEID49IDEwMTMwNCkgXAotICAgIHx8IChQTEFURk9STShJT1NfRkFNSUxZ
KSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAzMDAgJiYgX19JUEhP
TkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMTAzMDApCisjaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTMwNCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ICAgICBbcmVzdWx0IHNldEFQSVR5cGU6dG9BUElUeXBlKHBheW1lbnRSZXF1ZXN0LnJlcXVlc3Rl
cigpKV07CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXdJbnRlcmFjdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCShyZXZpc2lvbiAyMzc1NTQpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0yODk0LDEzICsyODk0LDYgQEAgLSAodm9pZCljaGFuZ2VTZWxl
Y3Rpb25XaXRoR2VzdHVyZUF0OihDRwogICAgIH0pOwogfQogCi0jaWYgX19JUEhPTkVfT1NfVkVS
U0lPTl9NQVhfQUxMT1dFRCA8IDEyMDAwMAotLSAodm9pZCljaGFuZ2VTZWxlY3Rpb25XaXRoVG91
Y2hBdDooQ0dQb2ludClwb2ludCB3aXRoU2VsZWN0aW9uVG91Y2g6KFVJV0tTZWxlY3Rpb25Ub3Vj
aCl0b3VjaCBiYXNlSXNTdGFydDooQk9PTCliYXNlSXNTdGFydAotewotICAgIFtzZWxmIGNoYW5n
ZVNlbGVjdGlvbldpdGhUb3VjaEF0OnBvaW50IHdpdGhTZWxlY3Rpb25Ub3VjaDp0b3VjaCBiYXNl
SXNTdGFydDpiYXNlSXNTdGFydCB3aXRoRmxhZ3M6VUlXS05vbmVdOwotfQotI2VuZGlmCi0KIC0g
KHZvaWQpY2hhbmdlU2VsZWN0aW9uV2l0aFRvdWNoQXQ6KENHUG9pbnQpcG9pbnQgd2l0aFNlbGVj
dGlvblRvdWNoOihVSVdLU2VsZWN0aW9uVG91Y2gpdG91Y2ggYmFzZUlzU3RhcnQ6KEJPT0wpYmFz
ZUlzU3RhcnQgd2l0aEZsYWdzOihVSVdLU2VsZWN0aW9uRmxhZ3MpZmxhZ3MKIHsKICAgICBfdXNp
bmdHZXN0dXJlRm9yU2VsZWN0aW9uID0gWUVTOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZwkocmV2aXNpb24gMjM3NTU0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTgtMTAtMjkgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgc29tZSBvYnNv
bGV0ZSBNQVhfQUxMT1dFRCBtYWNyb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5MDkxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJIVE1MVmlldy5tbToKKyAgICAgICAgKC1bV2Vi
SFRNTFZpZXcgcHJlc3N1cmVDaGFuZ2VXaXRoRXZlbnQ6XSk6CisgICAgICAgICogV2ViVmlldy9X
ZWJQREZWaWV3Lmg6CisKIDIwMTgtMTAtMjUgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxl
LmNvbT4KIAogICAgICAgICBbV2ViIEFuaW1hdGlvbnNdIFR1cm4gV2ViIEFuaW1hdGlvbnMgQ1NT
IEludGVncmF0aW9uIG9mZiBieSBkZWZhdWx0CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0JKHJldmlzaW9uIDIzNzU1NCkKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0JKHdvcmtpbmcgY29weSkK
QEAgLTQ0OTEsNyArNDQ5MSw3IEBAIC0gKHZvaWQpbW91c2VNb3ZlZDooTlNFdmVudCAqKWV2ZW50
CiAKIC0gKHZvaWQpcHJlc3N1cmVDaGFuZ2VXaXRoRXZlbnQ6KE5TRXZlbnQgKilldmVudAogewot
I2lmIFBMQVRGT1JNKE1BQykgJiYgZGVmaW5lZChfX0xQNjRfXykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01BWF9BTExPV0VEID49IDEwMTAwMworI2lmIFBMQVRGT1JNKE1BQykgJiYgZGVmaW5lZChf
X0xQNjRfXykKICAgICBOU0V2ZW50ICpsYXN0UHJlc3N1cmVFdmVudCA9IFtbc2VsZiBfd2ViVmll
d10gX3ByZXNzdXJlRXZlbnRdOwogICAgIGlmIChldmVudC5waGFzZSAhPSBOU0V2ZW50UGhhc2VD
aGFuZ2VkICYmIGV2ZW50LnBoYXNlICE9IE5TRXZlbnRQaGFzZUJlZ2FuICYmIGV2ZW50LnBoYXNl
ICE9IE5TRXZlbnRQaGFzZUVuZGVkKQogICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBERlZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBERlZpZXcuaAkocmV2aXNpb24gMjM3NTU0KQor
KysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQREZWaWV3LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMzLDExICszMyw2IEBACiAKIEBjbGFzcyBXZWJEYXRhU291cmNlOwogCi0jaWYg
X19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAxMjAwCi1AcHJvdG9jb2wgUERGVmll
d0RlbGVnYXRlIDxOU09iamVjdD4KLUBlbmQKLSNlbmRpZgotCiBAaW50ZXJmYWNlIFdlYlBERlZp
ZXcgOiBOU1ZpZXcgPFBERlZpZXdEZWxlZ2F0ZSwgV2ViRG9jdW1lbnRWaWV3LCBXZWJEb2N1bWVu
dFNlYXJjaGluZywgV2ViRG9jdW1lbnRJbmNyZW1lbnRhbFNlYXJjaGluZywgV2ViTXVsdGlwbGVU
ZXh0TWF0Y2hlcywgV2ViRG9jdW1lbnRTZWxlY3Rpb24sIFdlYkRvY3VtZW50RWxlbWVudCwgV2Vi
RG9jdW1lbnRQREYsIF9XZWJEb2N1bWVudFZpZXdTdGF0ZSwgX1dlYkRvY3VtZW50Wm9vbWluZz4K
IHsKICAgICBQREZWaWV3ICpQREZTdWJ2aWV3OwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjM3NTU0KQorKysgVG9vbHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTgtMTAtMjkgIEFsZXhl
eSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgc29tZSBv
YnNvbGV0ZSBNQVhfQUxMT1dFRCBtYWNyb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MDkxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvZGFyd2luL1dlYWtM
aW5raW5nLmNwcDoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dL
SFRUUENvb2tpZVN0b3JlLm1tOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0Ry
YWdBbmREcm9wVGVzdHNJT1MubW06CisKIDIwMTgtMTAtMjkgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAogICAgICAgICBbUFNPTl0gV2hlbiBTYWZhcmkgcmVzdG9yZXMgc2Vzc2lv
biBzdGF0ZSBhZnRlciBsYXVuY2hpbmcsIGdvaW5nIGJhY2sgYW5kIGZvcndhcmQgZG9lcyBub3Qg
c3dhcCBwcm9jZXNzZXMKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2Rhcndp
bi9XZWFrTGlua2luZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvZGFyd2luL1dlYWtMaW5raW5nLmNwcAkocmV2aXNpb24gMjM3NTU0KQorKysgVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvZGFyd2luL1dlYWtMaW5raW5nLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzIsMTkgKzMyLDExIEBACiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogCi0j
aWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEwMDAKIGFzbSgiLmxpbmtl
cl9vcHRpb24gXCItbFRlc3RXVEZBbHdheXNNaXNzaW5nLWlPUy12MlwiIik7Ci0jZWxzZQotYXNt
KCIubGlua2VyX29wdGlvbiBcIi1sVGVzdFdURkFsd2F5c01pc3NpbmctaU9TXCIiKTsKLSNlbmRp
ZgogCiAjZWxzZQogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTIw
MAogYXNtKCIubGlua2VyX29wdGlvbiBcIi1sVGVzdFdURkFsd2F5c01pc3NpbmctbWFjT1MtdjJc
IiIpOwotI2Vsc2UKLWFzbSgiLmxpbmtlcl9vcHRpb24gXCItbFRlc3RXVEZBbHdheXNNaXNzaW5n
LW1hY09TXCIiKTsKLSNlbmRpZgogCiAjZW5kaWYKIApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9XS0hUVFBDb29raWVTdG9yZS5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLSFRUUENvb2tpZVN0b3JlLm1t
CShyZXZpc2lvbiAyMzc1NTQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1dLSFRUUENvb2tpZVN0b3JlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00MDQsOCArNDA0LDgg
QEAgVEVTVChXZWJLaXQsIFdLSFRUUENvb2tpZVN0b3JlQ3JlYXRpb25UaQogfQogI2VuZGlmIC8v
IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
NDAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTIwMDAwKQogCi0vLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgcmVtb3ZlZCBv
bmNlIDxyZGFyOi8vcHJvYmxlbS8zNTM0NDIwMj4gaXMgcmVzb2x2ZWQgYW5kIGJvdHMgYXJlIHVw
ZGF0ZWQuCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExP
V0VEIDw9IDEwMTMwMSkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZF
UlNJT05fTUFYX0FMTE9XRUQgPD0gMTEwMTAyKQorLy8gRklYTUU6IFRoaXMgI2lmIHNob3VsZCBi
ZSByZW1vdmVkIG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzM1MzQ0MjAyPiBpcyByZXNvbHZlZCBhbmQg
Ym90cyBhcmUgdXBkYXRlZC4KKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA8PSAxMDEzMDEKIFRFU1QoV2ViS2l0LCBXS0hUVFBDb29raWVTdG9yZU5v
blBlcnNpc3RlbnQpCiB7CiAgICAgUmV0YWluUHRyPFdLV2Vic2l0ZURhdGFTdG9yZT4gbm9uUGVy
c2lzdGVudERhdGFTdG9yZTsKQEAgLTQzNCw3ICs0MzQsNyBAQCBURVNUKFdlYktpdCwgV0tIVFRQ
Q29va2llU3RvcmVDdXN0b20pCiAgICAgYXV0byBjdXN0b21EYXRhU3RvcmUgPSBhZG9wdE5TKFtb
V0tXZWJzaXRlRGF0YVN0b3JlIGFsbG9jXSBfaW5pdFdpdGhDb25maWd1cmF0aW9uOndlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uLmdldCgpXSk7CiAgICAgcnVuVGVzdFdpdGhXZWJzaXRlRGF0
YVN0b3JlKGN1c3RvbURhdGFTdG9yZS5nZXQoKSk7CiB9Ci0jZW5kaWYgLy8gKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDw9IDEwMTMwMSkgfHwgKFBMQVRG
T1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPD0gMTEw
MTAyKQorI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9B
TExPV0VEIDw9IDEwMTMwMQogCiBURVNUKFdlYktpdCwgQ29va2llT2JzZXJ2ZXJDcmFzaCkKIHsK
SW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0RyYWdBbmREcm9wVGVzdHNJT1Mu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvRHJhZ0FuZERy
b3BUZXN0c0lPUy5tbQkocmV2aXNpb24gMjM3NTU0KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9pb3MvRHJhZ0FuZERyb3BUZXN0c0lPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTM3Miw3
ICsxMzcyLDcgQEAgVEVTVChEcmFnQW5kRHJvcFRlc3RzLCBEb05vdENyYXNoV2hlblNlbAogfQog
CiAvLyBGSVhNRTogUmUtZW5hYmxlIHRoaXMgdGVzdCBvbmNlIHdlIHJlc29sdmUgPGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUyMDQ+Ci0jaWYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NQVhfQUxMT1dFRCA8PSAxMTA0MDEKKyNpZiAwCiBURVNUKERyYWdBbmREcm9wVGVz
dHMsIEN1c3RvbUFjdGlvblNoZWV0UG9wb3ZlcikKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9w
dE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAs
IDMyMCwgNTAwKV0pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>