<?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>156261</bug_id>
          
          <creation_ts>2016-04-05 16:48:13 -0700</creation_ts>
          <short_desc>REGRESSION(r199073): This change broke internal Mac builds (Requested by ryanhaddad on #webkit).</short_desc>
          <delta_ts>2016-04-05 16:50:39 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>156116</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>benjamin</cc>
    
    <cc>keith_miller</cc>
    
    <cc>ryanhaddad</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1181056</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-05 16:48:13 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/199073 broke the build:
This change broke internal Mac builds (Requested by ryanhaddad on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181058</commentid>
    <comment_count>1</comment_count>
      <attachid>275717</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-05 16:48:52 -0700</bug_when>
    <thetext>Created attachment 275717
ROLLOUT of r199073

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

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181059</commentid>
    <comment_count>2</comment_count>
      <attachid>275717</attachid>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-04-05 16:50:36 -0700</bug_when>
    <thetext>Comment on attachment 275717
ROLLOUT of r199073

Clearing flags on attachment: 275717

Committed r199084: &lt;http://trac.webkit.org/changeset/199084&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1181060</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-04-05 16:50:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275717</attachid>
            <date>2016-04-05 16:48:52 -0700</date>
            <delta_ts>2016-04-05 16:50:36 -0700</delta_ts>
            <desc>ROLLOUT of r199073</desc>
            <filename>bug-156261-20160405164852.patch</filename>
            <type>text/plain</type>
            <size>80185</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5MDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
OWY5ZTlhM2VhN2IyYTdlMGU5Yjc5NTI5NWIzNmYxYTMxMWVlZDIyLi42MGQ4YzA5ZDc5OGYwOGQz
NGRiYTFkYzNlOWJjNzJhOTEwN2RkODU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNi0wNC0wNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE5OTA3My4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NjI2MQorCisgICAg
ICAgIFRoaXMgY2hhbmdlIGJyb2tlIGludGVybmFsIE1hYyBidWlsZHMgKFJlcXVlc3RlZCBieSBy
eWFuaGFkZGFkCisgICAgICAgIG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5n
ZXNldDoKKworICAgICAgICAiV2Ugc2hvdWxkIHN1cHBvcnQgdGhlIGFiaWxpdHkgdG8gZG8gYSBu
b24tZWZmZWN0ZnVsIGdldEJ5SWQiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTYxMTYKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMTk5MDczCisKIDIwMTYtMDQtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0
QGNyZi5jYW5vbi5mcj4KIAogICAgICAgICBbRmV0Y2ggQVBJXSBBZGQgYSBydW50aW1lIGZsYWcg
dG8gZmV0Y2ggQVBJIGFuZCByZWxhdGVkIGNvbnN0cnVjdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggYmFjNjUzOTA3ZWU0MzE2ZmYzMmI4OWFmYTUxNTNkYmFkMmRlMGFlNy4uYmRm
ZDg4NzExNjg5YjI1MzkwMWY4NWFjNDgxNmU0NWFkZjhkMDJhNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTI1MTMsOCArMjUxMyw4IEBACiAJCTBGNDY4MDgwMTRCQTU3MjcwMEJG
RTI3MiAvKiBKSVRFeGNlcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpJVEV4Y2VwdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY0NjgwOUQx
NEJBN0Y4MjAwQkZFMjcyIC8qIExMSW50RXhjZXB0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBMTEludEV4Y2VwdGlvbnMuY3BwOyBwYXRoID0gbGxpbnQvTExJ
bnRFeGNlcHRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY0NjgwOUUx
NEJBN0Y4MjAwQkZFMjcyIC8qIExMSW50RXhjZXB0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBMTEludEV4Y2VwdGlvbnMuaDsgcGF0aCA9IGxsaW50L0xMSW50RXhjZXB0
aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwRjQ2ODA5RjE0QkE3RjgyMDBC
RkUyNzIgLyogTExJbnRTbG93UGF0aHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IExMSW50U2xvd1BhdGhzLmNwcDsgcGF0aCA9IGxsaW50
L0xMSW50U2xvd1BhdGhzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNw
ZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07Ci0JCTBGNDY4MEEwMTRC
QTdGODIwMEJGRTI3MiAvKiBMTEludFNsb3dQYXRocy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTExJbnRTbG93UGF0aHMuaDsgcGF0aCA9IGxsaW50
L0xMSW50U2xvd1BhdGhzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVj
aWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcub2JqY3BwOyB9OworCQkwRjQ2ODA5RjE0
QkE3RjgyMDBCRkUyNzIgLyogTExJbnRTbG93UGF0aHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gTExJbnRTbG93UGF0aHMuY3BwOyBwYXRoID0gbGxpbnQvTExJbnRT
bG93UGF0aHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjQ2ODBBMDE0QkE3
RjgyMDBCRkUyNzIgLyogTExJbnRTbG93UGF0aHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gTExJbnRTbG93UGF0aHMuaDsgcGF0aCA9IGxsaW50L0xMSW50U2xvd1BhdGhzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNDY4MEExMTRCQTdGODIwMEJGRTI3MiAv
KiBMTEludE9mZnNldHNFeHRyYWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gTExJbnRPZmZzZXRzRXh0cmFjdG9yLmNwcDsgcGF0aCA9IGxsaW50L0xMSW50T2Zm
c2V0c0V4dHJhY3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNDY4MEM1
MTRCQkIxNjkwMEJGRTI3MiAvKiBMTEludENvbW1vbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBMTEludENvbW1vbi5oOyBwYXRoID0gbGxpbnQvTExJbnRDb21tb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY0NjgwQzYxNEJCQjE2OTAwQkZFMjcyIC8qIExM
SW50T2ZmbGluZUFzbUNvbmZpZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBM
TEludE9mZmxpbmVBc21Db25maWcuaDsgcGF0aCA9IGxsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZp
Zy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjY0OSw3ICsyNjQ5LDcgQEAKIAkJ
MEY4MzM1QjUxNjM5QzFFMzAwMTQ0M0I1IC8qIEFycmF5QWxsb2NhdGlvblByb2ZpbGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJyYXlBbGxvY2F0aW9uUHJvZmlsZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjgzNjRCNTE2NEIwQzBFMDA1MzMyOUEgLyog
REZHQnJhbmNoRGlyZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERG
R0JyYW5jaERpcmVjdGlvbi5oOyBwYXRoID0gZGZnL0RGR0JyYW5jaERpcmVjdGlvbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjg2QUUxRjFDNTMxMUM1MDA2QkU4RUMgLyogQjND
b21wdXRlRGl2aXNpb25NYWdpYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBC
M0NvbXB1dGVEaXZpc2lvbk1hZ2ljLmg7IHBhdGggPSBiMy9CM0NvbXB1dGVEaXZpc2lvbk1hZ2lj
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGODg1RTEwMTg0OUEzQkUwMEYxRTNG
QSAvKiBCeXRlY29kZVVzZURlZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IGxpbmVFbmRp
bmcgPSAwOyBwYXRoID0gQnl0ZWNvZGVVc2VEZWYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
eGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5vYmpjcHA7IH07
CisJCTBGODg1RTEwMTg0OUEzQkUwMEYxRTNGQSAvKiBCeXRlY29kZVVzZURlZi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCeXRlY29kZVVzZURlZi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkwRjg5M0JEQTE5MzZFMjNDMDAxMjExRjQgLyogREZHU3RydWN0dXJl
QWJzdHJhY3RWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBE
RkdTdHJ1Y3R1cmVBYnN0cmFjdFZhbHVlLmNwcDsgcGF0aCA9IGRmZy9ERkdTdHJ1Y3R1cmVBYnN0
cmFjdFZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY4OThGMkYxQjI3
Njg5RjAwODNBMzNDIC8qIERGR0ludGVnZXJSYW5nZU9wdGltaXphdGlvblBoYXNlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0ludGVnZXJSYW5nZU9wdGltaXph
dGlvblBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdJbnRlZ2VyUmFuZ2VPcHRpbWl6YXRpb25QaGFz
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGODk4RjMwMUIyNzY4OUYwMDgz
QTMzQyAvKiBERkdJbnRlZ2VyUmFuZ2VPcHRpbWl6YXRpb25QaGFzZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBERkdJbnRlZ2VyUmFuZ2VPcHRpbWl6YXRpb25QaGFzZS5oOyBw
YXRoID0gZGZnL0RGR0ludGVnZXJSYW5nZU9wdGltaXphdGlvblBoYXNlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0zMTI4LDggKzMxMjgsOCBAQAogCQkxNDI5RDg3NzBFRDIxQUNE
MDBCODk2MTkgLyogRXhjZXB0aW9uSGVscGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBFeGNlcHRpb25IZWxwZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMTQyOUQ4REIwRUQyMjA1QjAwQjg5NjE5IC8qIENhbGxGcmFtZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWxsRnJhbWUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxNDI5RDhEQzBFRDIyMDVCMDBCODk2MTkgLyogQ2FsbEZyYW1l
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBDYWxs
RnJhbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25J
ZGVudGlmaWVyID0geGNvZGUubGFuZy5vYmpjcHA7IH07Ci0JCTE0MjlEOTJEMEVEMjJENzAwMEI4
OTYxOSAvKiBKSVQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5n
ID0gMDsgcGF0aCA9IEpJVC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VT
cGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OwotCQkxNDI5RDkyRTBF
RDIyRDcwMDBCODk2MTkgLyogSklULmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbGluZUVu
ZGluZyA9IDA7IHBhdGggPSBKSVQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFn
ZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5vYmpjcHA7IH07CisJCTE0MjlE
OTJEMEVEMjJENzAwMEI4OTYxOSAvKiBKSVQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSklULmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTQyOUQ5
MkUwRUQyMkQ3MDAwQjg5NjE5IC8qIEpJVC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKSVQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQyRDM5MzgxMDNFNDU2
MDAwN0RDQjUyIC8qIE51bWVyaWNTdHJpbmdzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE51bWVyaWNTdHJpbmdzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0
MkQ2RjA2MTM1MzlBMjgwMEIwMkU4NiAvKiBNYXJrZWRCbG9jay5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXJrZWRCbG9jay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTE0MkQ2RjA3MTM1MzlBMjgwMEIwMkU4NiAvKiBNYXJrZWRCbG9jay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXJrZWRCbG9jay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMzM0MSwxMCArMzM0MSwxMCBAQAogCQk2NTA3RDI5NzBFODcx
RTRBMDBEN0Q4OTYgLyogSlNUeXBlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU1R5cGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1MTEyMkU1
MTQwNDY5QkEwMDJCMTAxRCAvKiB0ZXN0UmVnRXhwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IHRlc3RSZWdFeHAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk2NTExMjMwNTE0MDQ2QTRDMDAyQjEwMUQgLyogdGVzdFJlZ0V4cCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVj
dXRhYmxlIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gdGVzdFJlZ0V4cDsgc291cmNlVHJl
ZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKLQkJNjUxNEYyMTcxOEIzRTE2NzAwOThGRjhCIC8q
IEJ5dGVjb2Rlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IGxpbmVFbmRpbmcgPSAwOyBw
YXRoID0gQnl0ZWNvZGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVj
aWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcub2JqY3BwOyB9OwotCQk2NTE0RjIxODE4
QjNFMTY3MDA5OEZGOEIgLyogSW5pdEJ5dGVjb2Rlcy5hc20gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmFzbS5hc207IGxpbmVFbmRp
bmcgPSAwOyBwYXRoID0gSW5pdEJ5dGVjb2Rlcy5hc207IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9ICI8bm9uZT4iOyB9OworCQk2NTE0
RjIxNzE4QjNFMTY3MDA5OEZGOEIgLyogQnl0ZWNvZGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEJ5dGVjb2Rlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2
NTE0RjIxODE4QjNFMTY3MDA5OEZGOEIgLyogSW5pdEJ5dGVjb2Rlcy5hc20gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmFzbS5hc207
IHBhdGggPSBJbml0Qnl0ZWNvZGVzLmFzbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjUyOUZCMzAxOEIyRDYzOTAwQzYxMTAyIC8qIGdlbmVyYXRlLWJ5dGVjb2RlLWZpbGVzICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gImdlbmVyYXRlLWJ5dGVjb2RlLWZpbGVz
Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNjUyOUZCMzExOEIyRDk5OTAwQzYxMTAy
IC8qIEJ5dGVjb2RlTGlzdC5qc29uICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbGluZUVuZGluZyA9IDA7IHBh
dGggPSBCeXRlY29kZUxpc3QuanNvbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFn
ZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5qYXZhc2NyaXB0OyB9OworCQk2
NTI5RkIzMTE4QjJEOTk5MDBDNjExMDIgLyogQnl0ZWNvZGVMaXN0Lmpzb24gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gQnl0ZWNvZGVMaXN0Lmpzb247IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTY1MkEzQTIwMTY1MUM2NjEwMEE4MEFGRSAvKiBBUk02NERpc2Fzc2VtYmxlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBUk02NERpc2Fzc2VtYmxlci5jcHA7
IHBhdGggPSBkaXNhc3NlbWJsZXIvQVJNNjREaXNhc3NlbWJsZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk2NTJBM0EyMjE2NTFDNjk3MDBBODBBRkUgLyogQTY0RE9wY29kZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBNjRET3Bjb2RlLmNwcDsg
cGF0aCA9IGRpc2Fzc2VtYmxlci9BUk02NC9BNjRET3Bjb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNjUyQTNBMjMxNjUxQzY5NzAwQTgwQUZFIC8qIEE2NERPcGNvZGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQTY0RE9wY29kZS5oOyBwYXRoID0gZGlz
YXNzZW1ibGVyL0FSTTY0L0E2NERPcGNvZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTM0MzMsNyArMzQzMyw3IEBACiAJCTcwQjc5MTkwMUMwMjQ2Q0UwMDI0ODFFMiAvKiBHZW5l
cmF0b3JQcm90b3R5cGUubHV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdl
bmVyYXRvclByb3RvdHlwZS5sdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzBE
QzNFMDcxQjJERjJDNzAwMDU0Mjk5IC8qIEl0ZXJhdG9yUHJvdG90eXBlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEl0ZXJhdG9yUHJvdG90eXBlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzBEQzNFMDgxQjJERjJDNzAwMDU0Mjk5IC8qIEl0ZXJh
dG9yUHJvdG90eXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEl0ZXJhdG9y
UHJvdG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTcwREU5QTA4MUJFN0Q2
NzAwMDVEODlEOSAvKiBMTEludEFzc2VtYmx5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bGluZUVuZGluZyA9IDA7IHBhdGggPSBMTEludEFzc2VtYmx5Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcub2Jq
Y3BwOyB9OworCQk3MERFOUEwODFCRTdENjcwMDA1RDg5RDkgLyogTExJbnRBc3NlbWJseS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMTEludEFzc2VtYmx5Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcwRUMwRUJDMUFBMEQ3REEwMEI2QUFGQSAvKiBKU1N0cmlu
Z0l0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3Ry
aW5nSXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MEVDMEVCRDFB
QTBEN0RBMDBCNkFBRkEgLyogSlNTdHJpbmdJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU1N0cmluZ0l0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTcwRUMwRUMwMUFBMEQ3REEwMEI2QUFGQSAvKiBTdHJpbmdJdGVyYXRvclByb3RvdHlw
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHJpbmdJdGVyYXRv
clByb3RvdHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNTA3LDcgKzM1
MDcsNyBAQAogCQk4NjAxNjFFMjBGM0E4M0MxMDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJYODZD
b21tb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWFjcm9Bc3NlbWJsZXJY
ODZDb21tb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODYwM0NFRjIxNEM3NTQ2
NDAwQUU1OUUzIC8qIENvZGVQcm9maWxpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQ29kZVByb2ZpbGluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTg2MDNDRUYzMTRDNzU0NjQwMEFFNTlFMyAvKiBDb2RlUHJvZmlsaW5nLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvZGVQcm9maWxpbmcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJODYwNEY0RjIxNDNBNkM0NDAwQjI5NUY1IC8qIENoYW5nZUxvZyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IGxpbmVF
bmRpbmcgPSAwOyBwYXRoID0gQ2hhbmdlTG9nOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xh
bmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSAiPG5vbmU+IjsgfTsKKwkJODYwNEY0RjIx
NDNBNkM0NDAwQjI5NUY1IC8qIENoYW5nZUxvZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQ2hhbmdl
TG9nOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjA2RERFOTE4REE0NEFCMDBBMzgz
RDAgLyogSWRlbnRpZmllcklubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSWRlbnRpZmllcklubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODYx
MkU0Q0IxNTIyOTE4NDAwQzgzNkJFIC8qIE1hdGNoUmVzdWx0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE1hdGNoUmVzdWx0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTg2MTU4QUIyMTU1QzhCM0YwMEI0NUM5QyAvKiBQcm9wZXJ0eU5hbWUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvcGVydHlOYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0zNTM1LDcgKzM1MzUsNyBAQAogCQk4Njg4MEY0QzE0MzUzQjIxMDBCMDhE
NDIgLyogREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDsgcGF0aCA9IGRmZy9ERkdTcGVjdWxh
dGl2ZUpJVDY0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODY4OTE2QTkxNTVG
Mjg1NDAwQ0IyQjlBIC8qIFByaXZhdGVOYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFByaXZhdGVOYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2OUVC
Q0I2MEU4QzZENEEwMDg3MjJDQyAvKiBSZXN1bHRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlc3VsdFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
ODZBMDU0NDYxNTU2NDUxQjAwNDQ1MTU3IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5h
c20uYXNtOyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOyBw
YXRoID0gbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc207IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9ICI8bm9uZT4iOyB9OworCQk4
NkEwNTQ0NjE1NTY0NTFCMDA0NDUxNTcgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmFz
bS5hc207IG5hbWUgPSBMb3dMZXZlbEludGVycHJldGVyLmFzbTsgcGF0aCA9IGxsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkEwNTQ0
NzE1NTY0NTFCMDA0NDUxNTcgLyogTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYXNt
LmFzbTsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBMb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNt
OyBwYXRoID0gbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODZBMDU0NDgxNTU2NDUxQjAwNDQ1MTU3IC8qIExvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc20gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmFzbS5hc207IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTsgcGF0aCA9IGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c207IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2QTkwRUNGMEVFN0Q1MUYwMEFCMzUw
RCAvKiBKSVRBcml0aG1ldGljLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpJVEFyaXRobWV0aWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzU1
Niw3ICszNTU2LDcgQEAKIAkJODZDQUZFRTIxMDM1RERFNjAwMjhBNjA5IC8qIEV4ZWN1dGFibGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXhlY3V0YWJsZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4NkNDODVBMDBFRTc5QTQ3MDAyODg2ODIgLyogSklUSW5s
aW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRJbmxpbmVzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2Q0M4NUEyMEVFNzlCNzQwMDI4ODY4MiAvKiBK
SVRDYWxsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVENhbGwu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4NkNDODVDMzBFRTdBODk0MDAyODg2
ODIgLyogSklUUHJvcGVydHlBY2Nlc3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IEpJVFByb3BlcnR5QWNjZXNzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUu
bGFuZy5jcHA7IH07CisJCTg2Q0M4NUMzMEVFN0E4OTQwMDI4ODY4MiAvKiBKSVRQcm9wZXJ0eUFj
Y2Vzcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKSVRQcm9wZXJ0
eUFjY2Vzcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2Q0NFRkREMEY0MTNG
ODkwMEZEN0Y5RSAvKiBKSVRDb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpJVENvZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZEMjIyMTkxNjdFRjk0
NDAwMjRDODA0IC8qIHRlc3RhcGkubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhw
bGljaXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgZmlsZUVuY29kaW5nID0gNDsg
bmFtZSA9IHRlc3RhcGkubW07IHBhdGggPSBBUEkvdGVzdHMvdGVzdGFwaS5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZEM0IyQkYxMDE1NkJERTAwMjg2NUU3IC8qIEFSTUFzc2Vt
Ymxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBUk1Bc3NlbWJs
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzYzOCwxMSArMzYzOCwxMSBA
QAogCQk5NjAwOTdBNTBFQkFCQjU4MDA3QTcyOTcgLyogTGFiZWxTY29wZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBMYWJlbFNjb3BlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTk2ODhDQjEzMEVEMTJCNEUwMDFENjQ5RiAvKiBBc3NlbWJsZXJCdWZmZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXNzZW1ibGVyQnVmZmVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk2ODhDQjE0MEVEMTJCNEUwMDFENjQ5RiAvKiBYODZB
c3NlbWJsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gWDg2QXNzZW1ibGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk2OUEwNzIwMEVEMUNFMzMwMEYxRjY4
MSAvKiBCeXRlY29kZUdlbmVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5s
YW5nLmNwcDsgfTsKKwkJOTY5QTA3MjAwRUQxQ0UzMzAwRjFGNjgxIC8qIEJ5dGVjb2RlR2VuZXJh
dG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJ5dGVjb2RlR2Vu
ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTY5QTA3MjEwRUQxQ0Uz
MzAwRjFGNjgxIC8qIEJ5dGVjb2RlR2VuZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEJ5dGVjb2RlR2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTk2OUEwNzI3MEVEMUNFNjkwMEYxRjY4MSAvKiBMYWJlbC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMYWJlbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
NjlBMDcyODBFRDFDRTY5MDBGMUY2ODEgLyogUmVnaXN0ZXJJRC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZWdpc3RlcklELmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTk2OUEwNzkwMEVEMUQzQUUwMEYxRjY4MSAvKiBDb2RlQmxvY2suY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IENvZGVCbG9jay5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmll
ciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQk5NjlBMDc5MDBFRDFEM0FFMDBGMUY2ODEgLyogQ29k
ZUJsb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvZGVCbG9j
ay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk2OUEwNzkxMEVEMUQzQUUwMEYx
RjY4MSAvKiBDb2RlQmxvY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29k
ZUJsb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk2OUEwNzkyMEVEMUQzQUUw
MEYxRjY4MSAvKiBFdmFsQ29kZUNhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEV2YWxDb2RlQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTY5QTA3
OTMwRUQxRDNBRTAwRjFGNjgxIC8qIEluc3RydWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEluc3RydWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0zOTg2LDcgKzM5ODYsNyBAQAogCQlBN0JGRjNCRjE3OTg2ODk0MDAwMkY0NjIgLyogREZHRmls
dHJhdGlvblJlc3VsdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdGaWx0
cmF0aW9uUmVzdWx0Lmg7IHBhdGggPSBkZmcvREZHRmlsdHJhdGlvblJlc3VsdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBN0MwQzRBQTE2N0MwOENEMDAxNzAxMUQgLyogSlNTY3Jp
cHRSZWYuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTY3JpcHRS
ZWYuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBN0MwQzRBQjE2N0MwOENEMDAx
NzAxMUQgLyogSlNTY3JpcHRSZWZQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTU2NyaXB0UmVmUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlBN0MxRThDODExMkU3MDFDMDBBMzdGOTggLyogSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gSklU
UHJvcGVydHlBY2Nlc3MzMl82NC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3Vh
Z2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQlBN0MxRThD
ODExMkU3MDFDMDBBMzdGOTggLyogSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTdDMUVBRUIxNzk4N0FCNjAwMjk5REIyIC8q
IEpTU3RhY2tJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU3Rh
Y2tJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3QzFFQUVDMTc5ODdB
QjYwMDI5OURCMiAvKiBTdGFja1Zpc2l0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IFN0YWNrVmlzaXRvci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE3QzFFQUVEMTc5ODdBQjYwMDI5OURCMiAvKiBTdGFja1Zpc2l0
b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RhY2tWaXNpdG9yLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvQnVpbHRpbkV4ZWN1dGFibGVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9CdWlsdGluRXhlY3V0YWJsZXMuY3BwCmluZGV4IDRjNDNiMDQ2MjliYWM5OGQ3
YjFiZDQ5MTVmMDM0MmM3ZmJmMjYwMzYuLjhlZTU0ZWViNzllZjA4ODkzYTNmOGQ5Mzk4NmJlMzgz
YTY5N2UwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWls
dGluRXhlY3V0YWJsZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9C
dWlsdGluRXhlY3V0YWJsZXMuY3BwCkBAIC0zNSw2ICszNSw4IEBACiAKIG5hbWVzcGFjZSBKU0Mg
ewogCitzdGF0aWMgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIGNyZWF0ZUV4ZWN1dGFibGVJ
bnRlcm5hbChWTSYsIGNvbnN0IFNvdXJjZUNvZGUmLCBjb25zdCBJZGVudGlmaWVyJiwgQ29uc3Ry
dWN0b3JLaW5kLCBDb25zdHJ1Y3RBYmlsaXR5KTsKKwogQnVpbHRpbkV4ZWN1dGFibGVzOjpCdWls
dGluRXhlY3V0YWJsZXMoVk0mIHZtKQogICAgIDogbV92bSh2bSkKICNkZWZpbmUgSU5JVElBTEla
RV9CVUlMVElOX1NPVVJDRV9NRU1CRVJTKG5hbWUsIGZ1bmN0aW9uTmFtZSwgbGVuZ3RoKSAsIG1f
IyNuYW1lIyNTb3VyY2UobWFrZVNvdXJjZShTdHJpbmdJbXBsOjpjcmVhdGVGcm9tTGl0ZXJhbChz
XyMjbmFtZSwgbGVuZ3RoKSkpCkBAIC01Miw5ICs1NCw5IEBAIFVubGlua2VkRnVuY3Rpb25FeGVj
dXRhYmxlKiBCdWlsdGluRXhlY3V0YWJsZXM6OmNyZWF0ZURlZmF1bHRDb25zdHJ1Y3RvcihDb25z
dHJ1CiAgICAgY2FzZSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU6CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgQ29uc3RydWN0b3JLaW5kOjpCYXNlOgotICAgICAgICByZXR1cm4gY3JlYXRlRXhlY3V0
YWJsZShtX3ZtLCBtYWtlU291cmNlKGJhc2VDb25zdHJ1Y3RvckNvZGUpLCBuYW1lLCBjb25zdHJ1
Y3RvcktpbmQsIENvbnN0cnVjdEFiaWxpdHk6OkNhbkNvbnN0cnVjdCk7CisgICAgICAgIHJldHVy
biBjcmVhdGVFeGVjdXRhYmxlSW50ZXJuYWwobV92bSwgbWFrZVNvdXJjZShiYXNlQ29uc3RydWN0
b3JDb2RlKSwgbmFtZSwgY29uc3RydWN0b3JLaW5kLCBDb25zdHJ1Y3RBYmlsaXR5OjpDYW5Db25z
dHJ1Y3QpOwogICAgIGNhc2UgQ29uc3RydWN0b3JLaW5kOjpEZXJpdmVkOgotICAgICAgICByZXR1
cm4gY3JlYXRlRXhlY3V0YWJsZShtX3ZtLCBtYWtlU291cmNlKGRlcml2ZWRDb25zdHJ1Y3RvckNv
ZGUpLCBuYW1lLCBjb25zdHJ1Y3RvcktpbmQsIENvbnN0cnVjdEFiaWxpdHk6OkNhbkNvbnN0cnVj
dCk7CisgICAgICAgIHJldHVybiBjcmVhdGVFeGVjdXRhYmxlSW50ZXJuYWwobV92bSwgbWFrZVNv
dXJjZShkZXJpdmVkQ29uc3RydWN0b3JDb2RlKSwgbmFtZSwgY29uc3RydWN0b3JLaW5kLCBDb25z
dHJ1Y3RBYmlsaXR5OjpDYW5Db25zdHJ1Y3QpOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTYyLDE1ICs2NCwxNSBAQCBVbmxpbmtlZEZ1
bmN0aW9uRXhlY3V0YWJsZSogQnVpbHRpbkV4ZWN1dGFibGVzOjpjcmVhdGVEZWZhdWx0Q29uc3Ry
dWN0b3IoQ29uc3RydQogCiBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogQnVpbHRpbkV4ZWN1
dGFibGVzOjpjcmVhdGVCdWlsdGluRXhlY3V0YWJsZShjb25zdCBTb3VyY2VDb2RlJiBjb2RlLCBj
b25zdCBJZGVudGlmaWVyJiBuYW1lLCBDb25zdHJ1Y3RBYmlsaXR5IGNvbnN0cnVjdEFiaWxpdHkp
CiB7Ci0gICAgcmV0dXJuIGNyZWF0ZUV4ZWN1dGFibGUobV92bSwgY29kZSwgbmFtZSwgQ29uc3Ry
dWN0b3JLaW5kOjpOb25lLCBjb25zdHJ1Y3RBYmlsaXR5KTsKKyAgICByZXR1cm4gY3JlYXRlRXhl
Y3V0YWJsZUludGVybmFsKG1fdm0sIGNvZGUsIG5hbWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwg
Y29uc3RydWN0QWJpbGl0eSk7CiB9CiAKIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKiBjcmVh
dGVCdWlsdGluRXhlY3V0YWJsZShWTSYgdm0sIGNvbnN0IFNvdXJjZUNvZGUmIGNvZGUsIGNvbnN0
IElkZW50aWZpZXImIG5hbWUsIENvbnN0cnVjdEFiaWxpdHkgY29uc3RydWN0QWJpbGl0eSkKIHsK
LSAgICByZXR1cm4gQnVpbHRpbkV4ZWN1dGFibGVzOjpjcmVhdGVFeGVjdXRhYmxlKHZtLCBjb2Rl
LCBuYW1lLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGNvbnN0cnVjdEFiaWxpdHkpOworICAgIHJl
dHVybiBjcmVhdGVFeGVjdXRhYmxlSW50ZXJuYWwodm0sIGNvZGUsIG5hbWUsIENvbnN0cnVjdG9y
S2luZDo6Tm9uZSwgY29uc3RydWN0QWJpbGl0eSk7CiB9CiAKLVVubGlua2VkRnVuY3Rpb25FeGVj
dXRhYmxlKiBCdWlsdGluRXhlY3V0YWJsZXM6OmNyZWF0ZUV4ZWN1dGFibGUoVk0mIHZtLCBjb25z
dCBTb3VyY2VDb2RlJiBzb3VyY2UsIGNvbnN0IElkZW50aWZpZXImIG5hbWUsIENvbnN0cnVjdG9y
S2luZCBjb25zdHJ1Y3RvcktpbmQsIENvbnN0cnVjdEFiaWxpdHkgY29uc3RydWN0QWJpbGl0eSkK
K1VubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKiBjcmVhdGVFeGVjdXRhYmxlSW50ZXJuYWwoVk0m
IHZtLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIGNvbnN0IElkZW50aWZpZXImIG5hbWUsIENv
bnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIENvbnN0cnVjdEFiaWxpdHkgY29uc3RydWN0
QWJpbGl0eSkKIHsKICAgICBKU1RleHRQb3NpdGlvbiBwb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5l
OwogICAgIFBhcnNlckVycm9yIGVycm9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL0J1aWx0aW5FeGVjdXRhYmxlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL0J1aWx0aW5FeGVjdXRhYmxlcy5oCmluZGV4IDg3NjQ1YzIyYWI0NzQzOTdhMWE2
OWY2ZTc4ZDhiNjgwNjg2M2ZmNmQuLmVjOGQ1NzcwNGI4N2M1ODRhOTM2ZGRlNDE3ZDYyOWY4NTdi
MzY1NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGlu
RXhlY3V0YWJsZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRp
bkV4ZWN1dGFibGVzLmgKQEAgLTUyLDcgKzUyLDYgQEAgY29uc3QgU291cmNlQ29kZSYgbmFtZSMj
U291cmNlKCkgeyByZXR1cm4gbV8jI25hbWUjI1NvdXJjZTsgfQogCiAgICAgVW5saW5rZWRGdW5j
dGlvbkV4ZWN1dGFibGUqIGNyZWF0ZURlZmF1bHRDb25zdHJ1Y3RvcihDb25zdHJ1Y3RvcktpbmQs
IGNvbnN0IElkZW50aWZpZXImIG5hbWUpOwogCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGlj
IFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKiBjcmVhdGVFeGVjdXRhYmxlKFZNJiwgY29uc3Qg
U291cmNlQ29kZSYsIGNvbnN0IElkZW50aWZpZXImLCBDb25zdHJ1Y3RvcktpbmQsIENvbnN0cnVj
dEFiaWxpdHkpOwogcHJpdmF0ZToKICAgICB2b2lkIGZpbmFsaXplKEhhbmRsZTxVbmtub3duPiwg
dm9pZCogY29udGV4dCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVJbnRyaW5zaWNSZWdpc3RyeS5oCmluZGV4IDQwMzUy
YTExNWU0NTcyZDUzNjUyMWUwZGJiN2ExODYzZWNhMDA2NjEuLmJmNDJhMzFlZjNmMDYyOTQwZTg4
MGM2ZGY0ZTdhODNlMGY3NTE2ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9CeXRlY29kZUludHJpbnNpY1JlZ2lzdHJ5LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlSW50cmluc2ljUmVnaXN0cnkuaApAQCAtNDEsNyArNDEs
NiBAQCBjbGFzcyBJZGVudGlmaWVyOwogI2RlZmluZSBKU0NfQ09NTU9OX0JZVEVDT0RFX0lOVFJJ
TlNJQ19GVU5DVElPTlNfRUFDSF9OQU1FKG1hY3JvKSBcCiAgICAgbWFjcm8oYXNzZXJ0KSBcCiAg
ICAgbWFjcm8oaXNPYmplY3QpIFwKLSAgICBtYWNybyh0cnlHZXRCeUlkKSBcCiAgICAgbWFjcm8o
cHV0QnlWYWxEaXJlY3QpIFwKICAgICBtYWNybyh0b1N0cmluZykKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCmluZGV4IGU4ZWI5YjZiZGU0
ODRjMTcwMTU5MGMxYWFmOTJjYzBkNDZhYjc1NWUuLjgyOTNmNzY5NzMwN2Y0NDNiNGMyM2UxZWQ3
Yjg1OWRiOTE4YTE5YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeXRlY29kZUxpc3QuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Qnl0ZWNvZGVMaXN0Lmpzb24KQEAgLTU3LDcgKzU3LDYgQEAKICAgICAgICAgICAgIHsgIm5hbWUi
IDogIm9wX2lzX29iamVjdF9vcl9udWxsIiwgImxlbmd0aCIgOiAzIH0sCiAgICAgICAgICAgICB7
ICJuYW1lIiA6ICJvcF9pc19mdW5jdGlvbiIsICJsZW5ndGgiIDogMyB9LAogICAgICAgICAgICAg
eyAibmFtZSIgOiAib3BfaW4iLCAibGVuZ3RoIiA6IDQgfSwKLSAgICAgICAgICAgIHsgIm5hbWUi
IDogIm9wX3RyeV9nZXRfYnlfaWQiLCAibGVuZ3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5h
bWUiIDogIm9wX2dldF9ieV9pZCIsICJsZW5ndGgiIDogOSAgfSwKICAgICAgICAgICAgIHsgIm5h
bWUiIDogIm9wX2dldF9hcnJheV9sZW5ndGgiLCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAg
IHsgIm5hbWUiIDogIm9wX3B1dF9ieV9pZCIsICJsZW5ndGgiIDogOSB9LApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaAppbmRleCAzM2MwNGE4Nzlm
Yzc4M2IzNTljNzhhYTExMjZhZjU2MjU5ZDYxNmY0Li43MjM2YjU4NzExMmQ5ZWM4MGQ5MDg1NDI3
YTBlNmM0NTFlMGM0NDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQnl0ZWNvZGVVc2VEZWYuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Qnl0ZWNvZGVVc2VEZWYuaApAQCAtMTQzLDcgKzE0Myw2IEBAIHZvaWQgY29tcHV0ZVVzZXNGb3JC
eXRlY29kZU9mZnNldCgKICAgICBjYXNlIG9wX3Jlc29sdmVfc2NvcGU6CiAgICAgY2FzZSBvcF9n
ZXRfZnJvbV9zY29wZToKICAgICBjYXNlIG9wX3RvX3ByaW1pdGl2ZToKLSAgICBjYXNlIG9wX3Ry
eV9nZXRfYnlfaWQ6CiAgICAgY2FzZSBvcF9nZXRfYnlfaWQ6CiAgICAgY2FzZSBvcF9nZXRfYXJy
YXlfbGVuZ3RoOgogICAgIGNhc2Ugb3BfdHlwZW9mOgpAQCAtMzY4LDcgKzM2Nyw2IEBAIHZvaWQg
Y29tcHV0ZURlZnNGb3JCeXRlY29kZU9mZnNldChDb2RlQmxvY2sqIGNvZGVCbG9jaywgQnl0ZWNv
ZGVCYXNpY0Jsb2NrKiBibG9jCiAgICAgY2FzZSBvcF90YWlsX2NhbGw6CiAgICAgY2FzZSBvcF9j
YWxsX2V2YWw6CiAgICAgY2FzZSBvcF9jb25zdHJ1Y3Q6Ci0gICAgY2FzZSBvcF90cnlfZ2V0X2J5
X2lkOgogICAgIGNhc2Ugb3BfZ2V0X2J5X2lkOgogICAgIGNhc2Ugb3BfZ2V0X2FycmF5X2xlbmd0
aDoKICAgICBjYXNlIG9wX292ZXJyaWRlc19oYXNfaW5zdGFuY2U6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IDczYjg3YmRiM2JkMThiY2Q2NTZh
MDZlMmZkZjMwODZjYzMwYjUxNjQuLmFjNDAyZThmYWQxNzY4MzdhZDJjMjYxNjdlODI1N2M0NjUw
MjJhM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3Bw
CkBAIC0xMDk1LDE0ICsxMDk1LDYgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSgKICAg
ICAgICAgICAgIHByaW50QmluYXJ5T3Aob3V0LCBleGVjLCBsb2NhdGlvbiwgaXQsICJpbiIpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgY2FzZSBvcF90cnlfZ2V0X2J5
X2lkOiB7Ci0gICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKLSAgICAgICAg
ICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5kOwotICAgICAgICAgICAgaW50IGlkMCA9ICgr
K2l0KS0+dS5vcGVyYW5kOwotICAgICAgICAgICAgcHJpbnRMb2NhdGlvbkFuZE9wKG91dCwgZXhl
YywgbG9jYXRpb24sIGl0LCAidHJ5X2dldF9ieV9pZCIpOwotICAgICAgICAgICAgb3V0LnByaW50
ZigiJXMsICVzLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgpLCByZWdpc3Rlck5hbWUocjEp
LmRhdGEoKSwgaWROYW1lKGlkMCwgaWRlbnRpZmllcihpZDApKS5kYXRhKCkpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIH0KICAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWQ6CiAgICAgICAg
IGNhc2Ugb3BfZ2V0X2FycmF5X2xlbmd0aDogewogICAgICAgICAgICAgcHJpbnRHZXRCeUlkT3Ao
b3V0LCBleGVjLCBsb2NhdGlvbiwgaXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKaW5kZXggMDUyNDk0ZTgzMzE4YjFkYjE1
OGViYTdlNzkzNzBmNzBlZTM4YTVlZS4uMzM5ODJlNTBkOTNhZjMyNTk3MGFjYWFkMTk0OTdlYWEz
ODRiNGFhZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlt
b3JwaGljQWNjZXNzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9s
eW1vcnBoaWNBY2Nlc3MuY3BwCkBAIC0xNTksMjYgKzE1OSw2IEBAIEFjY2Vzc0Nhc2U6OkFjY2Vz
c0Nhc2UoKQogewogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6
dHJ5R2V0KAotICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAotICAgIGNvbnN0IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNo
cG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCi17Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nh
c2U+IHJlc3VsdChuZXcgQWNjZXNzQ2FzZSgpKTsKLQotICAgIHJlc3VsdC0+bV90eXBlID0gdHlw
ZTsKLSAgICByZXN1bHQtPm1fb2Zmc2V0ID0gb2Zmc2V0OwotICAgIHJlc3VsdC0+bV9zdHJ1Y3R1
cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKLSAgICByZXN1bHQtPm1fY29uZGl0aW9uU2V0
ID0gY29uZGl0aW9uU2V0OwotCi0gICAgaWYgKHZpYVByb3h5IHx8IGFkZGl0aW9uYWxTZXQpIHsK
LSAgICAgICAgcmVzdWx0LT5tX3JhcmVEYXRhID0gc3RkOjptYWtlX3VuaXF1ZTxSYXJlRGF0YT4o
KTsKLSAgICAgICAgcmVzdWx0LT5tX3JhcmVEYXRhLT52aWFQcm94eSA9IHZpYVByb3h5OwotICAg
ICAgICByZXN1bHQtPm1fcmFyZURhdGEtPmFkZGl0aW9uYWxTZXQgPSBhZGRpdGlvbmFsU2V0Owot
ICAgIH0KLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3ND
YXNlPiBBY2Nlc3NDYXNlOjpnZXQoCiAgICAgVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NU
eXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsCiAg
ICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2
aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwKQEAgLTcwNSw3ICs2ODUsNiBA
QCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlKEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYgc3RhdGUp
CiAgICAgICAgIHJldHVybjsKIAogICAgIGNhc2UgTG9hZDoKLSAgICBjYXNlIEdldEdldHRlcjoK
ICAgICBjYXNlIEdldHRlcjoKICAgICBjYXNlIFNldHRlcjoKICAgICBjYXNlIEN1c3RvbVZhbHVl
R2V0dGVyOgpAQCAtNzQxLDcgKzcyMCw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGUoQWNj
ZXNzR2VuZXJhdGlvblN0YXRlJiBzdGF0ZSkKIAogICAgICAgICBHUFJSZWcgbG9hZGVkVmFsdWVH
UFIgPSBJbnZhbGlkR1BSUmVnOwogICAgICAgICBpZiAobV90eXBlICE9IEN1c3RvbVZhbHVlR2V0
dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvckdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9t
VmFsdWVTZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29yU2V0dGVyKSB7Ci0gICAgICAg
ICAgICBpZiAobV90eXBlID09IExvYWQgfHwgbV90eXBlID09IEdldEdldHRlcikKKyAgICAgICAg
ICAgIGlmIChtX3R5cGUgPT0gTG9hZCkKICAgICAgICAgICAgICAgICBsb2FkZWRWYWx1ZUdQUiA9
IHZhbHVlUmVncy5wYXlsb2FkR1BSKCk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAg
ICAgbG9hZGVkVmFsdWVHUFIgPSBzY3JhdGNoR1BSOwpAQCAtNzYwLDcgKzczOSw3IEBAIHZvaWQg
QWNjZXNzQ2FzZTo6Z2VuZXJhdGUoQWNjZXNzR2VuZXJhdGlvblN0YXRlJiBzdGF0ZSkKICAgICAg
ICAgICAgIGppdC5sb2FkNjQoCiAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNz
KHN0b3JhZ2VHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKG1fb2Zmc2V0KSksIGxvYWRlZFZhbHVl
R1BSKTsKICNlbHNlCi0gICAgICAgICAgICBpZiAobV90eXBlID09IExvYWQgfHwgbV90eXBlID09
IEdldEdldHRlcikgeworICAgICAgICAgICAgaWYgKG1fdHlwZSA9PSBMb2FkKSB7CiAgICAgICAg
ICAgICAgICAgaml0LmxvYWQzMigKICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpB
ZGRyZXNzKHN0b3JhZ2VHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKG1fb2Zmc2V0KSArIFRhZ09m
ZnNldCksCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlUmVncy50YWdHUFIoKSk7CkBAIC03NzEs
NyArNzUwLDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZShBY2Nlc3NHZW5lcmF0aW9uU3Rh
dGUmIHN0YXRlKQogI2VuZGlmCiAgICAgICAgIH0KIAotICAgICAgICBpZiAobV90eXBlID09IExv
YWQgfHwgbV90eXBlID09IEdldEdldHRlcikgeworICAgICAgICBpZiAobV90eXBlID09IExvYWQp
IHsKICAgICAgICAgICAgIHN0YXRlLnN1Y2NlZWQoKTsKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQpAQCAtMTY0Miw5ICsxNjIxLDYgQEAgdm9pZCBwcmludEludGVybmFsKFByaW50U3Ry
ZWFtJiBvdXQsIEFjY2Vzc0Nhc2U6OkFjY2Vzc1R5cGUgdHlwZSkKICAgICBjYXNlIEFjY2Vzc0Nh
c2U6Ok1pc3M6CiAgICAgICAgIG91dC5wcmludCgiTWlzcyIpOwogICAgICAgICByZXR1cm47Ci0g
ICAgY2FzZSBBY2Nlc3NDYXNlOjpHZXRHZXR0ZXI6Ci0gICAgICAgIG91dC5wcmludCgiR2V0R2V0
dGVyIik7Ci0gICAgICAgIHJldHVybjsKICAgICBjYXNlIEFjY2Vzc0Nhc2U6OkdldHRlcjoKICAg
ICAgICAgb3V0LnByaW50KCJHZXR0ZXIiKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAppbmRleCA1MjZk
ZGZkYzU4ZWY2MDM5YWY1ZGZkNGZkN2IzYTcwMjVlZjhmZTUyLi44N2Y0ZGMwMzM0ODAyY2IxZjMz
NjEyMzY4NzA1NzkzZmM1NTZlY2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaApAQCAtNTcsNyArNTcsNiBAQCBwdWJsaWM6CiAg
ICAgICAgIFRyYW5zaXRpb24sCiAgICAgICAgIFJlcGxhY2UsCiAgICAgICAgIE1pc3MsCi0gICAg
ICAgIEdldEdldHRlciwKICAgICAgICAgR2V0dGVyLAogICAgICAgICBTZXR0ZXIsCiAgICAgICAg
IEN1c3RvbVZhbHVlR2V0dGVyLApAQCAtNzEsMTEgKzcwLDc3IEBAIHB1YmxpYzoKICAgICAgICAg
U3RyaW5nTGVuZ3RoCiAgICAgfTsKIAotICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4gdHJ5R2V0KAotICAgICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFBy
b3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLAotICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29s
IHZpYVByb3h5ID0gZmFsc2UsCi0gICAgICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQg
PSBudWxscHRyKTsKKyAgICBzdGF0aWMgYm9vbCBpc0dldChBY2Nlc3NUeXBlIHR5cGUpCisgICAg
eworICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgY2FzZSBUcmFuc2l0aW9uOgorICAg
ICAgICBjYXNlIFJlcGxhY2U6CisgICAgICAgIGNhc2UgU2V0dGVyOgorICAgICAgICBjYXNlIEN1
c3RvbVZhbHVlU2V0dGVyOgorICAgICAgICBjYXNlIEN1c3RvbUFjY2Vzc29yU2V0dGVyOgorICAg
ICAgICBjYXNlIEluSGl0OgorICAgICAgICBjYXNlIEluTWlzczoKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgY2FzZSBMb2FkOgorICAgICAgICBjYXNlIE1lZ2Ftb3JwaGljTG9h
ZDoKKyAgICAgICAgY2FzZSBNaXNzOgorICAgICAgICBjYXNlIEdldHRlcjoKKyAgICAgICAgY2Fz
ZSBDdXN0b21WYWx1ZUdldHRlcjoKKyAgICAgICAgY2FzZSBDdXN0b21BY2Nlc3NvckdldHRlcjoK
KyAgICAgICAgY2FzZSBJbnRyaW5zaWNHZXR0ZXI6CisgICAgICAgIGNhc2UgQXJyYXlMZW5ndGg6
CisgICAgICAgIGNhc2UgU3RyaW5nTGVuZ3RoOgorICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBpc1B1dChBY2Nlc3NUeXBlIHR5cGUp
CisgICAgeworICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgY2FzZSBMb2FkOgorICAg
ICAgICBjYXNlIE1lZ2Ftb3JwaGljTG9hZDoKKyAgICAgICAgY2FzZSBNaXNzOgorICAgICAgICBj
YXNlIEdldHRlcjoKKyAgICAgICAgY2FzZSBDdXN0b21WYWx1ZUdldHRlcjoKKyAgICAgICAgY2Fz
ZSBDdXN0b21BY2Nlc3NvckdldHRlcjoKKyAgICAgICAgY2FzZSBJbnRyaW5zaWNHZXR0ZXI6Cisg
ICAgICAgIGNhc2UgSW5IaXQ6CisgICAgICAgIGNhc2UgSW5NaXNzOgorICAgICAgICBjYXNlIEFy
cmF5TGVuZ3RoOgorICAgICAgICBjYXNlIFN0cmluZ0xlbmd0aDoKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgY2FzZSBUcmFuc2l0aW9uOgorICAgICAgICBjYXNlIFJlcGxhY2U6
CisgICAgICAgIGNhc2UgU2V0dGVyOgorICAgICAgICBjYXNlIEN1c3RvbVZhbHVlU2V0dGVyOgor
ICAgICAgICBjYXNlIEN1c3RvbUFjY2Vzc29yU2V0dGVyOgorICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBzdGF0aWMgYm9vbCBpc0luKEFjY2Vzc1R5cGUg
dHlwZSkKKyAgICB7CisgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIExvYWQ6
CisgICAgICAgIGNhc2UgTWVnYW1vcnBoaWNMb2FkOgorICAgICAgICBjYXNlIE1pc3M6CisgICAg
ICAgIGNhc2UgR2V0dGVyOgorICAgICAgICBjYXNlIEN1c3RvbVZhbHVlR2V0dGVyOgorICAgICAg
ICBjYXNlIEN1c3RvbUFjY2Vzc29yR2V0dGVyOgorICAgICAgICBjYXNlIEludHJpbnNpY0dldHRl
cjoKKyAgICAgICAgY2FzZSBUcmFuc2l0aW9uOgorICAgICAgICBjYXNlIFJlcGxhY2U6CisgICAg
ICAgIGNhc2UgU2V0dGVyOgorICAgICAgICBjYXNlIEN1c3RvbVZhbHVlU2V0dGVyOgorICAgICAg
ICBjYXNlIEN1c3RvbUFjY2Vzc29yU2V0dGVyOgorICAgICAgICBjYXNlIEFycmF5TGVuZ3RoOgor
ICAgICAgICBjYXNlIFN0cmluZ0xlbmd0aDoKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgY2FzZSBJbkhpdDoKKyAgICAgICAgY2FzZSBJbk1pc3M6CisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4gZ2V0KAogICAgICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUs
IFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAKaW5kZXggNGQ5NGE5NWRhOTMzYTk4
M2QzYjhhY2E1NDNkYTI0MjZiOGIxYzQyYy4uODhlMDQxNjM0ZmEyMGE5NWJiYWRkMWVjZDkzNDI5
OWZmZjAyYjUyNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0
cnVjdHVyZVN0dWJJbmZvLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
U3RydWN0dXJlU3R1YkluZm8uY3BwCkBAIC0xNDgsMTEgKzE0OCw4IEBAIHZvaWQgU3RydWN0dXJl
U3R1YkluZm86OnJlc2V0KENvZGVCbG9jayogY29kZUJsb2NrKQogICAgIH0KIAogICAgIHN3aXRj
aCAoYWNjZXNzVHlwZSkgewotICAgIGNhc2UgQWNjZXNzVHlwZTo6R2V0UHVyZToKLSAgICAgICAg
cmVzZXRHZXRCeUlEKGNvZGVCbG9jaywgKnRoaXMsIEdldEJ5SURLaW5kOjpQdXJlKTsKLSAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBBY2Nlc3NUeXBlOjpHZXQ6Ci0gICAgICAgIHJlc2V0R2V0QnlJ
RChjb2RlQmxvY2ssICp0aGlzLCBHZXRCeUlES2luZDo6Tm9ybWFsKTsKKyAgICAgICAgcmVzZXRH
ZXRCeUlEKGNvZGVCbG9jaywgKnRoaXMpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEFjY2Vz
c1R5cGU6OlB1dDoKICAgICAgICAgcmVzZXRQdXRCeUlEKGNvZGVCbG9jaywgKnRoaXMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZv
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaApp
bmRleCBmMzlkNjE0NjVmYzc4YWRlMDhjNmJhZGRiMmI2ZWNhYTlmOWVhOTlhLi5jYThmZGY0OTM5
MDhmN2NjMzYwNDRlZDdjZWQzZDAxNDM2YjBiYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaApAQCAtNDcsNyArNDcsNiBAQCBj
bGFzcyBQb2x5bW9ycGhpY0FjY2VzczsKIAogZW51bSBjbGFzcyBBY2Nlc3NUeXBlIDogaW50OF90
IHsKICAgICBHZXQsCi0gICAgR2V0UHVyZSwKICAgICBQdXQsCiAgICAgSW4KIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuY3BwCmluZGV4IGI0NmJlNTg5NmJlYjlmODEzZmJlZmRlMDQzYzY4OTg4OGIzZjY4NGUuLjVh
NmQ5OWUwNGE5YTJjNmFkM2U2MTY3YjA3OTFlNWIxNjg2MDdkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
CkBAIC0yMzYwLDE3ICsyMzYwLDYgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXRJbnN0YW5jZU9mQ3VzdG9tKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCoKICAgICByZXR1
cm4gZHN0OwogfQogCi1SZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFRyeUdldEJ5
SWQoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBiYXNlLCBjb25zdCBJZGVudGlmaWVyJiBw
cm9wZXJ0eSkKLXsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFwYXJzZUluZGV4KHByb3BlcnR5
KSwgIkluZGV4ZWQgcHJvcGVydGllcyBhcmUgbm90IHN1cHBvcnRlZCB3aXRoIHRyeUdldEJ5SWQu
Iik7Ci0KLSAgICBlbWl0T3Bjb2RlKG9wX3RyeV9nZXRfYnlfaWQpOwotICAgIGluc3RydWN0aW9u
cygpLmFwcGVuZChraWxsKGRzdCkpOwotICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChiYXNlLT5p
bmRleCgpKTsKLSAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoYWRkQ29uc3RhbnQocHJvcGVydHkp
KTsKLSAgICByZXR1cm4gZHN0OwotfQotCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6
ZW1pdEdldEJ5SWQoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBiYXNlLCBjb25zdCBJZGVu
dGlmaWVyJiBwcm9wZXJ0eSkKIHsKICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFwYXJzZUluZGV4
KHByb3BlcnR5KSwgIkluZGV4ZWQgcHJvcGVydGllcyBzaG91bGQgYmUgaGFuZGxlZCB3aXRoIGdl
dF9ieV92YWwuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggZWY4OGUzMGE5MjRjMzU0NDNlYTg0YzRhNjRk
NTE1ODA2NGQ3NTQxNS4uMzkyNTQ0NDQ3ZmFjZDczMmVhM2QxOWNlYTJkZDc3NGQzYzkwOTNmZSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNv
ZGVHZW5lcmF0b3IuaApAQCAtNTQwLDcgKzU0MCw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICBSZWdpc3RlcklEKiBlbWl0VHlwZU9mKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogc3Jj
KSB7IHJldHVybiBlbWl0VW5hcnlPcChvcF90eXBlb2YsIGRzdCwgc3JjKTsgfQogICAgICAgICBS
ZWdpc3RlcklEKiBlbWl0SW4oUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBwcm9wZXJ0eSwg
UmVnaXN0ZXJJRCogYmFzZSkgeyByZXR1cm4gZW1pdEJpbmFyeU9wKG9wX2luLCBkc3QsIHByb3Bl
cnR5LCBiYXNlLCBPcGVyYW5kVHlwZXMoKSk7IH0KIAotICAgICAgICBSZWdpc3RlcklEKiBlbWl0
VHJ5R2V0QnlJZChSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIGJhc2UsIGNvbnN0IElkZW50
aWZpZXImIHByb3BlcnR5KTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdEdldEJ5SWQoUmVnaXN0
ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBiYXNlLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eSk7
CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRQdXRCeUlkKFJlZ2lzdGVySUQqIGJhc2UsIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5LCBSZWdpc3RlcklEKiB2YWx1ZSk7CiAgICAgICAgIFJlZ2lz
dGVySUQqIGVtaXREaXJlY3RQdXRCeUlkKFJlZ2lzdGVySUQqIGJhc2UsIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlcnR5LCBSZWdpc3RlcklEKiB2YWx1ZSwgUHJvcGVydHlOb2RlOjpQdXRUeXBlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2Rl
Z2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2Vu
LmNwcAppbmRleCA4OWM4YTU3ZDVmM2FkNGI5NzhhZDIyYmY3MzA3YjgxODY5ZGEwYTgzLi43MTNj
NTBiNTMyZDk3NTY1ZTVmMjU1Y2NiYWU1MzMyNDY0MTYzYmRjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC04NDIsMjEg
Kzg0Miw2IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlSW50cmluc2ljTm9kZTo6ZW1pdF9pbnRyaW5z
aWNfcHV0QnlWYWxEaXJlY3QoQnl0ZWNvZGVHZW5lcmF0CiAgICAgcmV0dXJuIGdlbmVyYXRvci5t
b3ZlVG9EZXN0aW5hdGlvbklmTmVlZGVkKGRzdCwgZ2VuZXJhdG9yLmVtaXREaXJlY3RQdXRCeVZh
bChiYXNlLmdldCgpLCBpbmRleC5nZXQoKSwgdmFsdWUuZ2V0KCkpKTsKIH0KIAotUmVnaXN0ZXJJ
RCogQnl0ZWNvZGVJbnRyaW5zaWNOb2RlOjplbWl0X2ludHJpbnNpY190cnlHZXRCeUlkKEJ5dGVj
b2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKLXsKLSAgICBBcmd1bWVu
dExpc3ROb2RlKiBub2RlID0gbV9hcmdzLT5tX2xpc3ROb2RlOwotICAgIFJlZlB0cjxSZWdpc3Rl
cklEPiBiYXNlID0gZ2VuZXJhdG9yLmVtaXROb2RlKG5vZGUpOwotICAgIG5vZGUgPSBub2RlLT5t
X25leHQ7Ci0KLSAgICAvLyBTaW5jZSB0aGlzIGlzIGEgYnVpbHRpbiB3ZSBleHBlY3QgdGhlIGNy
ZWF0b3IgdG8gdXNlIGEgc3RyaW5nIGxpdGVyYWwgYXMgdGhlIHNlY29uZCBhcmd1bWVudC4KLSAg
ICBBU1NFUlQobm9kZS0+bV9leHByLT5pc1N0cmluZygpKTsKLSAgICBjb25zdCBJZGVudGlmaWVy
JiBpZGVudCA9IHN0YXRpY19jYXN0PFN0cmluZ05vZGUqPihub2RlLT5tX2V4cHIpLT52YWx1ZSgp
OwotICAgIEFTU0VSVCghbm9kZS0+bV9uZXh0KTsKLQotICAgIFJlZ2lzdGVySUQqIGZpbmFsRGVz
dCA9IGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCk7Ci0gICAgcmV0dXJuIGdlbmVyYXRv
ci5lbWl0VHJ5R2V0QnlJZChmaW5hbERlc3QsIGJhc2UuZ2V0KCksIGlkZW50KTsKLX0KLQogUmVn
aXN0ZXJJRCogQnl0ZWNvZGVJbnRyaW5zaWNOb2RlOjplbWl0X2ludHJpbnNpY190b1N0cmluZyhC
eXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCiB7CiAgICAgQXJn
dW1lbnRMaXN0Tm9kZSogbm9kZSA9IG1fYXJncy0+bV9saXN0Tm9kZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4IGY5
ZGViYjcxMTYwMTg5NzZjMmNjZGIzYjNkMjk1NmNmMDU0NjZlMjkuLjI5NWM2YWQwNDlhNTM5ODUy
NDkyYTM2OTZiN2E1MTBkYTgwNDA4NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtMTk0LDcgKzE5NCw3IEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNhY2hlZEdldEJ5SWQoCiAgICAgSklUR2V0QnlJZEdlbmVyYXRv
ciBnZW4oCiAgICAgICAgIG1faml0LmNvZGVCbG9jaygpLCBjb2RlT3JpZ2luLCBjYWxsU2l0ZSwg
dXNlZFJlZ2lzdGVycywKICAgICAgICAgSlNWYWx1ZVJlZ3MoYmFzZVRhZ0dQUk9yTm9uZSwgYmFz
ZVBheWxvYWRHUFIpLAotICAgICAgICBKU1ZhbHVlUmVncyhyZXN1bHRUYWdHUFIsIHJlc3VsdFBh
eWxvYWRHUFIpLCBBY2Nlc3NUeXBlOjpHZXQpOworICAgICAgICBKU1ZhbHVlUmVncyhyZXN1bHRU
YWdHUFIsIHJlc3VsdFBheWxvYWRHUFIpKTsKICAgICAKICAgICBnZW4uZ2VuZXJhdGVGYXN0UGF0
aChtX2ppdCk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcAppbmRleCAwZGY0YTMwM2JhNjA2M2ZhNDdkOTc2MjUzOGExZWUzOTJm
MjAxZWJkLi5hNjI3NjhkZjFlOTY5MDA3ZmQ5YmNlMjk4MjIxNmIxYzEzNjVhMDA3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAg
LTE2NCw3ICsxNjQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjYWNoZWRHZXRCeUlkKENvZGVP
cmlnaW4gY29kZU9yaWdpbiwgR1BSUmVnIGJhc2VHUFIsIEdQUlJlZwogICAgIH0KICAgICBKSVRH
ZXRCeUlkR2VuZXJhdG9yIGdlbigKICAgICAgICAgbV9qaXQuY29kZUJsb2NrKCksIGNvZGVPcmln
aW4sIGNhbGxTaXRlLCB1c2VkUmVnaXN0ZXJzLCBKU1ZhbHVlUmVncyhiYXNlR1BSKSwKLSAgICAg
ICAgSlNWYWx1ZVJlZ3MocmVzdWx0R1BSKSwgQWNjZXNzVHlwZTo6R2V0KTsKKyAgICAgICAgSlNW
YWx1ZVJlZ3MocmVzdWx0R1BSKSk7CiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgobV9qaXQpOwog
ICAgIAogICAgIEpJVENvbXBpbGVyOjpKdW1wTGlzdCBzbG93Q2FzZXM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKaW5kZXggNjBkYWE3YjYwMzYxM2I5
MjQyOTFkNmMwY2U0ZWMzMjMwYmQ3MTg0ZC4uNTg0MDIwYjE0OWIzMzQ1ZjdiOWY0YzU1MDVhZGQ5
N2U1YWRhMGRiYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvQjMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdU
b0IzLmNwcApAQCAtNzMzMSw3ICs3MzMxLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBh
dXRvIGdlbmVyYXRvciA9IEJveDxKSVRHZXRCeUlkR2VuZXJhdG9yPjo6Y3JlYXRlKAogICAgICAg
ICAgICAgICAgICAgICBqaXQuY29kZUJsb2NrKCksIG5vZGUtPm9yaWdpbi5zZW1hbnRpYywgY2Fs
bFNpdGVJbmRleCwKICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLnVuYXZhaWxhYmxlUmVnaXN0
ZXJzKCksIEpTVmFsdWVSZWdzKHBhcmFtc1sxXS5ncHIoKSksCi0gICAgICAgICAgICAgICAgICAg
IEpTVmFsdWVSZWdzKHBhcmFtc1swXS5ncHIoKSksIEFjY2Vzc1R5cGU6OkdldCk7CisgICAgICAg
ICAgICAgICAgICAgIEpTVmFsdWVSZWdzKHBhcmFtc1swXS5ncHIoKSkpOwogCiAgICAgICAgICAg
ICAgICAgZ2VuZXJhdG9yLT5nZW5lcmF0ZUZhc3RQYXRoKGppdCk7CiAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpMYWJlbCBkb25lID0gaml0LmxhYmVsKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVC5jcHAKaW5kZXggMmQ3NGNmNmYxOTU3NWUzMjZjN2I3ZWZhM2NjNjFkMWQwOWU3OWYyOS4u
NGMyZjQ3ODNjYTUyMmZjZmQ0NTI5MmEyMGVkNTVjZTg1MjcxMzJiNSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmNwcApAQCAtMjI4LDcgKzIyOCw2IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGls
ZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX2dldF9zY29wZSkKICAgICAgICAgREVG
SU5FX09QKG9wX2VxKQogICAgICAgICBERUZJTkVfT1Aob3BfZXFfbnVsbCkKLSAgICAgICAgREVG
SU5FX09QKG9wX3RyeV9nZXRfYnlfaWQpCiAgICAgICAgIGNhc2Ugb3BfZ2V0X2FycmF5X2xlbmd0
aDoKICAgICAgICAgREVGSU5FX09QKG9wX2dldF9ieV9pZCkKICAgICAgICAgREVGSU5FX09QKG9w
X2dldF9ieV92YWwpCkBAIC00MDcsNyArNDA2LDYgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxl
U2xvd0Nhc2VzKCkKICAgICAgICAgREVGSU5FX1NMT1dDQVNFX09QKG9wX2NyZWF0ZV90aGlzKQog
ICAgICAgICBERUZJTkVfU0xPV0NBU0VfT1Aob3BfZGl2KQogICAgICAgICBERUZJTkVfU0xPV0NB
U0VfT1Aob3BfZXEpCi0gICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF90cnlfZ2V0X2J5X2lk
KQogICAgICAgICBjYXNlIG9wX2dldF9hcnJheV9sZW5ndGg6CiAgICAgICAgIERFRklORV9TTE9X
Q0FTRV9PUChvcF9nZXRfYnlfaWQpCiAgICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9nZXRf
YnlfdmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggZDM1NWE0YzJhNjJmZGY4ODUxODI2
MTlmY2JmMGM2ZWQ2MGEyZTZkNS4uNzE3ZGJhNDM3ZGUwZDMyMmMzMDc2M2RiZmI5OTBmZThlZmZm
YWJiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC01MDIsNyArNTAyLDYgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9nZXRfc2NvcGUoSW5zdHJ1Y3Rpb24qKTsK
ICAgICAgICAgdm9pZCBlbWl0X29wX2VxKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1p
dF9vcF9lcV9udWxsKEluc3RydWN0aW9uKik7Ci0gICAgICAgIHZvaWQgZW1pdF9vcF90cnlfZ2V0
X2J5X2lkKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9nZXRfYnlfaWQoSW5z
dHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX2dldF9hcmd1bWVudHNfbGVuZ3RoKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9nZXRfYnlfdmFsKEluc3RydWN0aW9u
Kik7CkBAIC02MTUsNyArNjE0LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1p
dFNsb3dfb3BfZGl2KEluc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRv
ciYpOwogICAgICAgICB2b2lkIGVtaXRTbG93X29wX2VxKEluc3RydWN0aW9uKiwgVmVjdG9yPFNs
b3dDYXNlRW50cnk+OjppdGVyYXRvciYpOwogICAgICAgICB2b2lkIGVtaXRTbG93X29wX2dldF9j
YWxsZWUoSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7Ci0g
ICAgICAgIHZvaWQgZW1pdFNsb3dfb3BfdHJ5X2dldF9ieV9pZChJbnN0cnVjdGlvbiosIFZlY3Rv
cjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKTsKICAgICAgICAgdm9pZCBlbWl0U2xvd19vcF9n
ZXRfYnlfaWQoSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7
CiAgICAgICAgIHZvaWQgZW1pdFNsb3dfb3BfZ2V0X2FyZ3VtZW50c19sZW5ndGgoSW5zdHJ1Y3Rp
b24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CiAgICAgICAgIHZvaWQgZW1p
dFNsb3dfb3BfZ2V0X2J5X3ZhbChJbnN0cnVjdGlvbiosIFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6
aXRlcmF0b3ImKTsKQEAgLTc0MCwxMCArNzM4LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRUMsIEpT
Q2VsbCopOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklU
T3BlcmF0aW9uX0VKLCBpbnQsIEdQUlJlZyk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpSkks
IGludCwgU3RydWN0dXJlU3R1YkluZm8qLCBHUFJSZWcsIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiAg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oV2l0aFByb2ZpbGVUYWcs
IEpfSklUT3BlcmF0aW9uX0VTc2lKSSwgaW50LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZywg
VW5pcXVlZFN0cmluZ0ltcGwqKTsKICNlbHNlCi0gICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxs
IGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBpbnQsIFN0cnVjdHVyZVN0dWJJ
bmZvKiwgR1BSUmVnLCBHUFJSZWcsIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiAgICAgICAgIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oV2l0aFByb2ZpbGVUYWcsIEpfSklUT3BlcmF0
aW9uX0VTc2lKSSwgaW50LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZywgR1BSUmVnLCBVbmlx
dWVkU3RyaW5nSW1wbCopOwogI2VuZGlmCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNh
bGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpJZGMsIGludCwgR1BSUmVnLCBjb25zdCBJZGVu
dGlmaWVyKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGlu
ZUNhY2hlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5l
Q2FjaGVHZW5lcmF0b3IuY3BwCmluZGV4IDI0ZmU5ZDM3MDY1NjA4MDEyOWIwYWM0M2Q5NzY4OTk3
YjA5YjNmZDQuLjNjYTU2ZjY1ZDk1M2Y3M2E0NjhhZDA3MzIwMDkwYjJlOWUzMmNlNTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0
b3IuY3BwCkBAIC0xMDQsOSArMTA0LDkgQEAgdm9pZCBKSVRCeUlkR2VuZXJhdG9yOjpnZW5lcmF0
ZUZhc3RQYXRoQ2hlY2tzKE1hY3JvQXNzZW1ibGVyJiBqaXQpCiAKIEpJVEdldEJ5SWRHZW5lcmF0
b3I6OkpJVEdldEJ5SWRHZW5lcmF0b3IoCiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIENvZGVP
cmlnaW4gY29kZU9yaWdpbiwgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZSwgY29uc3QgUmVnaXN0ZXJT
ZXQmIHVzZWRSZWdpc3RlcnMsCi0gICAgSlNWYWx1ZVJlZ3MgYmFzZSwgSlNWYWx1ZVJlZ3MgdmFs
dWUsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSkKKyAgICBKU1ZhbHVlUmVncyBiYXNlLCBKU1ZhbHVl
UmVncyB2YWx1ZSkKICAgICA6IEpJVEJ5SWRHZW5lcmF0b3IoCi0gICAgICAgIGNvZGVCbG9jaywg
Y29kZU9yaWdpbiwgY2FsbFNpdGUsIGFjY2Vzc1R5cGUsIHVzZWRSZWdpc3RlcnMsIGJhc2UsIHZh
bHVlKQorICAgICAgICBjb2RlQmxvY2ssIGNvZGVPcmlnaW4sIGNhbGxTaXRlLCBBY2Nlc3NUeXBl
OjpHZXQsIHVzZWRSZWdpc3RlcnMsIGJhc2UsIHZhbHVlKQogewogICAgIFJFTEVBU0VfQVNTRVJU
KGJhc2UucGF5bG9hZEdQUigpICE9IHZhbHVlLnRhZ0dQUigpKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuaAppbmRleCAyNWNk
YTE1NjdjMDI4YjkxNTc3ODU5ODdiYWFlY2JmNzJlZGQwMDFmLi4wYWRhMGY4YjQ0NmY2YzVjMGVl
Mzc2ZDlmOGRlZmI5MWIxNDI4YjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVElubGluZUNhY2hlR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5oCkBAIC05Niw3ICs5Niw3IEBAIHB1YmxpYzoK
IAogICAgIEpJVEdldEJ5SWRHZW5lcmF0b3IoCiAgICAgICAgIENvZGVCbG9jayosIENvZGVPcmln
aW4sIENhbGxTaXRlSW5kZXgsIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzLCBKU1Zh
bHVlUmVncyBiYXNlLAotICAgICAgICBKU1ZhbHVlUmVncyB2YWx1ZSwgQWNjZXNzVHlwZSk7Cisg
ICAgICAgIEpTVmFsdWVSZWdzIHZhbHVlKTsKICAgICAKICAgICB2b2lkIGdlbmVyYXRlRmFzdFBh
dGgoTWFjcm9Bc3NlbWJsZXImKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVElubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5l
cy5oCmluZGV4IGUxZWVlYzMwN2VmMDI3NGMyMzM4N2E5NTNiYjdjZDgzMjFiNTk1MWMuLjhkODE1
YTllNDFlZmFiMTc2NTUyZTQ2YWQ2MzU0MmFlMGViMjIxZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUSW5saW5lcy5oCkBAIC00NTksMTIgKzQ1OSw2IEBAIEFMV0FZU19JTkxJTkUgTWFj
cm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VaSiBv
cGVyYXRpCiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9u
KTsKIH0KIAotQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVy
YXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgaW50IGRzdCwgU3RydWN0dXJl
U3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkK
LXsKLSAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5m
byksIGFyZzEsIFRydXN0ZWRJbW1QdHIodWlkKSk7Ci0gICAgcmV0dXJuIGFwcGVuZENhbGxXaXRo
RXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKLX0KLQogQUxX
QVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSklUOjpX
aXRoUHJvZmlsZVRhZywgSl9KSVRPcGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgaW50IGRzdCwg
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgVW5pcXVlZFN0cmluZ0lt
cGwqIHVpZCkKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0
cihzdHViSW5mbyksIGFyZzEsIFRydXN0ZWRJbW1QdHIodWlkKSk7CkBAIC02NDgsMTIgKzY0Miw2
IEBAIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9u
KEpfSklUT3BlcmF0aW9uX0VKIG9wZXJhdGlvCiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhj
ZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKIH0KIAotQUxXQVlT
X0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVy
YXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgaW50IGRzdCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJ
bmZvLCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKQotewotICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRy
KHN0dWJJbmZvKSwgYXJnMVBheWxvYWQsIGFyZzFUYWcsIFRydXN0ZWRJbW1QdHIodWlkKSk7Ci0g
ICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9w
ZXJhdGlvbiwgZHN0KTsKLX0KLQogQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBK
SVQ6OmNhbGxPcGVyYXRpb24oSklUOjpXaXRoUHJvZmlsZVRhZywgSl9KSVRPcGVyYXRpb25fRVNz
aUpJIG9wZXJhdGlvbiwgaW50IGRzdCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJS
ZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQog
ewogICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZv
KSwgYXJnMVBheWxvYWQsIGFyZzFUYWcsIFRydXN0ZWRJbW1QdHIodWlkKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCBkMTljMDFjMzhlMjVkMDdh
YzBjMTA4NGM4MzM5NTc3M2QxYjJjZDdhLi45ZGI4YzcyMmUxOWMwOTc0Y2U2NzYwZGQ3NjhhNGMz
ZDkwZGM0ZjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5j
cHAKQEAgLTE1NCwzNiArMTU0LDYgQEAgaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNv
bnN0cnVjdEFyaXR5Q2hlY2soRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBtaXNzaW5nQXJn
Q291bnQ7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVHJ5R2V0
QnlJZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2Rl
ZEpTVmFsdWUgYmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKLXsKLSAgICBWTSogdm0gPSAm
ZXhlYy0+dm0oKTsKLSAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsK
LSAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKLSAg
ICBzdHViSW5mby0+dG9va1Nsb3dQYXRoID0gdHJ1ZTsKLQotICAgIEpTVmFsdWUgYmFzZVZhbHVl
ID0gSlNWYWx1ZTo6ZGVjb2RlKGJhc2UpOwotICAgIFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1
ZSwgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSk7Ci0gICAgYmFz
ZVZhbHVlLmdldFByb3BlcnR5U2xvdChleGVjLCBpZGVudCwgc2xvdCk7Ci0KLSAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKHNsb3QuZ2V0UHVyZVJlc3VsdCgpKTsKLX0KLQotRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25UcnlHZXRCeUlkT3B0aW1pemUoRXhlY1N0YXRlKiBl
eGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEVuY29kZWRKU1ZhbHVlIGJhc2UsIFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQpCi17Ci0gICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7Ci0gICAg
TmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgSWRlbnRpZmllciBp
ZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7Ci0KLSAgICBKU1ZhbHVlIGJhc2VW
YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShiYXNlKTsKLSAgICBQcm9wZXJ0eVNsb3Qgc2xvdChiYXNl
VmFsdWUsIFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnkpOwotCi0g
ICAgYmFzZVZhbHVlLmdldFByb3BlcnR5U2xvdChleGVjLCBpZGVudCwgc2xvdCk7Ci0gICAgaWYg
KHN0dWJJbmZvLT5jb25zaWRlckNhY2hpbmcoKSAmJiAhc2xvdC5pc1RhaW50ZWRCeVByb3h5KCkg
JiYgKHNsb3QuaXNDYWNoZWFibGVWYWx1ZSgpIHx8IHNsb3QuaXNDYWNoZWFibGVHZXR0ZXIoKSB8
fCBzbG90LmlzVW5zZXQoKSkpCi0gICAgICAgIHJlcGF0Y2hHZXRCeUlEKGV4ZWMsIGJhc2VWYWx1
ZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgR2V0QnlJREtpbmQ6OlB1cmUpOwotCi0gICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShzbG90LmdldFB1cmVSZXN1bHQoKSk7Ci19Ci0KIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgRW5jb2RlZEpTVmFsdWUgYmFzZSwgVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKQEAgLTIxOSw3ICsx
ODksNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRPcHRp
bWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZQogICAgIAogICAgIGJvb2wgaGFzUmVzdWx0
ID0gYmFzZVZhbHVlLmdldFByb3BlcnR5U2xvdChleGVjLCBpZGVudCwgc2xvdCk7CiAgICAgaWYg
KHN0dWJJbmZvLT5jb25zaWRlckNhY2hpbmcoKSkKLSAgICAgICAgcmVwYXRjaEdldEJ5SUQoZXhl
YywgYmFzZVZhbHVlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBHZXRCeUlES2luZDo6Tm9ybWFs
KTsKKyAgICAgICAgcmVwYXRjaEdldEJ5SUQoZXhlYywgYmFzZVZhbHVlLCBpZGVudCwgc2xvdCwg
KnN0dWJJbmZvKTsKICAgICAKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGhhc1Jlc3VsdD8g
c2xvdC5nZXRWYWx1ZShleGVjLCBpZGVudCkgOiBqc1VuZGVmaW5lZCgpKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKaW5kZXggOGU4MmIzYjkwNzVkMGFmMzcw
ZTdlZTU2OWRkZjNjOTU3YzE0MWU5My4uOTQxYTk5M2EzYTc0NTM0NjFiYzIzMTBlODAzMTFhMjRi
YzkyNWJhMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRp
b25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKQEAg
LTI4NywxMCArMjg3LDkgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblRocm93T3V0T2ZC
b3VuZHNBY2Nlc3NFcnJvcihFeGVjU3RhdGUqKSBXVEZfSU5URVJOQUwKICNlbmRpZgogaW50MzJf
dCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNhbGxBcml0eUNoZWNrKEV4ZWNTdGF0ZSopIFdURl9J
TlRFUk5BTDsKIGludDMyX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25Db25zdHJ1Y3RBcml0eUNo
ZWNrKEV4ZWNTdGF0ZSopIFdURl9JTlRFUk5BTDsKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uVHJ5R2V0QnlJZChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVu
Y29kZWRKU1ZhbHVlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKLUVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVHJ5R2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0
ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFVuaXF1ZWRTdHJpbmdJbXBs
KikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25H
ZXRCeUlkKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFVu
aXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiBvcGVyYXRpb25HZXRCeUlkR2VuZXJpYyhFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwg
VW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRCdWlsZExpc3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1
YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7
CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6ZShF
eGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBVbmlxdWVkU3Ry
aW5nSW1wbCopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uSW5PcHRpbWl6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCos
IFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25JbihFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2Vs
bCosIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAppbmRleCA5NWIxN2E2N2IwNDAzN2Vh
MmJhMjM4MjJlY2JiZmQwNmRjZTViNDUwLi5kZGY4ZTFlNzYzZjc3M2JmYWI1ZmY3OGQ1OTZjZGUw
N2Y4Y2Y3OTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3Bl
cnR5QWNjZXNzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5
QWNjZXNzLmNwcApAQCAtMjEzLDcgKzIxMyw3IEBAIEpJVEdldEJ5SWRHZW5lcmF0b3IgSklUOjpl
bWl0R2V0QnlWYWxXaXRoQ2FjaGVkSWQoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvCiAK
ICAgICBKSVRHZXRCeUlkR2VuZXJhdG9yIGdlbigKICAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVP
cmlnaW4obV9ieXRlY29kZU9mZnNldCksIENhbGxTaXRlSW5kZXgobV9ieXRlY29kZU9mZnNldCks
IFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKLSAgICAgICAgSlNWYWx1
ZVJlZ3MocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMCksIEFjY2Vzc1R5cGU6OkdldCk7CisgICAg
ICAgIEpTVmFsdWVSZWdzKHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDApKTsKICAgICBnZW4uZ2Vu
ZXJhdGVGYXN0UGF0aCgqdGhpcyk7CiAKICAgICBmYXN0RG9uZUNhc2UgPSBqdW1wKCk7CkBAIC01
MzEsNDMgKzUzMSw2IEBAIHZvaWQgSklUOjplbWl0X29wX2RlbF9ieV9pZChJbnN0cnVjdGlvbiog
Y3VycmVudEluc3RydWN0aW9uKQogICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uRGVsZXRlQnlJ
ZCwgZHN0LCByZWdUMCwgJm1fY29kZUJsb2NrLT5pZGVudGlmaWVyKHByb3BlcnR5KSk7CiB9CiAK
LXZvaWQgSklUOjplbWl0X29wX3RyeV9nZXRfYnlfaWQoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0
cnVjdGlvbikKLXsKLSAgICBpbnQgcmVzdWx0VlJlZyA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51
Lm9wZXJhbmQ7Ci0gICAgaW50IGJhc2VWUmVnID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3Bl
cmFuZDsKLQotICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoYmFzZVZSZWcsIHJlZ1QwKTsKLQot
ICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEpTQ2VsbChyZWdUMCwgYmFzZVZSZWcpOwotCi0gICAg
SklUR2V0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2lu
KG1fYnl0ZWNvZGVPZmZzZXQpLCBDYWxsU2l0ZUluZGV4KG1fYnl0ZWNvZGVPZmZzZXQpLCBSZWdp
c3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCi0gICAgICAgIEpTVmFsdWVSZWdz
KHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDApLCBBY2Nlc3NUeXBlOjpHZXRQdXJlKTsKLSAgICBn
ZW4uZ2VuZXJhdGVGYXN0UGF0aCgqdGhpcyk7Ci0gICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQYXRo
SnVtcCgpKTsKLSAgICBtX2dldEJ5SWRzLmFwcGVuZChnZW4pOwotICAgIAotICAgIGVtaXRQdXRW
aXJ0dWFsUmVnaXN0ZXIocmVzdWx0VlJlZyk7Ci19Ci0KLXZvaWQgSklUOjplbWl0U2xvd19vcF90
cnlfZ2V0X2J5X2lkKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24sIFZlY3RvcjxTbG93
Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImIGl0ZXIpCi17Ci0gICAgaW50IHJlc3VsdFZSZWcgPSBjdXJy
ZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOwotICAgIGludCBiYXNlVlJlZyA9IGN1cnJlbnRJ
bnN0cnVjdGlvblsyXS51Lm9wZXJhbmQ7Ci0gICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSAm
KG1fY29kZUJsb2NrLT5pZGVudGlmaWVyKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQp
KTsKLQotICAgIGxpbmtTbG93Q2FzZUlmTm90SlNDZWxsKGl0ZXIsIGJhc2VWUmVnKTsKLSAgICBs
aW5rU2xvd0Nhc2UoaXRlcik7Ci0KLSAgICBKSVRHZXRCeUlkR2VuZXJhdG9yJiBnZW4gPSBtX2dl
dEJ5SWRzW21fZ2V0QnlJZEluZGV4KytdOwotCi0gICAgTGFiZWwgY29sZFBhdGhCZWdpbiA9IGxh
YmVsKCk7Ci0KLSAgICBDYWxsIGNhbGwgPSBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblRyeUdldEJ5
SWRPcHRpbWl6ZSwgcmVzdWx0VlJlZywgZ2VuLnN0dWJJbmZvKCksIHJlZ1QwLCBpZGVudC0+aW1w
bCgpKTsKLSAgICAKLSAgICBnZW4ucmVwb3J0U2xvd1BhdGhDYWxsKGNvbGRQYXRoQmVnaW4sIGNh
bGwpOwotfQotCiB2b2lkIEpJVDo6ZW1pdF9vcF9nZXRfYnlfaWQoSW5zdHJ1Y3Rpb24qIGN1cnJl
bnRJbnN0cnVjdGlvbikKIHsKICAgICBpbnQgcmVzdWx0VlJlZyA9IGN1cnJlbnRJbnN0cnVjdGlv
blsxXS51Lm9wZXJhbmQ7CkBAIC01ODMsNyArNTQ2LDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0
X2J5X2lkKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAKICAgICBKSVRHZXRCeUlk
R2VuZXJhdG9yIGdlbigKICAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29k
ZU9mZnNldCksIENhbGxTaXRlSW5kZXgobV9ieXRlY29kZU9mZnNldCksIFJlZ2lzdGVyU2V0Ojpz
dHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSwKLSAgICAgICAgSlNWYWx1ZVJlZ3MocmVnVDApLCBK
U1ZhbHVlUmVncyhyZWdUMCksIEFjY2Vzc1R5cGU6OkdldCk7CisgICAgICAgIEpTVmFsdWVSZWdz
KHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDApKTsKICAgICBnZW4uZ2VuZXJhdGVGYXN0UGF0aCgq
dGhpcyk7CiAgICAgYWRkU2xvd0Nhc2UoZ2VuLnNsb3dQYXRoSnVtcCgpKTsKICAgICBtX2dldEJ5
SWRzLmFwcGVuZChnZW4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
UHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKaW5kZXggNTFmOTZiOTMzMjgwNDBlNmY3Y2ZkODEwMjJm
ZDkwODhlOWE2YWEyMS4uMjdmOTQwNDRkZjA3M2Q5ZjBlOTE2MzAxMzkxZTIyMDlhMjQwMDZkZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMy
XzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNz
MzJfNjQuY3BwCkBAIC0yODIsNyArMjgyLDcgQEAgSklUR2V0QnlJZEdlbmVyYXRvciBKSVQ6OmVt
aXRHZXRCeVZhbFdpdGhDYWNoZWRJZChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW8KIAog
ICAgIEpJVEdldEJ5SWRHZW5lcmF0b3IgZ2VuKAogICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9y
aWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgQ2FsbFNpdGVJbmRleChjdXJyZW50SW5zdHJ1Y3Rpb24p
LCBSZWdpc3RlclNldDo6c3R1YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCksCi0gICAgICAgIEpTVmFs
dWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QxLCByZWdUMCksIEFj
Y2Vzc1R5cGU6OkdldCk7CisgICAgICAgIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShyZWdUMCks
IEpTVmFsdWVSZWdzKHJlZ1QxLCByZWdUMCkpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKCp0
aGlzKTsKIAogICAgIGZhc3REb25lQ2FzZSA9IGp1bXAoKTsKQEAgLTU3Myw0MyArNTczLDYgQEAg
dm9pZCBKSVQ6OmVtaXRTbG93X29wX3B1dF9ieV92YWwoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0
cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXMKICAgICBtX2J5VmFsSW5zdHJ1Y3Rpb25JbmRleCsrOwog
fQogCi12b2lkIEpJVDo6ZW1pdF9vcF90cnlfZ2V0X2J5X2lkKEluc3RydWN0aW9uKiBjdXJyZW50
SW5zdHJ1Y3Rpb24pCi17Ci0gICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9w
ZXJhbmQ7Ci0gICAgaW50IGJhc2UgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOwot
Ci0gICAgZW1pdExvYWQoYmFzZSwgcmVnVDEsIHJlZ1QwKTsKLSAgICBlbWl0SnVtcFNsb3dDYXNl
SWZOb3RKU0NlbGwoYmFzZSwgcmVnVDEpOwotCi0gICAgSklUR2V0QnlJZEdlbmVyYXRvciBnZW4o
Ci0gICAgICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBDYWxs
U2l0ZUluZGV4KGN1cnJlbnRJbnN0cnVjdGlvbiksIFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFi
bGVSZWdpc3RlcnMoKSwKLSAgICAgICAgSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KHJlZ1QwKSwg
SlNWYWx1ZVJlZ3MocmVnVDEsIHJlZ1QwKSwgQWNjZXNzVHlwZTo6R2V0UHVyZSk7Ci0gICAgZ2Vu
LmdlbmVyYXRlRmFzdFBhdGgoKnRoaXMpOwotICAgIGFkZFNsb3dDYXNlKGdlbi5zbG93UGF0aEp1
bXAoKSk7Ci0gICAgbV9nZXRCeUlkcy5hcHBlbmQoZ2VuKTsKLSAgICAKLSAgICBlbWl0U3RvcmUo
ZHN0LCByZWdUMSwgcmVnVDApOwotfQotCi12b2lkIEpJVDo6ZW1pdFNsb3dfb3BfdHJ5X2dldF9i
eV9pZChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uLCBWZWN0b3I8U2xvd0Nhc2VFbnRy
eT46Oml0ZXJhdG9yJiBpdGVyKQotewotICAgIGludCByZXN1bHRWUmVnID0gY3VycmVudEluc3Ry
dWN0aW9uWzFdLnUub3BlcmFuZDsKLSAgICBpbnQgYmFzZVZSZWcgPSBjdXJyZW50SW5zdHJ1Y3Rp
b25bMl0udS5vcGVyYW5kOwotICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gJihtX2NvZGVC
bG9jay0+aWRlbnRpZmllcihjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKSk7Ci0KLSAg
ICBsaW5rU2xvd0Nhc2VJZk5vdEpTQ2VsbChpdGVyLCBiYXNlVlJlZyk7Ci0gICAgbGlua1Nsb3dD
YXNlKGl0ZXIpOwotCi0gICAgSklUR2V0QnlJZEdlbmVyYXRvciYgZ2VuID0gbV9nZXRCeUlkc1tt
X2dldEJ5SWRJbmRleCsrXTsKLQotICAgIExhYmVsIGNvbGRQYXRoQmVnaW4gPSBsYWJlbCgpOwot
Ci0gICAgQ2FsbCBjYWxsID0gY2FsbE9wZXJhdGlvbihvcGVyYXRpb25UcnlHZXRCeUlkT3B0aW1p
emUsIHJlc3VsdFZSZWcsIGdlbi5zdHViSW5mbygpLCByZWdUMSwgcmVnVDAsIGlkZW50LT5pbXBs
KCkpOwotICAgIAotICAgIGdlbi5yZXBvcnRTbG93UGF0aENhbGwoY29sZFBhdGhCZWdpbiwgY2Fs
bCk7Ci19Ci0KLQogdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X2J5X2lkKEluc3RydWN0aW9uKiBjdXJy
ZW50SW5zdHJ1Y3Rpb24pCiB7CiAgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51
Lm9wZXJhbmQ7CkBAIC02MjQsNyArNTg3LDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X2J5X2lk
KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAKICAgICBKSVRHZXRCeUlkR2VuZXJh
dG9yIGdlbigKICAgICAgICAgbV9jb2RlQmxvY2ssIENvZGVPcmlnaW4obV9ieXRlY29kZU9mZnNl
dCksIENhbGxTaXRlSW5kZXgoY3VycmVudEluc3RydWN0aW9uKSwgUmVnaXN0ZXJTZXQ6OnN0dWJV
bmF2YWlsYWJsZVJlZ2lzdGVycygpLAotICAgICAgICBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHko
cmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDApLCBBY2Nlc3NUeXBlOjpHZXQpOworICAg
ICAgICBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwg
cmVnVDApKTsKICAgICBnZW4uZ2VuZXJhdGVGYXN0UGF0aCgqdGhpcyk7CiAgICAgYWRkU2xvd0Nh
c2UoZ2VuLnNsb3dQYXRoSnVtcCgpKTsKICAgICBtX2dldEJ5SWRzLmFwcGVuZChnZW4pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKaW5kZXggODFmZTNiMDlmNjExMzQ2ODA0M2Iz
MGJmMmU4Mzc1NzYxZGQxNTJiOC4uZTRjYTMwZGQ4MWY1MzIyNmNkMGFlYzA1ZjgxYjIxNmJhYTI0
ZTcyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCkBAIC05Myw3ICs5Myw3
IEBAIHN0YXRpYyB2b2lkIHJlcGF0Y2hDYWxsKENvZGVCbG9jayogY29kZUJsb2NrLCBDb2RlTG9j
YXRpb25DYWxsIGNhbGwsIEZ1bmN0aW9uUHRyCiAKIHN0YXRpYyB2b2lkIHJlcGF0Y2hCeUlkU2Vs
ZkFjY2VzcygKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jaywgU3RydWN0dXJlU3R1YkluZm8mIHN0
dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwKLSAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQs
IGNvbnN0IEZ1bmN0aW9uUHRyJiBzbG93UGF0aEZ1bmN0aW9uLAorICAgIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwgY29uc3QgRnVuY3Rpb25QdHIgJnNsb3dQYXRoRnVuY3Rpb24sCiAgICAgYm9vbCBj
b21wYWN0KQogewogICAgIC8vIE9ubHkgb3B0aW1pemUgb25jZSEKQEAgLTIxMywyMSArMjEzLDcg
QEAgc3RhdGljIGJvb2wgZm9yY2VJQ0ZhaWx1cmUoRXhlY1N0YXRlKikKICAgICByZXR1cm4gT3B0
aW9uczo6Zm9yY2VJQ0ZhaWx1cmUoKTsKIH0KIAotaW5saW5lIEpfSklUT3BlcmF0aW9uX0VTc2lK
SSBhcHByb3ByaWF0ZU9wdGltaXppbmdHZXRCeUlkRnVuY3Rpb24oR2V0QnlJREtpbmQga2luZCkK
LXsKLSAgICBpZiAoa2luZCA9PSBHZXRCeUlES2luZDo6Tm9ybWFsKQotICAgICAgICByZXR1cm4g
b3BlcmF0aW9uR2V0QnlJZE9wdGltaXplOwotICAgIHJldHVybiBvcGVyYXRpb25UcnlHZXRCeUlk
T3B0aW1pemU7Ci19Ci0KLWlubGluZSBKX0pJVE9wZXJhdGlvbl9FU3NpSkkgYXBwcm9wcmlhdGVH
ZW5lcmljR2V0QnlJZEZ1bmN0aW9uKEdldEJ5SURLaW5kIGtpbmQpCi17Ci0gICAgaWYgKGtpbmQg
PT0gR2V0QnlJREtpbmQ6Ok5vcm1hbCkKLSAgICAgICAgcmV0dXJuIG9wZXJhdGlvbkdldEJ5SWQ7
Ci0gICAgcmV0dXJuIG9wZXJhdGlvblRyeUdldEJ5SWQ7Ci19Ci0KLXN0YXRpYyBJbmxpbmVDYWNo
ZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1
ZSwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNs
b3QsIFN0cnVjdHVyZVN0dWJJbmZvJiBzdHViSW5mbywgR2V0QnlJREtpbmQga2luZCkKK3N0YXRp
YyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQoRXhlY1N0YXRlKiBleGVjLCBKU1Zh
bHVlIGJhc2VWYWx1ZSwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBjb25zdCBQcm9w
ZXJ0eVNsb3QmIHNsb3QsIFN0cnVjdHVyZVN0dWJJbmZvJiBzdHViSW5mbykKIHsKICAgICBpZiAo
Zm9yY2VJQ0ZhaWx1cmUoZXhlYykpCiAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwpAQCAt
Mjc2LDcgKzI2Miw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQo
RXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgY29uCiAgICAgICAgICAgICAmJiAh
c3RydWN0dXJlLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkKICAgICAgICAgICAgICYm
ICFsb2FkVGFyZ2V0RnJvbVByb3h5KSB7CiAgICAgICAgICAgICBzdHJ1Y3R1cmUtPnN0YXJ0V2F0
Y2hpbmdQcm9wZXJ0eUZvclJlcGxhY2VtZW50cyh2bSwgc2xvdC5jYWNoZWRPZmZzZXQoKSk7Ci0g
ICAgICAgICAgICByZXBhdGNoQnlJZFNlbGZBY2Nlc3MoY29kZUJsb2NrLCBzdHViSW5mbywgc3Ry
dWN0dXJlLCBzbG90LmNhY2hlZE9mZnNldCgpLCBhcHByb3ByaWF0ZU9wdGltaXppbmdHZXRCeUlk
RnVuY3Rpb24oa2luZCksIHRydWUpOworICAgICAgICAgICAgcmVwYXRjaEJ5SWRTZWxmQWNjZXNz
KGNvZGVCbG9jaywgc3R1YkluZm8sIHN0cnVjdHVyZSwgc2xvdC5jYWNoZWRPZmZzZXQoKSwgb3Bl
cmF0aW9uR2V0QnlJZE9wdGltaXplLCB0cnVlKTsKICAgICAgICAgICAgIHN0dWJJbmZvLmluaXRH
ZXRCeUlkU2VsZihjb2RlQmxvY2ssIHN0cnVjdHVyZSwgc2xvdC5jYWNoZWRPZmZzZXQoKSk7CiAg
ICAgICAgICAgICByZXR1cm4gUmV0cnlDYWNoZUxhdGVyOwogICAgICAgICB9CkBAIC0zMDksMTkg
KzI5NSw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQoRXhlY1N0
YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgY29uCiAgICAgICAgIGlmIChzbG90LmlzQ2Fj
aGVhYmxlR2V0dGVyKCkpCiAgICAgICAgICAgICBnZXR0ZXIgPSBqc0R5bmFtaWNDYXN0PEpTRnVu
Y3Rpb24qPihzbG90LmdldHRlclNldHRlcigpLT5nZXR0ZXIoKSk7CiAKLSAgICAgICAgaWYgKGtp
bmQgPT0gR2V0QnlJREtpbmQ6OlB1cmUpIHsKLSAgICAgICAgICAgIEFjY2Vzc0Nhc2U6OkFjY2Vz
c1R5cGUgdHlwZTsKLSAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlVmFsdWUoKSkKLSAg
ICAgICAgICAgICAgICB0eXBlID0gQWNjZXNzQ2FzZTo6TG9hZDsKLSAgICAgICAgICAgIGVsc2Ug
aWYgKHNsb3QuaXNVbnNldCgpKQotICAgICAgICAgICAgICAgIHR5cGUgPSBBY2Nlc3NDYXNlOjpN
aXNzOwotICAgICAgICAgICAgZWxzZSBpZiAoc2xvdC5pc0NhY2hlYWJsZUdldHRlcigpKQotICAg
ICAgICAgICAgICAgIHR5cGUgPSBBY2Nlc3NDYXNlOjpHZXRHZXR0ZXI7Ci0gICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLQotICAg
ICAgICAgICAgbmV3Q2FzZSA9IEFjY2Vzc0Nhc2U6OnRyeUdldCh2bSwgY29kZUJsb2NrLCB0eXBl
LCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBz
bG90LndhdGNocG9pbnRTZXQoKSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIWxvYWRUYXJnZXRGcm9t
UHJveHkgJiYgZ2V0dGVyICYmIEFjY2Vzc0Nhc2U6OmNhbkVtaXRJbnRyaW5zaWNHZXR0ZXIoZ2V0
dGVyLCBzdHJ1Y3R1cmUpKQorICAgICAgICBpZiAoIWxvYWRUYXJnZXRGcm9tUHJveHkgJiYgZ2V0
dGVyICYmIEFjY2Vzc0Nhc2U6OmNhbkVtaXRJbnRyaW5zaWNHZXR0ZXIoZ2V0dGVyLCBzdHJ1Y3R1
cmUpKQogICAgICAgICAgICAgbmV3Q2FzZSA9IEFjY2Vzc0Nhc2U6OmdldEludHJpbnNpYyh2bSwg
Y29kZUJsb2NrLCBnZXR0ZXIsIHNsb3QuY2FjaGVkT2Zmc2V0KCksIHN0cnVjdHVyZSwgY29uZGl0
aW9uU2V0KTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBBY2Nlc3NDYXNlOjpBY2Nlc3NU
eXBlIHR5cGU7CkBAIC0zNTYsMTIgKzMzMCwxMiBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24g
dHJ5Q2FjaGVHZXRCeUlEKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBiYXNlVmFsdWUsIGNvbgog
ICAgIHJldHVybiBSZXRyeUNhY2hlTGF0ZXI7CiB9CiAKLXZvaWQgcmVwYXRjaEdldEJ5SUQoRXhl
Y1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dHlOYW1lLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIFN0cnVjdHVyZVN0dWJJbmZvJiBzdHVi
SW5mbywgR2V0QnlJREtpbmQga2luZCkKK3ZvaWQgcmVwYXRjaEdldEJ5SUQoRXhlY1N0YXRlKiBl
eGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBj
b25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIFN0cnVjdHVyZVN0dWJJbmZvJiBzdHViSW5mbykKIHsK
ICAgICBHQ1NhZmVDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihleGVjLT5jb2RlQmxvY2soKS0+
bV9sb2NrLCBleGVjLT52bSgpLmhlYXApOwogICAgIAotICAgIGlmICh0cnlDYWNoZUdldEJ5SUQo
ZXhlYywgYmFzZVZhbHVlLCBwcm9wZXJ0eU5hbWUsIHNsb3QsIHN0dWJJbmZvLCBraW5kKSA9PSBH
aXZlVXBPbkNhY2hlKQotICAgICAgICByZXBhdGNoQ2FsbChleGVjLT5jb2RlQmxvY2soKSwgc3R1
YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLCBhcHByb3ByaWF0ZUdlbmVyaWNHZXRCeUlkRnVuY3Rp
b24oa2luZCkpOworICAgIGlmICh0cnlDYWNoZUdldEJ5SUQoZXhlYywgYmFzZVZhbHVlLCBwcm9w
ZXJ0eU5hbWUsIHNsb3QsIHN0dWJJbmZvKSA9PSBHaXZlVXBPbkNhY2hlKQorICAgICAgICByZXBh
dGNoQ2FsbChleGVjLT5jb2RlQmxvY2soKSwgc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLCBv
cGVyYXRpb25HZXRCeUlkKTsKIH0KIAogc3RhdGljIFZfSklUT3BlcmF0aW9uX0VTc2lKSkkgYXBw
cm9wcmlhdGVHZW5lcmljUHV0QnlJZEZ1bmN0aW9uKGNvbnN0IFB1dFByb3BlcnR5U2xvdCAmc2xv
dCwgUHV0S2luZCBwdXRLaW5kKQpAQCAtOTM2LDkgKzkxMCw5IEBAIHZvaWQgbGlua1BvbHltb3Jw
aGljQ2FsbCgKICAgICAgICAgY2FsbExpbmtJbmZvLnJlbW92ZSgpOwogfQogCi12b2lkIHJlc2V0
R2V0QnlJRChDb2RlQmxvY2sqIGNvZGVCbG9jaywgU3RydWN0dXJlU3R1YkluZm8mIHN0dWJJbmZv
LCBHZXRCeUlES2luZCBraW5kKQordm9pZCByZXNldEdldEJ5SUQoQ29kZUJsb2NrKiBjb2RlQmxv
Y2ssIFN0cnVjdHVyZVN0dWJJbmZvJiBzdHViSW5mbykKIHsKLSAgICByZXBhdGNoQ2FsbChjb2Rl
QmxvY2ssIHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbiwgYXBwcm9wcmlhdGVPcHRpbWl6aW5n
R2V0QnlJZEZ1bmN0aW9uKGtpbmQpKTsKKyAgICByZXBhdGNoQ2FsbChjb2RlQmxvY2ssIHN0dWJJ
bmZvLmNhbGxSZXR1cm5Mb2NhdGlvbiwgb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplKTsKICAgICBy
ZXNldEdldEJ5SURDaGVja0FuZExvYWQoc3R1YkluZm8pOwogICAgIE1hY3JvQXNzZW1ibGVyOjpy
ZXBhdGNoSnVtcChzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24uanVtcEF0T2Zmc2V0KHN0dWJJ
bmZvLnBhdGNoLmRlbHRhQ2FsbFRvSnVtcCksIHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5s
YWJlbEF0T2Zmc2V0KHN0dWJJbmZvLnBhdGNoLmRlbHRhQ2FsbFRvU2xvd0Nhc2UpKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmgKaW5kZXggMjA0NzYyZDA2Yzg4Y2Q5Mjg4MDE5OWQ4
YjdkM2Q3NTVjOTk5OGFiNi4uNDQzZTk0NGEzNTY2MDdjZmE3MGRjMjdmOWVlY2VhMDg0OWQyMDkw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmgKQEAgLTM1LDEyICszNSw3IEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCi1lbnVtIGNsYXNzIEdldEJ5SURLaW5kIHsKLSAgICBOb3JtYWws
Ci0gICAgUHVyZQotfTsKLQotdm9pZCByZXBhdGNoR2V0QnlJRChFeGVjU3RhdGUqLCBKU1ZhbHVl
LCBjb25zdCBJZGVudGlmaWVyJiwgY29uc3QgUHJvcGVydHlTbG90JiwgU3RydWN0dXJlU3R1Yklu
Zm8mLCBHZXRCeUlES2luZCk7Cit2b2lkIHJlcGF0Y2hHZXRCeUlEKEV4ZWNTdGF0ZSosIEpTVmFs
dWUsIGNvbnN0IElkZW50aWZpZXImLCBjb25zdCBQcm9wZXJ0eVNsb3QmLCBTdHJ1Y3R1cmVTdHVi
SW5mbyYpOwogdm9pZCBidWlsZEdldEJ5SURMaXN0KEV4ZWNTdGF0ZSosIEpTVmFsdWUsIGNvbnN0
IElkZW50aWZpZXImLCBjb25zdCBQcm9wZXJ0eVNsb3QmLCBTdHJ1Y3R1cmVTdHViSW5mbyYpOwog
dm9pZCBidWlsZEdldEJ5SURQcm90b0xpc3QoRXhlY1N0YXRlKiwgSlNWYWx1ZSwgY29uc3QgSWRl
bnRpZmllciYsIGNvbnN0IFByb3BlcnR5U2xvdCYsIFN0cnVjdHVyZVN0dWJJbmZvJik7CiB2b2lk
IHJlcGF0Y2hQdXRCeUlEKEV4ZWNTdGF0ZSosIEpTVmFsdWUsIFN0cnVjdHVyZSosIGNvbnN0IElk
ZW50aWZpZXImLCBjb25zdCBQdXRQcm9wZXJ0eVNsb3QmLCBTdHJ1Y3R1cmVTdHViSW5mbyYsIFB1
dEtpbmQpOwpAQCAtNTEsNyArNDYsNyBAQCB2b2lkIGxpbmtTbG93Rm9yKEV4ZWNTdGF0ZSosIENh
bGxMaW5rSW5mbyYpOwogdm9pZCB1bmxpbmtGb3IoVk0mLCBDYWxsTGlua0luZm8mKTsKIHZvaWQg
bGlua1ZpcnR1YWxGb3IoRXhlY1N0YXRlKiwgQ2FsbExpbmtJbmZvJik7CiB2b2lkIGxpbmtQb2x5
bW9ycGhpY0NhbGwoRXhlY1N0YXRlKiwgQ2FsbExpbmtJbmZvJiwgQ2FsbFZhcmlhbnQpOwotdm9p
ZCByZXNldEdldEJ5SUQoQ29kZUJsb2NrKiwgU3RydWN0dXJlU3R1YkluZm8mLCBHZXRCeUlES2lu
ZCk7Cit2b2lkIHJlc2V0R2V0QnlJRChDb2RlQmxvY2sqLCBTdHJ1Y3R1cmVTdHViSW5mbyYpOwog
dm9pZCByZXNldFB1dEJ5SUQoQ29kZUJsb2NrKiwgU3RydWN0dXJlU3R1YkluZm8mKTsKIHZvaWQg
cmVzZXRJbihDb2RlQmxvY2sqLCBTdHJ1Y3R1cmVTdHViSW5mbyYpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2Mu
Y3BwCmluZGV4IDg1NjIxYmI4ZTM2ZDg1YzcwMTZkMWVhMTcyMGU5MjdhOTI5ZmFhODkuLjBmNDZl
MmQ4MzU0MjkzZDdmMTNjMWYyNmQyN2QyMWZjOGIyMjY3YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qc2MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3Bw
CkBAIC0yMyw3ICsyMyw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKICNpbmNsdWRlICJBcnJh
eVByb3RvdHlwZS5oIgotI2luY2x1ZGUgIkJ1aWx0aW5FeGVjdXRhYmxlcy5oIgogI2luY2x1ZGUg
IkJ1dHRlcmZseUlubGluZXMuaCIKICNpbmNsdWRlICJCeXRlY29kZUdlbmVyYXRvci5oIgogI2lu
Y2x1ZGUgIkNvZGVCbG9jay5oIgpAQCAtMzMsNyArMzIsNiBAQAogI2luY2x1ZGUgIkRpc2Fzc2Vt
Ymxlci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBl
cnMuaCIKLSNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJIZWFwUHJvZmlsZXIu
aCIKICNpbmNsdWRlICJIZWFwU25hcHNob3RCdWlsZGVyLmgiCiAjaW5jbHVkZSAiSGVhcFN0YXRp
c3RpY3MuaCIKQEAgLTU1NCw3ICs1NTIsNiBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZVByb3h5KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVSdW50aW1lQXJyYXkoRXhlY1N0YXRl
Kik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUlt
cHVyZUdldHRlcihFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGZ1bmN0aW9uQ3JlYXRlQ3VzdG9tR2V0dGVyT2JqZWN0KEV4ZWNTdGF0ZSopOwotc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVCdWlsdGluKEV4ZWNT
dGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25TZXRJ
bXB1cmVHZXR0ZXJEZWxlZ2F0ZShFeGVjU3RhdGUqKTsKIAogc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25TZXRFbGVtZW50Um9vdChFeGVjU3RhdGUqKTsKQEAgLTU3
NSw3ICs1NzIsNiBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlv
bkVkZW5HQyhFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGZ1bmN0aW9uRm9yY2VHQ1Nsb3dQYXRocyhFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uSGVhcFNpemUoRXhlY1N0YXRlKik7CiBzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkFkZHJlc3NPZihFeGVjU3RhdGUq
KTsKLXN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uR2V0R2V0dGVy
U2V0dGVyKEV4ZWNTdGF0ZSopOwogI2lmbmRlZiBOREVCVUcKIHN0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uRHVtcENhbGxGcmFtZShFeGVjU3RhdGUqKTsKICNlbmRp
ZgpAQCAtNzQ3LDcgKzc0Myw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgYWRkRnVuY3Rpb24odm0s
ICJmb3JjZUdDU2xvd1BhdGhzIiwgZnVuY3Rpb25Gb3JjZUdDU2xvd1BhdGhzLCAwKTsKICAgICAg
ICAgYWRkRnVuY3Rpb24odm0sICJnY0hlYXBTaXplIiwgZnVuY3Rpb25IZWFwU2l6ZSwgMCk7CiAg
ICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiYWRkcmVzc09mIiwgZnVuY3Rpb25BZGRyZXNzT2YsIDEp
OwotICAgICAgICBhZGRGdW5jdGlvbih2bSwgImdldEdldHRlclNldHRlciIsIGZ1bmN0aW9uR2V0
R2V0dGVyU2V0dGVyLCAyKTsKICNpZm5kZWYgTkRFQlVHCiAgICAgICAgIGFkZEZ1bmN0aW9uKHZt
LCAiZHVtcENhbGxGcmFtZSIsIGZ1bmN0aW9uRHVtcENhbGxGcmFtZSwgMCk7CiAjZW5kaWYKQEAg
LTc5Nyw3ICs3OTIsNiBAQCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJj
cmVhdGVJbXB1cmVHZXR0ZXIiLCBmdW5jdGlvbkNyZWF0ZUltcHVyZUdldHRlciwgMSk7CiAgICAg
ICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlQ3VzdG9tR2V0dGVyT2JqZWN0IiwgZnVuY3Rpb25D
cmVhdGVDdXN0b21HZXR0ZXJPYmplY3QsIDApOwotICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNy
ZWF0ZUJ1aWx0aW4iLCBmdW5jdGlvbkNyZWF0ZUJ1aWx0aW4sIDIpOwogICAgICAgICBhZGRGdW5j
dGlvbih2bSwgInNldEltcHVyZUdldHRlckRlbGVnYXRlIiwgZnVuY3Rpb25TZXRJbXB1cmVHZXR0
ZXJEZWxlZ2F0ZSwgMik7CiAKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJkdW1wVHlwZXNGb3JB
bGxWYXJpYWJsZXMiLCBmdW5jdGlvbkR1bXBUeXBlc0ZvckFsbFZhcmlhYmxlcyAsIDApOwpAQCAt
MTMzOCwzMCArMTMzMiw2IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25B
ZGRyZXNzT2YoRXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiByZXR1cm5WYWx1ZTsKIH0KIAot
c3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25HZXRHZXR0ZXJTZXR0
ZXIoRXhlY1N0YXRlKiBleGVjKQotewotICAgIEpTVmFsdWUgdmFsdWUgPSBleGVjLT5hcmd1bWVu
dCgwKTsKLSAgICBpZiAoIXZhbHVlLmlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNVbmRlZmluZWQoKSk7Ci0KLSAgICBKU1ZhbHVlIHByb3BlcnR5ID0gZXhlYy0+
YXJndW1lbnQoMSk7Ci0gICAgaWYgKCFwcm9wZXJ0eS5pc1N0cmluZygpKQotICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwotCi0gICAgSWRlbnRpZmllciBpZGVu
dCA9IElkZW50aWZpZXI6OmZyb21TdHJpbmcoJmV4ZWMtPnZtKCksIHByb3BlcnR5LnRvU3RyaW5n
KGV4ZWMpLT52YWx1ZShleGVjKSk7Ci0KLSAgICBQcm9wZXJ0eVNsb3Qgc2xvdCh2YWx1ZSwgUHJv
cGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSk7Ci0gICAgdmFsdWUuZ2V0
UHJvcGVydHlTbG90KGV4ZWMsIGlkZW50LCBzbG90KTsKLQotICAgIEpTVmFsdWUgcmVzdWx0Owot
ICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkpCi0gICAgICAgIHJlc3VsdCA9IHNsb3Qu
Z2V0dGVyU2V0dGVyKCk7Ci0gICAgZWxzZQotICAgICAgICByZXN1bHQgPSBqc051bGwoKTsKLQot
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKLX0KLQogRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBmdW5jdGlvblZlcnNpb24oRXhlY1N0YXRlKikKIHsKICAgICAvLyBXZSBu
ZWVkIHRoaXMgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgTW96aWxsYSBKUyB0
ZXN0cyBidXQgZm9yIG5vdwpAQCAtMTc1MSwyMiArMTcyMSw2IEBAIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZnVuY3Rpb25Mb2FkTW9kdWxlKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlQnVpbHRpbihFeGVjU3RhdGUqIGV4ZWMpCi17Ci0g
ICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA8IDEgfHwgIWV4ZWMtPmFyZ3VtZW50KDApLmlz
U3RyaW5nKCkpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7
Ci0KLSAgICBTdHJpbmcgZnVuY3Rpb25UZXh0ID0gZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmco
ZXhlYyktPnZhbHVlKGV4ZWMpOwotICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKLSAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU1ZhbHVlKCkpOwotCi0gICAgVk0mIHZtID0gZXhl
Yy0+dm0oKTsKLSAgICBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UgPSBtYWtlU291cmNlKGZ1bmN0
aW9uVGV4dCk7Ci0gICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZUJ1aWx0
aW5GdW5jdGlvbih2bSwgQnVpbHRpbkV4ZWN1dGFibGVzOjpjcmVhdGVFeGVjdXRhYmxlKHZtLCBz
b3VyY2UsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiZm9vIiksIENvbnN0cnVjdG9yS2lu
ZDo6Tm9uZSwgQ29uc3RydWN0QWJpbGl0eTo6Q2Fubm90Q29uc3RydWN0KS0+bGluayh2bSwgc291
cmNlKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKLQotICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoZnVuYyk7Ci19Ci0KIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rp
b25DaGVja01vZHVsZVN5bnRheChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgU3RyaW5nIHNvdXJj
ZSA9IGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpLT52YWx1ZShleGVjKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5jcHAKaW5kZXggZjE0MGNhMzFiYjcyNTU0
NWRmMmFlMjBmN2UwZjI2NTcwY2JmMjVhMi4uMjE0ODhhOWQ3NWFkOGU2YTc0MDczMGZjZTFlYWZj
MWQ2ODY2NmY4NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
RGF0YS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5jcHAK
QEAgLTE0NCw5ICsxNDQsOSBAQCB2b2lkIERhdGE6OnBlcmZvcm1Bc3NlcnRpb25zKFZNJiB2bSkK
ICAgICAKICAgICBTVEFUSUNfQVNTRVJUKFN0cmluZ1R5cGUgPT0gNik7CiAgICAgU1RBVElDX0FT
U0VSVChTeW1ib2xUeXBlID09IDcpOwotICAgIFNUQVRJQ19BU1NFUlQoT2JqZWN0VHlwZSA9PSAy
MCk7Ci0gICAgU1RBVElDX0FTU0VSVChGaW5hbE9iamVjdFR5cGUgPT0gMjEpOwotICAgIFNUQVRJ
Q19BU1NFUlQoSlNGdW5jdGlvblR5cGUgPT0gMjMpOworICAgIFNUQVRJQ19BU1NFUlQoT2JqZWN0
VHlwZSA9PSAyMSk7CisgICAgU1RBVElDX0FTU0VSVChGaW5hbE9iamVjdFR5cGUgPT0gMjIpOwor
ICAgIFNUQVRJQ19BU1NFUlQoSlNGdW5jdGlvblR5cGUgPT0gMjQpOwogICAgIFNUQVRJQ19BU1NF
UlQoTWFzcXVlcmFkZXNBc1VuZGVmaW5lZCA9PSAxKTsKICAgICBTVEFUSUNfQVNTRVJUKEltcGxl
bWVudHNEZWZhdWx0SGFzSW5zdGFuY2UgPT0gMik7CiAgICAgU1RBVElDX0FTU0VSVChGaXJzdENv
bnN0YW50UmVnaXN0ZXJJbmRleCA9PSAweDQwMDAwMDAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCmluZGV4IDQyNDA3YmNjMTJlOTkyZGRhYmI2
NmUxNTdlM2UwZjNiZDFjNGI3MjcuLjdlMzUxNzUxY2FiMGIxZDY1MzE4NzM5MGJmMzVkMWYyMmE0
MTFkNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhz
LmNwcApAQCAtNTQ1LDE5ICs1NDUsNiBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhf
aW5zdGFuY2VvZl9jdXN0b20pCiAgICAgTExJTlRfUkVUVVJOKHJlc3VsdCk7CiB9CiAKLUxMSU5U
X1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF90cnlfZ2V0X2J5X2lkKQotewotICAgIExMSU5UX0JF
R0lOKCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKLSAg
ICBjb25zdCBJZGVudGlmaWVyJiBpZGVudCA9IGNvZGVCbG9jay0+aWRlbnRpZmllcihwY1szXS51
Lm9wZXJhbmQpOwotICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gTExJTlRfT1BfQygyKS5qc1ZhbHVl
KCk7Ci0gICAgUHJvcGVydHlTbG90IHNsb3QoYmFzZVZhbHVlLCBQcm9wZXJ0eVNsb3Q6OlByb3Bl
cnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnkpOwotCi0gICAgYmFzZVZhbHVl
LmdldFByb3BlcnR5U2xvdChleGVjLCBpZGVudCwgc2xvdCk7Ci0KLSAgICBMTElOVF9SRVRVUk4o
c2xvdC5nZXRQdXJlUmVzdWx0KCkpOwotfQotCiBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfZ2V0X2J5X2lkKQogewogICAgIExMSU5UX0JFR0lOKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCmluZGV4IGUzZDQxZTQ1ODI3ZmIwZGM1YmZkNTE1
ZTYzMDdjMjExMDNhMDNmMzYuLmVjNTZiYWU3MzQ4MzVmODYzZTRhNmE2NTI2NGE5ODE4ZTAxMWQ5
MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRo
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCkBA
IC02OSw3ICs2OSw2IEBAIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3
X2FycmF5X2J1ZmZlcik7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25l
d19yZWdleHApOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9pbnN0YW5j
ZW9mKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfaW5zdGFuY2VvZl9j
dXN0b20pOwotTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF90cnlfZ2V0X2J5
X2lkKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfZ2V0X2J5X2lkKTsK
IExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfZ2V0X2FyZ3VtZW50c19sZW5n
dGgpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfaWQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtCmluZGV4IDcwOTA3YTQyM2UyZmNiNzg1NDU4NmQzNjE5ZDM4NWEwZGJlYzJjNGEuLmU1NjVk
NjdhYzcxNDlhZTE3YjBhMTA2ZWI4NTQzM2FlOTA4ZTVjM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KQEAgLTMyNiw5ICsz
MjYsOSBAQCBjb25zdCBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGUgPSAzMAogIyBUeXBlIGNvbnN0
YW50cy4KIGNvbnN0IFN0cmluZ1R5cGUgPSA2CiBjb25zdCBTeW1ib2xUeXBlID0gNwotY29uc3Qg
T2JqZWN0VHlwZSA9IDIwCi1jb25zdCBGaW5hbE9iamVjdFR5cGUgPSAyMQotY29uc3QgSlNGdW5j
dGlvblR5cGUgPSAyMworY29uc3QgT2JqZWN0VHlwZSA9IDIxCitjb25zdCBGaW5hbE9iamVjdFR5
cGUgPSAyMgorY29uc3QgSlNGdW5jdGlvblR5cGUgPSAyNAogCiAjIFR5cGUgZmxhZ3MgY29uc3Rh
bnRzLgogY29uc3QgTWFzcXVlcmFkZXNBc1VuZGVmaW5lZCA9IDEKQEAgLTEzMDEsMTIgKzEzMDEs
NiBAQCBfbGxpbnRfb3BfaW46CiAgICAgZGlzcGF0Y2goNCkKIAogCi1fbGxpbnRfb3BfdHJ5X2dl
dF9ieV9pZDoKLSAgICB0cmFjZUV4ZWN1dGlvbigpCi0gICAgY2FsbFNsb3dQYXRoKF9sbGludF9z
bG93X3BhdGhfdHJ5X2dldF9ieV9pZCkKLSAgICBkaXNwYXRjaCg0KQotCi0KIF9sbGludF9vcF9k
ZWxfYnlfaWQ6CiAgICAgdHJhY2VFeGVjdXRpb24oKQogICAgIGNhbGxTbG93UGF0aChfbGxpbnRf
c2xvd19wYXRoX2RlbF9ieV9pZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0dldHRlclNldHRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9H
ZXR0ZXJTZXR0ZXIuY3BwCmluZGV4IGE4ZmRhNDliM2ZjNWJiOTAwY2I4MjAyMGM4NDU3NTlmNjEy
Mzg1YmYuLjg3MzA3OTRhMzQyOGY2ZDVlYThlOWEyYjhjYmEyMTRjMTdiYzg0NDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dldHRlclNldHRlci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR2V0dGVyU2V0dGVyLmNwcApAQCAtMzMsNyAr
MzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogU1RBVElDX0FTU0VSVF9JU19UUklWSUFMTFlfREVT
VFJVQ1RJQkxFKEdldHRlclNldHRlcik7CiAKLWNvbnN0IENsYXNzSW5mbyBHZXR0ZXJTZXR0ZXI6
OnNfaW5mbyA9IHsgIkdldHRlclNldHRlciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRI
T0RfVEFCTEUoR2V0dGVyU2V0dGVyKSB9OworY29uc3QgQ2xhc3NJbmZvIEdldHRlclNldHRlcjo6
c19pbmZvID0geyAiR2V0dGVyU2V0dGVyIiwgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShHZXR0
ZXJTZXR0ZXIpIH07CiAKIHZvaWQgR2V0dGVyU2V0dGVyOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCog
Y2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9HZXR0ZXJTZXR0ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0dldHRlclNldHRlci5oCmluZGV4IDFiNDdlNjhiNmM1YWU2YWFhNzI2ZTI3OTcwNzUz
MTNmODQwZjJkNTQuLjJiMjJiM2UwYjBjMDBjOTI3YmY1Y2JkOTAwNDljZmU5MThlNTE3YmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dldHRlclNldHRlci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dldHRlclNldHRlci5oCkBAIC00MSwy
MCArNDEsMjAgQEAgY2xhc3MgSlNPYmplY3Q7CiAvLyB0aGF0IGlmIGEgcHJvcGVydHkgaG9sZGlu
ZyBhIEdldHRlclNldHRlciByZWZlcmVuY2UgaXMgY29uc3RhbnQtaW5mZXJyZWQgYW5kCiAvLyB0
aGF0IGNvbnN0YW50IGlzIG9ic2VydmVkIHRvIGhhdmUgYSBub24tbnVsbCBzZXR0ZXIgKG9yIGdl
dHRlcikgdGhlbiB3ZSBjYW4KIC8vIGNvbnN0YW50IGZvbGQgdGhhdCBzZXR0ZXIgKG9yIGdldHRl
cikuCi1jbGFzcyBHZXR0ZXJTZXR0ZXIgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7
CitjbGFzcyBHZXR0ZXJTZXR0ZXIgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICBmcmllbmQg
Y2xhc3MgSklUOwotICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworCiBwcml2YXRl
OgogICAgIEdldHRlclNldHRlcihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
Ci0gICAgICAgIDogQmFzZSh2bSwgdm0uZ2V0dGVyU2V0dGVyU3RydWN0dXJlLmdldCgpKQorICAg
ICAgICA6IEpTQ2VsbCh2bSwgdm0uZ2V0dGVyU2V0dGVyU3RydWN0dXJlLmdldCgpKQogICAgIHsK
ICAgICAgICAgbV9nZXR0ZXIuc2V0KHZtLCB0aGlzLCBnbG9iYWxPYmplY3QtPm51bGxHZXR0ZXJG
dW5jdGlvbigpKTsKICAgICAgICAgbV9zZXR0ZXIuc2V0KHZtLCB0aGlzLCBnbG9iYWxPYmplY3Qt
Pm51bGxTZXR0ZXJGdW5jdGlvbigpKTsKICAgICB9CiAKIHB1YmxpYzoKLQotICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3Zl
cnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKKyAgICB0eXBl
ZGVmIEpTQ2VsbCBCYXNlOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKIAogICAgIHN0
YXRpYyBHZXR0ZXJTZXR0ZXIqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCiAgICAgewpAQCAtMTI4LDEyICsxMjgsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBPQkpFQ1RfT0ZGU0VUT0YoR2V0dGVyU2V0dGVyLCBtX3NldHRlcik7CiAgICAgfQogCi0gICAg
REVDTEFSRV9FWFBPUlRfSU5GTzsKLQotICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xv
dChKU09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JikgeyBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gZmFsc2U7IH0KLSAgICBzdGF0aWMg
Ym9vbCBwdXQoSlNDZWxsKiwgRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQ
cm9wZXJ0eVNsb3QmKSB7IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBmYWxz
ZTsgfQotICAgIHN0YXRpYyBib29sIGRlZmluZU93blByb3BlcnR5KEpTT2JqZWN0KiwgRXhlY1N0
YXRlKiwgUHJvcGVydHlOYW1lLCBjb25zdCBQcm9wZXJ0eURlc2NyaXB0b3ImLCBib29sKSB7IFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBmYWxzZTsgfQotICAgIHN0YXRpYyBi
b29sIGRlbGV0ZVByb3BlcnR5KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSkgeyBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gZmFsc2U7IH0KKyAgICBERUNMQVJF
X0lORk87CiAKIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PiBtX2dldHRlcjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKaW5kZXggMjE5MzRiYzZiM2ZlOGMz
NjIxYTZkYTAyZTYzMTE1Y2JhNWNhOTYwYS4uZmZmNDA0MjBjYjVhNDgwZWNjNWYxN2U5YWNmOTkw
NzY3N2FmOTMxYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNU
eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKQEAgLTM1
LDYgKzM1LDcgQEAgZW51bSBKU1R5cGUgOiB1aW50OF90IHsKICAgICBTdHJpbmdUeXBlLAogICAg
IFN5bWJvbFR5cGUsCiAKKyAgICBHZXR0ZXJTZXR0ZXJUeXBlLAogICAgIEN1c3RvbUdldHRlclNl
dHRlclR5cGUsCiAgICAgQVBJVmFsdWVXcmFwcGVyVHlwZSwKIApAQCAtNzQsNyArNzUsNiBAQCBl
bnVtIEpTVHlwZSA6IHVpbnQ4X3QgewogICAgIEZsb2F0NjRBcnJheVR5cGUsCiAgICAgRGF0YVZp
ZXdUeXBlLAogCi0gICAgR2V0dGVyU2V0dGVyVHlwZSwKICAgICBHbG9iYWxPYmplY3RUeXBlLAog
ICAgIExleGljYWxFbnZpcm9ubWVudFR5cGUsCiAgICAgR2xvYmFsTGV4aWNhbEVudmlyb25tZW50
VHlwZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5
U2xvdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eVNsb3QuY3Bw
CmluZGV4IDA0MTAxMzk0MzhiNTRjZGQ5MjhmMDEzMjdlNjdmODgyMjA1MGU4NjYuLmFkNTU1Yzdj
ZmFlNWYzYjNhMjY5YzVkODRmNjMzZDc3MjljNTdiYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90LmNwcApAQCAtMzksMjEgKzM5LDQgQEAgSlNWYWx1
ZSBQcm9wZXJ0eVNsb3Q6OmN1c3RvbUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFt
ZSBwcm9wZXJ0eU5hbWUpIGMKICAgICByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKG1fZGF0YS5jdXN0
b20uZ2V0VmFsdWUoZXhlYywgSlNWYWx1ZTo6ZW5jb2RlKHRoaXNWYWx1ZSksIHByb3BlcnR5TmFt
ZSkpOwogfQogCi1KU1ZhbHVlIFByb3BlcnR5U2xvdDo6Z2V0UHVyZVJlc3VsdCgpIGNvbnN0Ci17
Ci0gICAgSlNWYWx1ZSByZXN1bHQ7Ci0gICAgaWYgKGlzVGFpbnRlZEJ5UHJveHkoKSkKLSAgICAg
ICAgcmVzdWx0ID0ganNOdWxsKCk7Ci0gICAgZWxzZSBpZiAoaXNDYWNoZWFibGVWYWx1ZSgpKQot
ICAgICAgICByZXN1bHQgPSBKU1ZhbHVlOjpkZWNvZGUobV9kYXRhLnZhbHVlKTsKLSAgICBlbHNl
IGlmIChpc0NhY2hlYWJsZUdldHRlcigpKQotICAgICAgICByZXN1bHQgPSBnZXR0ZXJTZXR0ZXIo
KTsKLSAgICBlbHNlIGlmIChpc1Vuc2V0KCkpCi0gICAgICAgIHJlc3VsdCA9IGpzVW5kZWZpbmVk
KCk7Ci0gICAgZWxzZQotICAgICAgICByZXN1bHQgPSBqc051bGwoKTsKLSAgICAKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvcGVydHlTbG90LmgKaW5kZXggZDE2M2EyNDEwZTEyYThmOGM4MjE4NWNl
NmUzZWRkZGZiNzIwNjk3Ni4uZDA1ZjcyOTNiNmU3ZjZmYzRkNjcwYjBjZTJmMWM3NDJhMjg4ODAz
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVydHlTbG90LmgKQEAg
LTk0LDcgKzk0LDYgQEAgcHVibGljOgogCiAgICAgSlNWYWx1ZSBnZXRWYWx1ZShFeGVjU3RhdGUq
LCBQcm9wZXJ0eU5hbWUpIGNvbnN0OwogICAgIEpTVmFsdWUgZ2V0VmFsdWUoRXhlY1N0YXRlKiwg
dW5zaWduZWQgcHJvcGVydHlOYW1lKSBjb25zdDsKLSAgICBKU1ZhbHVlIGdldFB1cmVSZXN1bHQo
KSBjb25zdDsKIAogICAgIGJvb2wgaXNDYWNoZWFibGUoKSBjb25zdCB7IHJldHVybiBtX2NhY2hl
YWJpbGl0eSA9PSBDYWNoaW5nQWxsb3dlZCAmJiBtX29mZnNldCAhPSBpbnZhbGlkT2Zmc2V0OyB9
CiAgICAgYm9vbCBpc1Vuc2V0KCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0eVR5cGUgPT0gVHlw
ZVVuc2V0OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94
eU9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eU9iamVjdC5j
cHAKaW5kZXggNTM5MTg1ZjM0Zjc0OTY1MmE2MDVlYTEyZWFiODBhNGNlYzk3OTM4Yy4uOWYxMjRk
MzU2N2JkNDA3YmFkODM2MmE2MjIzNzJkMmY1OGJmODcxMiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1Byb3h5T2JqZWN0LmNwcApAQCAtMzMyLDcgKzMzMiw4IEBAIGJvb2wg
UHJveHlPYmplY3Q6OnBlcmZvcm1IYXNQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5
TmFtZSBwcm9wZXJ0eU5hbWUsCiBib29sIFByb3h5T2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RD
b21tb24oRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0
eVNsb3QmIHNsb3QpCiB7CiAgICAgc2xvdC5kaXNhYmxlQ2FjaGluZygpOwotICAgIHNsb3Quc2V0
SXNUYWludGVkQnlQcm94eSgpOworICAgIGlmIChzbG90LmludGVybmFsTWV0aG9kVHlwZSgpICE9
IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnkpCisgICAgICAgIHNs
b3Quc2V0SXNUYWludGVkQnlQcm94eSgpOwogICAgIHN3aXRjaCAoc2xvdC5pbnRlcm5hbE1ldGhv
ZFR5cGUoKSkgewogICAgIGNhc2UgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6Okdl
dDoKICAgICAgICAgc2xvdC5zZXRDdXN0b20odGhpcywgQ3VzdG9tQWNjZXNzb3IsIHBlcmZvcm1Q
cm94eUdldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L3RyeS1nZXQtYnktaWQuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3Ry
eS1nZXQtYnktaWQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBkOWI2N2MzZmNh
YmY1ZDEwYmZkZTIyYzNiODY0OTMzMTUwNzNjNDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90
cnktZ2V0LWJ5LWlkLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTE3ICswLDAgQEAKLWZ1bmN0aW9u
IHRyeUdldEJ5SWRUZXh0KHByb3BlcnR5TmFtZSkgeyByZXR1cm4gYChmdW5jdGlvbiAoYmFzZSkg
eyByZXR1cm4gQHRyeUdldEJ5SWQoYmFzZSwgJyR7cHJvcGVydHlOYW1lfScpOyB9KWA7IH0KLQot
Ci0vLyBUZXN0IGdldCB2YWx1ZSBvZmYgb2JqZWN0LgotewotICAgIGxldCBnZXRDYWxsZXIgPSBj
cmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJjYWxsZXIiKSk7Ci0gICAgbm9JbmxpbmUoZ2V0
Q2FsbGVyKTsKLSAgICBsZXQgb2JqID0ge2NhbGxlcjogMX07Ci0KLSAgICBmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwMDsgaSsrKSB7Ci0gICAgICAgIGlmIChnZXRDYWxsZXIob2JqKSAhPT0gMSkK
LSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigid3Jvbmcgb24gaXRlcmF0aW9uOiAiICsgaSk7
Ci0gICAgfQotfQotCi0vLyBUZXN0IHNsb3QgaXMgY3VzdG9tIGZ1bmN0aW9uIHRyYXAgZm9yIGEg
dmFsdWUuCi17Ci0gICAgbGV0IGdldENhbGxlciA9IGNyZWF0ZUJ1aWx0aW4odHJ5R2V0QnlJZFRl
eHQoImNhbGxlciIpKTsKLSAgICBub0lubGluZShnZXRDYWxsZXIpOwotICAgIGxldCBmdW5jID0g
ZnVuY3Rpb24gKCkge307Ci0KLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgaSsrKSB7
Ci0gICAgICAgIGlmIChnZXRDYWxsZXIoZnVuYykgIT09IG51bGwpCi0gICAgICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoIndyb25nIG9uIGl0ZXJhdGlvbjogIiArIGkpOwotICAgIH0KLX0KLQotLy8g
VGVzdCBzbG90IGlzIGEgR2V0dGVyU2V0dGVyLgotewotICAgIGxldCBnZXQgPSBjcmVhdGVCdWls
dGluKHRyeUdldEJ5SWRUZXh0KCJnZXR0ZXJTZXR0ZXIiKSk7Ci0gICAgbm9JbmxpbmUoZ2V0KTsK
LSAgICBsZXQgb2JqID0ge307Ci0gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImdldHRl
clNldHRlciIsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHRocm93IG5ldyBFcnJvcigic2hvdWxkIG5v
dCBiZSBjYWxsZWQiKTsgfSB9KTsKLQotICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyBp
KyspIHsKLSAgICAgICAgaWYgKGdldChvYmopICE9PSBnZXRHZXR0ZXJTZXR0ZXIob2JqLCAiZ2V0
dGVyU2V0dGVyIikpCi0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIndyb25nIG9uIGl0ZXJh
dGlvbjogIiArIGkpOwotICAgIH0KLX0KLQotLy8gVGVzdCBzbG90IGlzIHVuc2V0LgotewotICAg
IGxldCBnZXQgPSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJnZXR0ZXJTZXR0ZXIiKSk7
Ci0gICAgbm9JbmxpbmUoZ2V0KTsKLSAgICBsZXQgb2JqID0ge307Ci0KLSAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDEwMDAwMDsgaSsrKSB7Ci0gICAgICAgIGlmIChnZXQob2JqKSAhPT0gdW5kZWZp
bmVkKQotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBvbiBpdGVyYXRpb246ICIg
KyBpKTsKLSAgICB9Ci19Ci0KLS8vIFRlc3Qgc2xvdCBpcyBvbiBhIHByb3h5IHdpdGggdmFsdWUu
Ci17Ci0gICAgbGV0IGdldCA9IGNyZWF0ZUJ1aWx0aW4odHJ5R2V0QnlJZFRleHQoInZhbHVlIikp
OwotICAgIG5vSW5saW5lKGdldCk7Ci0KLSAgICBsZXQgb2JqID0ge3ZhbHVlOiAxfTsKLSAgICBs
ZXQgcCA9IG5ldyBQcm94eShvYmosIHsgZ2V0OiBmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9y
KCJzaG91bGQgbm90IGJlIGNhbGxlZCIpOyB9IH0pOwotCi0gICAgZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwMDA7IGkrKykgewotICAgICAgICBpZiAoZ2V0KHApICE9PSBudWxsKQotICAgICAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBvbiBpdGVyYXRpb246ICIgKyBpKTsKLSAgICB9Ci19
Ci0KLS8vIFRlc3QgbXV0YXRpbmcgaW5saW5lIGNhY2hlLgotewotICAgIGxldCBnZXQgPSBjcmVh
dGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJjYWxsZXIiKSk7Ci0gICAgbm9JbmxpbmUoZ2V0KTsK
LQotICAgIGxldCBvYmogPSB7Y2FsbGVyIDogMX07Ci0gICAgbGV0IGZ1bmMgPSBmdW5jdGlvbigp
IHt9OwotCi0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7IGkrKykgewotICAgICAgICBp
ZiAoaSAlIDEwMCA9PT0gMCkgewotICAgICAgICAgICAgaWYgKGdldChmdW5jKSAhPT0gbnVsbCkK
LSAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIndyb25nIG9uIGl0ZXJhdGlvbjogIiAr
IGkpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYgKGdldChvYmopICE9PSAxKQot
ICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigid3Jvbmcgb24gaXRlcmF0aW9uOiAiICsg
aSk7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLS8vIFRlc3QgbmV3IHR5cGUgb24gZWFjaCBpdGVy
YXRpb24uCi17Ci0gICAgbGV0IGdldCA9IGNyZWF0ZUJ1aWx0aW4odHJ5R2V0QnlJZFRleHQoImNh
bGxlciIpKTsKLSAgICBub0lubGluZShnZXQpOwotCi0gICAgbGV0IGZ1bmMgPSBmdW5jdGlvbigp
IHt9OwotCi0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7IGkrKykgewotICAgICAgICBp
ZiAoaSAlIDEwMCA9PT0gMCkgewotICAgICAgICAgICAgaWYgKGdldChmdW5jKSAhPT0gbnVsbCkK
LSAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIndyb25nIG9uIGl0ZXJhdGlvbjogIiAr
IGkpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgbGV0IG9iaiA9IHtjYWxsZXIgOiAx
fTsKLSAgICAgICAgICAgIGlmIChnZXQob2JqKSAhPT0gMSkKLSAgICAgICAgICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoIndyb25nIG9uIGl0ZXJhdGlvbjogIiArIGkpOwotICAgICAgICB9Ci0gICAg
fQotfQotCi0vLyBUZXN0IHdpdGggYXJyYXkgbGVuZ3RoLiBUaGlzIGlzIG51bGwgYmVjYXVzZSB0
aGUgdmFsdWUgaXMgbm90IGNhY2hlYWJsZS4KLXsKLSAgICBsZXQgZ2V0ID0gY3JlYXRlQnVpbHRp
bih0cnlHZXRCeUlkVGV4dCgibGVuZ3RoIikpOwotICAgIG5vSW5saW5lKGdldCk7Ci0KLSAgICBs
ZXQgYXJyID0gW107Ci0KLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgaSsrKSB7Ci0g
ICAgICAgIGlmIChnZXQoYXJyKSAhPT0gbnVsbCkKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJv
cigid3Jvbmcgb24gaXRlcmF0aW9uOiAiICsgaSk7Ci0KLSAgICB9Ci19Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>