<?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>186233</bug_id>
          
          <creation_ts>2018-06-02 06:52:38 -0700</creation_ts>
          <short_desc>[ESNext][BigInt] Implement support for &quot;&lt;&lt;&quot; and &quot;&gt;&gt;&quot;</short_desc>
          <delta_ts>2018-12-02 09:09:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>190836</dependson>
          <blocked>179001</blocked>
    
    <blocked>192017</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Caio Lima">ticaiolima</reporter>
          <assigned_to name="Caio Lima">ticaiolima</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1429553</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2018-06-02 06:52:38 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471746</commentid>
    <comment_count>1</comment_count>
      <attachid>353017</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2018-10-23 19:36:18 -0700</bug_when>
    <thetext>Created attachment 353017
WIP - Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471748</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-10-23 19:39:31 -0700</bug_when>
    <thetext>Attachment 353017 did not pass style-queue:


ERROR: Source/JavaScriptCore/runtime/JSBigInt.cpp:1244:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/JavaScriptCore/runtime/JSBigInt.cpp:1319:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 2 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471809</commentid>
    <comment_count>3</comment_count>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2018-10-24 05:20:08 -0700</bug_when>
    <thetext>*** Bug 186232 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475987</commentid>
    <comment_count>4</comment_count>
      <attachid>354092</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2018-11-07 07:28:48 -0800</bug_when>
    <thetext>Created attachment 354092
WIP - Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475988</commentid>
    <comment_count>5</comment_count>
      <attachid>354092</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2018-11-07 07:29:20 -0800</bug_when>
    <thetext>Comment on attachment 354092
WIP - Patch

Rebased with master</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478468</commentid>
    <comment_count>6</comment_count>
      <attachid>354818</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2018-11-14 09:20:27 -0800</bug_when>
    <thetext>Created attachment 354818
WIP - Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482276</commentid>
    <comment_count>7</comment_count>
      <attachid>355827</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2018-11-27 17:39:19 -0800</bug_when>
    <thetext>Created attachment 355827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484181</commentid>
    <comment_count>8</comment_count>
      <attachid>355827</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-12-02 00:06:06 -0800</bug_when>
    <thetext>Comment on attachment 355827
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484199</commentid>
    <comment_count>9</comment_count>
      <attachid>355827</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2018-12-02 08:42:20 -0800</bug_when>
    <thetext>Comment on attachment 355827
Patch

Thank you very much for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484200</commentid>
    <comment_count>10</comment_count>
      <attachid>355827</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-02 09:08:53 -0800</bug_when>
    <thetext>Comment on attachment 355827
Patch

Clearing flags on attachment: 355827

Committed r238790: &lt;https://trac.webkit.org/changeset/238790&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484201</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-02 09:08:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484202</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-02 09:09:26 -0800</bug_when>
    <thetext>&lt;rdar://problem/46403139&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353017</attachid>
            <date>2018-10-23 19:36:18 -0700</date>
            <delta_ts>2018-11-07 07:28:45 -0800</delta_ts>
            <desc>WIP - Patch</desc>
            <filename>bug-186233-20181023233615.patch</filename>
            <type>text/plain</type>
            <size>41604</size>
            <attacher name="Caio Lima">ticaiolima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MzM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
NWFhOWRlY2Q2ZTA4MWI1OTM1MTU1MTlkZGUxNzc1MGQ3ZmJiZGE5Li4xNzliOGFlNDA3NzE4ZTRm
OTFhNzNiM2UzNWJmZTk2YTQ5MzIzNDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxOC0xMC0yMyAgQ2FpbyBMaW1hICA8dGljYWlvbGltYUBnbWFpbC5jb20+
CisKKyAgICAgICAgW0VTTmV4dF1bQmlnSW50XSBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgIjw8Igor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg2MjMzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBpcyBpbnRyb2R1Y2luZyBzdXBwb3J0IGZvciBCaWdJbnQgaW50byBsZWZ0IHNoaWZ0IGFuZAor
ICAgICAgICB1bnNpZ25lZCByaWdodCBzaGlmdC4gVGhlIHN1cHBvcnQgaXMgb25seSBpbnRvIExM
SW50IGFuZCBCYXNlbGluZQorICAgICAgICBsYXllcnMsIGJ1dCBKSVQgd2lsbCBiZSBpbnRyb2R1
Y2VkIGluIG5leHQgcGF0Y2hlcyB3aXRoIHRoZQorICAgICAgICBpbnRyb2R1Y3Rpb24gb2YgVmFs
dWUoTFNoaWZ0L1JTaGlmdCkuCisKKyAgICAgICAgKiBydW50aW1lL0NvbW1vblNsb3dQYXRocy5j
cHA6CisgICAgICAgIChKU0M6OlNMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50aW1lL0pT
QmlnSW50LmNwcDoKKyAgICAgICAgKEpTQzo6SlNCaWdJbnQ6OmNyZWF0ZVdpdGhMZW5ndGgpOgor
ICAgICAgICAoSlNDOjpKU0JpZ0ludDo6bGVmdFNoaWZ0KToKKyAgICAgICAgKEpTQzo6SlNCaWdJ
bnQ6OnNpZ25lZFJpZ2h0U2hpZnQpOgorICAgICAgICAoSlNDOjpKU0JpZ0ludDo6bGVmdFNoaWZ0
QnlBYnNvbHV0ZSk6CisgICAgICAgIChKU0M6OkpTQmlnSW50OjpyaWdodFNoaWZ0QnlBYnNvbHV0
ZSk6CisgICAgICAgIChKU0M6OkpTQmlnSW50OjpyaWdodFNoaWZ0QnlNYXhpbXVtKToKKyAgICAg
ICAgKEpTQzo6SlNCaWdJbnQ6OnRvU2hpZnRBbW91bnQpOgorICAgICAgICAqIHJ1bnRpbWUvSlNC
aWdJbnQuaDoKKwogMjAxOC0xMC0yMiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAK
ICAgICAgICAgREZHQWJzdHJhY3RWYWx1ZTo6bV9hcnJheU1vZGVzIGV4cGVjdHMgSW5kZXhpbmdN
b2RlIHZhbHVlcywgbm90IEluZGV4aW5nVHlwZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCmluZGV4IDBhMTMyN2E0NzlmZTEzMzg3MWI4
NDUxMWQ0YTVmOWEzZTc0NmE4NjYuLjdiOGQyNjJlMjJmMmY2YTczNjhhMzcwN2RiZGJjMmJiYWQz
OTVkZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNs
b3dQYXRocy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xv
d1BhdGhzLmNwcApAQCAtNjE5LDIxICs2MTksNDEgQEAgU0xPV19QQVRIX0RFQ0woc2xvd19wYXRo
X3BvdykKIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9sc2hpZnQpCiB7CiAgICAgQkVHSU4oKTsK
LSAgICBpbnQzMl90IGEgPSBPUF9DKDIpLmpzVmFsdWUoKS50b0ludDMyKGV4ZWMpOwotICAgIGlm
IChVTkxJS0VMWSh0aHJvd1Njb3BlLmV4Y2VwdGlvbigpKSkKLSAgICAgICAgUkVUVVJOKEpTVmFs
dWUoKSk7Ci0gICAgdWludDMyX3QgYiA9IE9QX0MoMykuanNWYWx1ZSgpLnRvVUludDMyKGV4ZWMp
OwotICAgIFJFVFVSTihqc051bWJlcihhIDw8IChiICYgMzEpKSk7CisgICAgYXV0byBsZWZ0TnVt
ZXJpYyA9IE9QX0MoMikuanNWYWx1ZSgpLnRvQmlnSW50T3JJbnQzMihleGVjKTsKKyAgICBDSEVD
S19FWENFUFRJT04oKTsKKyAgICBhdXRvIHJpZ2h0TnVtZXJpYyA9IE9QX0MoMykuanNWYWx1ZSgp
LnRvQmlnSW50T3JJbnQzMihleGVjKTsKKyAgICBDSEVDS19FWENFUFRJT04oKTsKKyAgICBpZiAo
V1RGOjpob2xkc19hbHRlcm5hdGl2ZTxKU0JpZ0ludCo+KGxlZnROdW1lcmljKSB8fCBXVEY6Omhv
bGRzX2FsdGVybmF0aXZlPEpTQmlnSW50Kj4ocmlnaHROdW1lcmljKSkgeworICAgICAgICBpZiAo
V1RGOjpob2xkc19hbHRlcm5hdGl2ZTxKU0JpZ0ludCo+KGxlZnROdW1lcmljKSAmJiBXVEY6Omhv
bGRzX2FsdGVybmF0aXZlPEpTQmlnSW50Kj4ocmlnaHROdW1lcmljKSkgeworICAgICAgICAgICAg
SlNCaWdJbnQqIHJlc3VsdCA9IEpTQmlnSW50OjpsZWZ0U2hpZnQoZXhlYywgV1RGOjpnZXQ8SlNC
aWdJbnQqPihsZWZ0TnVtZXJpYyksIFdURjo6Z2V0PEpTQmlnSW50Kj4ocmlnaHROdW1lcmljKSk7
CisgICAgICAgICAgICBDSEVDS19FWENFUFRJT04oKTsKKyAgICAgICAgICAgIFJFVFVSTihyZXN1
bHQpOworICAgICAgICB9CisKKyAgICAgICAgVEhST1coY3JlYXRlVHlwZUVycm9yKGV4ZWMsICJJ
bnZhbGlkIG1peCBvZiBCaWdJbnQgYW5kIG90aGVyIHR5cGUgaW4gbGVmdCBzaGlmdCBvcGVyYXRp
b24uIikpOworICAgIH0KKworICAgIFJFVFVSTihqc051bWJlcihXVEY6OmdldDxpbnQzMl90Pihs
ZWZ0TnVtZXJpYykgPDwgKFdURjo6Z2V0PGludDMyX3Q+KHJpZ2h0TnVtZXJpYykgJiAzMSkpKTsK
IH0KIAogU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX3JzaGlmdCkKIHsKICAgICBCRUdJTigpOwot
ICAgIGludDMyX3QgYSA9IE9QX0MoMikuanNWYWx1ZSgpLnRvSW50MzIoZXhlYyk7Ci0gICAgaWYg
KFVOTElLRUxZKHRocm93U2NvcGUuZXhjZXB0aW9uKCkpKQotICAgICAgICBSRVRVUk4oSlNWYWx1
ZSgpKTsKLSAgICB1aW50MzJfdCBiID0gT1BfQygzKS5qc1ZhbHVlKCkudG9VSW50MzIoZXhlYyk7
Ci0gICAgUkVUVVJOKGpzTnVtYmVyKGEgPj4gKGIgJiAzMSkpKTsKKyAgICBhdXRvIGxlZnROdW1l
cmljID0gT1BfQygyKS5qc1ZhbHVlKCkudG9CaWdJbnRPckludDMyKGV4ZWMpOworICAgIENIRUNL
X0VYQ0VQVElPTigpOworICAgIGF1dG8gcmlnaHROdW1lcmljID0gT1BfQygzKS5qc1ZhbHVlKCku
dG9CaWdJbnRPckludDMyKGV4ZWMpOworICAgIENIRUNLX0VYQ0VQVElPTigpOworICAgIGlmIChX
VEY6OmhvbGRzX2FsdGVybmF0aXZlPEpTQmlnSW50Kj4obGVmdE51bWVyaWMpIHx8IFdURjo6aG9s
ZHNfYWx0ZXJuYXRpdmU8SlNCaWdJbnQqPihyaWdodE51bWVyaWMpKSB7CisgICAgICAgIGlmIChX
VEY6OmhvbGRzX2FsdGVybmF0aXZlPEpTQmlnSW50Kj4obGVmdE51bWVyaWMpICYmIFdURjo6aG9s
ZHNfYWx0ZXJuYXRpdmU8SlNCaWdJbnQqPihyaWdodE51bWVyaWMpKSB7CisgICAgICAgICAgICBK
U0JpZ0ludCogcmVzdWx0ID0gSlNCaWdJbnQ6OnNpZ25lZFJpZ2h0U2hpZnQoZXhlYywgV1RGOjpn
ZXQ8SlNCaWdJbnQqPihsZWZ0TnVtZXJpYyksIFdURjo6Z2V0PEpTQmlnSW50Kj4ocmlnaHROdW1l
cmljKSk7CisgICAgICAgICAgICBDSEVDS19FWENFUFRJT04oKTsKKyAgICAgICAgICAgIFJFVFVS
TihyZXN1bHQpOworICAgICAgICB9CisKKyAgICAgICAgVEhST1coY3JlYXRlVHlwZUVycm9yKGV4
ZWMsICJJbnZhbGlkIG1peCBvZiBCaWdJbnQgYW5kIG90aGVyIHR5cGUgaW4gc2lnbmVkIHJpZ2h0
IHNoaWZ0IG9wZXJhdGlvbi4iKSk7CisgICAgfQorCisgICAgUkVUVVJOKGpzTnVtYmVyKFdURjo6
Z2V0PGludDMyX3Q+KGxlZnROdW1lcmljKSA+PiAoV1RGOjpnZXQ8aW50MzJfdD4ocmlnaHROdW1l
cmljKSAmIDMxKSkpOwogfQogCiBTTE9XX1BBVEhfREVDTChzbG93X3BhdGhfdXJzaGlmdCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmNwcAppbmRleCA0YWI1YTUyMzUz
ZmQxYWU5MjBkMTFiYjM0YmMwNmViNTRmZjg4ZWU3Li4zNzMyNDc1YjQ4ZmE2OTVlOGNjMzMyZjkw
M2ZlZGUxMmU2ZTQ2M2U5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0JpZ0ludC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJ
bnQuY3BwCkBAIC05Myw2ICs5MywxMSBAQCBpbmxpbmUgc2l6ZV90IEpTQmlnSW50OjphbGxvY2F0
aW9uU2l6ZSh1bnNpZ25lZCBsZW5ndGgpCiAKIEpTQmlnSW50KiBKU0JpZ0ludDo6Y3JlYXRlV2l0
aExlbmd0aChWTSYgdm0sIHVuc2lnbmVkIGxlbmd0aCkKIHsKKyAgICAvLyBGSVhNRTogSlNCaWdJ
bnQ6OmNyZWF0ZVdpdGhMZW5ndGggc2hvdWxkIHRocm93IHdoZW4gbGVuZ3RoIGlzCisgICAgLy8g
Z3JlYXRlciB0aGFuIEpTQmlnSW50OjptYXhMZW5ndGguCisgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDgzNgorCisgICAgQVNTRVJUKGxlbmd0aCA8PSBt
YXhMZW5ndGgpOwogICAgIEpTQmlnSW50KiBiaWdJbnQgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRl
Q2VsbDxKU0JpZ0ludD4odm0uaGVhcCwgYWxsb2NhdGlvblNpemUobGVuZ3RoKSkpIEpTQmlnSW50
KHZtLCB2bS5iaWdJbnRTdHJ1Y3R1cmUuZ2V0KCksIGxlbmd0aCk7CiAgICAgYmlnSW50LT5maW5p
c2hDcmVhdGlvbih2bSk7CiAgICAgcmV0dXJuIGJpZ0ludDsKQEAgLTQ1NCw2ICs0NTksMzAgQEAg
SlNCaWdJbnQqIEpTQmlnSW50OjpiaXR3aXNlWG9yKFZNJiB2bSwgSlNCaWdJbnQqIHgsIEpTQmln
SW50KiB5KQogICAgIHJldHVybiBhYnNvbHV0ZUFkZE9uZSh2bSwgcmVzdWx0LCBTaWduT3B0aW9u
OjpTaWduZWQpOwogfQogCitKU0JpZ0ludCogSlNCaWdJbnQ6OmxlZnRTaGlmdChFeGVjU3RhdGUq
IGV4ZWMsIEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSkKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52
bSgpOworICAgIGlmICh5LT5pc1plcm8oKSB8fCB4LT5pc1plcm8oKSkKKyAgICAgICAgcmV0dXJu
IHg7CisKKyAgICBpZiAoeS0+c2lnbigpKQorICAgICAgICByZXR1cm4gcmlnaHRTaGlmdEJ5QWJz
b2x1dGUodm0sIHgsIHkpOworCisgICAgcmV0dXJuIGxlZnRTaGlmdEJ5QWJzb2x1dGUoZXhlYywg
eCwgeSk7Cit9CisKK0pTQmlnSW50KiBKU0JpZ0ludDo6c2lnbmVkUmlnaHRTaGlmdChFeGVjU3Rh
dGUqIGV4ZWMsIEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSkKK3sKKyAgICBWTSYgdm0gPSBleGVj
LT52bSgpOworICAgIGlmICh5LT5pc1plcm8oKSB8fCB4LT5pc1plcm8oKSkKKyAgICAgICAgcmV0
dXJuIHg7CisgICAgCisgICAgaWYgKHktPnNpZ24oKSkKKyAgICAgICAgcmV0dXJuIGxlZnRTaGlm
dEJ5QWJzb2x1dGUoZXhlYywgeCwgeSk7CisKKyAgICByZXR1cm4gcmlnaHRTaGlmdEJ5QWJzb2x1
dGUodm0sIHgsIHkpOworfQorCiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICNkZWZpbmUgSEFWRV9U
V09fRElHSVQgMQogdHlwZWRlZiB1aW50NjRfdCBUd29EaWdpdDsKQEAgLTExOTcsNiArMTIyNiwx
MzggQEAgSlNCaWdJbnQqIEpTQmlnSW50OjphYnNvbHV0ZVN1Yk9uZShWTSYgdm0sIEpTQmlnSW50
KiB4LCB1bnNpZ25lZCByZXN1bHRMZW5ndGgpCiAgICAgcmV0dXJuIHJlc3VsdC0+cmlnaHRUcmlt
KHZtKTsKIH0KIAorSlNCaWdJbnQqIEpTQmlnSW50OjpsZWZ0U2hpZnRCeUFic29sdXRlKEV4ZWNT
dGF0ZSogZXhlYywgSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KQoreworICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisg
ICAgYXV0byBvcHRpb25hbFNoaWZ0ID0gdG9TaGlmdEFtb3VudCh5KTsKKyAgICBpZiAoIW9wdGlv
bmFsU2hpZnQpIHsKKyAgICAgICAgdGhyb3dSYW5nZUVycm9yKGV4ZWMsIHNjb3BlLCAiQmlnSW50
IGdlbmVyYXRlZCBmcm9tIHRoaXMgb3BlcmF0aW9uIGlzIHRvbyBiaWciX3MpOworICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICBEaWdpdCBzaGlmdCA9ICpvcHRpb25hbFNoaWZ0
OworICAgIHVuc2lnbmVkIGRpZ2l0U2hpZnQgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc2hpZnQg
LyBkaWdpdEJpdHMpOworICAgIHVuc2lnbmVkIGJpdHNTaGlmdCA9IHN0YXRpY19jYXN0PHVuc2ln
bmVkPihzaGlmdCAlIGRpZ2l0Qml0cyk7CisgICAgdW5zaWduZWQgbGVuZ3RoID0geC0+bGVuZ3Ro
KCk7CisgICAgYm9vbCBncm93ID0gYml0c1NoaWZ0ICE9IDAgJiYgKHgtPmRpZ2l0KGxlbmd0aCAt
IDEpID4+IChkaWdpdEJpdHMgLSBiaXRzU2hpZnQpKSAhPSAwOworICAgIGludCByZXN1bHRMZW5n
dGggPSBsZW5ndGggKyBkaWdpdFNoaWZ0ICsgZ3JvdzsKKyAgICBpZiAoc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KHJlc3VsdExlbmd0aCkgPiBtYXhMZW5ndGgpIHsKKyAgICAgICAgdGhyb3dSYW5nZUVy
cm9yKGV4ZWMsIHNjb3BlLCAiQmlnSW50IGdlbmVyYXRlZCBmcm9tIHRoaXMgb3BlcmF0aW9uIGlz
IHRvbyBiaWciX3MpOyAKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgSlNC
aWdJbnQqIHJlc3VsdCA9IGNyZWF0ZVdpdGhMZW5ndGgodm0sIHJlc3VsdExlbmd0aCk7CisgICAg
QVNTRVJUKHJlc3VsdCk7CisgICAgaWYgKCFiaXRzU2hpZnQpIHsKKyAgICAgICAgdW5zaWduZWQg
aSA9IDA7CisgICAgICAgIGZvciAoOyBpIDwgZGlnaXRTaGlmdDsgaSsrKQorICAgICAgICAgICAg
cmVzdWx0LT5zZXREaWdpdChpLCAwdWwpOworCisgICAgICAgIGZvciAoOyBpIDwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KHJlc3VsdExlbmd0aCk7IGkrKykKKyAgICAgICAgICAgIHJlc3VsdC0+c2V0
RGlnaXQoaSwgeC0+ZGlnaXQoaSAtIGRpZ2l0U2hpZnQpKTsKKyAgICB9IGVsc2UgeworICAgICAg
ICBEaWdpdCBjYXJyeSA9IDA7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBkaWdp
dFNoaWZ0OyBpKyspCisgICAgICAgICAgICByZXN1bHQtPnNldERpZ2l0KGksIDB1bCk7CisKKyAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CisgICAgICAgICAg
ICBEaWdpdCBkID0geC0+ZGlnaXQoaSk7CisgICAgICAgICAgICByZXN1bHQtPnNldERpZ2l0KGkg
KyBkaWdpdFNoaWZ0LCAoZCA8PCBiaXRzU2hpZnQpIHwgY2FycnkpOworICAgICAgICAgICAgY2Fy
cnkgPSBkID4+IChkaWdpdEJpdHMgLSBiaXRzU2hpZnQpOworICAgICAgICB9CisKKyAgICAgICAg
aWYgKGdyb3cpCisgICAgICAgICAgICByZXN1bHQtPnNldERpZ2l0KGxlbmd0aCArIGRpZ2l0U2hp
ZnQsIGNhcnJ5KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgQVNTRVJUKCFjYXJyeSk7Cisg
ICAgfQorCisgICAgcmVzdWx0LT5zZXRTaWduKHgtPnNpZ24oKSk7CisgICAgcmV0dXJuIHJlc3Vs
dC0+cmlnaHRUcmltKHZtKTsKK30KKworSlNCaWdJbnQqIEpTQmlnSW50OjpyaWdodFNoaWZ0QnlB
YnNvbHV0ZShWTSYgdm0sIEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSkKK3sKKyAgICB1bnNpZ25l
ZCBsZW5ndGggPSB4LT5sZW5ndGgoKTsKKyAgICBib29sIHNpZ24gPSB4LT5zaWduKCk7CisgICAg
YXV0byBvcHRpb25hbFNoaWZ0ID0gdG9TaGlmdEFtb3VudCh5KTsKKyAgICBpZiAoIW9wdGlvbmFs
U2hpZnQpCisgICAgICAgIHJldHVybiByaWdodFNoaWZ0QnlNYXhpbXVtKHZtLCBzaWduKTsKKwor
ICAgIERpZ2l0IHNoaWZ0ID0gKm9wdGlvbmFsU2hpZnQ7CisgICAgdW5zaWduZWQgZGlnaXRhbFNo
aWZ0ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHNoaWZ0IC8gZGlnaXRCaXRzKTsKKyAgICB1bnNp
Z25lZCBiaXRzU2hpZnQgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc2hpZnQgJSBkaWdpdEJpdHMp
OworICAgIGludCByZXN1bHRMZW5ndGggPSBsZW5ndGggLSBkaWdpdGFsU2hpZnQ7CisgICAgaWYg
KHJlc3VsdExlbmd0aCA8PSAwKQorICAgICAgICByZXR1cm4gcmlnaHRTaGlmdEJ5TWF4aW11bSh2
bSwgc2lnbik7CisKKyAgICAvLyBGb3IgbmVnYXRpdmUgbnVtYmVycywgcm91bmQgZG93biBpZiBh
bnkgYml0IHdhcyBzaGlmdGVkIG91dCAoc28gdGhhdCBlLmcuCisgICAgLy8gLTVuID4+IDFuID09
IC0zbiBhbmQgbm90IC0ybikuIENoZWNrIG5vdyB3aGV0aGVyIHRoaXMgd2lsbCBoYXBwZW4gYW5k
CisgICAgLy8gd2hldGhlciBpdCBjYW4gY2F1c2Ugb3ZlcmZsb3cgaW50byBhIG5ldyBkaWdpdC4g
SWYgd2UgYWxsb2NhdGUgdGhlIHJlc3VsdAorICAgIC8vIGxhcmdlIGVub3VnaCB1cCBmcm9udCwg
aXQgYXZvaWRzIGhhdmluZyB0byBkbyBhIHNlY29uZCBhbGxvY2F0aW9uIGxhdGVyLgorICAgIGJv
b2wgbXVzdFJvdW5kRG93biA9IGZhbHNlOworICAgIGlmIChzaWduKSB7CisgICAgICAgIGNvbnN0
IERpZ2l0IG1hc2sgPSAoc3RhdGljX2Nhc3Q8RGlnaXQ+KDEpIDw8IGJpdHNTaGlmdCkgLSAxOwor
ICAgICAgICBpZiAoeC0+ZGlnaXQoZGlnaXRhbFNoaWZ0KSAmIG1hc2spCisgICAgICAgICAgICBt
dXN0Um91bmREb3duID0gdHJ1ZTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgZGlnaXRhbFNoaWZ0OyBpKyspIHsKKyAgICAgICAgICAgICAgICBp
ZiAoeC0+ZGlnaXQoaSkpIHsKKyAgICAgICAgICAgICAgICAgICAgbXVzdFJvdW5kRG93biA9IHRy
dWU7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIElmIGJpdHNTaGlmdCBpcyBub24t
emVybywgaXQgZnJlZXMgdXAgYml0cywgcHJldmVudGluZyBvdmVyZmxvdy4KKyAgICBpZiAoISht
dXN0Um91bmREb3duICYmIGJpdHNTaGlmdCkpIHsKKyAgICAgICAgLy8gT3ZlcmZsb3cgY2Fubm90
IGhhcHBlbiBpZiB0aGUgbW9zdCBzaWduaWZpY2FudCBkaWdpdCBoYXMgdW5zZXQgYml0cy4KKyAg
ICAgICAgRGlnaXQgbXNkID0geC0+ZGlnaXQobGVuZ3RoIC0gMSk7CisgICAgICAgIGJvb2wgcm91
bmRpbmdDYW5PdmVyZmxvdyA9IHN0YXRpY19jYXN0PERpZ2l0Pih+bXNkKSA9PSAwOworICAgICAg
ICBpZiAocm91bmRpbmdDYW5PdmVyZmxvdykKKyAgICAgICAgICAgIHJlc3VsdExlbmd0aCsrOwor
ICAgIH0KKyAgICAKKyAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHJlc3VsdExlbmd0
aCkgPD0gbGVuZ3RoKTsKKyAgICBKU0JpZ0ludCogcmVzdWx0ID0gY3JlYXRlV2l0aExlbmd0aCh2
bSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHJlc3VsdExlbmd0aCkpOworICAgIGlmICghYml0c1No
aWZ0KSB7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGRpZ2l0YWxTaGlmdDsgaSA8IGxlbmd0
aDsgaSsrKQorICAgICAgICAgICAgcmVzdWx0LT5zZXREaWdpdChpIC0gZGlnaXRhbFNoaWZ0LCB4
LT5kaWdpdChpKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgRGlnaXQgY2FycnkgPSB4LT5kaWdp
dChkaWdpdGFsU2hpZnQpID4+IGJpdHNTaGlmdDsKKyAgICAgICAgdW5zaWduZWQgbGFzdCA9IGxl
bmd0aCAtIGRpZ2l0YWxTaGlmdCAtIDE7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBsYXN0OyBpKyspIHsKKyAgICAgICAgICAgIERpZ2l0IGQgPSB4LT5kaWdpdChpICsgZGlnaXRh
bFNoaWZ0ICsgMSk7CisgICAgICAgICAgICByZXN1bHQtPnNldERpZ2l0KGksIChkIDw8IChkaWdp
dEJpdHMgLSBiaXRzU2hpZnQpKSB8IGNhcnJ5KTsKKyAgICAgICAgICAgIGNhcnJ5ID0gZCA+PiBi
aXRzU2hpZnQ7CisgICAgICAgIH0KKyAgICAgICAgcmVzdWx0LT5zZXREaWdpdChsYXN0LCBjYXJy
eSk7CisgICAgfQorICAgIAorICAgIGlmIChzaWduKSB7CisgICAgICAgIHJlc3VsdC0+c2V0U2ln
bih0cnVlKTsKKyAgICAgICAgaWYgKG11c3RSb3VuZERvd24pIHsKKyAgICAgICAgICAgIC8vIFNp
bmNlIHRoZSByZXN1bHQgaXMgbmVnYXRpdmUsIHJvdW5kaW5nIGRvd24gbWVhbnMgYWRkaW5nIG9u
ZSB0bworICAgICAgICAgICAgLy8gaXRzIGFic29sdXRlIHZhbHVlLiBUaGlzIGNhbm5vdCBvdmVy
Zmxvdy4KKyAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC0+cmlnaHRUcmltKHZtKTsKKyAgICAg
ICAgICAgIHJldHVybiBhYnNvbHV0ZUFkZE9uZSh2bSwgcmVzdWx0LCBTaWduT3B0aW9uOjpTaWdu
ZWQpOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHJlc3VsdC0+cmlnaHRUcmltKHZt
KTsKK30KKworSlNCaWdJbnQqIEpTQmlnSW50OjpyaWdodFNoaWZ0QnlNYXhpbXVtKFZNJiB2bSwg
Ym9vbCBzaWduKQoreworICAgIGlmIChzaWduKQorICAgICAgICByZXR1cm4gY3JlYXRlRnJvbSh2
bSwgLTEpOworCisgICAgcmV0dXJuIGNyZWF0ZVplcm8odm0pOworfQorCiAvLyBMb29rdXAgdGFi
bGUgZm9yIHRoZSBtYXhpbXVtIG51bWJlciBvZiBiaXRzIHJlcXVpcmVkIHBlciBjaGFyYWN0ZXIg
b2YgYQogLy8gYmFzZS1OIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIG51bWJlci4gVG8gaW5j
cmVhc2UgYWNjdXJhY3ksIHRoZSBhcnJheQogLy8gdmFsdWUgaXMgdGhlIGFjdHVhbCB2YWx1ZSBt
dWx0aXBsaWVkIGJ5IDMyLiBUbyBnZW5lcmF0ZSB0aGlzIHRhYmxlOgpAQCAtMTc0NCw0ICsxOTA1
LDE4IEBAIEpTQmlnSW50OjpDb21wYXJpc29uUmVzdWx0IEpTQmlnSW50Ojpjb21wYXJlVG9Eb3Vi
bGUoSlNCaWdJbnQqIHgsIGRvdWJsZSB5KQogICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0OjpF
cXVhbDsKIH0KIAorc3RkOjpvcHRpb25hbDxKU0JpZ0ludDo6RGlnaXQ+IEpTQmlnSW50Ojp0b1No
aWZ0QW1vdW50KEpTQmlnSW50KiB4KQoreworICAgIGlmICh4LT5sZW5ndGgoKSA+IDEpCisgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBEaWdpdCB2YWx1ZSA9IHgtPmRpZ2l0KDAp
OworICAgIHN0YXRpY19hc3NlcnQobWF4TGVuZ3RoQml0cyA8IHN0ZDo6bnVtZXJpY19saW1pdHM8
RGlnaXQ+OjptYXgoKSwgIm1heExlbmd0aEJpdHMgbmVlZHMgdG8gYmUgbGVzcyB0aGFuIGRpZ2l0
Iik7CisKKyAgICBpZiAodmFsdWUgPiBtYXhMZW5ndGhCaXRzKQorICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OworCisgICAgcmV0dXJuIHZhbHVlOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5oCmluZGV4IGE2MmUxMzhhZDY2
NTUzYzkzOTU4NmJlNjk1YTFkZTE1YWUzOGU0NTAuLjE4MTdjNzNkYTYxZGQ3NTE4NzM2NDAxMmQw
OTU5YjFmMzA1NjQ0MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQmlnSW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQu
aApAQCAtMTE4LDYgKzExOCw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSlNCaWdJbnQqIGJpdHdp
c2VPcihWTSYsIEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSk7CiAgICAgc3RhdGljIEpTQmlnSW50
KiBiaXR3aXNlWG9yKFZNJiwgSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KTsKIAorICAgIHN0YXRp
YyBKU0JpZ0ludCogbGVmdFNoaWZ0KEV4ZWNTdGF0ZSosIEpTQmlnSW50KiB4LCBKU0JpZ0ludCog
eSk7CisgICAgc3RhdGljIEpTQmlnSW50KiBzaWduZWRSaWdodFNoaWZ0KEV4ZWNTdGF0ZSosIEpT
QmlnSW50KiB4LCBKU0JpZ0ludCogeSk7CisKIHByaXZhdGU6CiAKICAgICB1c2luZyBEaWdpdCA9
IFVDUFVSZWdpc3RlcjsKQEAgLTEzMiw2ICsxMzUsNyBAQCBwcml2YXRlOgogICAgIC8vIHJhaXNp
bmcgaXQgbGF0ZXIgaXMgZWFzaWVyIHRoYW4gbG93ZXJpbmcgaXQuCiAgICAgLy8gU3VwcG9ydCB1
cCB0byAxIG1pbGxpb24gYml0cy4KICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIG1heExl
bmd0aCA9IDEwMjQgKiAxMDI0IC8gKHNpemVvZih2b2lkKikgKiBiaXRzUGVyQnl0ZSk7CisgICAg
c3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBtYXhMZW5ndGhCaXRzID0gbWF4SW50IC0gc2l6ZW9m
KHZvaWQqKSAqIGJpdHNQZXJCeXRlIC0gMTsKICAgICAKICAgICBzdGF0aWMgdWludDY0X3QgY2Fs
Y3VsYXRlTWF4aW11bUNoYXJhY3RlcnNSZXF1aXJlZCh1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVk
IHJhZGl4LCBEaWdpdCBsYXN0RGlnaXQsIGJvb2wgc2lnbik7CiAgICAgCkBAIC0yMDUsNyArMjA5
LDE0IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbnBsYWNlTXVsdGlwbHlBZGQoRGlnaXQgbXVsdGlw
bGllciwgRGlnaXQgcGFydCk7CiAgICAgc3RhdGljIEpTQmlnSW50KiBhYnNvbHV0ZUFkZChWTSYs
IEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSwgYm9vbCByZXN1bHRTaWduKTsKICAgICBzdGF0aWMg
SlNCaWdJbnQqIGFic29sdXRlU3ViKFZNJiwgSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5LCBib29s
IHJlc3VsdFNpZ24pOwotICAgIAorCisgICAgc3RhdGljIEpTQmlnSW50KiBsZWZ0U2hpZnRCeUFi
c29sdXRlKEV4ZWNTdGF0ZSosIEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSk7CisgICAgc3RhdGlj
IEpTQmlnSW50KiByaWdodFNoaWZ0QnlBYnNvbHV0ZShWTSYsIEpTQmlnSW50KiB4LCBKU0JpZ0lu
dCogeSk7CisKKyAgICBzdGF0aWMgSlNCaWdJbnQqIHJpZ2h0U2hpZnRCeU1heGltdW0oVk0mLCBi
b29sIHNpZ24pOworCisgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8RGlnaXQ+IHRvU2hpZnRBbW91
bnQoSlNCaWdJbnQqIHgpOworCiAgICAgc3RhdGljIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSh1bnNp
Z25lZCBsZW5ndGgpOwogICAgIHN0YXRpYyBzaXplX3Qgb2Zmc2V0T2ZEYXRhKCk7CiAgICAgRGln
aXQqIGRhdGFTdG9yYWdlKCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDk3YTVlM2FkZTE4NjY2N2YyYmRmYWE4MGQxMDJhZmYwOGIyZTYz
NjYuLmM3NmNiZTMwNWYxYWNjOWI5NzQwNTliZDRlMGVjYTkxZjI2MWUxMGUgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTgtMTAtMjMgIENhaW8gTGltYSAgPHRpY2Fpb2xpbWFAZ21haWwuY29tPgorCisgICAg
ICAgIFtFU05leHRdW0JpZ0ludF0gSW1wbGVtZW50IHN1cHBvcnQgZm9yICI8PCIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjIzMworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNzL2JpZy1pbnQt
bGVmdC1zaGlmdC1nZW5lcmFsLmpzOiBBZGRlZC4KKyAgICAgICAgKiBzdHJlc3MvYmlnLWludC1s
ZWZ0LXNoaWZ0LXJhbmdlLWVycm9yLmpzOiBBZGRlZC4KKyAgICAgICAgKiBzdHJlc3MvYmlnLWlu
dC1sZWZ0LXNoaWZ0LXR5cGUtZXJyb3IuanM6IEFkZGVkLgorICAgICAgICAqIHN0cmVzcy9iaWct
aW50LWxlZnQtc2hpZnQtd3JhcHBlZC12YWx1ZS5qczogQWRkZWQuCisgICAgICAgICogc3RyZXNz
L2JpZy1pbnQtcmlnaHQtc2hpZnQtZ2VuZXJhbC5qczogQWRkZWQuCisgICAgICAgICogc3RyZXNz
L2JpZy1pbnQtcmlnaHQtc2hpZnQtdHlwZS1lcnJvci5qczogQWRkZWQuCisgICAgICAgICogc3Ry
ZXNzL2JpZy1pbnQtcmlnaHQtc2hpZnQtd3JhcHBlZC12YWx1ZS5qczogQWRkZWQuCisgICAgICAg
ICogc3RyZXNzL2xlZnQtc2hpZnQtdG8tcHJpbWl0aXZlLXByZWNlZGVuY2UuanM6IEFkZGVkLgor
ICAgICAgICAqIHN0cmVzcy9yaWdodC1zaGlmdC10by1wcmltaXRpdmUtcHJlY2VkZW5jZS5qczog
QWRkZWQuCisKIDIwMTgtMTAtMjIgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIERGR0Fic3RyYWN0VmFsdWU6Om1fYXJyYXlNb2RlcyBleHBlY3RzIEluZGV4aW5nTW9k
ZSB2YWx1ZXMsIG5vdCBJbmRleGluZ1R5cGUuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9i
aWctaW50LWxlZnQtc2hpZnQtZ2VuZXJhbC5qcyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtbGVm
dC1zaGlmdC1nZW5lcmFsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2ZWRiZWJjNzEzY2M1ZGQ3MjM2MDY1MTk4
NjdkYjM2NjI4ZmY5NWYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50
LWxlZnQtc2hpZnQtZ2VuZXJhbC5qcwpAQCAtMCwwICsxLDEwMyBAQAorLy9AIHJ1bkJpZ0ludEVu
YWJsZWQKKworLy8gQ29weXJpZ2h0IChDKSAyMDE3IEpvc2ggV29sZmUuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKK2Z1bmN0aW9uIGFzc2VydChhKSB7CisgICAgaWYgKCFh
KQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NlcnRpb24iKTsKK30KKworYXNzZXJ0
LnNhbWVWYWx1ZSA9IGZ1bmN0aW9uIChpbnB1dCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgICBp
ZiAoaW5wdXQgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7
Cit9CisKK2Fzc2VydC5zYW1lVmFsdWUoMG4gPDwgMG4sIDBuLCAiMG4gPDwgMG4gPT09IDBuIik7
Cithc3NlcnQuc2FtZVZhbHVlKDBiMTAxbiA8PCAxbiwgMGIxMDEwbiwgIjBiMTAxbiA8PCAxbiA9
PT0gMGIxMDEwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgwYjEwMW4gPDwgMm4sIDBiMTAxMDBuLCAi
MGIxMDFuIDw8IDJuID09PSAwYjEwMTAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgwYjEwMW4gPDwg
M24sIDBiMTAxMDAwbiwgIjBiMTAxbiA8PCAzbiA9PT0gMGIxMDEwMDBuIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKDBiMTAxbiA8PCAtMW4sIDBiMTBuLCAiMGIxMDFuIDw8IC0xbiA9PT0gMGIxMG4iKTsK
K2Fzc2VydC5zYW1lVmFsdWUoMGIxMDFuIDw8IC0ybiwgMW4sICIwYjEwMW4gPDwgLTJuID09PSAx
biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgwYjEwMW4gPDwgLTNuLCAwbiwgIjBiMTAxbiA8PCAtM24g
PT09IDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKDBuIDw8IDEyOG4sIDBuLCAiMG4gPDwgMTI4biA9
PT0gMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMG4gPDwgLTEyOG4sIDBuLCAiMG4gPDwgLTEyOG4g
PT09IDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKDB4MjQ2biA8PCAwbiwgMHgyNDZuLCAiMHgyNDZu
IDw8IDBuID09PSAweDI0Nm4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMHgyNDZuIDw8IDEyN24sIDB4
MTIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuLCAiMHgyNDZuIDw8IDEyN24gPT09
IDB4MTIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZh
bHVlKDB4MjQ2biA8PCAxMjhuLCAweDI0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
biwgIjB4MjQ2biA8PCAxMjhuID09PSAweDI0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgweDI0Nm4gPDwgMTI5biwgMHg0OGMwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4sICIweDI0Nm4gPDwgMTI5biA9PT0gMHg0OGMwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMHgyNDZuIDw8
IC0xMjhuLCAwbiwgIjB4MjQ2biA8PCAtMTI4biA9PT0gMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IDY0biwgMHgx
MjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDAwMDAwMDAwMDAwMDBuLAor
ICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgNjRuID09PSAw
eDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMDAwMDAwMDAwMDAwMG4i
KTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMy
MTIzNDU2NzhuIDw8IDMybiwgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3
ODAwMDAwMDAwbiwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2Nzhu
IDw8IDMybiA9PT0gMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDAw
MDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3
NjU0MzIxMjM0NTY3OG4gPDwgMTZuLCAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEy
MzQ1Njc4MDAwMG4sCisgICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4
biA8PCAxNm4gPT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAw
biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0
MzIxMjM0NTY3OG4gPDwgMG4sIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2
NzhuLAorICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgMG4g
PT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIik7Cithc3NlcnQu
c2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8
PCAtMTZuLCAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzRuLAorICAiMHgxMjM0
NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTE2biA9PT0gMHgxMjM0NTY3
ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgMHgx
MjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTMybiwgMHgxMjM0NTY3
ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzJuLAorICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3
NjU0MzIxMjM0NTY3OG4gPDwgLTMybiA9PT0gMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0
MzJuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2
NTQzMjEyMzQ1Njc4biA8PCAtNjRuLCAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmFuLAorICAiMHgx
MjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTY0biA9PT0gMHgxMjM0
NTY3ODlhYmNkZWYwZmVkY2JhbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgMHgxMjM0NTY3ODlh
YmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTEyN24sIDB4MjQ2OGFjbiwKKyAgIjB4
MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IC0xMjduID09PSAweDI0
NjhhY24iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4
NzY1NDMyMTIzNDU2NzhuIDw8IC0xMjhuLCAweDEyMzQ1Nm4sCisgICIweDEyMzQ1Njc4OWFiY2Rl
ZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtMTI4biA9PT0gMHgxMjM0NTZuIik7Cithc3Nl
cnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4
biA8PCAtMTI5biwgMHg5MWEyYm4sCisgICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQz
MjEyMzQ1Njc4biA8PCAtMTI5biA9PT0gMHg5MWEyYm4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTVu
IDw8IDFuLCAtMHhhbiwgIi01biA8PCAxbiA9PT0gLTB4YW4iKTsKK2Fzc2VydC5zYW1lVmFsdWUo
LTVuIDw8IDJuLCAtMHgxNG4sICItNW4gPDwgMm4gPT09IC0weDE0biIpOworYXNzZXJ0LnNhbWVW
YWx1ZSgtNW4gPDwgM24sIC0weDI4biwgIi01biA8PCAzbiA9PT0gLTB4MjhuIik7Cithc3NlcnQu
c2FtZVZhbHVlKC01biA8PCAtMW4sIC0zbiwgIi01biA8PCAtMW4gPT09IC0zbiIpOworYXNzZXJ0
LnNhbWVWYWx1ZSgtNW4gPDwgLTJuLCAtMm4sICItNW4gPDwgLTJuID09PSAtMm4iKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoLTVuIDw8IC0zbiwgLTFuLCAiLTVuIDw8IC0zbiA9PT0gLTFuIik7Cithc3Nl
cnQuc2FtZVZhbHVlKC0xbiA8PCAxMjhuLCAtMHgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDBuLCAiLTFuIDw8IDEyOG4gPT09IC0weDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTFuIDw8IDBuLCAtMW4sICItMW4gPDwgMG4gPT09
IC0xbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtMW4gPDwgLTEyOG4sIC0xbiwgIi0xbiA8PCAtMTI4
biA9PT0gLTFuIik7Cithc3NlcnQuc2FtZVZhbHVlKC0weDI0Nm4gPDwgMG4sIC0weDI0Nm4sICIt
MHgyNDZuIDw8IDBuID09PSAtMHgyNDZuIik7Cithc3NlcnQuc2FtZVZhbHVlKC0weDI0Nm4gPDwg
MTI3biwgLTB4MTIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuLCAiLTB4MjQ2biA8
PCAxMjduID09PSAtMHgxMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoLTB4MjQ2biA8PCAxMjhuLCAtMHgyNDYwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMG4sICItMHgyNDZuIDw8IDEyOG4gPT09IC0weDI0NjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtMHgyNDZuIDw8IDEyOW4s
IC0weDQ4YzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiwgIi0weDI0Nm4gPDwgMTI5
biA9PT0gLTB4NDhjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuIik7Cithc3NlcnQu
c2FtZVZhbHVlKC0weDI0Nm4gPDwgLTEyOG4sIC0xbiwgIi0weDI0Nm4gPDwgLTEyOG4gPT09IC0x
biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1
NDMyMTIzNDU2NzhuIDw8IDY0biwgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIz
NDU2NzgwMDAwMDAwMDAwMDAwMDAwbiwKKyAgIi0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2
NTQzMjEyMzQ1Njc4biA8PCA2NG4gPT09IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQz
MjEyMzQ1Njc4MDAwMDAwMDAwMDAwMDAwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIC0weDEy
MzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAzMm4sIC0weDEyMzQ1Njc4
OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMDAwMDBuLAorICAiLTB4MTIzNDU2Nzg5
YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IDMybiA9PT0gLTB4MTIzNDU2Nzg5YWJj
ZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAxNm4sIC0w
eDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMG4sCisgICItMHgxMjM0
NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgMTZuID09PSAtMHgxMjM0NTY3
ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVl
KAorICAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgMG4sIC0w
eDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biwKKyAgIi0weDEyMzQ1Njc4
OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAwbiA9PT0gLTB4MTIzNDU2Nzg5YWJj
ZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAtMHgx
MjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTE2biwgLTB4MTIzNDU2
Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNW4sCisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVk
Y2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTE2biA9PT0gLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNi
YTk4NzY1NDMyMTIzNW4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFiY2Rl
ZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtMzJuLCAtMHgxMjM0NTY3ODlhYmNkZWYwZmVk
Y2JhOTg3NjU0MzNuLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2
NzhuIDw8IC0zMm4gPT09IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzM24iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1
Njc4biA8PCAtNjRuLCAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JibiwKKyAgIi0weDEyMzQ1Njc4
OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtNjRuID09PSAtMHgxMjM0NTY3ODlh
YmNkZWYwZmVkY2JibiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVm
MGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IC0xMjduLCAtMHgyNDY4YWRuLAorICAiLTB4MTIz
NDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IC0xMjduID09PSAtMHgyNDY4
YWRuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3
NjU0MzIxMjM0NTY3OG4gPDwgLTEyOG4sIC0weDEyMzQ1N24sCisgICItMHgxMjM0NTY3ODlhYmNk
ZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTEyOG4gPT09IC0weDEyMzQ1N24iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1
Njc4biA8PCAtMTI5biwgLTB4OTFhMmNuLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4
NzY1NDMyMTIzNDU2NzhuIDw8IC0xMjluID09PSAtMHg5MWEyY24iKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvc3RyZXNzL2JpZy1pbnQtbGVmdC1zaGlmdC1yYW5nZS1lcnJvci5qcyBiL0pTVGVzdHMv
c3RyZXNzL2JpZy1pbnQtbGVmdC1zaGlmdC1yYW5nZS1lcnJvci5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMmFj
MTJjMWZjMTQ4MGUyNzBlYmNiMmE4ODJjYzBmZjg1YjYyMzY3Ci0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy9zdHJlc3MvYmlnLWludC1sZWZ0LXNoaWZ0LXJhbmdlLWVycm9yLmpzCkBAIC0wLDAg
KzEsMjIgQEAKKy8vQCBydW5CaWdJbnRFbmFibGVkCisKK2Z1bmN0aW9uIGFzc2VydChhLCBtZXNz
YWdlKSB7CisgICAgaWYgKCFhKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7Cit9
CisKK2Z1bmN0aW9uIGFzc2VydFRocm93UmFuZ2VFcnJvcihhLCBiLCBtZXNzYWdlKSB7CisgICAg
dHJ5IHsKKyAgICAgICAgbGV0IG4gPSBhIDw8IGI7CisgICAgICAgIGFzc2VydChmYWxzZSwgbWVz
c2FnZSArICI6IFNob3VsZCB0aHJvdyBSYW5nZUVycm9yLCBidXQgZXhlY3V0ZWQgd2l0aG91dCBl
eGNlcHRpb24iKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGFzc2VydChlIGluc3RhbmNl
b2YgUmFuZ2VFcnJvciwgbWVzc2FnZSArICI6IGV4cGVjdGVkIFJhbmdlRXJyb3IsIGdvdDogIiAr
IGUpOworICAgIH0KK30KKworbGV0IGEgPSAxbiA8PCA2NG47Cithc3NlcnRUaHJvd1JhbmdlRXJy
b3IoMW4sIGEsICJMZWZ0IHNoaWZ0IGJ5ICIgKyBhKTsKKworYSA9IDFuIDw8IDMwbjsKK2Fzc2Vy
dFRocm93UmFuZ2VFcnJvcigxbiwgYSwgIkxlZnQgc2hpZnQgYnkgIiArIGEpOworCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LWxlZnQtc2hpZnQtdHlwZS1lcnJvci5qcyBiL0pT
VGVzdHMvc3RyZXNzL2JpZy1pbnQtbGVmdC1zaGlmdC10eXBlLWVycm9yLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVmODUyZWEyMzY1YzgyYWY5YjUzMjc3ZGRlMTVlODAwYzgzODI4NTkKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LWxlZnQtc2hpZnQtdHlwZS1lcnJvci5qcwpAQCAt
MCwwICsxLDEwNCBAQAorLy9AIHJ1bkJpZ0ludEVuYWJsZWQKKworZnVuY3Rpb24gYXNzZXJ0KGEs
IG1lc3NhZ2UpIHsKKyAgICBpZiAoIWEpCisgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdl
KTsKK30KKworZnVuY3Rpb24gYXNzZXJ0VGhyb3dUeXBlRXJyb3IoYSwgYiwgbWVzc2FnZSkgewor
ICAgIHRyeSB7CisgICAgICAgIGxldCBuID0gYSA8PCBiOworICAgICAgICBhc3NlcnQoZmFsc2Us
IG1lc3NhZ2UgKyAiOiBTaG91bGQgdGhyb3cgVHlwZUVycm9yLCBidXQgZXhlY3V0ZWQgd2l0aG91
dCBleGNlcHRpb24iKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGFzc2VydChlIGluc3Rh
bmNlb2YgVHlwZUVycm9yLCBtZXNzYWdlICsgIjogZXhwZWN0ZWQgVHlwZUVycm9yLCBnb3Q6ICIg
KyBlKTsKKyAgICB9Cit9CisKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgImZvbyIsICJCaWdJ
bnQgPDwgU3RyaW5nIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigiYmFyIiwgMTg3NTczODI5ODQ4
MjFuLCAiU3RyaW5nIDw8IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBTeW1i
b2woImZvbyIpLCAiQmlnSW50IDw8IFN5bWJvbCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoU3lt
Ym9sKCJiYXIiKSwgMTg3NTczODI5ODQ4MjFuLCAiU3ltYm9sIDw8IEJpZ0ludCIpOworYXNzZXJ0
VGhyb3dUeXBlRXJyb3IoMzBuLCAzMzIwLCAiQmlnSW50IDw8IEludDMyIik7Cithc3NlcnRUaHJv
d1R5cGVFcnJvcigzMzI1NiwgMTg3NTczODI5ODQ4MjFuLCAiSW50MzIgPDwgQmlnSW50Iik7Cith
c3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIDAuNTQzLCAiQmlnSW50IDw8IERvdWJsZSIpOworYXNz
ZXJ0VGhyb3dUeXBlRXJyb3IoMjMwLjE5MjkzLCAxODc1NzM4Mjk4NDgyMW4sICJEb3VibGUgPDwg
QmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIE5hTiwgIkJpZ0ludCA8PCBOYU4i
KTsKK2Fzc2VydFRocm93VHlwZUVycm9yKE5hTiwgMTg3NTczODI5ODQ4MjFuLCAiTmFOIDw8IEJp
Z0ludCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCArSW5maW5pdHksICJCaWdJbnQgPDwg
K0luZmluaXR5Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigrSW5maW5pdHksIDE4NzU3MzgyOTg0
ODIxbiwgIitJbmZpbml0eSA8PCBCaWdJbnQiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwg
LUluZmluaXR5LCAiQmlnSW50IDw8IC1JbmZpbml0eSIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3Io
LUluZmluaXR5LCAxODc1NzM4Mjk4NDgyMW4sICItSW5maW5pdHkgPDwgQmlnSW50Iik7Cithc3Nl
cnRUaHJvd1R5cGVFcnJvcigzMG4sIG51bGwsICJCaWdJbnQgPDwgbnVsbCIpOworYXNzZXJ0VGhy
b3dUeXBlRXJyb3IobnVsbCwgMTg3NTczODI5ODQ4MjFuLCAibnVsbCA8PCBCaWdJbnQiKTsKK2Fz
c2VydFRocm93VHlwZUVycm9yKDMwbiwgdW5kZWZpbmVkLCAiQmlnSW50IDw8IHVuZGVmaW5lZCIp
OworYXNzZXJ0VGhyb3dUeXBlRXJyb3IodW5kZWZpbmVkLCAxODc1NzM4Mjk4NDgyMW4sICJ1bmRl
ZmluZWQgPDwgQmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIHRydWUsICJCaWdJ
bnQgPDwgdHJ1ZSIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IodHJ1ZSwgMTg3NTczODI5ODQ4MjFu
LCAidHJ1ZSA8PCBCaWdJbnQiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgZmFsc2UsICJC
aWdJbnQgPDwgZmFsc2UiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKGZhbHNlLCAxODc1NzM4Mjk4
NDgyMW4sICJmYWxzZSA8PCBCaWdJbnQiKTsKKworLy8gRXJyb3Igd2hlbiByZXR1cm5pbmcgZnJv
bSBvYmplY3QKKworbGV0IG8gPSB7CisgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4g
U3ltYm9sKCJGb28iKTsgfQorfTsKKworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmln
SW50IDw8IE9iamVjdC52YWx1ZU9mIHJldHVybmluZyBTeW1ib2wiKTsKK2Fzc2VydFRocm93VHlw
ZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9iamVjdC52YWx1ZU9mIHJldHVybmluZyBTeW1i
b2wgPDwgQmlnSW50Iik7CisKK28gPSB7CisgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1
cm4gMzMyNTY7IH0KK307CisKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA8
PCBPYmplY3QudmFsdWVPZiByZXR1cm5pbmcgSW50MzIiKTsKK2Fzc2VydFRocm93VHlwZUVycm9y
KG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9iamVjdC52YWx1ZU9mIHJldHVybmluZyBJbnQzMiA8PCBC
aWdJbnQiKTsKKworbyA9IHsKKyAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwLjQ1
MzsgfQorfTsKKworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50IDw8IE9iamVj
dC52YWx1ZU9mIHJldHVybmluZyBEb3VibGUiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4
NzU3MzgyOTg0ODIxbiwgIk9iamVjdC52YWx1ZU9mIHJldHVybmluZyBEb3VibGUgPDwgQmlnSW50
Iik7CisKK28gPSB7CisgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIFN5bWJvbCgi
Rm9vIik7IH0KK307CisKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA8PCBP
YmplY3QudG9TdHJpbmcgcmV0dXJuaW5nIFN5bWJvbCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3Io
bywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LnRvU3RyaW5nIHJldHVybmluZyBTeW1ib2wgPDwg
QmlnSW50Iik7CisKK28gPSB7CisgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDMz
MjU2OyB9Cit9OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPDwgT2Jq
ZWN0LnRvU3RyaW5nIHJldHVybmluZyBJbnQzMiIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3Iobywg
MTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LnRvU3RyaW5nIHJldHVybmluZyBJbnQzMiA8PCBCaWdJ
bnQiKTsKKworbyA9IHsKKyAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gMC40NTM7
IH0KK307CisKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA8PCBPYmplY3Qu
dG9TdHJpbmcgcmV0dXJuaW5nIERvdWJsZSIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IobywgMTg3
NTczODI5ODQ4MjFuLCAiT2JqZWN0LnRvU3RyaW5nIHJldHVybmluZyBEb3VibGUgPDwgQmlnSW50
Iik7CisKK28gPSB7CisgICAgW1N5bWJvbC50b1ByaW1pdGl2ZV06IGZ1bmN0aW9uICgpIHsgcmV0
dXJuIFN5bWJvbCgiRm9vIik7IH0KK307CisKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywg
IkJpZ0ludCA8PCBPYmplY3QuQEB0b1ByaW1pdGl2ZSByZXR1cm5pbmcgU3ltYm9sIik7Cithc3Nl
cnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgyMW4sICJPYmplY3QuQEB0b1ByaW1pdGl2
ZSByZXR1cm5pbmcgU3ltYm9sIDw8IEJpZ0ludCIpOworCitvID0geworICAgIFtTeW1ib2wudG9Q
cmltaXRpdmVdOiBmdW5jdGlvbiAoKSB7IHJldHVybiAzMzI1NjsgfQorfTsKKworYXNzZXJ0VGhy
b3dUeXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50IDw8IE9iamVjdC5AQHRvUHJpbWl0aXZlIHJldHVy
bmluZyBJbnQzMiIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAi
T2JqZWN0LkBAdG9QcmltaXRpdmUgcmV0dXJuaW5nIEludDMyIDw8IEJpZ0ludCIpOworCitvID0g
eworICAgIFtTeW1ib2wudG9QcmltaXRpdmVdOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwLjQ1Mzsg
fQorfTsKKworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50IDw8IE9iamVjdC5A
QHRvUHJpbWl0aXZlIHJldHVybmluZyBEb3VibGUiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8s
IDE4NzU3MzgyOTg0ODIxbiwgIk9iamVjdC5AQHRvUHJpbWl0aXZlIHJldHVybmluZyBEb3VibGUg
PDwgQmlnSW50Iik7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtbGVmdC1z
aGlmdC13cmFwcGVkLXZhbHVlLmpzIGIvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1sZWZ0LXNoaWZ0
LXdyYXBwZWQtdmFsdWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY5ZGJkYTMzZDMwZmMxMTcyMzQyYzVhMTRl
NWExNGJiYjJlNmRmNwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQt
bGVmdC1zaGlmdC13cmFwcGVkLXZhbHVlLmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vQCBydW5CaWdJ
bnRFbmFibGVkCisKK2Fzc2VydCA9IHsKKyAgICBzYW1lVmFsdWU6IGZ1bmN0aW9uIChpbnB1dCwg
ZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgICAgICAgaWYgKGlucHV0ICE9PSBleHBlY3RlZCkKKyAg
ICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTsKKyAgICB9Cit9OworCitmdW5jdGlv
biB0ZXN0TGVmdFNoaWZ0KHgsIHksIHosIG1lc3NhZ2UpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVl
KHggPDwgeSwgeiwgbWVzc2FnZSk7Cit9CisKK3Rlc3RMZWZ0U2hpZnQoT2JqZWN0KDBiMTBuKSwg
MW4sIDBiMTAwbiwgIlRvUHJpbWl0aXZlOiB1bmJveCBvYmplY3Qgd2l0aCBpbnRlcm5hbCBzbG90
Iik7CisKK2xldCBvID0geworICAgIFtTeW1ib2wudG9QcmltaXRpdmVdOiBmdW5jdGlvbigpIHsK
KyAgICAgICAgcmV0dXJuIDBiMTBuOworICAgIH0KK307Cit0ZXN0TGVmdFNoaWZ0KG8sIDBiMDFu
LCAwYjEwMG4sICJUb1ByaW1pdGl2ZTogQEB0b1ByaW1pdGl2ZSIpOworCitvID0geworICAgIHZh
bHVlT2Y6IGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1cm4gMGIxMG47CisgICAgfQorfTsKK3Rl
c3RMZWZ0U2hpZnQobywgMGIwMW4sIDBiMTAwbiwgIlRvUHJpbWl0aXZlOiB2YWx1ZU9mIik7CisK
K28gPSB7CisgICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1cm4gMGIxMG47
CisgICAgfQorfQordGVzdExlZnRTaGlmdChvLCAwYjAxbiwgMGIxMDBuLCAiVG9QcmltaXRpdmU6
IHRvU3RyaW5nIik7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtcmlnaHQt
c2hpZnQtZ2VuZXJhbC5qcyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtcmlnaHQtc2hpZnQtZ2Vu
ZXJhbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40ZTU4Y2E2MDc0MDJiN2YxNWYzYjFiM2JiMzFjODM2YzAxNjlj
ZTg1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1yaWdodC1zaGlm
dC1nZW5lcmFsLmpzCkBAIC0wLDAgKzEsMTA0IEBACisvL0AgcnVuQmlnSW50RW5hYmxlZAorCisv
LyBDb3B5cmlnaHQgKEMpIDIwMTcgSm9zaCBXb2xmZS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworZnVuY3Rpb24gYXNzZXJ0KGEpIHsKKyAgICBpZiAoIWEpCisgICAgICAg
IHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2VydGlvbiIpOworfQorCithc3NlcnQuc2FtZVZhbHVl
ID0gZnVuY3Rpb24gKGlucHV0LCBleHBlY3RlZCwgbWVzc2FnZSkgeworICAgIGlmIChpbnB1dCAh
PT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTsKK30KKworYXNz
ZXJ0LnNhbWVWYWx1ZSgwbiA+PiAwbiwgMG4sICIwbiA+PiAwbiA9PT0gMG4iKTsKK2Fzc2VydC5z
YW1lVmFsdWUoMGIxMDFuID4+IC0xbiwgMGIxMDEwbiwgIjBiMTAxbiA+PiAtMW4gPT09IDBiMTAx
MG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMGIxMDFuID4+IC0ybiwgMGIxMDEwMG4sICIwYjEwMW4g
Pj4gLTJuID09PSAwYjEwMTAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgwYjEwMW4gPj4gLTNuLCAw
YjEwMTAwMG4sICIwYjEwMW4gPj4gLTNuID09PSAwYjEwMTAwMG4iKTsKK2Fzc2VydC5zYW1lVmFs
dWUoMGIxMDFuID4+IDFuLCAwYjEwbiwgIjBiMTAxbiA+PiAxbiA9PT0gMGIxMG4iKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoMGIxMDFuID4+IDJuLCAxbiwgIjBiMTAxbiA+PiAybiA9PT0gMW4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoMGIxMDFuID4+IDNuLCAwbiwgIjBiMTAxbiA+PiAzbiA9PT0gMG4iKTsK
K2Fzc2VydC5zYW1lVmFsdWUoMG4gPj4gLTEyOG4sIDBuLCAiMG4gPj4gLTEyOG4gPT09IDBuIik7
Cithc3NlcnQuc2FtZVZhbHVlKDBuID4+IDEyOG4sIDBuLCAiMG4gPj4gMTI4biA9PT0gMG4iKTsK
K2Fzc2VydC5zYW1lVmFsdWUoMHgyNDZuID4+IDBuLCAweDI0Nm4sICIweDI0Nm4gPj4gMG4gPT09
IDB4MjQ2biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgweDI0Nm4gPj4gLTEyN24sIDB4MTIzMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuLCAiMHgyNDZuID4+IC0xMjduID09PSAweDEyMzAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgweDI0
Nm4gPj4gLTEyOG4sIDB4MjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuLCAiMHgy
NDZuID4+IC0xMjhuID09PSAweDI0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiIp
OworYXNzZXJ0LnNhbWVWYWx1ZSgweDI0Nm4gPj4gLTEyOW4sIDB4NDhjMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDBuLCAiMHgyNDZuID4+IC0xMjluID09PSAweDQ4YzAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgweDI0Nm4gPj4gMTI4
biwgMG4sICIweDI0Nm4gPj4gMTI4biA9PT0gMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4
MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IC02NG4sIDB4MTIzNDU2
Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAwMDAwMDAwMDAwbiwKKyAgIjB4
MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IC02NG4gPT09IDB4MTIz
NDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAwMDAwMDAwMDAwbiIpOwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0
NTY3OG4gPj4gLTMybiwgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAw
MDAwMDAwbiwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+
IC0zMm4gPT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAw
MG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1
NDMyMTIzNDU2NzhuID4+IC0xNm4sIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIz
NDU2NzgwMDAwbiwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2Nzhu
ID4+IC0xNm4gPT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAw
biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0
MzIxMjM0NTY3OG4gPj4gMG4sIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2
NzhuLAorICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMG4g
PT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIik7Cithc3NlcnQu
c2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+
PiAxNm4sIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNG4sCisgICIweDEyMzQ1
Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAxNm4gPT09IDB4MTIzNDU2Nzg5
YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIz
NDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDMybiwgMHgxMjM0NTY3ODlh
YmNkZWYwZmVkY2JhOTg3NjU0MzJuLAorICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0
MzIxMjM0NTY3OG4gPj4gMzJuID09PSAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMm4i
KTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMy
MTIzNDU2NzhuID4+IDY0biwgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhbiwKKyAgIjB4MTIzNDU2
Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDY0biA9PT0gMHgxMjM0NTY3ODlh
YmNkZWYwZmVkY2JhbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYw
ZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMTI3biwgMHgyNDY4YWNuLAorICAiMHgxMjM0NTY3
ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMTI3biA9PT0gMHgyNDY4YWNuIik7
Cithc3NlcnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEy
MzQ1Njc4biA+PiAxMjhuLCAweDEyMzQ1Nm4sCisgICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5
ODc2NTQzMjEyMzQ1Njc4biA+PiAxMjhuID09PSAweDEyMzQ1Nm4iKTsKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDEyOW4s
IDB4OTFhMmJuLAorICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4g
Pj4gMTI5biA9PT0gMHg5MWEyYm4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTVuID4+IC0xbiwgLTB4
YW4sICItNW4gPj4gLTFuID09PSAtMHhhbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtNW4gPj4gLTJu
LCAtMHgxNG4sICItNW4gPj4gLTJuID09PSAtMHgxNG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTVu
ID4+IC0zbiwgLTB4MjhuLCAiLTVuID4+IC0zbiA9PT0gLTB4MjhuIik7Cithc3NlcnQuc2FtZVZh
bHVlKC01biA+PiAxbiwgLTNuLCAiLTVuID4+IDFuID09PSAtM24iKTsKK2Fzc2VydC5zYW1lVmFs
dWUoLTVuID4+IDJuLCAtMm4sICItNW4gPj4gMm4gPT09IC0ybiIpOworYXNzZXJ0LnNhbWVWYWx1
ZSgtNW4gPj4gM24sIC0xbiwgIi01biA+PiAzbiA9PT0gLTFuIik7Cithc3NlcnQuc2FtZVZhbHVl
KC0xbiA+PiAtMTI4biwgLTB4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiwgIi0x
biA+PiAtMTI4biA9PT0gLTB4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiIpOwor
YXNzZXJ0LnNhbWVWYWx1ZSgtMW4gPj4gMG4sIC0xbiwgIi0xbiA+PiAwbiA9PT0gLTFuIik7Cith
c3NlcnQuc2FtZVZhbHVlKC0xbiA+PiAxMjhuLCAtMW4sICItMW4gPj4gMTI4biA9PT0gLTFuIik7
Cithc3NlcnQuc2FtZVZhbHVlKC0weDI0Nm4gPj4gMG4sIC0weDI0Nm4sICItMHgyNDZuID4+IDBu
ID09PSAtMHgyNDZuIik7Cithc3NlcnQuc2FtZVZhbHVlKC0weDI0Nm4gPj4gLTEyN24sIC0weDEy
MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiwgIi0weDI0Nm4gPj4gLTEyN24gPT09
IC0weDEyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVW
YWx1ZSgtMHgyNDZuID4+IC0xMjhuLCAtMHgyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMG4sICItMHgyNDZuID4+IC0xMjhuID09PSAtMHgyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTB4MjQ2biA+PiAtMTI5biwgLTB4NDhj
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuLCAiLTB4MjQ2biA+PiAtMTI5biA9PT0g
LTB4NDhjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZh
bHVlKC0weDI0Nm4gPj4gMTI4biwgLTFuLCAiLTB4MjQ2biA+PiAxMjhuID09PSAtMW4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1
Njc4biA+PiAtNjRuLCAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAw
MDAwMDAwMDAwMDAwMDBuLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIz
NDU2NzhuID4+IC02NG4gPT09IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1
Njc4MDAwMDAwMDAwMDAwMDAwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4
OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAtMzJuLCAtMHgxMjM0NTY3ODlhYmNk
ZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDAwMDAwbiwKKyAgIi0weDEyMzQ1Njc4OWFiY2Rl
ZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAtMzJuID09PSAtMHgxMjM0NTY3ODlhYmNkZWYw
ZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
LTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IC0xNm4sIC0weDEy
MzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMG4sCisgICItMHgxMjM0NTY3
ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gLTE2biA9PT0gLTB4MTIzNDU2Nzg5
YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDBuLCAtMHgx
MjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4sCisgICItMHgxMjM0NTY3ODlh
YmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMG4gPT09IC0weDEyMzQ1Njc4OWFiY2Rl
ZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIz
NDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDE2biwgLTB4MTIzNDU2Nzg5
YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNW4sCisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2Jh
OTg3NjU0MzIxMjM0NTY3OG4gPj4gMTZuID09PSAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3
NjU0MzIxMjM1biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZl
ZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDMybiwgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4
NzY1NDMzbiwKKyAgIi0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+
PiAzMm4gPT09IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzM24iKTsKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+
PiA2NG4sIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmJuLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVm
MGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDY0biA9PT0gLTB4MTIzNDU2Nzg5YWJjZGVmMGZl
ZGNiYm4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5
ODc2NTQzMjEyMzQ1Njc4biA+PiAxMjduLCAtMHgyNDY4YWRuLAorICAiLTB4MTIzNDU2Nzg5YWJj
ZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDEyN24gPT09IC0weDI0NjhhZG4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1
Njc4biA+PiAxMjhuLCAtMHgxMjM0NTduLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4
NzY1NDMyMTIzNDU2NzhuID4+IDEyOG4gPT09IC0weDEyMzQ1N24iKTsKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAxMjlu
LCAtMHg5MWEyY24sCisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3
OG4gPj4gMTI5biA9PT0gLTB4OTFhMmNuIik7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNz
L2JpZy1pbnQtcmlnaHQtc2hpZnQtdHlwZS1lcnJvci5qcyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1p
bnQtcmlnaHQtc2hpZnQtdHlwZS1lcnJvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODRjY2Q0NjJkNjBmODlj
YzY5NzRmYmNlMzI4N2Y3M2QwZjlmMjhmCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJl
c3MvYmlnLWludC1yaWdodC1zaGlmdC10eXBlLWVycm9yLmpzCkBAIC0wLDAgKzEsMTA0IEBACisv
L0AgcnVuQmlnSW50RW5hYmxlZAorCitmdW5jdGlvbiBhc3NlcnQoYSwgbWVzc2FnZSkgeworICAg
IGlmICghYSkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpOworfQorCitmdW5jdGlv
biBhc3NlcnRUaHJvd1R5cGVFcnJvcihhLCBiLCBtZXNzYWdlKSB7CisgICAgdHJ5IHsKKyAgICAg
ICAgbGV0IG4gPSBhID4+IGI7CisgICAgICAgIGFzc2VydChmYWxzZSwgbWVzc2FnZSArICI6IFNo
b3VsZCB0aHJvdyBUeXBlRXJyb3IsIGJ1dCBleGVjdXRlZCB3aXRob3V0IGV4Y2VwdGlvbiIpOwor
ICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3Is
IG1lc3NhZ2UgKyAiOiBleHBlY3RlZCBUeXBlRXJyb3IsIGdvdDogIiArIGUpOworICAgIH0KK30K
KworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCAiZm9vIiwgIkJpZ0ludCA+PiBTdHJpbmciKTsK
K2Fzc2VydFRocm93VHlwZUVycm9yKCJiYXIiLCAxODc1NzM4Mjk4NDgyMW4sICJTdHJpbmcgPj4g
QmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIFN5bWJvbCgiZm9vIiksICJCaWdJ
bnQgPj4gU3ltYm9sIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihTeW1ib2woImJhciIpLCAxODc1
NzM4Mjk4NDgyMW4sICJTeW1ib2wgPj4gQmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigz
MG4sIDMzMjAsICJCaWdJbnQgPj4gSW50MzIiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMzMjU2
LCAxODc1NzM4Mjk4NDgyMW4sICJJbnQzMiA+PiBCaWdJbnQiKTsKK2Fzc2VydFRocm93VHlwZUVy
cm9yKDMwbiwgMC41NDMsICJCaWdJbnQgPj4gRG91YmxlIik7Cithc3NlcnRUaHJvd1R5cGVFcnJv
cigyMzAuMTkyOTMsIDE4NzU3MzgyOTg0ODIxbiwgIkRvdWJsZSA+PiBCaWdJbnQiKTsKK2Fzc2Vy
dFRocm93VHlwZUVycm9yKDMwbiwgTmFOLCAiQmlnSW50ID4+IE5hTiIpOworYXNzZXJ0VGhyb3dU
eXBlRXJyb3IoTmFOLCAxODc1NzM4Mjk4NDgyMW4sICJOYU4gPj4gQmlnSW50Iik7Cithc3NlcnRU
aHJvd1R5cGVFcnJvcigzMG4sICtJbmZpbml0eSwgIkJpZ0ludCA+PiArSW5maW5pdHkiKTsKK2Fz
c2VydFRocm93VHlwZUVycm9yKCtJbmZpbml0eSwgMTg3NTczODI5ODQ4MjFuLCAiK0luZmluaXR5
ID4+IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCAtSW5maW5pdHksICJCaWdJ
bnQgPj4gLUluZmluaXR5Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigtSW5maW5pdHksIDE4NzU3
MzgyOTg0ODIxbiwgIi1JbmZpbml0eSA+PiBCaWdJbnQiKTsKK2Fzc2VydFRocm93VHlwZUVycm9y
KDMwbiwgbnVsbCwgIkJpZ0ludCA+PiBudWxsIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihudWxs
LCAxODc1NzM4Mjk4NDgyMW4sICJudWxsID4+IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dUeXBlRXJy
b3IoMzBuLCB1bmRlZmluZWQsICJCaWdJbnQgPj4gdW5kZWZpbmVkIik7Cithc3NlcnRUaHJvd1R5
cGVFcnJvcih1bmRlZmluZWQsIDE4NzU3MzgyOTg0ODIxbiwgInVuZGVmaW5lZCA+PiBCaWdJbnQi
KTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgdHJ1ZSwgIkJpZ0ludCA+PiB0cnVlIik7Cith
c3NlcnRUaHJvd1R5cGVFcnJvcih0cnVlLCAxODc1NzM4Mjk4NDgyMW4sICJ0cnVlID4+IEJpZ0lu
dCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBmYWxzZSwgIkJpZ0ludCA+PiBmYWxzZSIp
OworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoZmFsc2UsIDE4NzU3MzgyOTg0ODIxbiwgImZhbHNlID4+
IEJpZ0ludCIpOworCisvLyBFcnJvciB3aGVuIHJldHVybmluZyBmcm9tIG9iamVjdAorCitsZXQg
byA9IHsKKyAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiBTeW1ib2woIkZvbyIpOyB9
Cit9OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPj4gT2JqZWN0LnZh
bHVlT2YgcmV0dXJuaW5nIFN5bWJvbCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IobywgMTg3NTcz
ODI5ODQ4MjFuLCAiT2JqZWN0LnZhbHVlT2YgcmV0dXJuaW5nIFN5bWJvbCA+PiBCaWdJbnQiKTsK
KworbyA9IHsKKyAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAzMzI1NjsgfQorfTsK
KworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50ID4+IE9iamVjdC52YWx1ZU9m
IHJldHVybmluZyBJbnQzMiIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4
MjFuLCAiT2JqZWN0LnZhbHVlT2YgcmV0dXJuaW5nIEludDMyID4+IEJpZ0ludCIpOworCitvID0g
eworICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDAuNDUzOyB9Cit9OworCithc3Nl
cnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPj4gT2JqZWN0LnZhbHVlT2YgcmV0dXJu
aW5nIERvdWJsZSIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAi
T2JqZWN0LnZhbHVlT2YgcmV0dXJuaW5nIERvdWJsZSA+PiBCaWdJbnQiKTsKKworbyA9IHsKKyAg
ICB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gU3ltYm9sKCJGb28iKTsgfQorfTsKKwor
YXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50ID4+IE9iamVjdC50b1N0cmluZyBy
ZXR1cm5pbmcgU3ltYm9sIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgy
MW4sICJPYmplY3QudG9TdHJpbmcgcmV0dXJuaW5nIFN5bWJvbCA+PiBCaWdJbnQiKTsKKworbyA9
IHsKKyAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gMzMyNTY7IH0KK307CisKK2Fz
c2VydFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA+PiBPYmplY3QudG9TdHJpbmcgcmV0
dXJuaW5nIEludDMyIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgyMW4s
ICJPYmplY3QudG9TdHJpbmcgcmV0dXJuaW5nIEludDMyID4+IEJpZ0ludCIpOworCitvID0gewor
ICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwLjQ1MzsgfQorfTsKKworYXNzZXJ0
VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50ID4+IE9iamVjdC50b1N0cmluZyByZXR1cm5p
bmcgRG91YmxlIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgyMW4sICJP
YmplY3QudG9TdHJpbmcgcmV0dXJuaW5nIERvdWJsZSA+PiBCaWdJbnQiKTsKKworbyA9IHsKKyAg
ICBbU3ltYm9sLnRvUHJpbWl0aXZlXTogZnVuY3Rpb24gKCkgeyByZXR1cm4gU3ltYm9sKCJGb28i
KTsgfQorfTsKKworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50ID4+IE9iamVj
dC5AQHRvUHJpbWl0aXZlIHJldHVybmluZyBTeW1ib2wiKTsKK2Fzc2VydFRocm93VHlwZUVycm9y
KG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9iamVjdC5AQHRvUHJpbWl0aXZlIHJldHVybmluZyBTeW1i
b2wgPj4gQmlnSW50Iik7CisKK28gPSB7CisgICAgW1N5bWJvbC50b1ByaW1pdGl2ZV06IGZ1bmN0
aW9uICgpIHsgcmV0dXJuIDMzMjU2OyB9Cit9OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4s
IG8sICJCaWdJbnQgPj4gT2JqZWN0LkBAdG9QcmltaXRpdmUgcmV0dXJuaW5nIEludDMyIik7Cith
c3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgyMW4sICJPYmplY3QuQEB0b1ByaW1p
dGl2ZSByZXR1cm5pbmcgSW50MzIgPj4gQmlnSW50Iik7CisKK28gPSB7CisgICAgW1N5bWJvbC50
b1ByaW1pdGl2ZV06IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDAuNDUzOyB9Cit9OworCithc3NlcnRU
aHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPj4gT2JqZWN0LkBAdG9QcmltaXRpdmUgcmV0
dXJuaW5nIERvdWJsZSIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFu
LCAiT2JqZWN0LkBAdG9QcmltaXRpdmUgcmV0dXJuaW5nIERvdWJsZSA+PiBCaWdJbnQiKTsKKwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1yaWdodC1zaGlmdC13cmFwcGVkLXZh
bHVlLmpzIGIvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1yaWdodC1zaGlmdC13cmFwcGVkLXZhbHVl
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmI5NmIyZTM5M2NmMzA2ZDU0YmI1OGQ2OTRmMWUyYjBkYTliNzk2ZTkK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LXJpZ2h0LXNoaWZ0LXdy
YXBwZWQtdmFsdWUuanMKQEAgLTAsMCArMSwzNiBAQAorLy9AIHJ1bkJpZ0ludEVuYWJsZWQKKwor
YXNzZXJ0ID0geworICAgIHNhbWVWYWx1ZTogZnVuY3Rpb24gKGlucHV0LCBleHBlY3RlZCwgbWVz
c2FnZSkgeworICAgICAgICBpZiAoaW5wdXQgIT09IGV4cGVjdGVkKQorICAgICAgICAgICAgdGhy
b3cgbmV3IEVycm9yKG1lc3NhZ2UpOworICAgIH0KK307CisKK2Z1bmN0aW9uIHRlc3RSaWdodFNo
aWZ0KHgsIHksIHosIG1lc3NhZ2UpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHggPj4geSwgeiwg
bWVzc2FnZSk7Cit9CisKK3Rlc3RSaWdodFNoaWZ0KE9iamVjdCgwYjEwbiksIDFuLCAwYjFuLCAi
VG9QcmltaXRpdmU6IHVuYm94IG9iamVjdCB3aXRoIGludGVybmFsIHNsb3QiKTsKKworbGV0IG8g
PSB7CisgICAgW1N5bWJvbC50b1ByaW1pdGl2ZV06IGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1
cm4gMGIxMG47CisgICAgfQorfTsKK3Rlc3RSaWdodFNoaWZ0KG8sIDBiMDFuLCAwYjFuLCAiVG9Q
cmltaXRpdmU6IEBAdG9QcmltaXRpdmUiKTsKKworbyA9IHsKKyAgICB2YWx1ZU9mOiBmdW5jdGlv
bigpIHsKKyAgICAgICAgcmV0dXJuIDBiMTBuOworICAgIH0KK307Cit0ZXN0UmlnaHRTaGlmdChv
LCAwYjAxbiwgMGIxbiwgIlRvUHJpbWl0aXZlOiB2YWx1ZU9mIik7CisKK28gPSB7CisgICAgdG9T
dHJpbmc6IGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1cm4gMGIxMG47CisgICAgfQorfQordGVz
dFJpZ2h0U2hpZnQobywgMGIwMW4sIDBiMW4sICJUb1ByaW1pdGl2ZTogdG9TdHJpbmciKTsKKwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvbGVmdC1zaGlmdC10by1wcmltaXRpdmUtcHJlY2Vk
ZW5jZS5qcyBiL0pTVGVzdHMvc3RyZXNzL2xlZnQtc2hpZnQtdG8tcHJpbWl0aXZlLXByZWNlZGVu
Y2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTZkMjY2ZmMzOTEzNGY3ZWYwNTlkMmQ0NjQxZGMxM2Q1MzkwMTY4
YQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2xlZnQtc2hpZnQtdG8tcHJpbWl0
aXZlLXByZWNlZGVuY2UuanMKQEAgLTAsMCArMSwyOSBAQAorLy9AIHJ1bkJpZ0ludEVuYWJsZWQK
KworYXNzZXJ0ID0geworICAgIHNhbWVWYWx1ZTogZnVuY3Rpb24gKGlucHV0LCBleHBlY3RlZCwg
bWVzc2FnZSkgeworICAgICAgICBpZiAoaW5wdXQgIT09IGV4cGVjdGVkKQorICAgICAgICAgICAg
dGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpOworICAgIH0KK307CisKK2xldCBvID0geworICAgIFtT
eW1ib2wudG9QcmltaXRpdmVdOiBmdW5jdGlvbigpIHsKKyAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCYWQiKTsKKyAgICB9Cit9OworCit0cnl7CisgICAgbyA8PCBTeW1ib2woIjIiKTsKKyAgICBh
c3NlcnQuc2FtZVZhbHVlKHRydWUsIGZhbHNlLCAiRXhjZXB0aW9uIGV4cGVjdGVkIHRvIGJlIHRo
cm93ZWQsIGJ1dCBleGVjdXRlZCB3aXRob3V0IGVycm9yIik7Cit9IGNhdGNoIChlKSB7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZShlLm1lc3NhZ2UsICJCYWQiLCAiRXhwZWN0ZWQgdG8gdGhyb3cgRXJy
b3IoJ0JhZCcpLCBidXQgZ290OiAiICsgZSk7Cit9CisKK3RyeXsKKyAgICBTeW1ib2woIjIiKSA8
PCBvOworICAgIGFzc2VydC5zYW1lVmFsdWUodHJ1ZSwgZmFsc2UsICJFeGNlcHRpb24gZXhwZWN0
ZWQgdG8gYmUgdGhyb3dlZCwgYnV0IGV4ZWN1dGVkIHdpdGhvdXQgZXJyb3IiKTsKK30gY2F0Y2gg
KGUpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsIHRydWUs
ICJFeHBlY3RlZCB0byB0aHJvdyBUeXBlRXJyb3IsIGJ1dCBnb3Q6ICIgKyBlKQorfQorCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9yaWdodC1zaGlmdC10by1wcmltaXRpdmUtcHJlY2VkZW5j
ZS5qcyBiL0pTVGVzdHMvc3RyZXNzL3JpZ2h0LXNoaWZ0LXRvLXByaW1pdGl2ZS1wcmVjZWRlbmNl
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjFlYjZiMDM0YzA3MjRlNTMzNDBmM2JmZTZjNWYxYjc2NGNkNzQyZDQK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9yaWdodC1zaGlmdC10by1wcmltaXRp
dmUtcHJlY2VkZW5jZS5qcwpAQCAtMCwwICsxLDI5IEBACisvL0AgcnVuQmlnSW50RW5hYmxlZAor
Cithc3NlcnQgPSB7CisgICAgc2FtZVZhbHVlOiBmdW5jdGlvbiAoaW5wdXQsIGV4cGVjdGVkLCBt
ZXNzYWdlKSB7CisgICAgICAgIGlmIChpbnB1dCAhPT0gZXhwZWN0ZWQpCisgICAgICAgICAgICB0
aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7CisgICAgfQorfTsKKworbGV0IG8gPSB7CisgICAgW1N5
bWJvbC50b1ByaW1pdGl2ZV06IGZ1bmN0aW9uKCkgeworICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCIpOworICAgIH0KK307CisKK3RyeXsKKyAgICBvID4+IFN5bWJvbCgiMiIpOworICAgIGFz
c2VydC5zYW1lVmFsdWUodHJ1ZSwgZmFsc2UsICJFeGNlcHRpb24gZXhwZWN0ZWQgdG8gYmUgdGhy
b3dlZCwgYnV0IGV4ZWN1dGVkIHdpdGhvdXQgZXJyb3IiKTsKK30gY2F0Y2ggKGUpIHsKKyAgICBh
c3NlcnQuc2FtZVZhbHVlKGUubWVzc2FnZSwgIkJhZCIsICJFeHBlY3RlZCB0byB0aHJvdyBFcnJv
cignQmFkJyksIGJ1dCBnb3Q6ICIgKyBlKTsKK30KKwordHJ5eworICAgIFN5bWJvbCgiMiIpID4+
IG87CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0cnVlLCBmYWxzZSwgIkV4Y2VwdGlvbiBleHBlY3Rl
ZCB0byBiZSB0aHJvd2VkLCBidXQgZXhlY3V0ZWQgd2l0aG91dCBlcnJvciIpOworfSBjYXRjaCAo
ZSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwgdHJ1ZSwg
IkV4cGVjdGVkIHRvIHRocm93IFR5cGVFcnJvciwgYnV0IGdvdDogIiArIGUpCit9CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354092</attachid>
            <date>2018-11-07 07:28:48 -0800</date>
            <delta_ts>2018-11-14 09:20:23 -0800</delta_ts>
            <desc>WIP - Patch</desc>
            <filename>bug-186233-20181107122847.patch</filename>
            <type>text/plain</type>
            <size>41723</size>
            <attacher name="Caio Lima">ticaiolima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3OTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZmI2MTAyZDQ0N2Q3NzE4YzQyYjE2NTMxMzA4N2UyMDFkY2NkNTQzLi43MzJlMWU3NjhmNTk4Mjk1
ZmEwYTVmYzVlMGIwYWQyNGY1YmEzYzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxOC0xMS0wNyAgQ2FpbyBMaW1hICA8dGljYWlvbGltYUBnbWFpbC5jb20+
CisKKyAgICAgICAgW0VTTmV4dF1bQmlnSW50XSBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgIjw8IiBh
bmQgIj4+IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTg2MjMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBpcyBpbnRyb2R1Y2luZyB0aGUgc3VwcG9ydCBmb3IgQmlnSW50IGludG8gbHNo
aWZ0IGFuZAorICAgICAgICByc2hpZnQgaW50byBMTGludCBhbmQgQmFzZWxpbmUgbGF5ZXJzLgor
CisgICAgICAgICogcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpT
TE9XX1BBVEhfREVDTCk6CisgICAgICAgICogcnVudGltZS9KU0JpZ0ludC5jcHA6CisgICAgICAg
IChKU0M6OkpTQmlnSW50OjpjcmVhdGVXaXRoTGVuZ3RoKToKKyAgICAgICAgKEpTQzo6SlNCaWdJ
bnQ6OmxlZnRTaGlmdCk6CisgICAgICAgIChKU0M6OkpTQmlnSW50OjpzaWduZWRSaWdodFNoaWZ0
KToKKyAgICAgICAgKEpTQzo6SlNCaWdJbnQ6OmxlZnRTaGlmdEJ5QWJzb2x1dGUpOgorICAgICAg
ICAoSlNDOjpKU0JpZ0ludDo6cmlnaHRTaGlmdEJ5QWJzb2x1dGUpOgorICAgICAgICAoSlNDOjpK
U0JpZ0ludDo6cmlnaHRTaGlmdEJ5TWF4aW11bSk6CisgICAgICAgIChKU0M6OkpTQmlnSW50Ojp0
b1NoaWZ0QW1vdW50KToKKyAgICAgICAgKiBydW50aW1lL0pTQmlnSW50Lmg6CisKIDIwMTgtMTEt
MDcgIFRhZGV1IFphZ2FsbG8gIDx0emFnYWxsb0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVT
U0lPTihyMjM3NTQ3KTogVGVzdCBmYWlsdXJlcyBvbiAzMi1iaXQgSlNDIHNpbmNlIHRoZSBKSVQg
d2FzIGRpc2FibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b21tb25TbG93UGF0aHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9u
U2xvd1BhdGhzLmNwcAppbmRleCA3MGUzNDQ5MjQ5MWFiZWE1NzcxNzU2MzQ2YTcxNWRiZWM1ZTll
MTI3Li41OTMzYjgwMGE1YWM5ZTIzZWUwZDFhODlmNTkyNzU0NDkxYjYyZDZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKQEAgLTY0
OCwyMiArNjQ4LDQ4IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9sc2hpZnQpCiB7CiAgICAg
QkVHSU4oKTsKICAgICBhdXRvIGJ5dGVjb2RlID0gcGMtPmFzPE9wTHNoaWZ0PigpOwotICAgIGlu
dDMyX3QgYSA9IEdFVF9DKGJ5dGVjb2RlLmxocykuanNWYWx1ZSgpLnRvSW50MzIoZXhlYyk7Ci0g
ICAgaWYgKFVOTElLRUxZKHRocm93U2NvcGUuZXhjZXB0aW9uKCkpKQotICAgICAgICBSRVRVUk4o
SlNWYWx1ZSgpKTsKLSAgICB1aW50MzJfdCBiID0gR0VUX0MoYnl0ZWNvZGUucmhzKS5qc1ZhbHVl
KCkudG9VSW50MzIoZXhlYyk7Ci0gICAgUkVUVVJOKGpzTnVtYmVyKGEgPDwgKGIgJiAzMSkpKTsK
KyAgICBKU1ZhbHVlIGxlZnQgPSBHRVRfQyhieXRlY29kZS5saHMpLmpzVmFsdWUoKTsKKyAgICBK
U1ZhbHVlIHJpZ2h0ID0gR0VUX0MoYnl0ZWNvZGUucmhzKS5qc1ZhbHVlKCk7CisgICAgYXV0byBs
ZWZ0TnVtZXJpYyA9IGxlZnQudG9CaWdJbnRPckludDMyKGV4ZWMpOworICAgIENIRUNLX0VYQ0VQ
VElPTigpOworICAgIGF1dG8gcmlnaHROdW1lcmljID0gcmlnaHQudG9CaWdJbnRPckludDMyKGV4
ZWMpOworICAgIENIRUNLX0VYQ0VQVElPTigpOworCisgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJu
YXRpdmU8SlNCaWdJbnQqPihsZWZ0TnVtZXJpYykgfHwgV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxK
U0JpZ0ludCo+KHJpZ2h0TnVtZXJpYykpIHsKKyAgICAgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJu
YXRpdmU8SlNCaWdJbnQqPihsZWZ0TnVtZXJpYykgJiYgV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxK
U0JpZ0ludCo+KHJpZ2h0TnVtZXJpYykpIHsKKyAgICAgICAgICAgIEpTQmlnSW50KiByZXN1bHQg
PSBKU0JpZ0ludDo6bGVmdFNoaWZ0KGV4ZWMsIFdURjo6Z2V0PEpTQmlnSW50Kj4obGVmdE51bWVy
aWMpLCBXVEY6OmdldDxKU0JpZ0ludCo+KHJpZ2h0TnVtZXJpYykpOworICAgICAgICAgICAgQ0hF
Q0tfRVhDRVBUSU9OKCk7CisgICAgICAgICAgICBSRVRVUk4ocmVzdWx0KTsKKyAgICAgICAgfQor
CisgICAgICAgIFRIUk9XKGNyZWF0ZVR5cGVFcnJvcihleGVjLCAiSW52YWxpZCBtaXggb2YgQmln
SW50IGFuZCBvdGhlciB0eXBlIGluIGxlZnQgc2hpZnQgb3BlcmF0aW9uLiIpKTsKKyAgICB9CisK
KyAgICBSRVRVUk4oanNOdW1iZXIoV1RGOjpnZXQ8aW50MzJfdD4obGVmdE51bWVyaWMpIDw8IChX
VEY6OmdldDxpbnQzMl90PihyaWdodE51bWVyaWMpICYgMzEpKSk7CiB9CiAKIFNMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9yc2hpZnQpCiB7CiAgICAgQkVHSU4oKTsKICAgICBhdXRvIGJ5dGVjb2Rl
ID0gcGMtPmFzPE9wUnNoaWZ0PigpOwotICAgIGludDMyX3QgYSA9IEdFVF9DKGJ5dGVjb2RlLmxo
cykuanNWYWx1ZSgpLnRvSW50MzIoZXhlYyk7Ci0gICAgaWYgKFVOTElLRUxZKHRocm93U2NvcGUu
ZXhjZXB0aW9uKCkpKQotICAgICAgICBSRVRVUk4oSlNWYWx1ZSgpKTsKLSAgICB1aW50MzJfdCBi
ID0gR0VUX0MoYnl0ZWNvZGUucmhzKS5qc1ZhbHVlKCkudG9VSW50MzIoZXhlYyk7Ci0gICAgUkVU
VVJOKGpzTnVtYmVyKGEgPj4gKGIgJiAzMSkpKTsKKyAgICBKU1ZhbHVlIGxlZnQgPSBHRVRfQyhi
eXRlY29kZS5saHMpLmpzVmFsdWUoKTsKKyAgICBKU1ZhbHVlIHJpZ2h0ID0gR0VUX0MoYnl0ZWNv
ZGUucmhzKS5qc1ZhbHVlKCk7CisgICAgYXV0byBsZWZ0TnVtZXJpYyA9IGxlZnQudG9CaWdJbnRP
ckludDMyKGV4ZWMpOworICAgIENIRUNLX0VYQ0VQVElPTigpOworICAgIGF1dG8gcmlnaHROdW1l
cmljID0gcmlnaHQudG9CaWdJbnRPckludDMyKGV4ZWMpOworICAgIENIRUNLX0VYQ0VQVElPTigp
OworCisgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8SlNCaWdJbnQqPihsZWZ0TnVtZXJp
YykgfHwgV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxKU0JpZ0ludCo+KHJpZ2h0TnVtZXJpYykpIHsK
KyAgICAgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8SlNCaWdJbnQqPihsZWZ0TnVtZXJp
YykgJiYgV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxKU0JpZ0ludCo+KHJpZ2h0TnVtZXJpYykpIHsK
KyAgICAgICAgICAgIEpTQmlnSW50KiByZXN1bHQgPSBKU0JpZ0ludDo6c2lnbmVkUmlnaHRTaGlm
dChleGVjLCBXVEY6OmdldDxKU0JpZ0ludCo+KGxlZnROdW1lcmljKSwgV1RGOjpnZXQ8SlNCaWdJ
bnQqPihyaWdodE51bWVyaWMpKTsKKyAgICAgICAgICAgIENIRUNLX0VYQ0VQVElPTigpOworICAg
ICAgICAgICAgUkVUVVJOKHJlc3VsdCk7CisgICAgICAgIH0KKworICAgICAgICBUSFJPVyhjcmVh
dGVUeXBlRXJyb3IoZXhlYywgIkludmFsaWQgbWl4IG9mIEJpZ0ludCBhbmQgb3RoZXIgdHlwZSBp
biBzaWduZWQgcmlnaHQgc2hpZnQgb3BlcmF0aW9uLiIpKTsKKyAgICB9CisKKyAgICBSRVRVUk4o
anNOdW1iZXIoV1RGOjpnZXQ8aW50MzJfdD4obGVmdE51bWVyaWMpID4+IChXVEY6OmdldDxpbnQz
Ml90PihyaWdodE51bWVyaWMpICYgMzEpKSk7CiB9CiAKIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0
aF91cnNoaWZ0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNC
aWdJbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuY3BwCmlu
ZGV4IDRhYjVhNTIzNTNmZDFhZTkyMGQxMWJiMzRiYzA2ZWI1NGZmODhlZTcuLjM3MmY1YTJhMjdi
MzAzMTE5YWU5OTVlYWYxODIzZmY1YzBjZDdiYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0JpZ0ludC5jcHAKQEAgLTkzLDYgKzkzLDExIEBAIGlubGluZSBzaXplX3QgSlNC
aWdJbnQ6OmFsbG9jYXRpb25TaXplKHVuc2lnbmVkIGxlbmd0aCkKIAogSlNCaWdJbnQqIEpTQmln
SW50OjpjcmVhdGVXaXRoTGVuZ3RoKFZNJiB2bSwgdW5zaWduZWQgbGVuZ3RoKQogeworICAgIC8v
IEZJWE1FOiBKU0JpZ0ludDo6Y3JlYXRlV2l0aExlbmd0aCBzaG91bGQgdGhyb3cgd2hlbiBsZW5n
dGggaXMKKyAgICAvLyBncmVhdGVyIHRoYW4gSlNCaWdJbnQ6Om1heExlbmd0aC4KKyAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwODM2CisKKyAgICBBU1NF
UlQobGVuZ3RoIDw9IG1heExlbmd0aCk7CiAgICAgSlNCaWdJbnQqIGJpZ0ludCA9IG5ldyAoTm90
TnVsbCwgYWxsb2NhdGVDZWxsPEpTQmlnSW50Pih2bS5oZWFwLCBhbGxvY2F0aW9uU2l6ZShsZW5n
dGgpKSkgSlNCaWdJbnQodm0sIHZtLmJpZ0ludFN0cnVjdHVyZS5nZXQoKSwgbGVuZ3RoKTsKICAg
ICBiaWdJbnQtPmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICByZXR1cm4gYmlnSW50OwpAQCAtNDU0
LDYgKzQ1OSwzMCBAQCBKU0JpZ0ludCogSlNCaWdJbnQ6OmJpdHdpc2VYb3IoVk0mIHZtLCBKU0Jp
Z0ludCogeCwgSlNCaWdJbnQqIHkpCiAgICAgcmV0dXJuIGFic29sdXRlQWRkT25lKHZtLCByZXN1
bHQsIFNpZ25PcHRpb246OlNpZ25lZCk7CiB9CiAKK0pTQmlnSW50KiBKU0JpZ0ludDo6bGVmdFNo
aWZ0KEV4ZWNTdGF0ZSogZXhlYywgSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KQoreworICAgIFZN
JiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgaWYgKHktPmlzWmVybygpIHx8IHgtPmlzWmVybygpKQor
ICAgICAgICByZXR1cm4geDsKKworICAgIGlmICh5LT5zaWduKCkpCisgICAgICAgIHJldHVybiBy
aWdodFNoaWZ0QnlBYnNvbHV0ZSh2bSwgeCwgeSk7CisKKyAgICByZXR1cm4gbGVmdFNoaWZ0QnlB
YnNvbHV0ZShleGVjLCB4LCB5KTsKK30KKworSlNCaWdJbnQqIEpTQmlnSW50OjpzaWduZWRSaWdo
dFNoaWZ0KEV4ZWNTdGF0ZSogZXhlYywgSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KQoreworICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgaWYgKHktPmlzWmVybygpIHx8IHgtPmlzWmVybygp
KQorICAgICAgICByZXR1cm4geDsKKworICAgIGlmICh5LT5zaWduKCkpCisgICAgICAgIHJldHVy
biBsZWZ0U2hpZnRCeUFic29sdXRlKGV4ZWMsIHgsIHkpOworCisgICAgcmV0dXJuIHJpZ2h0U2hp
ZnRCeUFic29sdXRlKHZtLCB4LCB5KTsKK30KKwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAjZGVm
aW5lIEhBVkVfVFdPX0RJR0lUIDEKIHR5cGVkZWYgdWludDY0X3QgVHdvRGlnaXQ7CkBAIC0xMTk3
LDYgKzEyMjYsMTM4IEBAIEpTQmlnSW50KiBKU0JpZ0ludDo6YWJzb2x1dGVTdWJPbmUoVk0mIHZt
LCBKU0JpZ0ludCogeCwgdW5zaWduZWQgcmVzdWx0TGVuZ3RoKQogICAgIHJldHVybiByZXN1bHQt
PnJpZ2h0VHJpbSh2bSk7CiB9CiAKK0pTQmlnSW50KiBKU0JpZ0ludDo6bGVmdFNoaWZ0QnlBYnNv
bHV0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSkKK3sKKyAgICBW
TSYgdm0gPSBleGVjLT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKKworICAgIGF1dG8gb3B0aW9uYWxTaGlmdCA9IHRvU2hpZnRBbW91bnQoeSk7CisgICAg
aWYgKCFvcHRpb25hbFNoaWZ0KSB7CisgICAgICAgIHRocm93UmFuZ2VFcnJvcihleGVjLCBzY29w
ZSwgIkJpZ0ludCBnZW5lcmF0ZWQgZnJvbSB0aGlzIG9wZXJhdGlvbiBpcyB0b28gYmlnIl9zKTsK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgRGlnaXQgc2hpZnQgPSAqb3B0
aW9uYWxTaGlmdDsKKyAgICB1bnNpZ25lZCBkaWdpdFNoaWZ0ID0gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KHNoaWZ0IC8gZGlnaXRCaXRzKTsKKyAgICB1bnNpZ25lZCBiaXRzU2hpZnQgPSBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oc2hpZnQgJSBkaWdpdEJpdHMpOworICAgIHVuc2lnbmVkIGxlbmd0aCA9
IHgtPmxlbmd0aCgpOworICAgIGJvb2wgZ3JvdyA9IGJpdHNTaGlmdCAmJiAoeC0+ZGlnaXQobGVu
Z3RoIC0gMSkgPj4gKGRpZ2l0Qml0cyAtIGJpdHNTaGlmdCkpOworICAgIGludCByZXN1bHRMZW5n
dGggPSBsZW5ndGggKyBkaWdpdFNoaWZ0ICsgZ3JvdzsKKyAgICBpZiAoc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KHJlc3VsdExlbmd0aCkgPiBtYXhMZW5ndGgpIHsKKyAgICAgICAgdGhyb3dSYW5nZUVy
cm9yKGV4ZWMsIHNjb3BlLCAiQmlnSW50IGdlbmVyYXRlZCBmcm9tIHRoaXMgb3BlcmF0aW9uIGlz
IHRvbyBiaWciX3MpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICBKU0Jp
Z0ludCogcmVzdWx0ID0gY3JlYXRlV2l0aExlbmd0aCh2bSwgcmVzdWx0TGVuZ3RoKTsKKyAgICBB
U1NFUlQocmVzdWx0KTsKKyAgICBpZiAoIWJpdHNTaGlmdCkgeworICAgICAgICB1bnNpZ25lZCBp
ID0gMDsKKyAgICAgICAgZm9yICg7IGkgPCBkaWdpdFNoaWZ0OyBpKyspCisgICAgICAgICAgICBy
ZXN1bHQtPnNldERpZ2l0KGksIDB1bCk7CisKKyAgICAgICAgZm9yICg7IGkgPCBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4ocmVzdWx0TGVuZ3RoKTsgaSsrKQorICAgICAgICAgICAgcmVzdWx0LT5zZXRE
aWdpdChpLCB4LT5kaWdpdChpIC0gZGlnaXRTaGlmdCkpOworICAgIH0gZWxzZSB7CisgICAgICAg
IERpZ2l0IGNhcnJ5ID0gMDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGRpZ2l0
U2hpZnQ7IGkrKykKKyAgICAgICAgICAgIHJlc3VsdC0+c2V0RGlnaXQoaSwgMHVsKTsKKworICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAg
IERpZ2l0IGQgPSB4LT5kaWdpdChpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+c2V0RGlnaXQoaSAr
IGRpZ2l0U2hpZnQsIChkIDw8IGJpdHNTaGlmdCkgfCBjYXJyeSk7CisgICAgICAgICAgICBjYXJy
eSA9IGQgPj4gKGRpZ2l0Qml0cyAtIGJpdHNTaGlmdCk7CisgICAgICAgIH0KKworICAgICAgICBp
ZiAoZ3JvdykKKyAgICAgICAgICAgIHJlc3VsdC0+c2V0RGlnaXQobGVuZ3RoICsgZGlnaXRTaGlm
dCwgY2FycnkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBBU1NFUlQoIWNhcnJ5KTsKKyAg
ICB9CisKKyAgICByZXN1bHQtPnNldFNpZ24oeC0+c2lnbigpKTsKKyAgICByZXR1cm4gcmVzdWx0
LT5yaWdodFRyaW0odm0pOworfQorCitKU0JpZ0ludCogSlNCaWdJbnQ6OnJpZ2h0U2hpZnRCeUFi
c29sdXRlKFZNJiB2bSwgSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KQoreworICAgIHVuc2lnbmVk
IGxlbmd0aCA9IHgtPmxlbmd0aCgpOworICAgIGJvb2wgc2lnbiA9IHgtPnNpZ24oKTsKKyAgICBh
dXRvIG9wdGlvbmFsU2hpZnQgPSB0b1NoaWZ0QW1vdW50KHkpOworICAgIGlmICghb3B0aW9uYWxT
aGlmdCkKKyAgICAgICAgcmV0dXJuIHJpZ2h0U2hpZnRCeU1heGltdW0odm0sIHNpZ24pOworCisg
ICAgRGlnaXQgc2hpZnQgPSAqb3B0aW9uYWxTaGlmdDsKKyAgICB1bnNpZ25lZCBkaWdpdGFsU2hp
ZnQgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc2hpZnQgLyBkaWdpdEJpdHMpOworICAgIHVuc2ln
bmVkIGJpdHNTaGlmdCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzaGlmdCAlIGRpZ2l0Qml0cyk7
CisgICAgaW50IHJlc3VsdExlbmd0aCA9IGxlbmd0aCAtIGRpZ2l0YWxTaGlmdDsKKyAgICBpZiAo
cmVzdWx0TGVuZ3RoIDw9IDApCisgICAgICAgIHJldHVybiByaWdodFNoaWZ0QnlNYXhpbXVtKHZt
LCBzaWduKTsKKworICAgIC8vIEZvciBuZWdhdGl2ZSBudW1iZXJzLCByb3VuZCBkb3duIGlmIGFu
eSBiaXQgd2FzIHNoaWZ0ZWQgb3V0IChzbyB0aGF0IGUuZy4KKyAgICAvLyAtNW4gPj4gMW4gPT0g
LTNuIGFuZCBub3QgLTJuKS4gQ2hlY2sgbm93IHdoZXRoZXIgdGhpcyB3aWxsIGhhcHBlbiBhbmQK
KyAgICAvLyB3aGV0aGVyIGl0IGNhbiBjYXVzZSBvdmVyZmxvdyBpbnRvIGEgbmV3IGRpZ2l0LiBJ
ZiB3ZSBhbGxvY2F0ZSB0aGUgcmVzdWx0CisgICAgLy8gbGFyZ2UgZW5vdWdoIHVwIGZyb250LCBp
dCBhdm9pZHMgaGF2aW5nIHRvIGRvIGEgc2Vjb25kIGFsbG9jYXRpb24gbGF0ZXIuCisgICAgYm9v
bCBtdXN0Um91bmREb3duID0gZmFsc2U7CisgICAgaWYgKHNpZ24pIHsKKyAgICAgICAgY29uc3Qg
RGlnaXQgbWFzayA9IChzdGF0aWNfY2FzdDxEaWdpdD4oMSkgPDwgYml0c1NoaWZ0KSAtIDE7Cisg
ICAgICAgIGlmICh4LT5kaWdpdChkaWdpdGFsU2hpZnQpICYgbWFzaykKKyAgICAgICAgICAgIG11
c3RSb3VuZERvd24gPSB0cnVlOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBkaWdpdGFsU2hpZnQ7IGkrKykgeworICAgICAgICAgICAgICAgIGlm
ICh4LT5kaWdpdChpKSkgeworICAgICAgICAgICAgICAgICAgICBtdXN0Um91bmREb3duID0gdHJ1
ZTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgLy8gSWYgYml0c1NoaWZ0IGlzIG5vbi16
ZXJvLCBpdCBmcmVlcyB1cCBiaXRzLCBwcmV2ZW50aW5nIG92ZXJmbG93LgorICAgIGlmIChtdXN0
Um91bmREb3duICYmICFiaXRzU2hpZnQpIHsKKyAgICAgICAgLy8gT3ZlcmZsb3cgY2Fubm90IGhh
cHBlbiBpZiB0aGUgbW9zdCBzaWduaWZpY2FudCBkaWdpdCBoYXMgdW5zZXQgYml0cy4KKyAgICAg
ICAgRGlnaXQgbXNkID0geC0+ZGlnaXQobGVuZ3RoIC0gMSk7CisgICAgICAgIGJvb2wgcm91bmRp
bmdDYW5PdmVyZmxvdyA9ICFzdGF0aWNfY2FzdDxEaWdpdD4ofm1zZCk7CisgICAgICAgIGlmIChy
b3VuZGluZ0Nhbk92ZXJmbG93KQorICAgICAgICAgICAgcmVzdWx0TGVuZ3RoKys7CisgICAgfQor
CisgICAgQVNTRVJUKHN0YXRpY19jYXN0PHVuc2lnbmVkPihyZXN1bHRMZW5ndGgpIDw9IGxlbmd0
aCk7CisgICAgSlNCaWdJbnQqIHJlc3VsdCA9IGNyZWF0ZVdpdGhMZW5ndGgodm0sIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihyZXN1bHRMZW5ndGgpKTsKKyAgICBpZiAoIWJpdHNTaGlmdCkgeworICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSBkaWdpdGFsU2hpZnQ7IGkgPCBsZW5ndGg7IGkrKykKKyAg
ICAgICAgICAgIHJlc3VsdC0+c2V0RGlnaXQoaSAtIGRpZ2l0YWxTaGlmdCwgeC0+ZGlnaXQoaSkp
OworICAgIH0gZWxzZSB7CisgICAgICAgIERpZ2l0IGNhcnJ5ID0geC0+ZGlnaXQoZGlnaXRhbFNo
aWZ0KSA+PiBiaXRzU2hpZnQ7CisgICAgICAgIHVuc2lnbmVkIGxhc3QgPSBsZW5ndGggLSBkaWdp
dGFsU2hpZnQgLSAxOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGFzdDsgaSsr
KSB7CisgICAgICAgICAgICBEaWdpdCBkID0geC0+ZGlnaXQoaSArIGRpZ2l0YWxTaGlmdCArIDEp
OworICAgICAgICAgICAgcmVzdWx0LT5zZXREaWdpdChpLCAoZCA8PCAoZGlnaXRCaXRzIC0gYml0
c1NoaWZ0KSkgfCBjYXJyeSk7CisgICAgICAgICAgICBjYXJyeSA9IGQgPj4gYml0c1NoaWZ0Owor
ICAgICAgICB9CisgICAgICAgIHJlc3VsdC0+c2V0RGlnaXQobGFzdCwgY2FycnkpOworICAgIH0K
KworICAgIGlmIChzaWduKSB7CisgICAgICAgIHJlc3VsdC0+c2V0U2lnbih0cnVlKTsKKyAgICAg
ICAgaWYgKG11c3RSb3VuZERvd24pIHsKKyAgICAgICAgICAgIC8vIFNpbmNlIHRoZSByZXN1bHQg
aXMgbmVnYXRpdmUsIHJvdW5kaW5nIGRvd24gbWVhbnMgYWRkaW5nIG9uZSB0bworICAgICAgICAg
ICAgLy8gaXRzIGFic29sdXRlIHZhbHVlLiBUaGlzIGNhbm5vdCBvdmVyZmxvdy4KKyAgICAgICAg
ICAgIHJlc3VsdCA9IHJlc3VsdC0+cmlnaHRUcmltKHZtKTsKKyAgICAgICAgICAgIHJldHVybiBh
YnNvbHV0ZUFkZE9uZSh2bSwgcmVzdWx0LCBTaWduT3B0aW9uOjpTaWduZWQpOworICAgICAgICB9
CisgICAgfQorCisgICAgcmV0dXJuIHJlc3VsdC0+cmlnaHRUcmltKHZtKTsKK30KKworSlNCaWdJ
bnQqIEpTQmlnSW50OjpyaWdodFNoaWZ0QnlNYXhpbXVtKFZNJiB2bSwgYm9vbCBzaWduKQorewor
ICAgIGlmIChzaWduKQorICAgICAgICByZXR1cm4gY3JlYXRlRnJvbSh2bSwgLTEpOworCisgICAg
cmV0dXJuIGNyZWF0ZVplcm8odm0pOworfQorCiAvLyBMb29rdXAgdGFibGUgZm9yIHRoZSBtYXhp
bXVtIG51bWJlciBvZiBiaXRzIHJlcXVpcmVkIHBlciBjaGFyYWN0ZXIgb2YgYQogLy8gYmFzZS1O
IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIG51bWJlci4gVG8gaW5jcmVhc2UgYWNjdXJhY3ks
IHRoZSBhcnJheQogLy8gdmFsdWUgaXMgdGhlIGFjdHVhbCB2YWx1ZSBtdWx0aXBsaWVkIGJ5IDMy
LiBUbyBnZW5lcmF0ZSB0aGlzIHRhYmxlOgpAQCAtMTc0NCw0ICsxOTA1LDE4IEBAIEpTQmlnSW50
OjpDb21wYXJpc29uUmVzdWx0IEpTQmlnSW50Ojpjb21wYXJlVG9Eb3VibGUoSlNCaWdJbnQqIHgs
IGRvdWJsZSB5KQogICAgIHJldHVybiBDb21wYXJpc29uUmVzdWx0OjpFcXVhbDsKIH0KIAorc3Rk
OjpvcHRpb25hbDxKU0JpZ0ludDo6RGlnaXQ+IEpTQmlnSW50Ojp0b1NoaWZ0QW1vdW50KEpTQmln
SW50KiB4KQoreworICAgIGlmICh4LT5sZW5ndGgoKSA+IDEpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisgICAgCisgICAgRGlnaXQgdmFsdWUgPSB4LT5kaWdpdCgwKTsKKyAgICBzdGF0
aWNfYXNzZXJ0KG1heExlbmd0aEJpdHMgPCBzdGQ6Om51bWVyaWNfbGltaXRzPERpZ2l0Pjo6bWF4
KCksICJtYXhMZW5ndGhCaXRzIG5lZWRzIHRvIGJlIGxlc3MgdGhhbiBkaWdpdCIpOworICAgIAor
ICAgIGlmICh2YWx1ZSA+IG1heExlbmd0aEJpdHMpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisKKyAgICByZXR1cm4gdmFsdWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmgKaW5kZXggYTYyZTEzOGFkNjY1NTNjOTM5
NTg2YmU2OTVhMWRlMTVhZTM4ZTQ1MC4uMTgxN2M3M2RhNjFkZDc1MTg3MzY0MDEyZDA5NTliMWYz
MDU2NDQyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJ
bnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5oCkBAIC0x
MTgsNiArMTE4LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBKU0JpZ0ludCogYml0d2lzZU9yKFZN
JiwgSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KTsKICAgICBzdGF0aWMgSlNCaWdJbnQqIGJpdHdp
c2VYb3IoVk0mLCBKU0JpZ0ludCogeCwgSlNCaWdJbnQqIHkpOwogCisgICAgc3RhdGljIEpTQmln
SW50KiBsZWZ0U2hpZnQoRXhlY1N0YXRlKiwgSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KTsKKyAg
ICBzdGF0aWMgSlNCaWdJbnQqIHNpZ25lZFJpZ2h0U2hpZnQoRXhlY1N0YXRlKiwgSlNCaWdJbnQq
IHgsIEpTQmlnSW50KiB5KTsKKwogcHJpdmF0ZToKIAogICAgIHVzaW5nIERpZ2l0ID0gVUNQVVJl
Z2lzdGVyOwpAQCAtMTMyLDYgKzEzNSw3IEBAIHByaXZhdGU6CiAgICAgLy8gcmFpc2luZyBpdCBs
YXRlciBpcyBlYXNpZXIgdGhhbiBsb3dlcmluZyBpdC4KICAgICAvLyBTdXBwb3J0IHVwIHRvIDEg
bWlsbGlvbiBiaXRzLgogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgbWF4TGVuZ3RoID0g
MTAyNCAqIDEwMjQgLyAoc2l6ZW9mKHZvaWQqKSAqIGJpdHNQZXJCeXRlKTsKKyAgICBzdGF0aWMg
Y29uc3RleHByIHVuc2lnbmVkIG1heExlbmd0aEJpdHMgPSBtYXhJbnQgLSBzaXplb2Yodm9pZCop
ICogYml0c1BlckJ5dGUgLSAxOwogICAgIAogICAgIHN0YXRpYyB1aW50NjRfdCBjYWxjdWxhdGVN
YXhpbXVtQ2hhcmFjdGVyc1JlcXVpcmVkKHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgcmFkaXgs
IERpZ2l0IGxhc3REaWdpdCwgYm9vbCBzaWduKTsKICAgICAKQEAgLTIwNSw3ICsyMDksMTQgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGlucGxhY2VNdWx0aXBseUFkZChEaWdpdCBtdWx0aXBsaWVyLCBE
aWdpdCBwYXJ0KTsKICAgICBzdGF0aWMgSlNCaWdJbnQqIGFic29sdXRlQWRkKFZNJiwgSlNCaWdJ
bnQqIHgsIEpTQmlnSW50KiB5LCBib29sIHJlc3VsdFNpZ24pOwogICAgIHN0YXRpYyBKU0JpZ0lu
dCogYWJzb2x1dGVTdWIoVk0mLCBKU0JpZ0ludCogeCwgSlNCaWdJbnQqIHksIGJvb2wgcmVzdWx0
U2lnbik7Ci0gICAgCisKKyAgICBzdGF0aWMgSlNCaWdJbnQqIGxlZnRTaGlmdEJ5QWJzb2x1dGUo
RXhlY1N0YXRlKiwgSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KTsKKyAgICBzdGF0aWMgSlNCaWdJ
bnQqIHJpZ2h0U2hpZnRCeUFic29sdXRlKFZNJiwgSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KTsK
KworICAgIHN0YXRpYyBKU0JpZ0ludCogcmlnaHRTaGlmdEJ5TWF4aW11bShWTSYsIGJvb2wgc2ln
bik7CisKKyAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxEaWdpdD4gdG9TaGlmdEFtb3VudChKU0Jp
Z0ludCogeCk7CisKICAgICBzdGF0aWMgc2l6ZV90IGFsbG9jYXRpb25TaXplKHVuc2lnbmVkIGxl
bmd0aCk7CiAgICAgc3RhdGljIHNpemVfdCBvZmZzZXRPZkRhdGEoKTsKICAgICBEaWdpdCogZGF0
YVN0b3JhZ2UoKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMmY2MDI0NzZiODAxYjA5NzYxYTBiODkxZDgwMmQ4YWZiNTA2OTVlNi4uYjA3
YzU3Y2VmMmEzMTFkYzI4NjU1NmU4MGU2YmNkMGQ2ZGZhZTgxMiAxMDA2NDQKLS0tIGEvSlNUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAx
OC0xMS0wNyAgQ2FpbyBMaW1hICA8dGljYWlvbGltYUBnbWFpbC5jb20+CisKKyAgICAgICAgW0VT
TmV4dF1bQmlnSW50XSBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgIjw8IiBhbmQgIj4+IgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg2MjMzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvYmlnLWlu
dC1sZWZ0LXNoaWZ0LWdlbmVyYWwuanM6IEFkZGVkLgorICAgICAgICAqIHN0cmVzcy9iaWctaW50
LWxlZnQtc2hpZnQtcmFuZ2UtZXJyb3IuanM6IEFkZGVkLgorICAgICAgICAqIHN0cmVzcy9iaWct
aW50LWxlZnQtc2hpZnQtdHlwZS1lcnJvci5qczogQWRkZWQuCisgICAgICAgICogc3RyZXNzL2Jp
Zy1pbnQtbGVmdC1zaGlmdC13cmFwcGVkLXZhbHVlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBzdHJl
c3MvYmlnLWludC1yaWdodC1zaGlmdC1nZW5lcmFsLmpzOiBBZGRlZC4KKyAgICAgICAgKiBzdHJl
c3MvYmlnLWludC1yaWdodC1zaGlmdC10eXBlLWVycm9yLmpzOiBBZGRlZC4KKyAgICAgICAgKiBz
dHJlc3MvYmlnLWludC1yaWdodC1zaGlmdC13cmFwcGVkLXZhbHVlLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiBzdHJlc3MvbGVmdC1zaGlmdC10by1wcmltaXRpdmUtcHJlY2VkZW5jZS5qczogQWRkZWQu
CisgICAgICAgICogc3RyZXNzL3JpZ2h0LXNoaWZ0LXRvLXByaW1pdGl2ZS1wcmVjZWRlbmNlLmpz
OiBBZGRlZC4KKwogMjAxOC0xMS0wNyAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMzc1NDcpOiBUZXN0IGZhaWx1cmVzIG9uIDMyLWJp
dCBKU0Mgc2luY2UgdGhlIEpJVCB3YXMgZGlzYWJsZWQKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3Ry
ZXNzL2JpZy1pbnQtbGVmdC1zaGlmdC1nZW5lcmFsLmpzIGIvSlNUZXN0cy9zdHJlc3MvYmlnLWlu
dC1sZWZ0LXNoaWZ0LWdlbmVyYWwuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzZlZGJlYmM3MTNjYzVkZDcyMzYw
NjUxOTg2N2RiMzY2MjhmZjk1ZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2Jp
Zy1pbnQtbGVmdC1zaGlmdC1nZW5lcmFsLmpzCkBAIC0wLDAgKzEsMTAzIEBACisvL0AgcnVuQmln
SW50RW5hYmxlZAorCisvLyBDb3B5cmlnaHQgKEMpIDIwMTcgSm9zaCBXb2xmZS4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworZnVuY3Rpb24gYXNzZXJ0KGEpIHsKKyAgICBp
ZiAoIWEpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2VydGlvbiIpOworfQorCith
c3NlcnQuc2FtZVZhbHVlID0gZnVuY3Rpb24gKGlucHV0LCBleHBlY3RlZCwgbWVzc2FnZSkgewor
ICAgIGlmIChpbnB1dCAhPT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNz
YWdlKTsKK30KKworYXNzZXJ0LnNhbWVWYWx1ZSgwbiA8PCAwbiwgMG4sICIwbiA8PCAwbiA9PT0g
MG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMGIxMDFuIDw8IDFuLCAwYjEwMTBuLCAiMGIxMDFuIDw8
IDFuID09PSAwYjEwMTBuIik7Cithc3NlcnQuc2FtZVZhbHVlKDBiMTAxbiA8PCAybiwgMGIxMDEw
MG4sICIwYjEwMW4gPDwgMm4gPT09IDBiMTAxMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKDBiMTAx
biA8PCAzbiwgMGIxMDEwMDBuLCAiMGIxMDFuIDw8IDNuID09PSAwYjEwMTAwMG4iKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoMGIxMDFuIDw8IC0xbiwgMGIxMG4sICIwYjEwMW4gPDwgLTFuID09PSAwYjEw
biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgwYjEwMW4gPDwgLTJuLCAxbiwgIjBiMTAxbiA8PCAtMm4g
PT09IDFuIik7Cithc3NlcnQuc2FtZVZhbHVlKDBiMTAxbiA8PCAtM24sIDBuLCAiMGIxMDFuIDw8
IC0zbiA9PT0gMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMG4gPDwgMTI4biwgMG4sICIwbiA8PCAx
MjhuID09PSAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgwbiA8PCAtMTI4biwgMG4sICIwbiA8PCAt
MTI4biA9PT0gMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMHgyNDZuIDw8IDBuLCAweDI0Nm4sICIw
eDI0Nm4gPDwgMG4gPT09IDB4MjQ2biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgweDI0Nm4gPDwgMTI3
biwgMHgxMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4sICIweDI0Nm4gPDwgMTI3
biA9PT0gMHgxMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4iKTsKK2Fzc2VydC5z
YW1lVmFsdWUoMHgyNDZuIDw8IDEyOG4sIDB4MjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDBuLCAiMHgyNDZuIDw8IDEyOG4gPT09IDB4MjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKDB4MjQ2biA8PCAxMjluLCAweDQ4YzAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiwgIjB4MjQ2biA8PCAxMjluID09PSAweDQ4YzAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgweDI0
Nm4gPDwgLTEyOG4sIDBuLCAiMHgyNDZuIDw8IC0xMjhuID09PSAwbiIpOworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgNjRu
LCAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMDAwMDAwMDAwMDAw
MG4sCisgICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCA2NG4g
PT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAwMDAwMDAw
MDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3
NjU0MzIxMjM0NTY3OG4gPDwgMzJuLCAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEy
MzQ1Njc4MDAwMDAwMDBuLAorICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0
NTY3OG4gPDwgMzJuID09PSAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4
MDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRj
YmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAxNm4sIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1
NDMyMTIzNDU2NzgwMDAwbiwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIz
NDU2NzhuIDw8IDE2biA9PT0gMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3
ODAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5
ODc2NTQzMjEyMzQ1Njc4biA8PCAwbiwgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIx
MjM0NTY3OG4sCisgICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8
PCAwbiA9PT0gMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2
NzhuIDw8IC0xNm4sIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNG4sCisgICIw
eDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtMTZuID09PSAweDEy
MzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzRuIik7Cithc3NlcnQuc2FtZVZhbHVlKAor
ICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtMzJuLCAweDEy
MzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMm4sCisgICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRj
YmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtMzJuID09PSAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5
ODc2NTQzMm4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNi
YTk4NzY1NDMyMTIzNDU2NzhuIDw8IC02NG4sIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYW4sCisg
ICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtNjRuID09PSAw
eDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmFuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAweDEyMzQ1
Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtMTI3biwgMHgyNDY4YWNuLAor
ICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTEyN24gPT09
IDB4MjQ2OGFjbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVk
Y2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTEyOG4sIDB4MTIzNDU2biwKKyAgIjB4MTIzNDU2Nzg5
YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IC0xMjhuID09PSAweDEyMzQ1Nm4iKTsK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIz
NDU2NzhuIDw8IC0xMjluLCAweDkxYTJibiwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4
NzY1NDMyMTIzNDU2NzhuIDw8IC0xMjluID09PSAweDkxYTJibiIpOworYXNzZXJ0LnNhbWVWYWx1
ZSgtNW4gPDwgMW4sIC0weGFuLCAiLTVuIDw8IDFuID09PSAtMHhhbiIpOworYXNzZXJ0LnNhbWVW
YWx1ZSgtNW4gPDwgMm4sIC0weDE0biwgIi01biA8PCAybiA9PT0gLTB4MTRuIik7Cithc3NlcnQu
c2FtZVZhbHVlKC01biA8PCAzbiwgLTB4MjhuLCAiLTVuIDw8IDNuID09PSAtMHgyOG4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoLTVuIDw8IC0xbiwgLTNuLCAiLTVuIDw8IC0xbiA9PT0gLTNuIik7Cith
c3NlcnQuc2FtZVZhbHVlKC01biA8PCAtMm4sIC0ybiwgIi01biA8PCAtMm4gPT09IC0ybiIpOwor
YXNzZXJ0LnNhbWVWYWx1ZSgtNW4gPDwgLTNuLCAtMW4sICItNW4gPDwgLTNuID09PSAtMW4iKTsK
K2Fzc2VydC5zYW1lVmFsdWUoLTFuIDw8IDEyOG4sIC0weDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMG4sICItMW4gPDwgMTI4biA9PT0gLTB4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtMW4gPDwgMG4sIC0xbiwgIi0xbiA8PCAw
biA9PT0gLTFuIik7Cithc3NlcnQuc2FtZVZhbHVlKC0xbiA8PCAtMTI4biwgLTFuLCAiLTFuIDw8
IC0xMjhuID09PSAtMW4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTB4MjQ2biA8PCAwbiwgLTB4MjQ2
biwgIi0weDI0Nm4gPDwgMG4gPT09IC0weDI0Nm4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTB4MjQ2
biA8PCAxMjduLCAtMHgxMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4sICItMHgy
NDZuIDw8IDEyN24gPT09IC0weDEyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiIp
OworYXNzZXJ0LnNhbWVWYWx1ZSgtMHgyNDZuIDw8IDEyOG4sIC0weDI0NjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwbiwgIi0weDI0Nm4gPDwgMTI4biA9PT0gLTB4MjQ2MDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKC0weDI0Nm4gPDwg
MTI5biwgLTB4NDhjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuLCAiLTB4MjQ2biA8
PCAxMjluID09PSAtMHg0OGMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoLTB4MjQ2biA8PCAtMTI4biwgLTFuLCAiLTB4MjQ2biA8PCAtMTI4biA9
PT0gLTFuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2Jh
OTg3NjU0MzIxMjM0NTY3OG4gPDwgNjRuLCAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0
MzIxMjM0NTY3ODAwMDAwMDAwMDAwMDAwMDBuLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNi
YTk4NzY1NDMyMTIzNDU2NzhuIDw8IDY0biA9PT0gLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4
NzY1NDMyMTIzNDU2NzgwMDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
LTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IDMybiwgLTB4MTIz
NDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAwMG4sCisgICItMHgxMjM0
NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgMzJuID09PSAtMHgxMjM0NTY3
ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IDE2
biwgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwbiwKKyAgIi0w
eDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAxNm4gPT09IC0weDEy
MzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMG4iKTsKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAw
biwgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuLAorICAiLTB4MTIz
NDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IDBuID09PSAtMHgxMjM0NTY3
ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisg
IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtMTZuLCAtMHgx
MjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM1biwKKyAgIi0weDEyMzQ1Njc4OWFiY2Rl
ZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtMTZuID09PSAtMHgxMjM0NTY3ODlhYmNkZWYw
ZmVkY2JhOTg3NjU0MzIxMjM1biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5
YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IC0zMm4sIC0weDEyMzQ1Njc4OWFiY2Rl
ZjBmZWRjYmE5ODc2NTQzM24sCisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIx
MjM0NTY3OG4gPDwgLTMybiA9PT0gLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMzbiIp
OworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMy
MTIzNDU2NzhuIDw8IC02NG4sIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmJuLAorICAiLTB4MTIz
NDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IC02NG4gPT09IC0weDEyMzQ1
Njc4OWFiY2RlZjBmZWRjYmJuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAtMHgxMjM0NTY3ODlh
YmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTEyN24sIC0weDI0NjhhZG4sCisgICIt
MHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTEyN24gPT09IC0w
eDI0NjhhZG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRj
YmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtMTI4biwgLTB4MTIzNDU3biwKKyAgIi0weDEyMzQ1Njc4
OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtMTI4biA9PT0gLTB4MTIzNDU3biIp
OworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMy
MTIzNDU2NzhuIDw8IC0xMjluLCAtMHg5MWEyY24sCisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVk
Y2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTEyOW4gPT09IC0weDkxYTJjbiIpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1sZWZ0LXNoaWZ0LXJhbmdlLWVycm9yLmpzIGIvSlNU
ZXN0cy9zdHJlc3MvYmlnLWludC1sZWZ0LXNoaWZ0LXJhbmdlLWVycm9yLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjAyYWMxMmMxZmMxNDgwZTI3MGViY2IyYTg4MmNjMGZmODViNjIzNjcKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LWxlZnQtc2hpZnQtcmFuZ2UtZXJyb3IuanMKQEAg
LTAsMCArMSwyMiBAQAorLy9AIHJ1bkJpZ0ludEVuYWJsZWQKKworZnVuY3Rpb24gYXNzZXJ0KGEs
IG1lc3NhZ2UpIHsKKyAgICBpZiAoIWEpCisgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdl
KTsKK30KKworZnVuY3Rpb24gYXNzZXJ0VGhyb3dSYW5nZUVycm9yKGEsIGIsIG1lc3NhZ2UpIHsK
KyAgICB0cnkgeworICAgICAgICBsZXQgbiA9IGEgPDwgYjsKKyAgICAgICAgYXNzZXJ0KGZhbHNl
LCBtZXNzYWdlICsgIjogU2hvdWxkIHRocm93IFJhbmdlRXJyb3IsIGJ1dCBleGVjdXRlZCB3aXRo
b3V0IGV4Y2VwdGlvbiIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgYXNzZXJ0KGUgaW5z
dGFuY2VvZiBSYW5nZUVycm9yLCBtZXNzYWdlICsgIjogZXhwZWN0ZWQgUmFuZ2VFcnJvciwgZ290
OiAiICsgZSk7CisgICAgfQorfQorCitsZXQgYSA9IDFuIDw8IDY0bjsKK2Fzc2VydFRocm93UmFu
Z2VFcnJvcigxbiwgYSwgIkxlZnQgc2hpZnQgYnkgIiArIGEpOworCithID0gMW4gPDwgMzBuOwor
YXNzZXJ0VGhyb3dSYW5nZUVycm9yKDFuLCBhLCAiTGVmdCBzaGlmdCBieSAiICsgYSk7CisKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtbGVmdC1zaGlmdC10eXBlLWVycm9yLmpz
IGIvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1sZWZ0LXNoaWZ0LXR5cGUtZXJyb3IuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZWY4NTJlYTIzNjVjODJhZjliNTMyNzdkZGUxNWU4MDBjODM4Mjg1OQotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtbGVmdC1zaGlmdC10eXBlLWVycm9yLmpz
CkBAIC0wLDAgKzEsMTA0IEBACisvL0AgcnVuQmlnSW50RW5hYmxlZAorCitmdW5jdGlvbiBhc3Nl
cnQoYSwgbWVzc2FnZSkgeworICAgIGlmICghYSkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1l
c3NhZ2UpOworfQorCitmdW5jdGlvbiBhc3NlcnRUaHJvd1R5cGVFcnJvcihhLCBiLCBtZXNzYWdl
KSB7CisgICAgdHJ5IHsKKyAgICAgICAgbGV0IG4gPSBhIDw8IGI7CisgICAgICAgIGFzc2VydChm
YWxzZSwgbWVzc2FnZSArICI6IFNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIGJ1dCBleGVjdXRlZCB3
aXRob3V0IGV4Y2VwdGlvbiIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgYXNzZXJ0KGUg
aW5zdGFuY2VvZiBUeXBlRXJyb3IsIG1lc3NhZ2UgKyAiOiBleHBlY3RlZCBUeXBlRXJyb3IsIGdv
dDogIiArIGUpOworICAgIH0KK30KKworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCAiZm9vIiwg
IkJpZ0ludCA8PCBTdHJpbmciKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKCJiYXIiLCAxODc1NzM4
Mjk4NDgyMW4sICJTdHJpbmcgPDwgQmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4s
IFN5bWJvbCgiZm9vIiksICJCaWdJbnQgPDwgU3ltYm9sIik7Cithc3NlcnRUaHJvd1R5cGVFcnJv
cihTeW1ib2woImJhciIpLCAxODc1NzM4Mjk4NDgyMW4sICJTeW1ib2wgPDwgQmlnSW50Iik7Cith
c3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIDMzMjAsICJCaWdJbnQgPDwgSW50MzIiKTsKK2Fzc2Vy
dFRocm93VHlwZUVycm9yKDMzMjU2LCAxODc1NzM4Mjk4NDgyMW4sICJJbnQzMiA8PCBCaWdJbnQi
KTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgMC41NDMsICJCaWdJbnQgPDwgRG91YmxlIik7
Cithc3NlcnRUaHJvd1R5cGVFcnJvcigyMzAuMTkyOTMsIDE4NzU3MzgyOTg0ODIxbiwgIkRvdWJs
ZSA8PCBCaWdJbnQiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgTmFOLCAiQmlnSW50IDw8
IE5hTiIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoTmFOLCAxODc1NzM4Mjk4NDgyMW4sICJOYU4g
PDwgQmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sICtJbmZpbml0eSwgIkJpZ0lu
dCA8PCArSW5maW5pdHkiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKCtJbmZpbml0eSwgMTg3NTcz
ODI5ODQ4MjFuLCAiK0luZmluaXR5IDw8IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3Io
MzBuLCAtSW5maW5pdHksICJCaWdJbnQgPDwgLUluZmluaXR5Iik7Cithc3NlcnRUaHJvd1R5cGVF
cnJvcigtSW5maW5pdHksIDE4NzU3MzgyOTg0ODIxbiwgIi1JbmZpbml0eSA8PCBCaWdJbnQiKTsK
K2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbnVsbCwgIkJpZ0ludCA8PCBudWxsIik7Cithc3Nl
cnRUaHJvd1R5cGVFcnJvcihudWxsLCAxODc1NzM4Mjk4NDgyMW4sICJudWxsIDw8IEJpZ0ludCIp
OworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCB1bmRlZmluZWQsICJCaWdJbnQgPDwgdW5kZWZp
bmVkIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcih1bmRlZmluZWQsIDE4NzU3MzgyOTg0ODIxbiwg
InVuZGVmaW5lZCA8PCBCaWdJbnQiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgdHJ1ZSwg
IkJpZ0ludCA8PCB0cnVlIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcih0cnVlLCAxODc1NzM4Mjk4
NDgyMW4sICJ0cnVlIDw8IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBmYWxz
ZSwgIkJpZ0ludCA8PCBmYWxzZSIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoZmFsc2UsIDE4NzU3
MzgyOTg0ODIxbiwgImZhbHNlIDw8IEJpZ0ludCIpOworCisvLyBFcnJvciB3aGVuIHJldHVybmlu
ZyBmcm9tIG9iamVjdAorCitsZXQgbyA9IHsKKyAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJl
dHVybiBTeW1ib2woIkZvbyIpOyB9Cit9OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8s
ICJCaWdJbnQgPDwgT2JqZWN0LnZhbHVlT2YgcmV0dXJuaW5nIFN5bWJvbCIpOworYXNzZXJ0VGhy
b3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LnZhbHVlT2YgcmV0dXJuaW5n
IFN5bWJvbCA8PCBCaWdJbnQiKTsKKworbyA9IHsKKyAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7
IHJldHVybiAzMzI1NjsgfQorfTsKKworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmln
SW50IDw8IE9iamVjdC52YWx1ZU9mIHJldHVybmluZyBJbnQzMiIpOworYXNzZXJ0VGhyb3dUeXBl
RXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LnZhbHVlT2YgcmV0dXJuaW5nIEludDMy
IDw8IEJpZ0ludCIpOworCitvID0geworICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJu
IDAuNDUzOyB9Cit9OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPDwg
T2JqZWN0LnZhbHVlT2YgcmV0dXJuaW5nIERvdWJsZSIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3Io
bywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LnZhbHVlT2YgcmV0dXJuaW5nIERvdWJsZSA8PCBC
aWdJbnQiKTsKKworbyA9IHsKKyAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gU3lt
Ym9sKCJGb28iKTsgfQorfTsKKworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50
IDw8IE9iamVjdC50b1N0cmluZyByZXR1cm5pbmcgU3ltYm9sIik7Cithc3NlcnRUaHJvd1R5cGVF
cnJvcihvLCAxODc1NzM4Mjk4NDgyMW4sICJPYmplY3QudG9TdHJpbmcgcmV0dXJuaW5nIFN5bWJv
bCA8PCBCaWdJbnQiKTsKKworbyA9IHsKKyAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1
cm4gMzMyNTY7IH0KK307CisKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA8
PCBPYmplY3QudG9TdHJpbmcgcmV0dXJuaW5nIEludDMyIik7Cithc3NlcnRUaHJvd1R5cGVFcnJv
cihvLCAxODc1NzM4Mjk4NDgyMW4sICJPYmplY3QudG9TdHJpbmcgcmV0dXJuaW5nIEludDMyIDw8
IEJpZ0ludCIpOworCitvID0geworICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAw
LjQ1MzsgfQorfTsKKworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50IDw8IE9i
amVjdC50b1N0cmluZyByZXR1cm5pbmcgRG91YmxlIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihv
LCAxODc1NzM4Mjk4NDgyMW4sICJPYmplY3QudG9TdHJpbmcgcmV0dXJuaW5nIERvdWJsZSA8PCBC
aWdJbnQiKTsKKworbyA9IHsKKyAgICBbU3ltYm9sLnRvUHJpbWl0aXZlXTogZnVuY3Rpb24gKCkg
eyByZXR1cm4gU3ltYm9sKCJGb28iKTsgfQorfTsKKworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBu
LCBvLCAiQmlnSW50IDw8IE9iamVjdC5AQHRvUHJpbWl0aXZlIHJldHVybmluZyBTeW1ib2wiKTsK
K2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9iamVjdC5AQHRvUHJp
bWl0aXZlIHJldHVybmluZyBTeW1ib2wgPDwgQmlnSW50Iik7CisKK28gPSB7CisgICAgW1N5bWJv
bC50b1ByaW1pdGl2ZV06IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDMzMjU2OyB9Cit9OworCithc3Nl
cnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPDwgT2JqZWN0LkBAdG9QcmltaXRpdmUg
cmV0dXJuaW5nIEludDMyIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgy
MW4sICJPYmplY3QuQEB0b1ByaW1pdGl2ZSByZXR1cm5pbmcgSW50MzIgPDwgQmlnSW50Iik7CisK
K28gPSB7CisgICAgW1N5bWJvbC50b1ByaW1pdGl2ZV06IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDAu
NDUzOyB9Cit9OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPDwgT2Jq
ZWN0LkBAdG9QcmltaXRpdmUgcmV0dXJuaW5nIERvdWJsZSIpOworYXNzZXJ0VGhyb3dUeXBlRXJy
b3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LkBAdG9QcmltaXRpdmUgcmV0dXJuaW5nIERv
dWJsZSA8PCBCaWdJbnQiKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1s
ZWZ0LXNoaWZ0LXdyYXBwZWQtdmFsdWUuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LWxlZnQt
c2hpZnQtd3JhcHBlZC12YWx1ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjlkYmRhMzNkMzBmYzExNzIzNDJj
NWExNGU1YTE0YmJiMmU2ZGY3Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvYmln
LWludC1sZWZ0LXNoaWZ0LXdyYXBwZWQtdmFsdWUuanMKQEAgLTAsMCArMSwzNiBAQAorLy9AIHJ1
bkJpZ0ludEVuYWJsZWQKKworYXNzZXJ0ID0geworICAgIHNhbWVWYWx1ZTogZnVuY3Rpb24gKGlu
cHV0LCBleHBlY3RlZCwgbWVzc2FnZSkgeworICAgICAgICBpZiAoaW5wdXQgIT09IGV4cGVjdGVk
KQorICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpOworICAgIH0KK307CisKK2Z1
bmN0aW9uIHRlc3RMZWZ0U2hpZnQoeCwgeSwgeiwgbWVzc2FnZSkgeworICAgIGFzc2VydC5zYW1l
VmFsdWUoeCA8PCB5LCB6LCBtZXNzYWdlKTsKK30KKwordGVzdExlZnRTaGlmdChPYmplY3QoMGIx
MG4pLCAxbiwgMGIxMDBuLCAiVG9QcmltaXRpdmU6IHVuYm94IG9iamVjdCB3aXRoIGludGVybmFs
IHNsb3QiKTsKKworbGV0IG8gPSB7CisgICAgW1N5bWJvbC50b1ByaW1pdGl2ZV06IGZ1bmN0aW9u
KCkgeworICAgICAgICByZXR1cm4gMGIxMG47CisgICAgfQorfTsKK3Rlc3RMZWZ0U2hpZnQobywg
MGIwMW4sIDBiMTAwbiwgIlRvUHJpbWl0aXZlOiBAQHRvUHJpbWl0aXZlIik7CisKK28gPSB7Cisg
ICAgdmFsdWVPZjogZnVuY3Rpb24oKSB7CisgICAgICAgIHJldHVybiAwYjEwbjsKKyAgICB9Cit9
OwordGVzdExlZnRTaGlmdChvLCAwYjAxbiwgMGIxMDBuLCAiVG9QcmltaXRpdmU6IHZhbHVlT2Yi
KTsKKworbyA9IHsKKyAgICB0b1N0cmluZzogZnVuY3Rpb24oKSB7CisgICAgICAgIHJldHVybiAw
YjEwbjsKKyAgICB9Cit9Cit0ZXN0TGVmdFNoaWZ0KG8sIDBiMDFuLCAwYjEwMG4sICJUb1ByaW1p
dGl2ZTogdG9TdHJpbmciKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1y
aWdodC1zaGlmdC1nZW5lcmFsLmpzIGIvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1yaWdodC1zaGlm
dC1nZW5lcmFsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlNThjYTYwNzQwMmI3ZjE1ZjNiMWIzYmIzMWM4MzZj
MDE2OWNlODUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LXJpZ2h0
LXNoaWZ0LWdlbmVyYWwuanMKQEAgLTAsMCArMSwxMDQgQEAKKy8vQCBydW5CaWdJbnRFbmFibGVk
CisKKy8vIENvcHlyaWdodCAoQykgMjAxNyBKb3NoIFdvbGZlLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCitmdW5jdGlvbiBhc3NlcnQoYSkgeworICAgIGlmICghYSkKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzZXJ0aW9uIik7Cit9CisKK2Fzc2VydC5zYW1l
VmFsdWUgPSBmdW5jdGlvbiAoaW5wdXQsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgICAgaWYgKGlu
cHV0ICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpOworfQor
Cithc3NlcnQuc2FtZVZhbHVlKDBuID4+IDBuLCAwbiwgIjBuID4+IDBuID09PSAwbiIpOworYXNz
ZXJ0LnNhbWVWYWx1ZSgwYjEwMW4gPj4gLTFuLCAwYjEwMTBuLCAiMGIxMDFuID4+IC0xbiA9PT0g
MGIxMDEwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgwYjEwMW4gPj4gLTJuLCAwYjEwMTAwbiwgIjBi
MTAxbiA+PiAtMm4gPT09IDBiMTAxMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKDBiMTAxbiA+PiAt
M24sIDBiMTAxMDAwbiwgIjBiMTAxbiA+PiAtM24gPT09IDBiMTAxMDAwbiIpOworYXNzZXJ0LnNh
bWVWYWx1ZSgwYjEwMW4gPj4gMW4sIDBiMTBuLCAiMGIxMDFuID4+IDFuID09PSAwYjEwbiIpOwor
YXNzZXJ0LnNhbWVWYWx1ZSgwYjEwMW4gPj4gMm4sIDFuLCAiMGIxMDFuID4+IDJuID09PSAxbiIp
OworYXNzZXJ0LnNhbWVWYWx1ZSgwYjEwMW4gPj4gM24sIDBuLCAiMGIxMDFuID4+IDNuID09PSAw
biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgwbiA+PiAtMTI4biwgMG4sICIwbiA+PiAtMTI4biA9PT0g
MG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMG4gPj4gMTI4biwgMG4sICIwbiA+PiAxMjhuID09PSAw
biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgweDI0Nm4gPj4gMG4sIDB4MjQ2biwgIjB4MjQ2biA+PiAw
biA9PT0gMHgyNDZuIik7Cithc3NlcnQuc2FtZVZhbHVlKDB4MjQ2biA+PiAtMTI3biwgMHgxMjMw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4sICIweDI0Nm4gPj4gLTEyN24gPT09IDB4
MTIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVl
KDB4MjQ2biA+PiAtMTI4biwgMHgyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4s
ICIweDI0Nm4gPj4gLTEyOG4gPT09IDB4MjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKDB4MjQ2biA+PiAtMTI5biwgMHg0OGMwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4sICIweDI0Nm4gPj4gLTEyOW4gPT09IDB4NDhjMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKDB4MjQ2biA+
PiAxMjhuLCAwbiwgIjB4MjQ2biA+PiAxMjhuID09PSAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gLTY0biwgMHgx
MjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDAwMDAwMDAwMDAwMDBuLAor
ICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gLTY0biA9PT0g
MHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDAwMDAwMDAwMDAwMDBu
Iik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQz
MjEyMzQ1Njc4biA+PiAtMzJuLCAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1
Njc4MDAwMDAwMDBuLAorICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3
OG4gPj4gLTMybiA9PT0gMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAw
MDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2Jh
OTg3NjU0MzIxMjM0NTY3OG4gPj4gLTE2biwgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0
MzIxMjM0NTY3ODAwMDBuLAorICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0
NTY3OG4gPj4gLTE2biA9PT0gMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3
ODAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5
ODc2NTQzMjEyMzQ1Njc4biA+PiAwbiwgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIx
MjM0NTY3OG4sCisgICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+
PiAwbiA9PT0gMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2
NzhuID4+IDE2biwgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0biwKKyAgIjB4
MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDE2biA9PT0gMHgxMjM0
NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
MHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMzJuLCAweDEyMzQ1
Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMm4sCisgICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5
ODc2NTQzMjEyMzQ1Njc4biA+PiAzMm4gPT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1
NDMybiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3
NjU0MzIxMjM0NTY3OG4gPj4gNjRuLCAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmFuLAorICAiMHgx
MjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gNjRuID09PSAweDEyMzQ1
Njc4OWFiY2RlZjBmZWRjYmFuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFi
Y2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAxMjduLCAweDI0NjhhY24sCisgICIweDEy
MzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAxMjduID09PSAweDI0Njhh
Y24iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1
NDMyMTIzNDU2NzhuID4+IDEyOG4sIDB4MTIzNDU2biwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVmMGZl
ZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDEyOG4gPT09IDB4MTIzNDU2biIpOworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4g
MTI5biwgMHg5MWEyYm4sCisgICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1
Njc4biA+PiAxMjluID09PSAweDkxYTJibiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtNW4gPj4gLTFu
LCAtMHhhbiwgIi01biA+PiAtMW4gPT09IC0weGFuIik7Cithc3NlcnQuc2FtZVZhbHVlKC01biA+
PiAtMm4sIC0weDE0biwgIi01biA+PiAtMm4gPT09IC0weDE0biIpOworYXNzZXJ0LnNhbWVWYWx1
ZSgtNW4gPj4gLTNuLCAtMHgyOG4sICItNW4gPj4gLTNuID09PSAtMHgyOG4iKTsKK2Fzc2VydC5z
YW1lVmFsdWUoLTVuID4+IDFuLCAtM24sICItNW4gPj4gMW4gPT09IC0zbiIpOworYXNzZXJ0LnNh
bWVWYWx1ZSgtNW4gPj4gMm4sIC0ybiwgIi01biA+PiAybiA9PT0gLTJuIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKC01biA+PiAzbiwgLTFuLCAiLTVuID4+IDNuID09PSAtMW4iKTsKK2Fzc2VydC5zYW1l
VmFsdWUoLTFuID4+IC0xMjhuLCAtMHgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBu
LCAiLTFuID4+IC0xMjhuID09PSAtMHgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBu
Iik7Cithc3NlcnQuc2FtZVZhbHVlKC0xbiA+PiAwbiwgLTFuLCAiLTFuID4+IDBuID09PSAtMW4i
KTsKK2Fzc2VydC5zYW1lVmFsdWUoLTFuID4+IDEyOG4sIC0xbiwgIi0xbiA+PiAxMjhuID09PSAt
MW4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTB4MjQ2biA+PiAwbiwgLTB4MjQ2biwgIi0weDI0Nm4g
Pj4gMG4gPT09IC0weDI0Nm4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTB4MjQ2biA+PiAtMTI3biwg
LTB4MTIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuLCAiLTB4MjQ2biA+PiAtMTI3
biA9PT0gLTB4MTIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuIik7Cithc3NlcnQu
c2FtZVZhbHVlKC0weDI0Nm4gPj4gLTEyOG4sIC0weDI0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwbiwgIi0weDI0Nm4gPj4gLTEyOG4gPT09IC0weDI0NjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtMHgyNDZuID4+IC0xMjluLCAt
MHg0OGMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4sICItMHgyNDZuID4+IC0xMjlu
ID09PSAtMHg0OGMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4iKTsKK2Fzc2VydC5z
YW1lVmFsdWUoLTB4MjQ2biA+PiAxMjhuLCAtMW4sICItMHgyNDZuID4+IDEyOG4gPT09IC0xbiIp
OworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMy
MTIzNDU2NzhuID4+IC02NG4sIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1
Njc4MDAwMDAwMDAwMDAwMDAwMG4sCisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0
MzIxMjM0NTY3OG4gPj4gLTY0biA9PT0gLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMy
MTIzNDU2NzgwMDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIz
NDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IC0zMm4sIC0weDEyMzQ1Njc4
OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMDAwMDBuLAorICAiLTB4MTIzNDU2Nzg5
YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IC0zMm4gPT09IC0weDEyMzQ1Njc4OWFi
Y2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVl
KAorICAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gLTE2biwg
LTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwbiwKKyAgIi0weDEy
MzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAtMTZuID09PSAtMHgxMjM0
NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDBuIik7Cithc3NlcnQuc2FtZVZh
bHVlKAorICAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMG4s
IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biwKKyAgIi0weDEyMzQ1
Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAwbiA9PT0gLTB4MTIzNDU2Nzg5
YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAt
MHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMTZuLCAtMHgxMjM0
NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM1biwKKyAgIi0weDEyMzQ1Njc4OWFiY2RlZjBm
ZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAxNm4gPT09IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRj
YmE5ODc2NTQzMjEyMzVuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAtMHgxMjM0NTY3ODlhYmNk
ZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMzJuLCAtMHgxMjM0NTY3ODlhYmNkZWYwZmVk
Y2JhOTg3NjU0MzNuLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2
NzhuID4+IDMybiA9PT0gLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMzbiIpOworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2
NzhuID4+IDY0biwgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYm4sCisgICItMHgxMjM0NTY3ODlh
YmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gNjRuID09PSAtMHgxMjM0NTY3ODlhYmNk
ZWYwZmVkY2JibiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZl
ZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDEyN24sIC0weDI0NjhhZG4sCisgICItMHgxMjM0NTY3
ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMTI3biA9PT0gLTB4MjQ2OGFkbiIp
OworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMy
MTIzNDU2NzhuID4+IDEyOG4sIC0weDEyMzQ1N24sCisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVk
Y2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMTI4biA9PT0gLTB4MTIzNDU3biIpOworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+
IDEyOW4sIC0weDkxYTJjbiwKKyAgIi0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEy
MzQ1Njc4biA+PiAxMjluID09PSAtMHg5MWEyY24iKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9z
dHJlc3MvYmlnLWludC1yaWdodC1zaGlmdC10eXBlLWVycm9yLmpzIGIvSlNUZXN0cy9zdHJlc3Mv
YmlnLWludC1yaWdodC1zaGlmdC10eXBlLWVycm9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4NGNjZDQ2MmQ2
MGY4OWNjNjk3NGZiY2UzMjg3ZjczZDBmOWYyOGYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3N0cmVzcy9iaWctaW50LXJpZ2h0LXNoaWZ0LXR5cGUtZXJyb3IuanMKQEAgLTAsMCArMSwxMDQg
QEAKKy8vQCBydW5CaWdJbnRFbmFibGVkCisKK2Z1bmN0aW9uIGFzc2VydChhLCBtZXNzYWdlKSB7
CisgICAgaWYgKCFhKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7Cit9CisKK2Z1
bmN0aW9uIGFzc2VydFRocm93VHlwZUVycm9yKGEsIGIsIG1lc3NhZ2UpIHsKKyAgICB0cnkgewor
ICAgICAgICBsZXQgbiA9IGEgPj4gYjsKKyAgICAgICAgYXNzZXJ0KGZhbHNlLCBtZXNzYWdlICsg
IjogU2hvdWxkIHRocm93IFR5cGVFcnJvciwgYnV0IGV4ZWN1dGVkIHdpdGhvdXQgZXhjZXB0aW9u
Iik7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBhc3NlcnQoZSBpbnN0YW5jZW9mIFR5cGVF
cnJvciwgbWVzc2FnZSArICI6IGV4cGVjdGVkIFR5cGVFcnJvciwgZ290OiAiICsgZSk7CisgICAg
fQorfQorCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sICJmb28iLCAiQmlnSW50ID4+IFN0cmlu
ZyIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoImJhciIsIDE4NzU3MzgyOTg0ODIxbiwgIlN0cmlu
ZyA+PiBCaWdJbnQiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgU3ltYm9sKCJmb28iKSwg
IkJpZ0ludCA+PiBTeW1ib2wiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKFN5bWJvbCgiYmFyIiks
IDE4NzU3MzgyOTg0ODIxbiwgIlN5bWJvbCA+PiBCaWdJbnQiKTsKK2Fzc2VydFRocm93VHlwZUVy
cm9yKDMwbiwgMzMyMCwgIkJpZ0ludCA+PiBJbnQzMiIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3Io
MzMyNTYsIDE4NzU3MzgyOTg0ODIxbiwgIkludDMyID4+IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dU
eXBlRXJyb3IoMzBuLCAwLjU0MywgIkJpZ0ludCA+PiBEb3VibGUiKTsKK2Fzc2VydFRocm93VHlw
ZUVycm9yKDIzMC4xOTI5MywgMTg3NTczODI5ODQ4MjFuLCAiRG91YmxlID4+IEJpZ0ludCIpOwor
YXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBOYU4sICJCaWdJbnQgPj4gTmFOIik7Cithc3NlcnRU
aHJvd1R5cGVFcnJvcihOYU4sIDE4NzU3MzgyOTg0ODIxbiwgIk5hTiA+PiBCaWdJbnQiKTsKK2Fz
c2VydFRocm93VHlwZUVycm9yKDMwbiwgK0luZmluaXR5LCAiQmlnSW50ID4+ICtJbmZpbml0eSIp
OworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoK0luZmluaXR5LCAxODc1NzM4Mjk4NDgyMW4sICIrSW5m
aW5pdHkgPj4gQmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIC1JbmZpbml0eSwg
IkJpZ0ludCA+PiAtSW5maW5pdHkiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKC1JbmZpbml0eSwg
MTg3NTczODI5ODQ4MjFuLCAiLUluZmluaXR5ID4+IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dUeXBl
RXJyb3IoMzBuLCBudWxsLCAiQmlnSW50ID4+IG51bGwiKTsKK2Fzc2VydFRocm93VHlwZUVycm9y
KG51bGwsIDE4NzU3MzgyOTg0ODIxbiwgIm51bGwgPj4gQmlnSW50Iik7Cithc3NlcnRUaHJvd1R5
cGVFcnJvcigzMG4sIHVuZGVmaW5lZCwgIkJpZ0ludCA+PiB1bmRlZmluZWQiKTsKK2Fzc2VydFRo
cm93VHlwZUVycm9yKHVuZGVmaW5lZCwgMTg3NTczODI5ODQ4MjFuLCAidW5kZWZpbmVkID4+IEJp
Z0ludCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCB0cnVlLCAiQmlnSW50ID4+IHRydWUi
KTsKK2Fzc2VydFRocm93VHlwZUVycm9yKHRydWUsIDE4NzU3MzgyOTg0ODIxbiwgInRydWUgPj4g
QmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIGZhbHNlLCAiQmlnSW50ID4+IGZh
bHNlIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihmYWxzZSwgMTg3NTczODI5ODQ4MjFuLCAiZmFs
c2UgPj4gQmlnSW50Iik7CisKKy8vIEVycm9yIHdoZW4gcmV0dXJuaW5nIGZyb20gb2JqZWN0CisK
K2xldCBvID0geworICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIFN5bWJvbCgiRm9v
Iik7IH0KK307CisKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA+PiBPYmpl
Y3QudmFsdWVPZiByZXR1cm5pbmcgU3ltYm9sIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAx
ODc1NzM4Mjk4NDgyMW4sICJPYmplY3QudmFsdWVPZiByZXR1cm5pbmcgU3ltYm9sID4+IEJpZ0lu
dCIpOworCitvID0geworICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDMzMjU2OyB9
Cit9OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPj4gT2JqZWN0LnZh
bHVlT2YgcmV0dXJuaW5nIEludDMyIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4
Mjk4NDgyMW4sICJPYmplY3QudmFsdWVPZiByZXR1cm5pbmcgSW50MzIgPj4gQmlnSW50Iik7CisK
K28gPSB7CisgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMC40NTM7IH0KK307CisK
K2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA+PiBPYmplY3QudmFsdWVPZiBy
ZXR1cm5pbmcgRG91YmxlIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgy
MW4sICJPYmplY3QudmFsdWVPZiByZXR1cm5pbmcgRG91YmxlID4+IEJpZ0ludCIpOworCitvID0g
eworICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiBTeW1ib2woIkZvbyIpOyB9Cit9
OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPj4gT2JqZWN0LnRvU3Ry
aW5nIHJldHVybmluZyBTeW1ib2wiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3Mzgy
OTg0ODIxbiwgIk9iamVjdC50b1N0cmluZyByZXR1cm5pbmcgU3ltYm9sID4+IEJpZ0ludCIpOwor
CitvID0geworICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAzMzI1NjsgfQorfTsK
KworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50ID4+IE9iamVjdC50b1N0cmlu
ZyByZXR1cm5pbmcgSW50MzIiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0
ODIxbiwgIk9iamVjdC50b1N0cmluZyByZXR1cm5pbmcgSW50MzIgPj4gQmlnSW50Iik7CisKK28g
PSB7CisgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDAuNDUzOyB9Cit9OworCith
c3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPj4gT2JqZWN0LnRvU3RyaW5nIHJl
dHVybmluZyBEb3VibGUiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIx
biwgIk9iamVjdC50b1N0cmluZyByZXR1cm5pbmcgRG91YmxlID4+IEJpZ0ludCIpOworCitvID0g
eworICAgIFtTeW1ib2wudG9QcmltaXRpdmVdOiBmdW5jdGlvbiAoKSB7IHJldHVybiBTeW1ib2wo
IkZvbyIpOyB9Cit9OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPj4g
T2JqZWN0LkBAdG9QcmltaXRpdmUgcmV0dXJuaW5nIFN5bWJvbCIpOworYXNzZXJ0VGhyb3dUeXBl
RXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LkBAdG9QcmltaXRpdmUgcmV0dXJuaW5n
IFN5bWJvbCA+PiBCaWdJbnQiKTsKKworbyA9IHsKKyAgICBbU3ltYm9sLnRvUHJpbWl0aXZlXTog
ZnVuY3Rpb24gKCkgeyByZXR1cm4gMzMyNTY7IH0KK307CisKK2Fzc2VydFRocm93VHlwZUVycm9y
KDMwbiwgbywgIkJpZ0ludCA+PiBPYmplY3QuQEB0b1ByaW1pdGl2ZSByZXR1cm5pbmcgSW50MzIi
KTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9iamVjdC5AQHRv
UHJpbWl0aXZlIHJldHVybmluZyBJbnQzMiA+PiBCaWdJbnQiKTsKKworbyA9IHsKKyAgICBbU3lt
Ym9sLnRvUHJpbWl0aXZlXTogZnVuY3Rpb24gKCkgeyByZXR1cm4gMC40NTM7IH0KK307CisKK2Fz
c2VydFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA+PiBPYmplY3QuQEB0b1ByaW1pdGl2
ZSByZXR1cm5pbmcgRG91YmxlIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4
NDgyMW4sICJPYmplY3QuQEB0b1ByaW1pdGl2ZSByZXR1cm5pbmcgRG91YmxlID4+IEJpZ0ludCIp
OworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LXJpZ2h0LXNoaWZ0LXdyYXBw
ZWQtdmFsdWUuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LXJpZ2h0LXNoaWZ0LXdyYXBwZWQt
dmFsdWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjk2YjJlMzkzY2YzMDZkNTRiYjU4ZDY5NGYxZTJiMGRhOWI3
OTZlOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtcmlnaHQtc2hp
ZnQtd3JhcHBlZC12YWx1ZS5qcwpAQCAtMCwwICsxLDM2IEBACisvL0AgcnVuQmlnSW50RW5hYmxl
ZAorCithc3NlcnQgPSB7CisgICAgc2FtZVZhbHVlOiBmdW5jdGlvbiAoaW5wdXQsIGV4cGVjdGVk
LCBtZXNzYWdlKSB7CisgICAgICAgIGlmIChpbnB1dCAhPT0gZXhwZWN0ZWQpCisgICAgICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7CisgICAgfQorfTsKKworZnVuY3Rpb24gdGVzdFJp
Z2h0U2hpZnQoeCwgeSwgeiwgbWVzc2FnZSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUoeCA+PiB5
LCB6LCBtZXNzYWdlKTsKK30KKwordGVzdFJpZ2h0U2hpZnQoT2JqZWN0KDBiMTBuKSwgMW4sIDBi
MW4sICJUb1ByaW1pdGl2ZTogdW5ib3ggb2JqZWN0IHdpdGggaW50ZXJuYWwgc2xvdCIpOworCits
ZXQgbyA9IHsKKyAgICBbU3ltYm9sLnRvUHJpbWl0aXZlXTogZnVuY3Rpb24oKSB7CisgICAgICAg
IHJldHVybiAwYjEwbjsKKyAgICB9Cit9OwordGVzdFJpZ2h0U2hpZnQobywgMGIwMW4sIDBiMW4s
ICJUb1ByaW1pdGl2ZTogQEB0b1ByaW1pdGl2ZSIpOworCitvID0geworICAgIHZhbHVlT2Y6IGZ1
bmN0aW9uKCkgeworICAgICAgICByZXR1cm4gMGIxMG47CisgICAgfQorfTsKK3Rlc3RSaWdodFNo
aWZ0KG8sIDBiMDFuLCAwYjFuLCAiVG9QcmltaXRpdmU6IHZhbHVlT2YiKTsKKworbyA9IHsKKyAg
ICB0b1N0cmluZzogZnVuY3Rpb24oKSB7CisgICAgICAgIHJldHVybiAwYjEwbjsKKyAgICB9Cit9
Cit0ZXN0UmlnaHRTaGlmdChvLCAwYjAxbiwgMGIxbiwgIlRvUHJpbWl0aXZlOiB0b1N0cmluZyIp
OworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9sZWZ0LXNoaWZ0LXRvLXByaW1pdGl2ZS1w
cmVjZWRlbmNlLmpzIGIvSlNUZXN0cy9zdHJlc3MvbGVmdC1zaGlmdC10by1wcmltaXRpdmUtcHJl
Y2VkZW5jZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmQyNjZmYzM5MTM0ZjdlZjA1OWQyZDQ2NDFkYzEzZDUz
OTAxNjhhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvbGVmdC1zaGlmdC10by1w
cmltaXRpdmUtcHJlY2VkZW5jZS5qcwpAQCAtMCwwICsxLDI5IEBACisvL0AgcnVuQmlnSW50RW5h
YmxlZAorCithc3NlcnQgPSB7CisgICAgc2FtZVZhbHVlOiBmdW5jdGlvbiAoaW5wdXQsIGV4cGVj
dGVkLCBtZXNzYWdlKSB7CisgICAgICAgIGlmIChpbnB1dCAhPT0gZXhwZWN0ZWQpCisgICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7CisgICAgfQorfTsKKworbGV0IG8gPSB7Cisg
ICAgW1N5bWJvbC50b1ByaW1pdGl2ZV06IGZ1bmN0aW9uKCkgeworICAgICAgICB0aHJvdyBuZXcg
RXJyb3IoIkJhZCIpOworICAgIH0KK307CisKK3RyeXsKKyAgICBvIDw8IFN5bWJvbCgiMiIpOwor
ICAgIGFzc2VydC5zYW1lVmFsdWUodHJ1ZSwgZmFsc2UsICJFeGNlcHRpb24gZXhwZWN0ZWQgdG8g
YmUgdGhyb3dlZCwgYnV0IGV4ZWN1dGVkIHdpdGhvdXQgZXJyb3IiKTsKK30gY2F0Y2ggKGUpIHsK
KyAgICBhc3NlcnQuc2FtZVZhbHVlKGUubWVzc2FnZSwgIkJhZCIsICJFeHBlY3RlZCB0byB0aHJv
dyBFcnJvcignQmFkJyksIGJ1dCBnb3Q6ICIgKyBlKTsKK30KKwordHJ5eworICAgIFN5bWJvbCgi
MiIpIDw8IG87CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0cnVlLCBmYWxzZSwgIkV4Y2VwdGlvbiBl
eHBlY3RlZCB0byBiZSB0aHJvd2VkLCBidXQgZXhlY3V0ZWQgd2l0aG91dCBlcnJvciIpOworfSBj
YXRjaCAoZSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwg
dHJ1ZSwgIkV4cGVjdGVkIHRvIHRocm93IFR5cGVFcnJvciwgYnV0IGdvdDogIiArIGUpCit9CisK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL3JpZ2h0LXNoaWZ0LXRvLXByaW1pdGl2ZS1wcmVj
ZWRlbmNlLmpzIGIvSlNUZXN0cy9zdHJlc3MvcmlnaHQtc2hpZnQtdG8tcHJpbWl0aXZlLXByZWNl
ZGVuY2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMWViNmIwMzRjMDcyNGU1MzM0MGYzYmZlNmM1ZjFiNzY0Y2Q3
NDJkNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL3JpZ2h0LXNoaWZ0LXRvLXBy
aW1pdGl2ZS1wcmVjZWRlbmNlLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vQCBydW5CaWdJbnRFbmFi
bGVkCisKK2Fzc2VydCA9IHsKKyAgICBzYW1lVmFsdWU6IGZ1bmN0aW9uIChpbnB1dCwgZXhwZWN0
ZWQsIG1lc3NhZ2UpIHsKKyAgICAgICAgaWYgKGlucHV0ICE9PSBleHBlY3RlZCkKKyAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTsKKyAgICB9Cit9OworCitsZXQgbyA9IHsKKyAg
ICBbU3ltYm9sLnRvUHJpbWl0aXZlXTogZnVuY3Rpb24oKSB7CisgICAgICAgIHRocm93IG5ldyBF
cnJvcigiQmFkIik7CisgICAgfQorfTsKKwordHJ5eworICAgIG8gPj4gU3ltYm9sKCIyIik7Cisg
ICAgYXNzZXJ0LnNhbWVWYWx1ZSh0cnVlLCBmYWxzZSwgIkV4Y2VwdGlvbiBleHBlY3RlZCB0byBi
ZSB0aHJvd2VkLCBidXQgZXhlY3V0ZWQgd2l0aG91dCBlcnJvciIpOworfSBjYXRjaCAoZSkgewor
ICAgIGFzc2VydC5zYW1lVmFsdWUoZS5tZXNzYWdlLCAiQmFkIiwgIkV4cGVjdGVkIHRvIHRocm93
IEVycm9yKCdCYWQnKSwgYnV0IGdvdDogIiArIGUpOworfQorCit0cnl7CisgICAgU3ltYm9sKCIy
IikgPj4gbzsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHRydWUsIGZhbHNlLCAiRXhjZXB0aW9uIGV4
cGVjdGVkIHRvIGJlIHRocm93ZWQsIGJ1dCBleGVjdXRlZCB3aXRob3V0IGVycm9yIik7Cit9IGNh
dGNoIChlKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShlIGluc3RhbmNlb2YgVHlwZUVycm9yLCB0
cnVlLCAiRXhwZWN0ZWQgdG8gdGhyb3cgVHlwZUVycm9yLCBidXQgZ290OiAiICsgZSkKK30KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354818</attachid>
            <date>2018-11-14 09:20:27 -0800</date>
            <delta_ts>2018-11-27 17:39:09 -0800</delta_ts>
            <desc>WIP - Patch</desc>
            <filename>bug-186233-20181114142025.patch</filename>
            <type>text/plain</type>
            <size>41767</size>
            <attacher name="Caio Lima">ticaiolima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZWM2ZGY5ZTRmYTQzYzYxN2Y4YzFmM2E3OGIxZTY0NDEzNzBmZjVjLi5mMmU3NDQxZDA4ZTY0ZTJk
ZDhhODcyNTdmN2U4MTEyNTY3OWJjNzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxOC0xMS0xNCAgQ2FpbyBMaW1hICA8dGljYWlvbGltYUBnbWFpbC5jb20+
CisKKyAgICAgICAgW0VTTmV4dF1bQmlnSW50XSBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgIjw8IiBh
bmQgIj4+IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTg2MjMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBpcyBpbnRyb2R1Y2luZyB0aGUgc3VwcG9ydCBmb3IgQmlnSW50IGludG8gbHNo
aWZ0IGFuZAorICAgICAgICByc2hpZnQgaW50byBMTGludCBhbmQgQmFzZWxpbmUgbGF5ZXJzLgor
CisgICAgICAgICogcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpT
TE9XX1BBVEhfREVDTCk6CisgICAgICAgICogcnVudGltZS9KU0JpZ0ludC5jcHA6CisgICAgICAg
IChKU0M6OkpTQmlnSW50OjpjcmVhdGVXaXRoTGVuZ3RoKToKKyAgICAgICAgKEpTQzo6SlNCaWdJ
bnQ6OmxlZnRTaGlmdCk6CisgICAgICAgIChKU0M6OkpTQmlnSW50OjpzaWduZWRSaWdodFNoaWZ0
KToKKyAgICAgICAgKEpTQzo6SlNCaWdJbnQ6OmxlZnRTaGlmdEJ5QWJzb2x1dGUpOgorICAgICAg
ICAoSlNDOjpKU0JpZ0ludDo6cmlnaHRTaGlmdEJ5QWJzb2x1dGUpOgorICAgICAgICAoSlNDOjpK
U0JpZ0ludDo6cmlnaHRTaGlmdEJ5TWF4aW11bSk6CisgICAgICAgIChKU0M6OkpTQmlnSW50Ojp0
b1NoaWZ0QW1vdW50KToKKyAgICAgICAgKiBydW50aW1lL0pTQmlnSW50Lmg6CisKIDIwMTgtMTEt
MTMgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgUHJveHlPYmpl
Y3Qgc2hvdWxkIGNoZWNrIGZvciBWTUlucXVpcnkgYW5kIHJldHVybiBlYXJseSBiZWZvcmUgdGhy
b3dpbmcgYSBzdGFjayBvdmVyZmxvdyBleGNlcHRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCmluZGV4IDhiYzkxYjNjZjBkYmJiNmU1
MDlmYzA2ZjVkZmJmYzRkMDdjYTI1OTQuLmJkMDk3OTliYjc5MTkyYmMwZjJmMmY2MzExN2NjMTFi
ZjUyNTZiNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
blNsb3dQYXRocy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9u
U2xvd1BhdGhzLmNwcApAQCAtNjUyLDIyICs2NTIsNDggQEAgU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX2xzaGlmdCkKIHsKICAgICBCRUdJTigpOwogICAgIGF1dG8gYnl0ZWNvZGUgPSBwYy0+YXM8
T3BMc2hpZnQ+KCk7Ci0gICAgaW50MzJfdCBhID0gR0VUX0MoYnl0ZWNvZGUubGhzKS5qc1ZhbHVl
KCkudG9JbnQzMihleGVjKTsKLSAgICBpZiAoVU5MSUtFTFkodGhyb3dTY29wZS5leGNlcHRpb24o
KSkpCi0gICAgICAgIFJFVFVSTihKU1ZhbHVlKCkpOwotICAgIHVpbnQzMl90IGIgPSBHRVRfQyhi
eXRlY29kZS5yaHMpLmpzVmFsdWUoKS50b1VJbnQzMihleGVjKTsKLSAgICBSRVRVUk4oanNOdW1i
ZXIoYSA8PCAoYiAmIDMxKSkpOworICAgIEpTVmFsdWUgbGVmdCA9IEdFVF9DKGJ5dGVjb2RlLmxo
cykuanNWYWx1ZSgpOworICAgIEpTVmFsdWUgcmlnaHQgPSBHRVRfQyhieXRlY29kZS5yaHMpLmpz
VmFsdWUoKTsKKyAgICBhdXRvIGxlZnROdW1lcmljID0gbGVmdC50b0JpZ0ludE9ySW50MzIoZXhl
Yyk7CisgICAgQ0hFQ0tfRVhDRVBUSU9OKCk7CisgICAgYXV0byByaWdodE51bWVyaWMgPSByaWdo
dC50b0JpZ0ludE9ySW50MzIoZXhlYyk7CisgICAgQ0hFQ0tfRVhDRVBUSU9OKCk7CisKKyAgICBp
ZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxKU0JpZ0ludCo+KGxlZnROdW1lcmljKSB8fCBXVEY6
OmhvbGRzX2FsdGVybmF0aXZlPEpTQmlnSW50Kj4ocmlnaHROdW1lcmljKSkgeworICAgICAgICBp
ZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxKU0JpZ0ludCo+KGxlZnROdW1lcmljKSAmJiBXVEY6
OmhvbGRzX2FsdGVybmF0aXZlPEpTQmlnSW50Kj4ocmlnaHROdW1lcmljKSkgeworICAgICAgICAg
ICAgSlNCaWdJbnQqIHJlc3VsdCA9IEpTQmlnSW50OjpsZWZ0U2hpZnQoZXhlYywgV1RGOjpnZXQ8
SlNCaWdJbnQqPihsZWZ0TnVtZXJpYyksIFdURjo6Z2V0PEpTQmlnSW50Kj4ocmlnaHROdW1lcmlj
KSk7CisgICAgICAgICAgICBDSEVDS19FWENFUFRJT04oKTsKKyAgICAgICAgICAgIFJFVFVSTihy
ZXN1bHQpOworICAgICAgICB9CisKKyAgICAgICAgVEhST1coY3JlYXRlVHlwZUVycm9yKGV4ZWMs
ICJJbnZhbGlkIG1peCBvZiBCaWdJbnQgYW5kIG90aGVyIHR5cGUgaW4gbGVmdCBzaGlmdCBvcGVy
YXRpb24uIikpOworICAgIH0KKworICAgIFJFVFVSTihqc051bWJlcihXVEY6OmdldDxpbnQzMl90
PihsZWZ0TnVtZXJpYykgPDwgKFdURjo6Z2V0PGludDMyX3Q+KHJpZ2h0TnVtZXJpYykgJiAzMSkp
KTsKIH0KIAogU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX3JzaGlmdCkKIHsKICAgICBCRUdJTigp
OwogICAgIGF1dG8gYnl0ZWNvZGUgPSBwYy0+YXM8T3BSc2hpZnQ+KCk7Ci0gICAgaW50MzJfdCBh
ID0gR0VUX0MoYnl0ZWNvZGUubGhzKS5qc1ZhbHVlKCkudG9JbnQzMihleGVjKTsKLSAgICBpZiAo
VU5MSUtFTFkodGhyb3dTY29wZS5leGNlcHRpb24oKSkpCi0gICAgICAgIFJFVFVSTihKU1ZhbHVl
KCkpOwotICAgIHVpbnQzMl90IGIgPSBHRVRfQyhieXRlY29kZS5yaHMpLmpzVmFsdWUoKS50b1VJ
bnQzMihleGVjKTsKLSAgICBSRVRVUk4oanNOdW1iZXIoYSA+PiAoYiAmIDMxKSkpOworICAgIEpT
VmFsdWUgbGVmdCA9IEdFVF9DKGJ5dGVjb2RlLmxocykuanNWYWx1ZSgpOworICAgIEpTVmFsdWUg
cmlnaHQgPSBHRVRfQyhieXRlY29kZS5yaHMpLmpzVmFsdWUoKTsKKyAgICBhdXRvIGxlZnROdW1l
cmljID0gbGVmdC50b0JpZ0ludE9ySW50MzIoZXhlYyk7CisgICAgQ0hFQ0tfRVhDRVBUSU9OKCk7
CisgICAgYXV0byByaWdodE51bWVyaWMgPSByaWdodC50b0JpZ0ludE9ySW50MzIoZXhlYyk7Cisg
ICAgQ0hFQ0tfRVhDRVBUSU9OKCk7CisKKyAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxK
U0JpZ0ludCo+KGxlZnROdW1lcmljKSB8fCBXVEY6OmhvbGRzX2FsdGVybmF0aXZlPEpTQmlnSW50
Kj4ocmlnaHROdW1lcmljKSkgeworICAgICAgICBpZiAoV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxK
U0JpZ0ludCo+KGxlZnROdW1lcmljKSAmJiBXVEY6OmhvbGRzX2FsdGVybmF0aXZlPEpTQmlnSW50
Kj4ocmlnaHROdW1lcmljKSkgeworICAgICAgICAgICAgSlNCaWdJbnQqIHJlc3VsdCA9IEpTQmln
SW50OjpzaWduZWRSaWdodFNoaWZ0KGV4ZWMsIFdURjo6Z2V0PEpTQmlnSW50Kj4obGVmdE51bWVy
aWMpLCBXVEY6OmdldDxKU0JpZ0ludCo+KHJpZ2h0TnVtZXJpYykpOworICAgICAgICAgICAgQ0hF
Q0tfRVhDRVBUSU9OKCk7CisgICAgICAgICAgICBSRVRVUk4ocmVzdWx0KTsKKyAgICAgICAgfQor
CisgICAgICAgIFRIUk9XKGNyZWF0ZVR5cGVFcnJvcihleGVjLCAiSW52YWxpZCBtaXggb2YgQmln
SW50IGFuZCBvdGhlciB0eXBlIGluIHNpZ25lZCByaWdodCBzaGlmdCBvcGVyYXRpb24uIikpOwor
ICAgIH0KKworICAgIFJFVFVSTihqc051bWJlcihXVEY6OmdldDxpbnQzMl90PihsZWZ0TnVtZXJp
YykgPj4gKFdURjo6Z2V0PGludDMyX3Q+KHJpZ2h0TnVtZXJpYykgJiAzMSkpKTsKIH0KIAogU0xP
V19QQVRIX0RFQ0woc2xvd19wYXRoX3Vyc2hpZnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0JpZ0ludC5jcHAKaW5kZXggNGFiNWE1MjM1M2ZkMWFlOTIwZDExYmIzNGJjMDZlYjU0
ZmY4OGVlNy4uMzcyZjVhMmEyN2IzMDMxMTlhZTk5NWVhZjE4MjNmZjVjMGNkN2JhMSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmNwcApAQCAtOTMsNiArOTMsMTEg
QEAgaW5saW5lIHNpemVfdCBKU0JpZ0ludDo6YWxsb2NhdGlvblNpemUodW5zaWduZWQgbGVuZ3Ro
KQogCiBKU0JpZ0ludCogSlNCaWdJbnQ6OmNyZWF0ZVdpdGhMZW5ndGgoVk0mIHZtLCB1bnNpZ25l
ZCBsZW5ndGgpCiB7CisgICAgLy8gRklYTUU6IEpTQmlnSW50OjpjcmVhdGVXaXRoTGVuZ3RoIHNo
b3VsZCB0aHJvdyB3aGVuIGxlbmd0aCBpcworICAgIC8vIGdyZWF0ZXIgdGhhbiBKU0JpZ0ludDo6
bWF4TGVuZ3RoLgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTA4MzYKKworICAgIEFTU0VSVChsZW5ndGggPD0gbWF4TGVuZ3RoKTsKICAgICBKU0JpZ0lu
dCogYmlnSW50ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNCaWdJbnQ+KHZtLmhlYXAs
IGFsbG9jYXRpb25TaXplKGxlbmd0aCkpKSBKU0JpZ0ludCh2bSwgdm0uYmlnSW50U3RydWN0dXJl
LmdldCgpLCBsZW5ndGgpOwogICAgIGJpZ0ludC0+ZmluaXNoQ3JlYXRpb24odm0pOwogICAgIHJl
dHVybiBiaWdJbnQ7CkBAIC00NTQsNiArNDU5LDMwIEBAIEpTQmlnSW50KiBKU0JpZ0ludDo6Yml0
d2lzZVhvcihWTSYgdm0sIEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSkKICAgICByZXR1cm4gYWJz
b2x1dGVBZGRPbmUodm0sIHJlc3VsdCwgU2lnbk9wdGlvbjo6U2lnbmVkKTsKIH0KIAorSlNCaWdJ
bnQqIEpTQmlnSW50OjpsZWZ0U2hpZnQoRXhlY1N0YXRlKiBleGVjLCBKU0JpZ0ludCogeCwgSlNC
aWdJbnQqIHkpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBpZiAoeS0+aXNaZXJv
KCkgfHwgeC0+aXNaZXJvKCkpCisgICAgICAgIHJldHVybiB4OworCisgICAgaWYgKHktPnNpZ24o
KSkKKyAgICAgICAgcmV0dXJuIHJpZ2h0U2hpZnRCeUFic29sdXRlKHZtLCB4LCB5KTsKKworICAg
IHJldHVybiBsZWZ0U2hpZnRCeUFic29sdXRlKGV4ZWMsIHgsIHkpOworfQorCitKU0JpZ0ludCog
SlNCaWdJbnQ6OnNpZ25lZFJpZ2h0U2hpZnQoRXhlY1N0YXRlKiBleGVjLCBKU0JpZ0ludCogeCwg
SlNCaWdJbnQqIHkpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBpZiAoeS0+aXNa
ZXJvKCkgfHwgeC0+aXNaZXJvKCkpCisgICAgICAgIHJldHVybiB4OworCisgICAgaWYgKHktPnNp
Z24oKSkKKyAgICAgICAgcmV0dXJuIGxlZnRTaGlmdEJ5QWJzb2x1dGUoZXhlYywgeCwgeSk7CisK
KyAgICByZXR1cm4gcmlnaHRTaGlmdEJ5QWJzb2x1dGUodm0sIHgsIHkpOworfQorCiAjaWYgVVNF
KEpTVkFMVUUzMl82NCkKICNkZWZpbmUgSEFWRV9UV09fRElHSVQgMQogdHlwZWRlZiB1aW50NjRf
dCBUd29EaWdpdDsKQEAgLTExOTcsNiArMTIyNiwxMzggQEAgSlNCaWdJbnQqIEpTQmlnSW50Ojph
YnNvbHV0ZVN1Yk9uZShWTSYgdm0sIEpTQmlnSW50KiB4LCB1bnNpZ25lZCByZXN1bHRMZW5ndGgp
CiAgICAgcmV0dXJuIHJlc3VsdC0+cmlnaHRUcmltKHZtKTsKIH0KIAorSlNCaWdJbnQqIEpTQmln
SW50OjpsZWZ0U2hpZnRCeUFic29sdXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNCaWdJbnQqIHgsIEpT
QmlnSW50KiB5KQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAgYXV0byBvcHRpb25hbFNoaWZ0ID0gdG9T
aGlmdEFtb3VudCh5KTsKKyAgICBpZiAoIW9wdGlvbmFsU2hpZnQpIHsKKyAgICAgICAgdGhyb3dS
YW5nZUVycm9yKGV4ZWMsIHNjb3BlLCAiQmlnSW50IGdlbmVyYXRlZCBmcm9tIHRoaXMgb3BlcmF0
aW9uIGlzIHRvbyBiaWciX3MpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAg
ICBEaWdpdCBzaGlmdCA9ICpvcHRpb25hbFNoaWZ0OworICAgIHVuc2lnbmVkIGRpZ2l0U2hpZnQg
PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc2hpZnQgLyBkaWdpdEJpdHMpOworICAgIHVuc2lnbmVk
IGJpdHNTaGlmdCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzaGlmdCAlIGRpZ2l0Qml0cyk7Cisg
ICAgdW5zaWduZWQgbGVuZ3RoID0geC0+bGVuZ3RoKCk7CisgICAgYm9vbCBncm93ID0gYml0c1No
aWZ0ICYmICh4LT5kaWdpdChsZW5ndGggLSAxKSA+PiAoZGlnaXRCaXRzIC0gYml0c1NoaWZ0KSk7
CisgICAgaW50IHJlc3VsdExlbmd0aCA9IGxlbmd0aCArIGRpZ2l0U2hpZnQgKyBncm93OworICAg
IGlmIChzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocmVzdWx0TGVuZ3RoKSA+IG1heExlbmd0aCkgewor
ICAgICAgICB0aHJvd1JhbmdlRXJyb3IoZXhlYywgc2NvcGUsICJCaWdJbnQgZ2VuZXJhdGVkIGZy
b20gdGhpcyBvcGVyYXRpb24gaXMgdG9vIGJpZyJfcyk7CisgICAgICAgIHJldHVybiBudWxscHRy
OworICAgIH0KKworICAgIEpTQmlnSW50KiByZXN1bHQgPSBjcmVhdGVXaXRoTGVuZ3RoKHZtLCBy
ZXN1bHRMZW5ndGgpOworICAgIEFTU0VSVChyZXN1bHQpOworICAgIGlmICghYml0c1NoaWZ0KSB7
CisgICAgICAgIHVuc2lnbmVkIGkgPSAwOworICAgICAgICBmb3IgKDsgaSA8IGRpZ2l0U2hpZnQ7
IGkrKykKKyAgICAgICAgICAgIHJlc3VsdC0+c2V0RGlnaXQoaSwgMHVsKTsKKworICAgICAgICBm
b3IgKDsgaSA8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihyZXN1bHRMZW5ndGgpOyBpKyspCisgICAg
ICAgICAgICByZXN1bHQtPnNldERpZ2l0KGksIHgtPmRpZ2l0KGkgLSBkaWdpdFNoaWZ0KSk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgRGlnaXQgY2FycnkgPSAwOworICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgZGlnaXRTaGlmdDsgaSsrKQorICAgICAgICAgICAgcmVzdWx0LT5zZXRE
aWdpdChpLCAwdWwpOworCisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7
IGkrKykgeworICAgICAgICAgICAgRGlnaXQgZCA9IHgtPmRpZ2l0KGkpOworICAgICAgICAgICAg
cmVzdWx0LT5zZXREaWdpdChpICsgZGlnaXRTaGlmdCwgKGQgPDwgYml0c1NoaWZ0KSB8IGNhcnJ5
KTsKKyAgICAgICAgICAgIGNhcnJ5ID0gZCA+PiAoZGlnaXRCaXRzIC0gYml0c1NoaWZ0KTsKKyAg
ICAgICAgfQorCisgICAgICAgIGlmIChncm93KQorICAgICAgICAgICAgcmVzdWx0LT5zZXREaWdp
dChsZW5ndGggKyBkaWdpdFNoaWZ0LCBjYXJyeSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IEFTU0VSVCghY2FycnkpOworICAgIH0KKworICAgIHJlc3VsdC0+c2V0U2lnbih4LT5zaWduKCkp
OworICAgIHJldHVybiByZXN1bHQtPnJpZ2h0VHJpbSh2bSk7Cit9CisKK0pTQmlnSW50KiBKU0Jp
Z0ludDo6cmlnaHRTaGlmdEJ5QWJzb2x1dGUoVk0mIHZtLCBKU0JpZ0ludCogeCwgSlNCaWdJbnQq
IHkpCit7CisgICAgdW5zaWduZWQgbGVuZ3RoID0geC0+bGVuZ3RoKCk7CisgICAgYm9vbCBzaWdu
ID0geC0+c2lnbigpOworICAgIGF1dG8gb3B0aW9uYWxTaGlmdCA9IHRvU2hpZnRBbW91bnQoeSk7
CisgICAgaWYgKCFvcHRpb25hbFNoaWZ0KQorICAgICAgICByZXR1cm4gcmlnaHRTaGlmdEJ5TWF4
aW11bSh2bSwgc2lnbik7CisKKyAgICBEaWdpdCBzaGlmdCA9ICpvcHRpb25hbFNoaWZ0OworICAg
IHVuc2lnbmVkIGRpZ2l0YWxTaGlmdCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzaGlmdCAvIGRp
Z2l0Qml0cyk7CisgICAgdW5zaWduZWQgYml0c1NoaWZ0ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KHNoaWZ0ICUgZGlnaXRCaXRzKTsKKyAgICBpbnQgcmVzdWx0TGVuZ3RoID0gbGVuZ3RoIC0gZGln
aXRhbFNoaWZ0OworICAgIGlmIChyZXN1bHRMZW5ndGggPD0gMCkKKyAgICAgICAgcmV0dXJuIHJp
Z2h0U2hpZnRCeU1heGltdW0odm0sIHNpZ24pOworCisgICAgLy8gRm9yIG5lZ2F0aXZlIG51bWJl
cnMsIHJvdW5kIGRvd24gaWYgYW55IGJpdCB3YXMgc2hpZnRlZCBvdXQgKHNvIHRoYXQgZS5nLgor
ICAgIC8vIC01biA+PiAxbiA9PSAtM24gYW5kIG5vdCAtMm4pLiBDaGVjayBub3cgd2hldGhlciB0
aGlzIHdpbGwgaGFwcGVuIGFuZAorICAgIC8vIHdoZXRoZXIgaXQgY2FuIGNhdXNlIG92ZXJmbG93
IGludG8gYSBuZXcgZGlnaXQuIElmIHdlIGFsbG9jYXRlIHRoZSByZXN1bHQKKyAgICAvLyBsYXJn
ZSBlbm91Z2ggdXAgZnJvbnQsIGl0IGF2b2lkcyBoYXZpbmcgdG8gZG8gYSBzZWNvbmQgYWxsb2Nh
dGlvbiBsYXRlci4KKyAgICBib29sIG11c3RSb3VuZERvd24gPSBmYWxzZTsKKyAgICBpZiAoc2ln
bikgeworICAgICAgICBjb25zdCBEaWdpdCBtYXNrID0gKHN0YXRpY19jYXN0PERpZ2l0PigxKSA8
PCBiaXRzU2hpZnQpIC0gMTsKKyAgICAgICAgaWYgKHgtPmRpZ2l0KGRpZ2l0YWxTaGlmdCkgJiBt
YXNrKQorICAgICAgICAgICAgbXVzdFJvdW5kRG93biA9IHRydWU7CisgICAgICAgIGVsc2Ugewor
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGRpZ2l0YWxTaGlmdDsgaSsrKSB7
CisgICAgICAgICAgICAgICAgaWYgKHgtPmRpZ2l0KGkpKSB7CisgICAgICAgICAgICAgICAgICAg
IG11c3RSb3VuZERvd24gPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBJ
ZiBiaXRzU2hpZnQgaXMgbm9uLXplcm8sIGl0IGZyZWVzIHVwIGJpdHMsIHByZXZlbnRpbmcgb3Zl
cmZsb3cuCisgICAgaWYgKG11c3RSb3VuZERvd24gJiYgIWJpdHNTaGlmdCkgeworICAgICAgICAv
LyBPdmVyZmxvdyBjYW5ub3QgaGFwcGVuIGlmIHRoZSBtb3N0IHNpZ25pZmljYW50IGRpZ2l0IGhh
cyB1bnNldCBiaXRzLgorICAgICAgICBEaWdpdCBtc2QgPSB4LT5kaWdpdChsZW5ndGggLSAxKTsK
KyAgICAgICAgYm9vbCByb3VuZGluZ0Nhbk92ZXJmbG93ID0gIXN0YXRpY19jYXN0PERpZ2l0Pih+
bXNkKTsKKyAgICAgICAgaWYgKHJvdW5kaW5nQ2FuT3ZlcmZsb3cpCisgICAgICAgICAgICByZXN1
bHRMZW5ndGgrKzsKKyAgICB9CisKKyAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHJl
c3VsdExlbmd0aCkgPD0gbGVuZ3RoKTsKKyAgICBKU0JpZ0ludCogcmVzdWx0ID0gY3JlYXRlV2l0
aExlbmd0aCh2bSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHJlc3VsdExlbmd0aCkpOworICAgIGlm
ICghYml0c1NoaWZ0KSB7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGRpZ2l0YWxTaGlmdDsg
aSA8IGxlbmd0aDsgaSsrKQorICAgICAgICAgICAgcmVzdWx0LT5zZXREaWdpdChpIC0gZGlnaXRh
bFNoaWZ0LCB4LT5kaWdpdChpKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgRGlnaXQgY2Fycnkg
PSB4LT5kaWdpdChkaWdpdGFsU2hpZnQpID4+IGJpdHNTaGlmdDsKKyAgICAgICAgdW5zaWduZWQg
bGFzdCA9IGxlbmd0aCAtIGRpZ2l0YWxTaGlmdCAtIDE7CisgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBsYXN0OyBpKyspIHsKKyAgICAgICAgICAgIERpZ2l0IGQgPSB4LT5kaWdpdChp
ICsgZGlnaXRhbFNoaWZ0ICsgMSk7CisgICAgICAgICAgICByZXN1bHQtPnNldERpZ2l0KGksIChk
IDw8IChkaWdpdEJpdHMgLSBiaXRzU2hpZnQpKSB8IGNhcnJ5KTsKKyAgICAgICAgICAgIGNhcnJ5
ID0gZCA+PiBiaXRzU2hpZnQ7CisgICAgICAgIH0KKyAgICAgICAgcmVzdWx0LT5zZXREaWdpdChs
YXN0LCBjYXJyeSk7CisgICAgfQorCisgICAgaWYgKHNpZ24pIHsKKyAgICAgICAgcmVzdWx0LT5z
ZXRTaWduKHRydWUpOworICAgICAgICBpZiAobXVzdFJvdW5kRG93bikgeworICAgICAgICAgICAg
Ly8gU2luY2UgdGhlIHJlc3VsdCBpcyBuZWdhdGl2ZSwgcm91bmRpbmcgZG93biBtZWFucyBhZGRp
bmcgb25lIHRvCisgICAgICAgICAgICAvLyBpdHMgYWJzb2x1dGUgdmFsdWUuIFRoaXMgY2Fubm90
IG92ZXJmbG93LgorICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LT5yaWdodFRyaW0odm0pOwor
ICAgICAgICAgICAgcmV0dXJuIGFic29sdXRlQWRkT25lKHZtLCByZXN1bHQsIFNpZ25PcHRpb246
OlNpZ25lZCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0LT5yaWdodFRy
aW0odm0pOworfQorCitKU0JpZ0ludCogSlNCaWdJbnQ6OnJpZ2h0U2hpZnRCeU1heGltdW0oVk0m
IHZtLCBib29sIHNpZ24pCit7CisgICAgaWYgKHNpZ24pCisgICAgICAgIHJldHVybiBjcmVhdGVG
cm9tKHZtLCAtMSk7CisKKyAgICByZXR1cm4gY3JlYXRlWmVybyh2bSk7Cit9CisKIC8vIExvb2t1
cCB0YWJsZSBmb3IgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJpdHMgcmVxdWlyZWQgcGVyIGNoYXJh
Y3RlciBvZiBhCiAvLyBiYXNlLU4gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgbnVtYmVyLiBU
byBpbmNyZWFzZSBhY2N1cmFjeSwgdGhlIGFycmF5CiAvLyB2YWx1ZSBpcyB0aGUgYWN0dWFsIHZh
bHVlIG11bHRpcGxpZWQgYnkgMzIuIFRvIGdlbmVyYXRlIHRoaXMgdGFibGU6CkBAIC0xNzQ0LDQg
KzE5MDUsMTggQEAgSlNCaWdJbnQ6OkNvbXBhcmlzb25SZXN1bHQgSlNCaWdJbnQ6OmNvbXBhcmVU
b0RvdWJsZShKU0JpZ0ludCogeCwgZG91YmxlIHkpCiAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1
bHQ6OkVxdWFsOwogfQogCitzdGQ6Om9wdGlvbmFsPEpTQmlnSW50OjpEaWdpdD4gSlNCaWdJbnQ6
OnRvU2hpZnRBbW91bnQoSlNCaWdJbnQqIHgpCit7CisgICAgaWYgKHgtPmxlbmd0aCgpID4gMSkK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAKKyAgICBEaWdpdCB2YWx1ZSA9IHgt
PmRpZ2l0KDApOworICAgIHN0YXRpY19hc3NlcnQobWF4TGVuZ3RoQml0cyA8IHN0ZDo6bnVtZXJp
Y19saW1pdHM8RGlnaXQ+OjptYXgoKSwgIm1heExlbmd0aEJpdHMgbmVlZHMgdG8gYmUgbGVzcyB0
aGFuIGRpZ2l0Iik7CisgICAgCisgICAgaWYgKHZhbHVlID4gbWF4TGVuZ3RoQml0cykKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiB2YWx1ZTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0JpZ0ludC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuaAppbmRl
eCBhNjJlMTM4YWQ2NjU1M2M5Mzk1ODZiZTY5NWExZGUxNWFlMzhlNDUwLi4xODE3YzczZGE2MWRk
NzUxODczNjQwMTJkMDk1OWIxZjMwNTY0NDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0JpZ0ludC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQmlnSW50LmgKQEAgLTExOCw2ICsxMTgsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpT
QmlnSW50KiBiaXR3aXNlT3IoVk0mLCBKU0JpZ0ludCogeCwgSlNCaWdJbnQqIHkpOwogICAgIHN0
YXRpYyBKU0JpZ0ludCogYml0d2lzZVhvcihWTSYsIEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSk7
CiAKKyAgICBzdGF0aWMgSlNCaWdJbnQqIGxlZnRTaGlmdChFeGVjU3RhdGUqLCBKU0JpZ0ludCog
eCwgSlNCaWdJbnQqIHkpOworICAgIHN0YXRpYyBKU0JpZ0ludCogc2lnbmVkUmlnaHRTaGlmdChF
eGVjU3RhdGUqLCBKU0JpZ0ludCogeCwgSlNCaWdJbnQqIHkpOworCiBwcml2YXRlOgogCiAgICAg
dXNpbmcgRGlnaXQgPSBVQ1BVUmVnaXN0ZXI7CkBAIC0xMzIsNiArMTM1LDcgQEAgcHJpdmF0ZToK
ICAgICAvLyByYWlzaW5nIGl0IGxhdGVyIGlzIGVhc2llciB0aGFuIGxvd2VyaW5nIGl0LgogICAg
IC8vIFN1cHBvcnQgdXAgdG8gMSBtaWxsaW9uIGJpdHMuCiAgICAgc3RhdGljIGNvbnN0ZXhwciB1
bnNpZ25lZCBtYXhMZW5ndGggPSAxMDI0ICogMTAyNCAvIChzaXplb2Yodm9pZCopICogYml0c1Bl
ckJ5dGUpOworICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgbWF4TGVuZ3RoQml0cyA9IG1h
eEludCAtIHNpemVvZih2b2lkKikgKiBiaXRzUGVyQnl0ZSAtIDE7CiAgICAgCiAgICAgc3RhdGlj
IHVpbnQ2NF90IGNhbGN1bGF0ZU1heGltdW1DaGFyYWN0ZXJzUmVxdWlyZWQodW5zaWduZWQgbGVu
Z3RoLCB1bnNpZ25lZCByYWRpeCwgRGlnaXQgbGFzdERpZ2l0LCBib29sIHNpZ24pOwogICAgIApA
QCAtMjA1LDcgKzIwOSwxNCBAQCBwcml2YXRlOgogICAgIHZvaWQgaW5wbGFjZU11bHRpcGx5QWRk
KERpZ2l0IG11bHRpcGxpZXIsIERpZ2l0IHBhcnQpOwogICAgIHN0YXRpYyBKU0JpZ0ludCogYWJz
b2x1dGVBZGQoVk0mLCBKU0JpZ0ludCogeCwgSlNCaWdJbnQqIHksIGJvb2wgcmVzdWx0U2lnbik7
CiAgICAgc3RhdGljIEpTQmlnSW50KiBhYnNvbHV0ZVN1YihWTSYsIEpTQmlnSW50KiB4LCBKU0Jp
Z0ludCogeSwgYm9vbCByZXN1bHRTaWduKTsKLSAgICAKKworICAgIHN0YXRpYyBKU0JpZ0ludCog
bGVmdFNoaWZ0QnlBYnNvbHV0ZShFeGVjU3RhdGUqLCBKU0JpZ0ludCogeCwgSlNCaWdJbnQqIHkp
OworICAgIHN0YXRpYyBKU0JpZ0ludCogcmlnaHRTaGlmdEJ5QWJzb2x1dGUoVk0mLCBKU0JpZ0lu
dCogeCwgSlNCaWdJbnQqIHkpOworCisgICAgc3RhdGljIEpTQmlnSW50KiByaWdodFNoaWZ0QnlN
YXhpbXVtKFZNJiwgYm9vbCBzaWduKTsKKworICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPERpZ2l0
PiB0b1NoaWZ0QW1vdW50KEpTQmlnSW50KiB4KTsKKwogICAgIHN0YXRpYyBzaXplX3QgYWxsb2Nh
dGlvblNpemUodW5zaWduZWQgbGVuZ3RoKTsKICAgICBzdGF0aWMgc2l6ZV90IG9mZnNldE9mRGF0
YSgpOwogICAgIERpZ2l0KiBkYXRhU3RvcmFnZSgpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFu
Z2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCA3NjhjMTAwYzQzNDA2MGNlOWUxYjY5OGRl
NjM2ZmEzZmExZTRkMWU3Li5kYTRhOWMzYjhiNjIwZTUxZGM2YmZiNmZjYjExZGEzNzY1MDIxYTBl
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIwIEBACisyMDE4LTExLTE0ICBDYWlvIExpbWEgIDx0aWNhaW9saW1hQGdtYWls
LmNvbT4KKworICAgICAgICBbRVNOZXh0XVtCaWdJbnRdIEltcGxlbWVudCBzdXBwb3J0IGZvciAi
PDwiIGFuZCAiPj4iCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODYyMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHN0cmVzcy9iaWctaW50LWxlZnQtc2hpZnQtZ2VuZXJhbC5qczogQWRkZWQuCisgICAg
ICAgICogc3RyZXNzL2JpZy1pbnQtbGVmdC1zaGlmdC1yYW5nZS1lcnJvci5qczogQWRkZWQuCisg
ICAgICAgICogc3RyZXNzL2JpZy1pbnQtbGVmdC1zaGlmdC10eXBlLWVycm9yLmpzOiBBZGRlZC4K
KyAgICAgICAgKiBzdHJlc3MvYmlnLWludC1sZWZ0LXNoaWZ0LXdyYXBwZWQtdmFsdWUuanM6IEFk
ZGVkLgorICAgICAgICAqIHN0cmVzcy9iaWctaW50LXJpZ2h0LXNoaWZ0LWdlbmVyYWwuanM6IEFk
ZGVkLgorICAgICAgICAqIHN0cmVzcy9iaWctaW50LXJpZ2h0LXNoaWZ0LXR5cGUtZXJyb3IuanM6
IEFkZGVkLgorICAgICAgICAqIHN0cmVzcy9iaWctaW50LXJpZ2h0LXNoaWZ0LXdyYXBwZWQtdmFs
dWUuanM6IEFkZGVkLgorICAgICAgICAqIHN0cmVzcy9sZWZ0LXNoaWZ0LXRvLXByaW1pdGl2ZS1w
cmVjZWRlbmNlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBzdHJlc3MvcmlnaHQtc2hpZnQtdG8tcHJp
bWl0aXZlLXByZWNlZGVuY2UuanM6IEFkZGVkLgorCiAyMDE4LTExLTEzICBTYWFtIEJhcmF0aSAg
PHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIFR5cGVQcm9maWxlTG9nOjpwcm9jZXNzTG9n
RW50cmllcyBzaG91bGQgc3Rhc2ggYXdheSBhbnkgcGVuZGluZyBleGNlcHRpb25zIGFuZCByZS1h
cHBseSB0aGVtIHRvIHRoZSBWTQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1s
ZWZ0LXNoaWZ0LWdlbmVyYWwuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LWxlZnQtc2hpZnQt
Z2VuZXJhbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmVkYmViYzcxM2NjNWRkNzIzNjA2NTE5ODY3ZGIzNjYy
OGZmOTVmCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1sZWZ0LXNo
aWZ0LWdlbmVyYWwuanMKQEAgLTAsMCArMSwxMDMgQEAKKy8vQCBydW5CaWdJbnRFbmFibGVkCisK
Ky8vIENvcHlyaWdodCAoQykgMjAxNyBKb3NoIFdvbGZlLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorCitmdW5jdGlvbiBhc3NlcnQoYSkgeworICAgIGlmICghYSkKKyAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzZXJ0aW9uIik7Cit9CisKK2Fzc2VydC5zYW1lVmFs
dWUgPSBmdW5jdGlvbiAoaW5wdXQsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgICAgaWYgKGlucHV0
ICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpOworfQorCith
c3NlcnQuc2FtZVZhbHVlKDBuIDw8IDBuLCAwbiwgIjBuIDw8IDBuID09PSAwbiIpOworYXNzZXJ0
LnNhbWVWYWx1ZSgwYjEwMW4gPDwgMW4sIDBiMTAxMG4sICIwYjEwMW4gPDwgMW4gPT09IDBiMTAx
MG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMGIxMDFuIDw8IDJuLCAwYjEwMTAwbiwgIjBiMTAxbiA8
PCAybiA9PT0gMGIxMDEwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMGIxMDFuIDw8IDNuLCAwYjEw
MTAwMG4sICIwYjEwMW4gPDwgM24gPT09IDBiMTAxMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgw
YjEwMW4gPDwgLTFuLCAwYjEwbiwgIjBiMTAxbiA8PCAtMW4gPT09IDBiMTBuIik7Cithc3NlcnQu
c2FtZVZhbHVlKDBiMTAxbiA8PCAtMm4sIDFuLCAiMGIxMDFuIDw8IC0ybiA9PT0gMW4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoMGIxMDFuIDw8IC0zbiwgMG4sICIwYjEwMW4gPDwgLTNuID09PSAwbiIp
OworYXNzZXJ0LnNhbWVWYWx1ZSgwbiA8PCAxMjhuLCAwbiwgIjBuIDw8IDEyOG4gPT09IDBuIik7
Cithc3NlcnQuc2FtZVZhbHVlKDBuIDw8IC0xMjhuLCAwbiwgIjBuIDw8IC0xMjhuID09PSAwbiIp
OworYXNzZXJ0LnNhbWVWYWx1ZSgweDI0Nm4gPDwgMG4sIDB4MjQ2biwgIjB4MjQ2biA8PCAwbiA9
PT0gMHgyNDZuIik7Cithc3NlcnQuc2FtZVZhbHVlKDB4MjQ2biA8PCAxMjduLCAweDEyMzAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiwgIjB4MjQ2biA8PCAxMjduID09PSAweDEyMzAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgweDI0
Nm4gPDwgMTI4biwgMHgyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4sICIweDI0
Nm4gPDwgMTI4biA9PT0gMHgyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4iKTsK
K2Fzc2VydC5zYW1lVmFsdWUoMHgyNDZuIDw8IDEyOW4sIDB4NDhjMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDBuLCAiMHgyNDZuIDw8IDEyOW4gPT09IDB4NDhjMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKDB4MjQ2biA8PCAtMTI4biwg
MG4sICIweDI0Nm4gPDwgLTEyOG4gPT09IDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAweDEy
MzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCA2NG4sIDB4MTIzNDU2Nzg5
YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAwMDAwMDAwMDAwbiwKKyAgIjB4MTIz
NDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IDY0biA9PT0gMHgxMjM0NTY3
ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDAwMDAwMDAwMDAwMDBuIik7Cithc3Nl
cnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4
biA8PCAzMm4sIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAw
MG4sCisgICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAzMm4g
PT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAwMG4iKTsK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIz
NDU2NzhuIDw8IDE2biwgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAw
MDBuLAorICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgMTZu
ID09PSAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMG4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2
NzhuIDw8IDBuLCAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biwKKyAg
IjB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IDBuID09PSAweDEy
MzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biIpOworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTE2biwg
MHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0biwKKyAgIjB4MTIzNDU2Nzg5YWJj
ZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IC0xNm4gPT09IDB4MTIzNDU2Nzg5YWJjZGVm
MGZlZGNiYTk4NzY1NDMyMTIzNG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5
YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IC0zMm4sIDB4MTIzNDU2Nzg5YWJjZGVm
MGZlZGNiYTk4NzY1NDMybiwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIz
NDU2NzhuIDw8IC0zMm4gPT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMybiIpOwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0
NTY3OG4gPDwgLTY0biwgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhbiwKKyAgIjB4MTIzNDU2Nzg5
YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IC02NG4gPT09IDB4MTIzNDU2Nzg5YWJj
ZGVmMGZlZGNiYW4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZl
ZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IC0xMjduLCAweDI0NjhhY24sCisgICIweDEyMzQ1Njc4
OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtMTI3biA9PT0gMHgyNDY4YWNuIik7
Cithc3NlcnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEy
MzQ1Njc4biA8PCAtMTI4biwgMHgxMjM0NTZuLAorICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2Jh
OTg3NjU0MzIxMjM0NTY3OG4gPDwgLTEyOG4gPT09IDB4MTIzNDU2biIpOworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTEy
OW4sIDB4OTFhMmJuLAorICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3
OG4gPDwgLTEyOW4gPT09IDB4OTFhMmJuIik7Cithc3NlcnQuc2FtZVZhbHVlKC01biA8PCAxbiwg
LTB4YW4sICItNW4gPDwgMW4gPT09IC0weGFuIik7Cithc3NlcnQuc2FtZVZhbHVlKC01biA8PCAy
biwgLTB4MTRuLCAiLTVuIDw8IDJuID09PSAtMHgxNG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTVu
IDw8IDNuLCAtMHgyOG4sICItNW4gPDwgM24gPT09IC0weDI4biIpOworYXNzZXJ0LnNhbWVWYWx1
ZSgtNW4gPDwgLTFuLCAtM24sICItNW4gPDwgLTFuID09PSAtM24iKTsKK2Fzc2VydC5zYW1lVmFs
dWUoLTVuIDw8IC0ybiwgLTJuLCAiLTVuIDw8IC0ybiA9PT0gLTJuIik7Cithc3NlcnQuc2FtZVZh
bHVlKC01biA8PCAtM24sIC0xbiwgIi01biA8PCAtM24gPT09IC0xbiIpOworYXNzZXJ0LnNhbWVW
YWx1ZSgtMW4gPDwgMTI4biwgLTB4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiwg
Ii0xbiA8PCAxMjhuID09PSAtMHgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuIik7
Cithc3NlcnQuc2FtZVZhbHVlKC0xbiA8PCAwbiwgLTFuLCAiLTFuIDw8IDBuID09PSAtMW4iKTsK
K2Fzc2VydC5zYW1lVmFsdWUoLTFuIDw8IC0xMjhuLCAtMW4sICItMW4gPDwgLTEyOG4gPT09IC0x
biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtMHgyNDZuIDw8IDBuLCAtMHgyNDZuLCAiLTB4MjQ2biA8
PCAwbiA9PT0gLTB4MjQ2biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtMHgyNDZuIDw8IDEyN24sIC0w
eDEyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiwgIi0weDI0Nm4gPDwgMTI3biA9
PT0gLTB4MTIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKC0weDI0Nm4gPDwgMTI4biwgLTB4MjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDBuLCAiLTB4MjQ2biA8PCAxMjhuID09PSAtMHgyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTB4MjQ2biA8PCAxMjluLCAtMHg0OGMw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4sICItMHgyNDZuIDw8IDEyOW4gPT09IC0w
eDQ4YzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1
ZSgtMHgyNDZuIDw8IC0xMjhuLCAtMW4sICItMHgyNDZuIDw8IC0xMjhuID09PSAtMW4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1
Njc4biA8PCA2NG4sIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAw
MDAwMDAwMDAwMDAwMG4sCisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0
NTY3OG4gPDwgNjRuID09PSAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3
ODAwMDAwMDAwMDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAtMHgxMjM0NTY3ODlh
YmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgMzJuLCAtMHgxMjM0NTY3ODlhYmNkZWYw
ZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDAwMDAwbiwKKyAgIi0weDEyMzQ1Njc4OWFiY2RlZjBm
ZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAzMm4gPT09IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRj
YmE5ODc2NTQzMjEyMzQ1Njc4MDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAtMHgx
MjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgMTZuLCAtMHgxMjM0NTY3
ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDBuLAorICAiLTB4MTIzNDU2Nzg5YWJj
ZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IDE2biA9PT0gLTB4MTIzNDU2Nzg5YWJjZGVm
MGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4
MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IDBuLCAtMHgxMjM0NTY3
ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4sCisgICItMHgxMjM0NTY3ODlhYmNkZWYw
ZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgMG4gPT09IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRj
YmE5ODc2NTQzMjEyMzQ1Njc4biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5
YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IC0xNm4sIC0weDEyMzQ1Njc4OWFiY2Rl
ZjBmZWRjYmE5ODc2NTQzMjEyMzVuLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1
NDMyMTIzNDU2NzhuIDw8IC0xNm4gPT09IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQz
MjEyMzVuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2Jh
OTg3NjU0MzIxMjM0NTY3OG4gPDwgLTMybiwgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1
NDMzbiwKKyAgIi0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAt
MzJuID09PSAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzNuIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwg
LTY0biwgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYm4sCisgICItMHgxMjM0NTY3ODlhYmNkZWYw
ZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTY0biA9PT0gLTB4MTIzNDU2Nzg5YWJjZGVmMGZl
ZGNiYm4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5
ODc2NTQzMjEyMzQ1Njc4biA8PCAtMTI3biwgLTB4MjQ2OGFkbiwKKyAgIi0weDEyMzQ1Njc4OWFi
Y2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtMTI3biA9PT0gLTB4MjQ2OGFkbiIpOwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIz
NDU2NzhuIDw8IC0xMjhuLCAtMHgxMjM0NTduLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNi
YTk4NzY1NDMyMTIzNDU2NzhuIDw8IC0xMjhuID09PSAtMHgxMjM0NTduIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwg
LTEyOW4sIC0weDkxYTJjbiwKKyAgIi0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEy
MzQ1Njc4biA8PCAtMTI5biA9PT0gLTB4OTFhMmNuIik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0
cmVzcy9iaWctaW50LWxlZnQtc2hpZnQtcmFuZ2UtZXJyb3IuanMgYi9KU1Rlc3RzL3N0cmVzcy9i
aWctaW50LWxlZnQtc2hpZnQtcmFuZ2UtZXJyb3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDJhYzEyYzFmYzE0
ODBlMjcwZWJjYjJhODgyY2MwZmY4NWI2MjM2NwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
c3RyZXNzL2JpZy1pbnQtbGVmdC1zaGlmdC1yYW5nZS1lcnJvci5qcwpAQCAtMCwwICsxLDIyIEBA
CisvL0AgcnVuQmlnSW50RW5hYmxlZAorCitmdW5jdGlvbiBhc3NlcnQoYSwgbWVzc2FnZSkgewor
ICAgIGlmICghYSkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpOworfQorCitmdW5j
dGlvbiBhc3NlcnRUaHJvd1JhbmdlRXJyb3IoYSwgYiwgbWVzc2FnZSkgeworICAgIHRyeSB7Cisg
ICAgICAgIGxldCBuID0gYSA8PCBiOworICAgICAgICBhc3NlcnQoZmFsc2UsIG1lc3NhZ2UgKyAi
OiBTaG91bGQgdGhyb3cgUmFuZ2VFcnJvciwgYnV0IGV4ZWN1dGVkIHdpdGhvdXQgZXhjZXB0aW9u
Iik7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBhc3NlcnQoZSBpbnN0YW5jZW9mIFJhbmdl
RXJyb3IsIG1lc3NhZ2UgKyAiOiBleHBlY3RlZCBSYW5nZUVycm9yLCBnb3Q6ICIgKyBlKTsKKyAg
ICB9Cit9CisKK2xldCBhID0gMW4gPDwgNjRuOworYXNzZXJ0VGhyb3dSYW5nZUVycm9yKDFuLCBh
LCAiTGVmdCBzaGlmdCBieSAiICsgYSk7CisKK2EgPSAxbiA8PCAzMG47Cithc3NlcnRUaHJvd1Jh
bmdlRXJyb3IoMW4sIGEsICJMZWZ0IHNoaWZ0IGJ5ICIgKyBhKTsKKwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy9zdHJlc3MvYmlnLWludC1sZWZ0LXNoaWZ0LXR5cGUtZXJyb3IuanMgYi9KU1Rlc3RzL3N0
cmVzcy9iaWctaW50LWxlZnQtc2hpZnQtdHlwZS1lcnJvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjg1MmVh
MjM2NWM4MmFmOWI1MzI3N2RkZTE1ZTgwMGM4MzgyODU5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy9zdHJlc3MvYmlnLWludC1sZWZ0LXNoaWZ0LXR5cGUtZXJyb3IuanMKQEAgLTAsMCArMSwx
MDQgQEAKKy8vQCBydW5CaWdJbnRFbmFibGVkCisKK2Z1bmN0aW9uIGFzc2VydChhLCBtZXNzYWdl
KSB7CisgICAgaWYgKCFhKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7Cit9CisK
K2Z1bmN0aW9uIGFzc2VydFRocm93VHlwZUVycm9yKGEsIGIsIG1lc3NhZ2UpIHsKKyAgICB0cnkg
eworICAgICAgICBsZXQgbiA9IGEgPDwgYjsKKyAgICAgICAgYXNzZXJ0KGZhbHNlLCBtZXNzYWdl
ICsgIjogU2hvdWxkIHRocm93IFR5cGVFcnJvciwgYnV0IGV4ZWN1dGVkIHdpdGhvdXQgZXhjZXB0
aW9uIik7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBhc3NlcnQoZSBpbnN0YW5jZW9mIFR5
cGVFcnJvciwgbWVzc2FnZSArICI6IGV4cGVjdGVkIFR5cGVFcnJvciwgZ290OiAiICsgZSk7Cisg
ICAgfQorfQorCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sICJmb28iLCAiQmlnSW50IDw8IFN0
cmluZyIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoImJhciIsIDE4NzU3MzgyOTg0ODIxbiwgIlN0
cmluZyA8PCBCaWdJbnQiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgU3ltYm9sKCJmb28i
KSwgIkJpZ0ludCA8PCBTeW1ib2wiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKFN5bWJvbCgiYmFy
IiksIDE4NzU3MzgyOTg0ODIxbiwgIlN5bWJvbCA8PCBCaWdJbnQiKTsKK2Fzc2VydFRocm93VHlw
ZUVycm9yKDMwbiwgMzMyMCwgIkJpZ0ludCA8PCBJbnQzMiIpOworYXNzZXJ0VGhyb3dUeXBlRXJy
b3IoMzMyNTYsIDE4NzU3MzgyOTg0ODIxbiwgIkludDMyIDw8IEJpZ0ludCIpOworYXNzZXJ0VGhy
b3dUeXBlRXJyb3IoMzBuLCAwLjU0MywgIkJpZ0ludCA8PCBEb3VibGUiKTsKK2Fzc2VydFRocm93
VHlwZUVycm9yKDIzMC4xOTI5MywgMTg3NTczODI5ODQ4MjFuLCAiRG91YmxlIDw8IEJpZ0ludCIp
OworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBOYU4sICJCaWdJbnQgPDwgTmFOIik7Cithc3Nl
cnRUaHJvd1R5cGVFcnJvcihOYU4sIDE4NzU3MzgyOTg0ODIxbiwgIk5hTiA8PCBCaWdJbnQiKTsK
K2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgK0luZmluaXR5LCAiQmlnSW50IDw8ICtJbmZpbml0
eSIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoK0luZmluaXR5LCAxODc1NzM4Mjk4NDgyMW4sICIr
SW5maW5pdHkgPDwgQmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIC1JbmZpbml0
eSwgIkJpZ0ludCA8PCAtSW5maW5pdHkiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKC1JbmZpbml0
eSwgMTg3NTczODI5ODQ4MjFuLCAiLUluZmluaXR5IDw8IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dU
eXBlRXJyb3IoMzBuLCBudWxsLCAiQmlnSW50IDw8IG51bGwiKTsKK2Fzc2VydFRocm93VHlwZUVy
cm9yKG51bGwsIDE4NzU3MzgyOTg0ODIxbiwgIm51bGwgPDwgQmlnSW50Iik7Cithc3NlcnRUaHJv
d1R5cGVFcnJvcigzMG4sIHVuZGVmaW5lZCwgIkJpZ0ludCA8PCB1bmRlZmluZWQiKTsKK2Fzc2Vy
dFRocm93VHlwZUVycm9yKHVuZGVmaW5lZCwgMTg3NTczODI5ODQ4MjFuLCAidW5kZWZpbmVkIDw8
IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCB0cnVlLCAiQmlnSW50IDw8IHRy
dWUiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKHRydWUsIDE4NzU3MzgyOTg0ODIxbiwgInRydWUg
PDwgQmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIGZhbHNlLCAiQmlnSW50IDw8
IGZhbHNlIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihmYWxzZSwgMTg3NTczODI5ODQ4MjFuLCAi
ZmFsc2UgPDwgQmlnSW50Iik7CisKKy8vIEVycm9yIHdoZW4gcmV0dXJuaW5nIGZyb20gb2JqZWN0
CisKK2xldCBvID0geworICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIFN5bWJvbCgi
Rm9vIik7IH0KK307CisKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA8PCBP
YmplY3QudmFsdWVPZiByZXR1cm5pbmcgU3ltYm9sIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihv
LCAxODc1NzM4Mjk4NDgyMW4sICJPYmplY3QudmFsdWVPZiByZXR1cm5pbmcgU3ltYm9sIDw8IEJp
Z0ludCIpOworCitvID0geworICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDMzMjU2
OyB9Cit9OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPDwgT2JqZWN0
LnZhbHVlT2YgcmV0dXJuaW5nIEludDMyIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1
NzM4Mjk4NDgyMW4sICJPYmplY3QudmFsdWVPZiByZXR1cm5pbmcgSW50MzIgPDwgQmlnSW50Iik7
CisKK28gPSB7CisgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMC40NTM7IH0KK307
CisKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA8PCBPYmplY3QudmFsdWVP
ZiByZXR1cm5pbmcgRG91YmxlIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4
NDgyMW4sICJPYmplY3QudmFsdWVPZiByZXR1cm5pbmcgRG91YmxlIDw8IEJpZ0ludCIpOworCitv
ID0geworICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiBTeW1ib2woIkZvbyIpOyB9
Cit9OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPDwgT2JqZWN0LnRv
U3RyaW5nIHJldHVybmluZyBTeW1ib2wiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3
MzgyOTg0ODIxbiwgIk9iamVjdC50b1N0cmluZyByZXR1cm5pbmcgU3ltYm9sIDw8IEJpZ0ludCIp
OworCitvID0geworICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAzMzI1NjsgfQor
fTsKKworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50IDw8IE9iamVjdC50b1N0
cmluZyByZXR1cm5pbmcgSW50MzIiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3Mzgy
OTg0ODIxbiwgIk9iamVjdC50b1N0cmluZyByZXR1cm5pbmcgSW50MzIgPDwgQmlnSW50Iik7CisK
K28gPSB7CisgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDAuNDUzOyB9Cit9Owor
Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPDwgT2JqZWN0LnRvU3RyaW5n
IHJldHVybmluZyBEb3VibGUiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0
ODIxbiwgIk9iamVjdC50b1N0cmluZyByZXR1cm5pbmcgRG91YmxlIDw8IEJpZ0ludCIpOworCitv
ID0geworICAgIFtTeW1ib2wudG9QcmltaXRpdmVdOiBmdW5jdGlvbiAoKSB7IHJldHVybiBTeW1i
b2woIkZvbyIpOyB9Cit9OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQg
PDwgT2JqZWN0LkBAdG9QcmltaXRpdmUgcmV0dXJuaW5nIFN5bWJvbCIpOworYXNzZXJ0VGhyb3dU
eXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LkBAdG9QcmltaXRpdmUgcmV0dXJu
aW5nIFN5bWJvbCA8PCBCaWdJbnQiKTsKKworbyA9IHsKKyAgICBbU3ltYm9sLnRvUHJpbWl0aXZl
XTogZnVuY3Rpb24gKCkgeyByZXR1cm4gMzMyNTY7IH0KK307CisKK2Fzc2VydFRocm93VHlwZUVy
cm9yKDMwbiwgbywgIkJpZ0ludCA8PCBPYmplY3QuQEB0b1ByaW1pdGl2ZSByZXR1cm5pbmcgSW50
MzIiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9iamVjdC5A
QHRvUHJpbWl0aXZlIHJldHVybmluZyBJbnQzMiA8PCBCaWdJbnQiKTsKKworbyA9IHsKKyAgICBb
U3ltYm9sLnRvUHJpbWl0aXZlXTogZnVuY3Rpb24gKCkgeyByZXR1cm4gMC40NTM7IH0KK307CisK
K2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA8PCBPYmplY3QuQEB0b1ByaW1p
dGl2ZSByZXR1cm5pbmcgRG91YmxlIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4
Mjk4NDgyMW4sICJPYmplY3QuQEB0b1ByaW1pdGl2ZSByZXR1cm5pbmcgRG91YmxlIDw8IEJpZ0lu
dCIpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LWxlZnQtc2hpZnQtd3Jh
cHBlZC12YWx1ZS5qcyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtbGVmdC1zaGlmdC13cmFwcGVk
LXZhbHVlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2OWRiZGEzM2QzMGZjMTE3MjM0MmM1YTE0ZTVhMTRiYmIy
ZTZkZjcKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LWxlZnQtc2hp
ZnQtd3JhcHBlZC12YWx1ZS5qcwpAQCAtMCwwICsxLDM2IEBACisvL0AgcnVuQmlnSW50RW5hYmxl
ZAorCithc3NlcnQgPSB7CisgICAgc2FtZVZhbHVlOiBmdW5jdGlvbiAoaW5wdXQsIGV4cGVjdGVk
LCBtZXNzYWdlKSB7CisgICAgICAgIGlmIChpbnB1dCAhPT0gZXhwZWN0ZWQpCisgICAgICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7CisgICAgfQorfTsKKworZnVuY3Rpb24gdGVzdExl
ZnRTaGlmdCh4LCB5LCB6LCBtZXNzYWdlKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh4IDw8IHks
IHosIG1lc3NhZ2UpOworfQorCit0ZXN0TGVmdFNoaWZ0KE9iamVjdCgwYjEwbiksIDFuLCAwYjEw
MG4sICJUb1ByaW1pdGl2ZTogdW5ib3ggb2JqZWN0IHdpdGggaW50ZXJuYWwgc2xvdCIpOworCits
ZXQgbyA9IHsKKyAgICBbU3ltYm9sLnRvUHJpbWl0aXZlXTogZnVuY3Rpb24oKSB7CisgICAgICAg
IHJldHVybiAwYjEwbjsKKyAgICB9Cit9OwordGVzdExlZnRTaGlmdChvLCAwYjAxbiwgMGIxMDBu
LCAiVG9QcmltaXRpdmU6IEBAdG9QcmltaXRpdmUiKTsKKworbyA9IHsKKyAgICB2YWx1ZU9mOiBm
dW5jdGlvbigpIHsKKyAgICAgICAgcmV0dXJuIDBiMTBuOworICAgIH0KK307Cit0ZXN0TGVmdFNo
aWZ0KG8sIDBiMDFuLCAwYjEwMG4sICJUb1ByaW1pdGl2ZTogdmFsdWVPZiIpOworCitvID0gewor
ICAgIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsKKyAgICAgICAgcmV0dXJuIDBiMTBuOworICAgIH0K
K30KK3Rlc3RMZWZ0U2hpZnQobywgMGIwMW4sIDBiMTAwbiwgIlRvUHJpbWl0aXZlOiB0b1N0cmlu
ZyIpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LXJpZ2h0LXNoaWZ0LWdl
bmVyYWwuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LXJpZ2h0LXNoaWZ0LWdlbmVyYWwuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGU1OGNhNjA3NDAyYjdmMTVmM2IxYjNiYjMxYzgzNmMwMTY5Y2U4NQotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtcmlnaHQtc2hpZnQtZ2VuZXJh
bC5qcwpAQCAtMCwwICsxLDEwNCBAQAorLy9AIHJ1bkJpZ0ludEVuYWJsZWQKKworLy8gQ29weXJp
Z2h0IChDKSAyMDE3IEpvc2ggV29sZmUuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKK2Z1bmN0aW9uIGFzc2VydChhKSB7CisgICAgaWYgKCFhKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZCBhc3NlcnRpb24iKTsKK30KKworYXNzZXJ0LnNhbWVWYWx1ZSA9IGZ1bmN0
aW9uIChpbnB1dCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgICBpZiAoaW5wdXQgIT09IGV4cGVj
dGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7Cit9CisKK2Fzc2VydC5zYW1l
VmFsdWUoMG4gPj4gMG4sIDBuLCAiMG4gPj4gMG4gPT09IDBuIik7Cithc3NlcnQuc2FtZVZhbHVl
KDBiMTAxbiA+PiAtMW4sIDBiMTAxMG4sICIwYjEwMW4gPj4gLTFuID09PSAwYjEwMTBuIik7Cith
c3NlcnQuc2FtZVZhbHVlKDBiMTAxbiA+PiAtMm4sIDBiMTAxMDBuLCAiMGIxMDFuID4+IC0ybiA9
PT0gMGIxMDEwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMGIxMDFuID4+IC0zbiwgMGIxMDEwMDBu
LCAiMGIxMDFuID4+IC0zbiA9PT0gMGIxMDEwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKDBiMTAx
biA+PiAxbiwgMGIxMG4sICIwYjEwMW4gPj4gMW4gPT09IDBiMTBuIik7Cithc3NlcnQuc2FtZVZh
bHVlKDBiMTAxbiA+PiAybiwgMW4sICIwYjEwMW4gPj4gMm4gPT09IDFuIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKDBiMTAxbiA+PiAzbiwgMG4sICIwYjEwMW4gPj4gM24gPT09IDBuIik7Cithc3NlcnQu
c2FtZVZhbHVlKDBuID4+IC0xMjhuLCAwbiwgIjBuID4+IC0xMjhuID09PSAwbiIpOworYXNzZXJ0
LnNhbWVWYWx1ZSgwbiA+PiAxMjhuLCAwbiwgIjBuID4+IDEyOG4gPT09IDBuIik7Cithc3NlcnQu
c2FtZVZhbHVlKDB4MjQ2biA+PiAwbiwgMHgyNDZuLCAiMHgyNDZuID4+IDBuID09PSAweDI0Nm4i
KTsKK2Fzc2VydC5zYW1lVmFsdWUoMHgyNDZuID4+IC0xMjduLCAweDEyMzAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwbiwgIjB4MjQ2biA+PiAtMTI3biA9PT0gMHgxMjMwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMHgyNDZuID4+IC0x
MjhuLCAweDI0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiwgIjB4MjQ2biA+PiAt
MTI4biA9PT0gMHgyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4iKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoMHgyNDZuID4+IC0xMjluLCAweDQ4YzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwbiwgIjB4MjQ2biA+PiAtMTI5biA9PT0gMHg0OGMwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMHgyNDZuID4+IDEyOG4sIDBuLCAi
MHgyNDZuID4+IDEyOG4gPT09IDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4
OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAtNjRuLCAweDEyMzQ1Njc4OWFiY2Rl
ZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMDAwMDAwMDAwMDAwMG4sCisgICIweDEyMzQ1Njc4
OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAtNjRuID09PSAweDEyMzQ1Njc4OWFi
Y2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMDAwMDAwMDAwMDAwMG4iKTsKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+
IC0zMm4sIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAwMG4s
CisgICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAtMzJuID09
PSAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMDAwMDBuIik7Cith
c3NlcnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1
Njc4biA+PiAtMTZuLCAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAw
MG4sCisgICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAtMTZu
ID09PSAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMG4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2
NzhuID4+IDBuLCAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biwKKyAg
IjB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDBuID09PSAweDEy
MzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biIpOworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMTZuLCAw
eDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzRuLAorICAiMHgxMjM0NTY3ODlhYmNk
ZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMTZuID09PSAweDEyMzQ1Njc4OWFiY2RlZjBm
ZWRjYmE5ODc2NTQzMjEyMzRuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFi
Y2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAzMm4sIDB4MTIzNDU2Nzg5YWJjZGVmMGZl
ZGNiYTk4NzY1NDMybiwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2
NzhuID4+IDMybiA9PT0gMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzJuIik7Cithc3Nl
cnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4
biA+PiA2NG4sIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYW4sCisgICIweDEyMzQ1Njc4OWFiY2Rl
ZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiA2NG4gPT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZl
ZGNiYW4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4
NzY1NDMyMTIzNDU2NzhuID4+IDEyN24sIDB4MjQ2OGFjbiwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVm
MGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDEyN24gPT09IDB4MjQ2OGFjbiIpOworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4g
Pj4gMTI4biwgMHgxMjM0NTZuLAorICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIx
MjM0NTY3OG4gPj4gMTI4biA9PT0gMHgxMjM0NTZuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAw
eDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAxMjluLCAweDkxYTJi
biwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDEyOW4g
PT09IDB4OTFhMmJuIik7Cithc3NlcnQuc2FtZVZhbHVlKC01biA+PiAtMW4sIC0weGFuLCAiLTVu
ID4+IC0xbiA9PT0gLTB4YW4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTVuID4+IC0ybiwgLTB4MTRu
LCAiLTVuID4+IC0ybiA9PT0gLTB4MTRuIik7Cithc3NlcnQuc2FtZVZhbHVlKC01biA+PiAtM24s
IC0weDI4biwgIi01biA+PiAtM24gPT09IC0weDI4biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtNW4g
Pj4gMW4sIC0zbiwgIi01biA+PiAxbiA9PT0gLTNuIik7Cithc3NlcnQuc2FtZVZhbHVlKC01biA+
PiAybiwgLTJuLCAiLTVuID4+IDJuID09PSAtMm4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTVuID4+
IDNuLCAtMW4sICItNW4gPj4gM24gPT09IC0xbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtMW4gPj4g
LTEyOG4sIC0weDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4sICItMW4gPj4gLTEy
OG4gPT09IC0weDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4iKTsKK2Fzc2VydC5z
YW1lVmFsdWUoLTFuID4+IDBuLCAtMW4sICItMW4gPj4gMG4gPT09IC0xbiIpOworYXNzZXJ0LnNh
bWVWYWx1ZSgtMW4gPj4gMTI4biwgLTFuLCAiLTFuID4+IDEyOG4gPT09IC0xbiIpOworYXNzZXJ0
LnNhbWVWYWx1ZSgtMHgyNDZuID4+IDBuLCAtMHgyNDZuLCAiLTB4MjQ2biA+PiAwbiA9PT0gLTB4
MjQ2biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtMHgyNDZuID4+IC0xMjduLCAtMHgxMjMwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4sICItMHgyNDZuID4+IC0xMjduID09PSAtMHgxMjMw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTB4
MjQ2biA+PiAtMTI4biwgLTB4MjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuLCAi
LTB4MjQ2biA+PiAtMTI4biA9PT0gLTB4MjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKC0weDI0Nm4gPj4gLTEyOW4sIC0weDQ4YzAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiwgIi0weDI0Nm4gPj4gLTEyOW4gPT09IC0weDQ4YzAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtMHgy
NDZuID4+IDEyOG4sIC0xbiwgIi0weDI0Nm4gPj4gMTI4biA9PT0gLTFuIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4g
LTY0biwgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAwMDAw
MDAwMDAwbiwKKyAgIi0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+
PiAtNjRuID09PSAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDAw
MDAwMDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAtMHgxMjM0NTY3ODlhYmNkZWYw
ZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gLTMybiwgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNi
YTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAwMG4sCisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2Jh
OTg3NjU0MzIxMjM0NTY3OG4gPj4gLTMybiA9PT0gLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4
NzY1NDMyMTIzNDU2NzgwMDAwMDAwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1
Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAtMTZuLCAtMHgxMjM0NTY3ODlh
YmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDBuLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVm
MGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IC0xNm4gPT09IC0weDEyMzQ1Njc4OWFiY2RlZjBm
ZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIC0weDEy
MzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAwbiwgLTB4MTIzNDU2Nzg5
YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZl
ZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDBuID09PSAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2Jh
OTg3NjU0MzIxMjM0NTY3OG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFi
Y2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAxNm4sIC0weDEyMzQ1Njc4OWFiY2RlZjBm
ZWRjYmE5ODc2NTQzMjEyMzVuLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMy
MTIzNDU2NzhuID4+IDE2biA9PT0gLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIz
NW4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2
NTQzMjEyMzQ1Njc4biA+PiAzMm4sIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzM24s
CisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMzJuID09
PSAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzNuIik7Cithc3NlcnQuc2FtZVZhbHVl
KAorICAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gNjRuLCAt
MHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JibiwKKyAgIi0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5
ODc2NTQzMjEyMzQ1Njc4biA+PiA2NG4gPT09IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmJuIik7
Cithc3NlcnQuc2FtZVZhbHVlKAorICAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIx
MjM0NTY3OG4gPj4gMTI3biwgLTB4MjQ2OGFkbiwKKyAgIi0weDEyMzQ1Njc4OWFiY2RlZjBmZWRj
YmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAxMjduID09PSAtMHgyNDY4YWRuIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4g
MTI4biwgLTB4MTIzNDU3biwKKyAgIi0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEy
MzQ1Njc4biA+PiAxMjhuID09PSAtMHgxMjM0NTduIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAt
MHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMTI5biwgLTB4OTFh
MmNuLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDEy
OW4gPT09IC0weDkxYTJjbiIpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9iaWctaW50
LXJpZ2h0LXNoaWZ0LXR5cGUtZXJyb3IuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LXJpZ2h0
LXNoaWZ0LXR5cGUtZXJyb3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg0Y2NkNDYyZDYwZjg5Y2M2OTc0ZmJj
ZTMyODdmNzNkMGY5ZjI4ZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1p
bnQtcmlnaHQtc2hpZnQtdHlwZS1lcnJvci5qcwpAQCAtMCwwICsxLDEwNCBAQAorLy9AIHJ1bkJp
Z0ludEVuYWJsZWQKKworZnVuY3Rpb24gYXNzZXJ0KGEsIG1lc3NhZ2UpIHsKKyAgICBpZiAoIWEp
CisgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTsKK30KKworZnVuY3Rpb24gYXNzZXJ0
VGhyb3dUeXBlRXJyb3IoYSwgYiwgbWVzc2FnZSkgeworICAgIHRyeSB7CisgICAgICAgIGxldCBu
ID0gYSA+PiBiOworICAgICAgICBhc3NlcnQoZmFsc2UsIG1lc3NhZ2UgKyAiOiBTaG91bGQgdGhy
b3cgVHlwZUVycm9yLCBidXQgZXhlY3V0ZWQgd2l0aG91dCBleGNlcHRpb24iKTsKKyAgICB9IGNh
dGNoIChlKSB7CisgICAgICAgIGFzc2VydChlIGluc3RhbmNlb2YgVHlwZUVycm9yLCBtZXNzYWdl
ICsgIjogZXhwZWN0ZWQgVHlwZUVycm9yLCBnb3Q6ICIgKyBlKTsKKyAgICB9Cit9CisKK2Fzc2Vy
dFRocm93VHlwZUVycm9yKDMwbiwgImZvbyIsICJCaWdJbnQgPj4gU3RyaW5nIik7Cithc3NlcnRU
aHJvd1R5cGVFcnJvcigiYmFyIiwgMTg3NTczODI5ODQ4MjFuLCAiU3RyaW5nID4+IEJpZ0ludCIp
OworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBTeW1ib2woImZvbyIpLCAiQmlnSW50ID4+IFN5
bWJvbCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoU3ltYm9sKCJiYXIiKSwgMTg3NTczODI5ODQ4
MjFuLCAiU3ltYm9sID4+IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCAzMzIw
LCAiQmlnSW50ID4+IEludDMyIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMzI1NiwgMTg3NTcz
ODI5ODQ4MjFuLCAiSW50MzIgPj4gQmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4s
IDAuNTQzLCAiQmlnSW50ID4+IERvdWJsZSIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMjMwLjE5
MjkzLCAxODc1NzM4Mjk4NDgyMW4sICJEb3VibGUgPj4gQmlnSW50Iik7Cithc3NlcnRUaHJvd1R5
cGVFcnJvcigzMG4sIE5hTiwgIkJpZ0ludCA+PiBOYU4iKTsKK2Fzc2VydFRocm93VHlwZUVycm9y
KE5hTiwgMTg3NTczODI5ODQ4MjFuLCAiTmFOID4+IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dUeXBl
RXJyb3IoMzBuLCArSW5maW5pdHksICJCaWdJbnQgPj4gK0luZmluaXR5Iik7Cithc3NlcnRUaHJv
d1R5cGVFcnJvcigrSW5maW5pdHksIDE4NzU3MzgyOTg0ODIxbiwgIitJbmZpbml0eSA+PiBCaWdJ
bnQiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgLUluZmluaXR5LCAiQmlnSW50ID4+IC1J
bmZpbml0eSIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoLUluZmluaXR5LCAxODc1NzM4Mjk4NDgy
MW4sICItSW5maW5pdHkgPj4gQmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG51
bGwsICJCaWdJbnQgPj4gbnVsbCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IobnVsbCwgMTg3NTcz
ODI5ODQ4MjFuLCAibnVsbCA+PiBCaWdJbnQiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwg
dW5kZWZpbmVkLCAiQmlnSW50ID4+IHVuZGVmaW5lZCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3Io
dW5kZWZpbmVkLCAxODc1NzM4Mjk4NDgyMW4sICJ1bmRlZmluZWQgPj4gQmlnSW50Iik7Cithc3Nl
cnRUaHJvd1R5cGVFcnJvcigzMG4sIHRydWUsICJCaWdJbnQgPj4gdHJ1ZSIpOworYXNzZXJ0VGhy
b3dUeXBlRXJyb3IodHJ1ZSwgMTg3NTczODI5ODQ4MjFuLCAidHJ1ZSA+PiBCaWdJbnQiKTsKK2Fz
c2VydFRocm93VHlwZUVycm9yKDMwbiwgZmFsc2UsICJCaWdJbnQgPj4gZmFsc2UiKTsKK2Fzc2Vy
dFRocm93VHlwZUVycm9yKGZhbHNlLCAxODc1NzM4Mjk4NDgyMW4sICJmYWxzZSA+PiBCaWdJbnQi
KTsKKworLy8gRXJyb3Igd2hlbiByZXR1cm5pbmcgZnJvbSBvYmplY3QKKworbGV0IG8gPSB7Cisg
ICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gU3ltYm9sKCJGb28iKTsgfQorfTsKKwor
YXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50ID4+IE9iamVjdC52YWx1ZU9mIHJl
dHVybmluZyBTeW1ib2wiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIx
biwgIk9iamVjdC52YWx1ZU9mIHJldHVybmluZyBTeW1ib2wgPj4gQmlnSW50Iik7CisKK28gPSB7
CisgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMzMyNTY7IH0KK307CisKK2Fzc2Vy
dFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA+PiBPYmplY3QudmFsdWVPZiByZXR1cm5p
bmcgSW50MzIiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9i
amVjdC52YWx1ZU9mIHJldHVybmluZyBJbnQzMiA+PiBCaWdJbnQiKTsKKworbyA9IHsKKyAgICB2
YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwLjQ1MzsgfQorfTsKKworYXNzZXJ0VGhyb3dU
eXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50ID4+IE9iamVjdC52YWx1ZU9mIHJldHVybmluZyBEb3Vi
bGUiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9iamVjdC52
YWx1ZU9mIHJldHVybmluZyBEb3VibGUgPj4gQmlnSW50Iik7CisKK28gPSB7CisgICAgdG9TdHJp
bmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIFN5bWJvbCgiRm9vIik7IH0KK307CisKK2Fzc2VydFRo
cm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA+PiBPYmplY3QudG9TdHJpbmcgcmV0dXJuaW5n
IFN5bWJvbCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2Jq
ZWN0LnRvU3RyaW5nIHJldHVybmluZyBTeW1ib2wgPj4gQmlnSW50Iik7CisKK28gPSB7CisgICAg
dG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDMzMjU2OyB9Cit9OworCithc3NlcnRUaHJv
d1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPj4gT2JqZWN0LnRvU3RyaW5nIHJldHVybmluZyBJ
bnQzMiIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0
LnRvU3RyaW5nIHJldHVybmluZyBJbnQzMiA+PiBCaWdJbnQiKTsKKworbyA9IHsKKyAgICB0b1N0
cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gMC40NTM7IH0KK307CisKK2Fzc2VydFRocm93VHlw
ZUVycm9yKDMwbiwgbywgIkJpZ0ludCA+PiBPYmplY3QudG9TdHJpbmcgcmV0dXJuaW5nIERvdWJs
ZSIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LnRv
U3RyaW5nIHJldHVybmluZyBEb3VibGUgPj4gQmlnSW50Iik7CisKK28gPSB7CisgICAgW1N5bWJv
bC50b1ByaW1pdGl2ZV06IGZ1bmN0aW9uICgpIHsgcmV0dXJuIFN5bWJvbCgiRm9vIik7IH0KK307
CisKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA+PiBPYmplY3QuQEB0b1By
aW1pdGl2ZSByZXR1cm5pbmcgU3ltYm9sIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1
NzM4Mjk4NDgyMW4sICJPYmplY3QuQEB0b1ByaW1pdGl2ZSByZXR1cm5pbmcgU3ltYm9sID4+IEJp
Z0ludCIpOworCitvID0geworICAgIFtTeW1ib2wudG9QcmltaXRpdmVdOiBmdW5jdGlvbiAoKSB7
IHJldHVybiAzMzI1NjsgfQorfTsKKworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmln
SW50ID4+IE9iamVjdC5AQHRvUHJpbWl0aXZlIHJldHVybmluZyBJbnQzMiIpOworYXNzZXJ0VGhy
b3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LkBAdG9QcmltaXRpdmUgcmV0
dXJuaW5nIEludDMyID4+IEJpZ0ludCIpOworCitvID0geworICAgIFtTeW1ib2wudG9QcmltaXRp
dmVdOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwLjQ1MzsgfQorfTsKKworYXNzZXJ0VGhyb3dUeXBl
RXJyb3IoMzBuLCBvLCAiQmlnSW50ID4+IE9iamVjdC5AQHRvUHJpbWl0aXZlIHJldHVybmluZyBE
b3VibGUiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9iamVj
dC5AQHRvUHJpbWl0aXZlIHJldHVybmluZyBEb3VibGUgPj4gQmlnSW50Iik7CisKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtcmlnaHQtc2hpZnQtd3JhcHBlZC12YWx1ZS5qcyBi
L0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtcmlnaHQtc2hpZnQtd3JhcHBlZC12YWx1ZS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iOTZiMmUzOTNjZjMwNmQ1NGJiNThkNjk0ZjFlMmIwZGE5Yjc5NmU5Ci0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1yaWdodC1zaGlmdC13cmFwcGVkLXZh
bHVlLmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vQCBydW5CaWdJbnRFbmFibGVkCisKK2Fzc2VydCA9
IHsKKyAgICBzYW1lVmFsdWU6IGZ1bmN0aW9uIChpbnB1dCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsK
KyAgICAgICAgaWYgKGlucHV0ICE9PSBleHBlY3RlZCkKKyAgICAgICAgICAgIHRocm93IG5ldyBF
cnJvcihtZXNzYWdlKTsKKyAgICB9Cit9OworCitmdW5jdGlvbiB0ZXN0UmlnaHRTaGlmdCh4LCB5
LCB6LCBtZXNzYWdlKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh4ID4+IHksIHosIG1lc3NhZ2Up
OworfQorCit0ZXN0UmlnaHRTaGlmdChPYmplY3QoMGIxMG4pLCAxbiwgMGIxbiwgIlRvUHJpbWl0
aXZlOiB1bmJveCBvYmplY3Qgd2l0aCBpbnRlcm5hbCBzbG90Iik7CisKK2xldCBvID0geworICAg
IFtTeW1ib2wudG9QcmltaXRpdmVdOiBmdW5jdGlvbigpIHsKKyAgICAgICAgcmV0dXJuIDBiMTBu
OworICAgIH0KK307Cit0ZXN0UmlnaHRTaGlmdChvLCAwYjAxbiwgMGIxbiwgIlRvUHJpbWl0aXZl
OiBAQHRvUHJpbWl0aXZlIik7CisKK28gPSB7CisgICAgdmFsdWVPZjogZnVuY3Rpb24oKSB7Cisg
ICAgICAgIHJldHVybiAwYjEwbjsKKyAgICB9Cit9OwordGVzdFJpZ2h0U2hpZnQobywgMGIwMW4s
IDBiMW4sICJUb1ByaW1pdGl2ZTogdmFsdWVPZiIpOworCitvID0geworICAgIHRvU3RyaW5nOiBm
dW5jdGlvbigpIHsKKyAgICAgICAgcmV0dXJuIDBiMTBuOworICAgIH0KK30KK3Rlc3RSaWdodFNo
aWZ0KG8sIDBiMDFuLCAwYjFuLCAiVG9QcmltaXRpdmU6IHRvU3RyaW5nIik7CisKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvc3RyZXNzL2xlZnQtc2hpZnQtdG8tcHJpbWl0aXZlLXByZWNlZGVuY2UuanMg
Yi9KU1Rlc3RzL3N0cmVzcy9sZWZ0LXNoaWZ0LXRvLXByaW1pdGl2ZS1wcmVjZWRlbmNlLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2ZDI2NmZjMzkxMzRmN2VmMDU5ZDJkNDY0MWRjMTNkNTM5MDE2OGEKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9sZWZ0LXNoaWZ0LXRvLXByaW1pdGl2ZS1wcmVj
ZWRlbmNlLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vQCBydW5CaWdJbnRFbmFibGVkCisKK2Fzc2Vy
dCA9IHsKKyAgICBzYW1lVmFsdWU6IGZ1bmN0aW9uIChpbnB1dCwgZXhwZWN0ZWQsIG1lc3NhZ2Up
IHsKKyAgICAgICAgaWYgKGlucHV0ICE9PSBleHBlY3RlZCkKKyAgICAgICAgICAgIHRocm93IG5l
dyBFcnJvcihtZXNzYWdlKTsKKyAgICB9Cit9OworCitsZXQgbyA9IHsKKyAgICBbU3ltYm9sLnRv
UHJpbWl0aXZlXTogZnVuY3Rpb24oKSB7CisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIik7
CisgICAgfQorfTsKKwordHJ5eworICAgIG8gPDwgU3ltYm9sKCIyIik7CisgICAgYXNzZXJ0LnNh
bWVWYWx1ZSh0cnVlLCBmYWxzZSwgIkV4Y2VwdGlvbiBleHBlY3RlZCB0byBiZSB0aHJvd2VkLCBi
dXQgZXhlY3V0ZWQgd2l0aG91dCBlcnJvciIpOworfSBjYXRjaCAoZSkgeworICAgIGFzc2VydC5z
YW1lVmFsdWUoZS5tZXNzYWdlLCAiQmFkIiwgIkV4cGVjdGVkIHRvIHRocm93IEVycm9yKCdCYWQn
KSwgYnV0IGdvdDogIiArIGUpOworfQorCit0cnl7CisgICAgU3ltYm9sKCIyIikgPDwgbzsKKyAg
ICBhc3NlcnQuc2FtZVZhbHVlKHRydWUsIGZhbHNlLCAiRXhjZXB0aW9uIGV4cGVjdGVkIHRvIGJl
IHRocm93ZWQsIGJ1dCBleGVjdXRlZCB3aXRob3V0IGVycm9yIik7Cit9IGNhdGNoIChlKSB7Cisg
ICAgYXNzZXJ0LnNhbWVWYWx1ZShlIGluc3RhbmNlb2YgVHlwZUVycm9yLCB0cnVlLCAiRXhwZWN0
ZWQgdG8gdGhyb3cgVHlwZUVycm9yLCBidXQgZ290OiAiICsgZSkKK30KKwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy9zdHJlc3MvcmlnaHQtc2hpZnQtdG8tcHJpbWl0aXZlLXByZWNlZGVuY2UuanMgYi9K
U1Rlc3RzL3N0cmVzcy9yaWdodC1zaGlmdC10by1wcmltaXRpdmUtcHJlY2VkZW5jZS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xZWI2YjAzNGMwNzI0ZTUzMzQwZjNiZmU2YzVmMWI3NjRjZDc0MmQ0Ci0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvcmlnaHQtc2hpZnQtdG8tcHJpbWl0aXZlLXByZWNl
ZGVuY2UuanMKQEAgLTAsMCArMSwyOSBAQAorLy9AIHJ1bkJpZ0ludEVuYWJsZWQKKworYXNzZXJ0
ID0geworICAgIHNhbWVWYWx1ZTogZnVuY3Rpb24gKGlucHV0LCBleHBlY3RlZCwgbWVzc2FnZSkg
eworICAgICAgICBpZiAoaW5wdXQgIT09IGV4cGVjdGVkKQorICAgICAgICAgICAgdGhyb3cgbmV3
IEVycm9yKG1lc3NhZ2UpOworICAgIH0KK307CisKK2xldCBvID0geworICAgIFtTeW1ib2wudG9Q
cmltaXRpdmVdOiBmdW5jdGlvbigpIHsKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsK
KyAgICB9Cit9OworCit0cnl7CisgICAgbyA+PiBTeW1ib2woIjIiKTsKKyAgICBhc3NlcnQuc2Ft
ZVZhbHVlKHRydWUsIGZhbHNlLCAiRXhjZXB0aW9uIGV4cGVjdGVkIHRvIGJlIHRocm93ZWQsIGJ1
dCBleGVjdXRlZCB3aXRob3V0IGVycm9yIik7Cit9IGNhdGNoIChlKSB7CisgICAgYXNzZXJ0LnNh
bWVWYWx1ZShlLm1lc3NhZ2UsICJCYWQiLCAiRXhwZWN0ZWQgdG8gdGhyb3cgRXJyb3IoJ0JhZCcp
LCBidXQgZ290OiAiICsgZSk7Cit9CisKK3RyeXsKKyAgICBTeW1ib2woIjIiKSA+PiBvOworICAg
IGFzc2VydC5zYW1lVmFsdWUodHJ1ZSwgZmFsc2UsICJFeGNlcHRpb24gZXhwZWN0ZWQgdG8gYmUg
dGhyb3dlZCwgYnV0IGV4ZWN1dGVkIHdpdGhvdXQgZXJyb3IiKTsKK30gY2F0Y2ggKGUpIHsKKyAg
ICBhc3NlcnQuc2FtZVZhbHVlKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsIHRydWUsICJFeHBlY3Rl
ZCB0byB0aHJvdyBUeXBlRXJyb3IsIGJ1dCBnb3Q6ICIgKyBlKQorfQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355827</attachid>
            <date>2018-11-27 17:39:19 -0800</date>
            <delta_ts>2018-12-02 09:08:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186233-20181127233914.patch</filename>
            <type>text/plain</type>
            <size>41919</size>
            <attacher name="Caio Lima">ticaiolima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
NTg1MTgyZDZkNjIwYTk2ZjFjMzE0MTdlNmYzY2Q3NTRmMzVmMDYyLi5hZmNjMWQ5OWU5ODllOTQ5
MmJmYWNlYjQ5NTM2ZDgyZmEyMmNiM2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxOC0xMS0yOCAgQ2FpbyBMaW1hICA8dGljYWlvbGltYUBnbWFpbC5jb20+
CisKKyAgICAgICAgW0VTTmV4dF1bQmlnSW50XSBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgIjw8IiBh
bmQgIj4+IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTg2MjMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBpcyBpbnRyb2R1Y2luZyB0aGUgc3VwcG9ydCBmb3IgQmlnSW50IGludG8gbHNo
aWZ0IGFuZAorICAgICAgICByc2hpZnQgaW50byBMTGludCBhbmQgQmFzZWxpbmUgbGF5ZXJzLgor
CisgICAgICAgICogcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpT
TE9XX1BBVEhfREVDTCk6CisgICAgICAgICogcnVudGltZS9KU0JpZ0ludC5jcHA6CisgICAgICAg
IChKU0M6OkpTQmlnSW50OjpjcmVhdGVXaXRoTGVuZ3RoKToKKyAgICAgICAgKEpTQzo6SlNCaWdJ
bnQ6OmxlZnRTaGlmdCk6CisgICAgICAgIChKU0M6OkpTQmlnSW50OjpzaWduZWRSaWdodFNoaWZ0
KToKKyAgICAgICAgKEpTQzo6SlNCaWdJbnQ6OmxlZnRTaGlmdEJ5QWJzb2x1dGUpOgorICAgICAg
ICAoSlNDOjpKU0JpZ0ludDo6cmlnaHRTaGlmdEJ5QWJzb2x1dGUpOgorICAgICAgICAoSlNDOjpK
U0JpZ0ludDo6cmlnaHRTaGlmdEJ5TWF4aW11bSk6CisgICAgICAgIChKU0M6OkpTQmlnSW50Ojp0
b1NoaWZ0QW1vdW50KToKKyAgICAgICAgKiBydW50aW1lL0pTQmlnSW50Lmg6CisKIDIwMTgtMTEt
MjcgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtSZS1sYW5kaW5n
XSBOYU5zIHJlYWQgZnJvbSBXYXNtIGNvZGUgbmVlZHMgdG8gYmUgYmUgcHVyaWZpZWQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAppbmRl
eCAyYmJiYTAyYjcwY2FiYzE0M2YwMWQ2YWMxOWRkNWYyOGJjMGMyY2M0Li4zMTVhYmQ4MDRmNmJh
ZThiM2M4MGQyYzVjYzYzZDA0NTdlMWU1MmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKQEAgLTY1MywyMiArNjUzLDQ4IEBAIFNM
T1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9sc2hpZnQpCiB7CiAgICAgQkVHSU4oKTsKICAgICBhdXRv
IGJ5dGVjb2RlID0gcGMtPmFzPE9wTHNoaWZ0PigpOwotICAgIGludDMyX3QgYSA9IEdFVF9DKGJ5
dGVjb2RlLmxocykuanNWYWx1ZSgpLnRvSW50MzIoZXhlYyk7Ci0gICAgaWYgKFVOTElLRUxZKHRo
cm93U2NvcGUuZXhjZXB0aW9uKCkpKQotICAgICAgICBSRVRVUk4oSlNWYWx1ZSgpKTsKLSAgICB1
aW50MzJfdCBiID0gR0VUX0MoYnl0ZWNvZGUucmhzKS5qc1ZhbHVlKCkudG9VSW50MzIoZXhlYyk7
Ci0gICAgUkVUVVJOKGpzTnVtYmVyKGEgPDwgKGIgJiAzMSkpKTsKKyAgICBKU1ZhbHVlIGxlZnQg
PSBHRVRfQyhieXRlY29kZS5saHMpLmpzVmFsdWUoKTsKKyAgICBKU1ZhbHVlIHJpZ2h0ID0gR0VU
X0MoYnl0ZWNvZGUucmhzKS5qc1ZhbHVlKCk7CisgICAgYXV0byBsZWZ0TnVtZXJpYyA9IGxlZnQu
dG9CaWdJbnRPckludDMyKGV4ZWMpOworICAgIENIRUNLX0VYQ0VQVElPTigpOworICAgIGF1dG8g
cmlnaHROdW1lcmljID0gcmlnaHQudG9CaWdJbnRPckludDMyKGV4ZWMpOworICAgIENIRUNLX0VY
Q0VQVElPTigpOworCisgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8SlNCaWdJbnQqPihs
ZWZ0TnVtZXJpYykgfHwgV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxKU0JpZ0ludCo+KHJpZ2h0TnVt
ZXJpYykpIHsKKyAgICAgICAgaWYgKFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8SlNCaWdJbnQqPihs
ZWZ0TnVtZXJpYykgJiYgV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxKU0JpZ0ludCo+KHJpZ2h0TnVt
ZXJpYykpIHsKKyAgICAgICAgICAgIEpTQmlnSW50KiByZXN1bHQgPSBKU0JpZ0ludDo6bGVmdFNo
aWZ0KGV4ZWMsIFdURjo6Z2V0PEpTQmlnSW50Kj4obGVmdE51bWVyaWMpLCBXVEY6OmdldDxKU0Jp
Z0ludCo+KHJpZ2h0TnVtZXJpYykpOworICAgICAgICAgICAgQ0hFQ0tfRVhDRVBUSU9OKCk7Cisg
ICAgICAgICAgICBSRVRVUk4ocmVzdWx0KTsKKyAgICAgICAgfQorCisgICAgICAgIFRIUk9XKGNy
ZWF0ZVR5cGVFcnJvcihleGVjLCAiSW52YWxpZCBtaXggb2YgQmlnSW50IGFuZCBvdGhlciB0eXBl
IGluIGxlZnQgc2hpZnQgb3BlcmF0aW9uLiIpKTsKKyAgICB9CisKKyAgICBSRVRVUk4oanNOdW1i
ZXIoV1RGOjpnZXQ8aW50MzJfdD4obGVmdE51bWVyaWMpIDw8IChXVEY6OmdldDxpbnQzMl90Pihy
aWdodE51bWVyaWMpICYgMzEpKSk7CiB9CiAKIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9yc2hp
ZnQpCiB7CiAgICAgQkVHSU4oKTsKICAgICBhdXRvIGJ5dGVjb2RlID0gcGMtPmFzPE9wUnNoaWZ0
PigpOwotICAgIGludDMyX3QgYSA9IEdFVF9DKGJ5dGVjb2RlLmxocykuanNWYWx1ZSgpLnRvSW50
MzIoZXhlYyk7Ci0gICAgaWYgKFVOTElLRUxZKHRocm93U2NvcGUuZXhjZXB0aW9uKCkpKQotICAg
ICAgICBSRVRVUk4oSlNWYWx1ZSgpKTsKLSAgICB1aW50MzJfdCBiID0gR0VUX0MoYnl0ZWNvZGUu
cmhzKS5qc1ZhbHVlKCkudG9VSW50MzIoZXhlYyk7Ci0gICAgUkVUVVJOKGpzTnVtYmVyKGEgPj4g
KGIgJiAzMSkpKTsKKyAgICBKU1ZhbHVlIGxlZnQgPSBHRVRfQyhieXRlY29kZS5saHMpLmpzVmFs
dWUoKTsKKyAgICBKU1ZhbHVlIHJpZ2h0ID0gR0VUX0MoYnl0ZWNvZGUucmhzKS5qc1ZhbHVlKCk7
CisgICAgYXV0byBsZWZ0TnVtZXJpYyA9IGxlZnQudG9CaWdJbnRPckludDMyKGV4ZWMpOworICAg
IENIRUNLX0VYQ0VQVElPTigpOworICAgIGF1dG8gcmlnaHROdW1lcmljID0gcmlnaHQudG9CaWdJ
bnRPckludDMyKGV4ZWMpOworICAgIENIRUNLX0VYQ0VQVElPTigpOworCisgICAgaWYgKFdURjo6
aG9sZHNfYWx0ZXJuYXRpdmU8SlNCaWdJbnQqPihsZWZ0TnVtZXJpYykgfHwgV1RGOjpob2xkc19h
bHRlcm5hdGl2ZTxKU0JpZ0ludCo+KHJpZ2h0TnVtZXJpYykpIHsKKyAgICAgICAgaWYgKFdURjo6
aG9sZHNfYWx0ZXJuYXRpdmU8SlNCaWdJbnQqPihsZWZ0TnVtZXJpYykgJiYgV1RGOjpob2xkc19h
bHRlcm5hdGl2ZTxKU0JpZ0ludCo+KHJpZ2h0TnVtZXJpYykpIHsKKyAgICAgICAgICAgIEpTQmln
SW50KiByZXN1bHQgPSBKU0JpZ0ludDo6c2lnbmVkUmlnaHRTaGlmdChleGVjLCBXVEY6OmdldDxK
U0JpZ0ludCo+KGxlZnROdW1lcmljKSwgV1RGOjpnZXQ8SlNCaWdJbnQqPihyaWdodE51bWVyaWMp
KTsKKyAgICAgICAgICAgIENIRUNLX0VYQ0VQVElPTigpOworICAgICAgICAgICAgUkVUVVJOKHJl
c3VsdCk7CisgICAgICAgIH0KKworICAgICAgICBUSFJPVyhjcmVhdGVUeXBlRXJyb3IoZXhlYywg
IkludmFsaWQgbWl4IG9mIEJpZ0ludCBhbmQgb3RoZXIgdHlwZSBpbiBzaWduZWQgcmlnaHQgc2hp
ZnQgb3BlcmF0aW9uLiIpKTsKKyAgICB9CisKKyAgICBSRVRVUk4oanNOdW1iZXIoV1RGOjpnZXQ8
aW50MzJfdD4obGVmdE51bWVyaWMpID4+IChXVEY6OmdldDxpbnQzMl90PihyaWdodE51bWVyaWMp
ICYgMzEpKSk7CiB9CiAKIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF91cnNoaWZ0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuY3BwCmluZGV4IDdiZWQ3OTEwOTY5MThi
YTE4ZTZhY2M0YzE4NjQ1MWUwMDM2MDY0YWUuLjJmMjVhMjQxMWVkZjFlNDcxM2E4N2YwMDBhYTEy
OTE3ZmY0N2E4M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QmlnSW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5j
cHAKQEAgLTUxMCw2ICs1MTAsMjggQEAgSlNCaWdJbnQqIEpTQmlnSW50OjpiaXR3aXNlWG9yKEV4
ZWNTdGF0ZSogZXhlYywgSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KQogICAgIHJldHVybiBhYnNv
bHV0ZUFkZE9uZShleGVjLCByZXN1bHQsIFNpZ25PcHRpb246OlNpZ25lZCk7CiB9CiAKK0pTQmln
SW50KiBKU0JpZ0ludDo6bGVmdFNoaWZ0KEV4ZWNTdGF0ZSogZXhlYywgSlNCaWdJbnQqIHgsIEpT
QmlnSW50KiB5KQoreworICAgIGlmICh5LT5pc1plcm8oKSB8fCB4LT5pc1plcm8oKSkKKyAgICAg
ICAgcmV0dXJuIHg7CisKKyAgICBpZiAoeS0+c2lnbigpKQorICAgICAgICByZXR1cm4gcmlnaHRT
aGlmdEJ5QWJzb2x1dGUoZXhlYywgeCwgeSk7CisKKyAgICByZXR1cm4gbGVmdFNoaWZ0QnlBYnNv
bHV0ZShleGVjLCB4LCB5KTsKK30KKworSlNCaWdJbnQqIEpTQmlnSW50OjpzaWduZWRSaWdodFNo
aWZ0KEV4ZWNTdGF0ZSogZXhlYywgSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KQoreworICAgIGlm
ICh5LT5pc1plcm8oKSB8fCB4LT5pc1plcm8oKSkKKyAgICAgICAgcmV0dXJuIHg7CisKKyAgICBp
ZiAoeS0+c2lnbigpKQorICAgICAgICByZXR1cm4gbGVmdFNoaWZ0QnlBYnNvbHV0ZShleGVjLCB4
LCB5KTsKKworICAgIHJldHVybiByaWdodFNoaWZ0QnlBYnNvbHV0ZShleGVjLCB4LCB5KTsKK30K
KwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAjZGVmaW5lIEhBVkVfVFdPX0RJR0lUIDEKIHR5cGVk
ZWYgdWludDY0X3QgVHdvRGlnaXQ7CkBAIC0xMjY4LDYgKzEyOTAsMTM5IEBAIEpTQmlnSW50KiBK
U0JpZ0ludDo6YWJzb2x1dGVTdWJPbmUoRXhlY1N0YXRlKiBleGVjLCBKU0JpZ0ludCogeCwgdW5z
aWduZWQgcmVzdWx0CiAgICAgcmV0dXJuIHJlc3VsdC0+cmlnaHRUcmltKHZtKTsKIH0KIAorSlNC
aWdJbnQqIEpTQmlnSW50OjpsZWZ0U2hpZnRCeUFic29sdXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNC
aWdJbnQqIHgsIEpTQmlnSW50KiB5KQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAg
YXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAgYXV0byBvcHRpb25h
bFNoaWZ0ID0gdG9TaGlmdEFtb3VudCh5KTsKKyAgICBpZiAoIW9wdGlvbmFsU2hpZnQpIHsKKyAg
ICAgICAgdGhyb3dSYW5nZUVycm9yKGV4ZWMsIHNjb3BlLCAiQmlnSW50IGdlbmVyYXRlZCBmcm9t
IHRoaXMgb3BlcmF0aW9uIGlzIHRvbyBiaWciX3MpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICB9CisKKyAgICBEaWdpdCBzaGlmdCA9ICpvcHRpb25hbFNoaWZ0OworICAgIHVuc2lnbmVk
IGRpZ2l0U2hpZnQgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc2hpZnQgLyBkaWdpdEJpdHMpOwor
ICAgIHVuc2lnbmVkIGJpdHNTaGlmdCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzaGlmdCAlIGRp
Z2l0Qml0cyk7CisgICAgdW5zaWduZWQgbGVuZ3RoID0geC0+bGVuZ3RoKCk7CisgICAgYm9vbCBn
cm93ID0gYml0c1NoaWZ0ICYmICh4LT5kaWdpdChsZW5ndGggLSAxKSA+PiAoZGlnaXRCaXRzIC0g
Yml0c1NoaWZ0KSk7CisgICAgaW50IHJlc3VsdExlbmd0aCA9IGxlbmd0aCArIGRpZ2l0U2hpZnQg
KyBncm93OworICAgIGlmIChzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocmVzdWx0TGVuZ3RoKSA+IG1h
eExlbmd0aCkgeworICAgICAgICB0aHJvd1JhbmdlRXJyb3IoZXhlYywgc2NvcGUsICJCaWdJbnQg
Z2VuZXJhdGVkIGZyb20gdGhpcyBvcGVyYXRpb24gaXMgdG9vIGJpZyJfcyk7CisgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgIH0KKworICAgIEpTQmlnSW50KiByZXN1bHQgPSB0cnlDcmVhdGVX
aXRoTGVuZ3RoKGV4ZWMsIHJlc3VsdExlbmd0aCk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgbnVsbHB0cik7CisgICAgaWYgKCFiaXRzU2hpZnQpIHsKKyAgICAgICAgdW5zaWduZWQg
aSA9IDA7CisgICAgICAgIGZvciAoOyBpIDwgZGlnaXRTaGlmdDsgaSsrKQorICAgICAgICAgICAg
cmVzdWx0LT5zZXREaWdpdChpLCAwdWwpOworCisgICAgICAgIGZvciAoOyBpIDwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KHJlc3VsdExlbmd0aCk7IGkrKykKKyAgICAgICAgICAgIHJlc3VsdC0+c2V0
RGlnaXQoaSwgeC0+ZGlnaXQoaSAtIGRpZ2l0U2hpZnQpKTsKKyAgICB9IGVsc2UgeworICAgICAg
ICBEaWdpdCBjYXJyeSA9IDA7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBkaWdp
dFNoaWZ0OyBpKyspCisgICAgICAgICAgICByZXN1bHQtPnNldERpZ2l0KGksIDB1bCk7CisKKyAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CisgICAgICAgICAg
ICBEaWdpdCBkID0geC0+ZGlnaXQoaSk7CisgICAgICAgICAgICByZXN1bHQtPnNldERpZ2l0KGkg
KyBkaWdpdFNoaWZ0LCAoZCA8PCBiaXRzU2hpZnQpIHwgY2FycnkpOworICAgICAgICAgICAgY2Fy
cnkgPSBkID4+IChkaWdpdEJpdHMgLSBiaXRzU2hpZnQpOworICAgICAgICB9CisKKyAgICAgICAg
aWYgKGdyb3cpCisgICAgICAgICAgICByZXN1bHQtPnNldERpZ2l0KGxlbmd0aCArIGRpZ2l0U2hp
ZnQsIGNhcnJ5KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgQVNTRVJUKCFjYXJyeSk7Cisg
ICAgfQorCisgICAgcmVzdWx0LT5zZXRTaWduKHgtPnNpZ24oKSk7CisgICAgcmV0dXJuIHJlc3Vs
dC0+cmlnaHRUcmltKHZtKTsKK30KKworSlNCaWdJbnQqIEpTQmlnSW50OjpyaWdodFNoaWZ0QnlB
YnNvbHV0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSkKK3sKKyAg
ICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIHVuc2lnbmVkIGxlbmd0aCA9IHgtPmxlbmd0aCgp
OworICAgIGJvb2wgc2lnbiA9IHgtPnNpZ24oKTsKKyAgICBhdXRvIG9wdGlvbmFsU2hpZnQgPSB0
b1NoaWZ0QW1vdW50KHkpOworICAgIGlmICghb3B0aW9uYWxTaGlmdCkKKyAgICAgICAgcmV0dXJu
IHJpZ2h0U2hpZnRCeU1heGltdW0odm0sIHNpZ24pOworCisgICAgRGlnaXQgc2hpZnQgPSAqb3B0
aW9uYWxTaGlmdDsKKyAgICB1bnNpZ25lZCBkaWdpdGFsU2hpZnQgPSBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oc2hpZnQgLyBkaWdpdEJpdHMpOworICAgIHVuc2lnbmVkIGJpdHNTaGlmdCA9IHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihzaGlmdCAlIGRpZ2l0Qml0cyk7CisgICAgaW50IHJlc3VsdExlbmd0
aCA9IGxlbmd0aCAtIGRpZ2l0YWxTaGlmdDsKKyAgICBpZiAocmVzdWx0TGVuZ3RoIDw9IDApCisg
ICAgICAgIHJldHVybiByaWdodFNoaWZ0QnlNYXhpbXVtKHZtLCBzaWduKTsKKworICAgIC8vIEZv
ciBuZWdhdGl2ZSBudW1iZXJzLCByb3VuZCBkb3duIGlmIGFueSBiaXQgd2FzIHNoaWZ0ZWQgb3V0
IChzbyB0aGF0IGUuZy4KKyAgICAvLyAtNW4gPj4gMW4gPT0gLTNuIGFuZCBub3QgLTJuKS4gQ2hl
Y2sgbm93IHdoZXRoZXIgdGhpcyB3aWxsIGhhcHBlbiBhbmQKKyAgICAvLyB3aGV0aGVyIGl0IGNh
biBjYXVzZSBvdmVyZmxvdyBpbnRvIGEgbmV3IGRpZ2l0LiBJZiB3ZSBhbGxvY2F0ZSB0aGUgcmVz
dWx0CisgICAgLy8gbGFyZ2UgZW5vdWdoIHVwIGZyb250LCBpdCBhdm9pZHMgaGF2aW5nIHRvIGRv
IGEgc2Vjb25kIGFsbG9jYXRpb24gbGF0ZXIuCisgICAgYm9vbCBtdXN0Um91bmREb3duID0gZmFs
c2U7CisgICAgaWYgKHNpZ24pIHsKKyAgICAgICAgY29uc3QgRGlnaXQgbWFzayA9IChzdGF0aWNf
Y2FzdDxEaWdpdD4oMSkgPDwgYml0c1NoaWZ0KSAtIDE7CisgICAgICAgIGlmICh4LT5kaWdpdChk
aWdpdGFsU2hpZnQpICYgbWFzaykKKyAgICAgICAgICAgIG11c3RSb3VuZERvd24gPSB0cnVlOwor
ICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBkaWdp
dGFsU2hpZnQ7IGkrKykgeworICAgICAgICAgICAgICAgIGlmICh4LT5kaWdpdChpKSkgeworICAg
ICAgICAgICAgICAgICAgICBtdXN0Um91bmREb3duID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfQorCisgICAgLy8gSWYgYml0c1NoaWZ0IGlzIG5vbi16ZXJvLCBpdCBmcmVlcyB1cCBiaXRz
LCBwcmV2ZW50aW5nIG92ZXJmbG93LgorICAgIGlmIChtdXN0Um91bmREb3duICYmICFiaXRzU2hp
ZnQpIHsKKyAgICAgICAgLy8gT3ZlcmZsb3cgY2Fubm90IGhhcHBlbiBpZiB0aGUgbW9zdCBzaWdu
aWZpY2FudCBkaWdpdCBoYXMgdW5zZXQgYml0cy4KKyAgICAgICAgRGlnaXQgbXNkID0geC0+ZGln
aXQobGVuZ3RoIC0gMSk7CisgICAgICAgIGJvb2wgcm91bmRpbmdDYW5PdmVyZmxvdyA9ICFzdGF0
aWNfY2FzdDxEaWdpdD4ofm1zZCk7CisgICAgICAgIGlmIChyb3VuZGluZ0Nhbk92ZXJmbG93KQor
ICAgICAgICAgICAgcmVzdWx0TGVuZ3RoKys7CisgICAgfQorCisgICAgQVNTRVJUKHN0YXRpY19j
YXN0PHVuc2lnbmVkPihyZXN1bHRMZW5ndGgpIDw9IGxlbmd0aCk7CisgICAgSlNCaWdJbnQqIHJl
c3VsdCA9IGNyZWF0ZVdpdGhMZW5ndGhVbmNoZWNrZWQodm0sIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihyZXN1bHRMZW5ndGgpKTsKKyAgICBpZiAoIWJpdHNTaGlmdCkgeworICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSBkaWdpdGFsU2hpZnQ7IGkgPCBsZW5ndGg7IGkrKykKKyAgICAgICAgICAgIHJl
c3VsdC0+c2V0RGlnaXQoaSAtIGRpZ2l0YWxTaGlmdCwgeC0+ZGlnaXQoaSkpOworICAgIH0gZWxz
ZSB7CisgICAgICAgIERpZ2l0IGNhcnJ5ID0geC0+ZGlnaXQoZGlnaXRhbFNoaWZ0KSA+PiBiaXRz
U2hpZnQ7CisgICAgICAgIHVuc2lnbmVkIGxhc3QgPSBsZW5ndGggLSBkaWdpdGFsU2hpZnQgLSAx
OworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGFzdDsgaSsrKSB7CisgICAgICAg
ICAgICBEaWdpdCBkID0geC0+ZGlnaXQoaSArIGRpZ2l0YWxTaGlmdCArIDEpOworICAgICAgICAg
ICAgcmVzdWx0LT5zZXREaWdpdChpLCAoZCA8PCAoZGlnaXRCaXRzIC0gYml0c1NoaWZ0KSkgfCBj
YXJyeSk7CisgICAgICAgICAgICBjYXJyeSA9IGQgPj4gYml0c1NoaWZ0OworICAgICAgICB9Cisg
ICAgICAgIHJlc3VsdC0+c2V0RGlnaXQobGFzdCwgY2FycnkpOworICAgIH0KKworICAgIGlmIChz
aWduKSB7CisgICAgICAgIHJlc3VsdC0+c2V0U2lnbih0cnVlKTsKKyAgICAgICAgaWYgKG11c3RS
b3VuZERvd24pIHsKKyAgICAgICAgICAgIC8vIFNpbmNlIHRoZSByZXN1bHQgaXMgbmVnYXRpdmUs
IHJvdW5kaW5nIGRvd24gbWVhbnMgYWRkaW5nIG9uZSB0bworICAgICAgICAgICAgLy8gaXRzIGFi
c29sdXRlIHZhbHVlLiBUaGlzIGNhbm5vdCBvdmVyZmxvdy4KKyAgICAgICAgICAgIHJlc3VsdCA9
IHJlc3VsdC0+cmlnaHRUcmltKHZtKTsKKyAgICAgICAgICAgIHJldHVybiBhYnNvbHV0ZUFkZE9u
ZShleGVjLCByZXN1bHQsIFNpZ25PcHRpb246OlNpZ25lZCk7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICByZXR1cm4gcmVzdWx0LT5yaWdodFRyaW0odm0pOworfQorCitKU0JpZ0ludCogSlNCaWdJ
bnQ6OnJpZ2h0U2hpZnRCeU1heGltdW0oVk0mIHZtLCBib29sIHNpZ24pCit7CisgICAgaWYgKHNp
Z24pCisgICAgICAgIHJldHVybiBjcmVhdGVGcm9tKHZtLCAtMSk7CisKKyAgICByZXR1cm4gY3Jl
YXRlWmVybyh2bSk7Cit9CisKIC8vIExvb2t1cCB0YWJsZSBmb3IgdGhlIG1heGltdW0gbnVtYmVy
IG9mIGJpdHMgcmVxdWlyZWQgcGVyIGNoYXJhY3RlciBvZiBhCiAvLyBiYXNlLU4gc3RyaW5nIHJl
cHJlc2VudGF0aW9uIG9mIGEgbnVtYmVyLiBUbyBpbmNyZWFzZSBhY2N1cmFjeSwgdGhlIGFycmF5
CiAvLyB2YWx1ZSBpcyB0aGUgYWN0dWFsIHZhbHVlIG11bHRpcGxpZWQgYnkgMzIuIFRvIGdlbmVy
YXRlIHRoaXMgdGFibGU6CkBAIC0xODEyLDQgKzE5NjcsMTggQEAgSlNCaWdJbnQ6OkNvbXBhcmlz
b25SZXN1bHQgSlNCaWdJbnQ6OmNvbXBhcmVUb0RvdWJsZShKU0JpZ0ludCogeCwgZG91YmxlIHkp
CiAgICAgcmV0dXJuIENvbXBhcmlzb25SZXN1bHQ6OkVxdWFsOwogfQogCitzdGQ6Om9wdGlvbmFs
PEpTQmlnSW50OjpEaWdpdD4gSlNCaWdJbnQ6OnRvU2hpZnRBbW91bnQoSlNCaWdJbnQqIHgpCit7
CisgICAgaWYgKHgtPmxlbmd0aCgpID4gMSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
KyAgICAKKyAgICBEaWdpdCB2YWx1ZSA9IHgtPmRpZ2l0KDApOworICAgIHN0YXRpY19hc3NlcnQo
bWF4TGVuZ3RoQml0cyA8IHN0ZDo6bnVtZXJpY19saW1pdHM8RGlnaXQ+OjptYXgoKSwgIm1heExl
bmd0aEJpdHMgbmVlZHMgdG8gYmUgbGVzcyB0aGFuIGRpZ2l0Iik7CisgICAgCisgICAgaWYgKHZh
bHVlID4gbWF4TGVuZ3RoQml0cykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAg
IHJldHVybiB2YWx1ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNCaWdJbnQuaAppbmRleCBhYjhmZjVhZjVkNjdmNGI2NzA0MWIyNjVjYTI1
OTdmODBiYzU0NDY4Li40ZTcwOGRlOTU2ODkzZWYxYzEzZGExM2QxNjM5YjE0OWU5YWY1ZTAyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmgKQEAgLTExOSw2ICsxMTks
OSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpTQmlnSW50KiBiaXR3aXNlT3IoRXhlY1N0YXRlKiwg
SlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KTsKICAgICBzdGF0aWMgSlNCaWdJbnQqIGJpdHdpc2VY
b3IoRXhlY1N0YXRlKiwgSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KTsKIAorICAgIHN0YXRpYyBK
U0JpZ0ludCogbGVmdFNoaWZ0KEV4ZWNTdGF0ZSosIEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSk7
CisgICAgc3RhdGljIEpTQmlnSW50KiBzaWduZWRSaWdodFNoaWZ0KEV4ZWNTdGF0ZSosIEpTQmln
SW50KiB4LCBKU0JpZ0ludCogeSk7CisKIHByaXZhdGU6CiAKICAgICB1c2luZyBEaWdpdCA9IFVD
UFVSZWdpc3RlcjsKQEAgLTEzMyw2ICsxMzYsNyBAQCBwcml2YXRlOgogICAgIC8vIHJhaXNpbmcg
aXQgbGF0ZXIgaXMgZWFzaWVyIHRoYW4gbG93ZXJpbmcgaXQuCiAgICAgLy8gU3VwcG9ydCB1cCB0
byAxIG1pbGxpb24gYml0cy4KICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIG1heExlbmd0
aCA9IDEwMjQgKiAxMDI0IC8gKHNpemVvZih2b2lkKikgKiBiaXRzUGVyQnl0ZSk7CisgICAgc3Rh
dGljIGNvbnN0ZXhwciB1bnNpZ25lZCBtYXhMZW5ndGhCaXRzID0gbWF4SW50IC0gc2l6ZW9mKHZv
aWQqKSAqIGJpdHNQZXJCeXRlIC0gMTsKICAgICAKICAgICBzdGF0aWMgdWludDY0X3QgY2FsY3Vs
YXRlTWF4aW11bUNoYXJhY3RlcnNSZXF1aXJlZCh1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHJh
ZGl4LCBEaWdpdCBsYXN0RGlnaXQsIGJvb2wgc2lnbik7CiAgICAgCkBAIC0yMDYsNyArMjEwLDE0
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbnBsYWNlTXVsdGlwbHlBZGQoRGlnaXQgbXVsdGlwbGll
ciwgRGlnaXQgcGFydCk7CiAgICAgc3RhdGljIEpTQmlnSW50KiBhYnNvbHV0ZUFkZChFeGVjU3Rh
dGUqLCBKU0JpZ0ludCogeCwgSlNCaWdJbnQqIHksIGJvb2wgcmVzdWx0U2lnbik7CiAgICAgc3Rh
dGljIEpTQmlnSW50KiBhYnNvbHV0ZVN1YihWTSYsIEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSwg
Ym9vbCByZXN1bHRTaWduKTsKLSAgICAKKworICAgIHN0YXRpYyBKU0JpZ0ludCogbGVmdFNoaWZ0
QnlBYnNvbHV0ZShFeGVjU3RhdGUqLCBKU0JpZ0ludCogeCwgSlNCaWdJbnQqIHkpOworICAgIHN0
YXRpYyBKU0JpZ0ludCogcmlnaHRTaGlmdEJ5QWJzb2x1dGUoRXhlY1N0YXRlKiwgSlNCaWdJbnQq
IHgsIEpTQmlnSW50KiB5KTsKKworICAgIHN0YXRpYyBKU0JpZ0ludCogcmlnaHRTaGlmdEJ5TWF4
aW11bShWTSYsIGJvb2wgc2lnbik7CisKKyAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxEaWdpdD4g
dG9TaGlmdEFtb3VudChKU0JpZ0ludCogeCk7CisKICAgICBzdGF0aWMgc2l6ZV90IGFsbG9jYXRp
b25TaXplKHVuc2lnbmVkIGxlbmd0aCk7CiAgICAgc3RhdGljIHNpemVfdCBvZmZzZXRPZkRhdGEo
KTsKICAgICBEaWdpdCogZGF0YVN0b3JhZ2UoKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdl
TG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTVhMGRhNjRjNDI2OTJlZjY4YjFiZjRjZjRk
NDQwMmMwOGZkYjczMi4uNDlhNTk2ODBmMTc1Mjg5NGI0M2FiYjJmNzQ5MTNiOTQ1MGQ1ZDEwOCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMCBAQAorMjAxOC0xMS0yOCAgQ2FpbyBMaW1hICA8dGljYWlvbGltYUBnbWFpbC5j
b20+CisKKyAgICAgICAgW0VTTmV4dF1bQmlnSW50XSBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgIjw8
IiBhbmQgIj4+IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTg2MjMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBzdHJlc3MvYmlnLWludC1sZWZ0LXNoaWZ0LWdlbmVyYWwuanM6IEFkZGVkLgorICAgICAg
ICAqIHN0cmVzcy9iaWctaW50LWxlZnQtc2hpZnQtcmFuZ2UtZXJyb3IuanM6IEFkZGVkLgorICAg
ICAgICAqIHN0cmVzcy9iaWctaW50LWxlZnQtc2hpZnQtdHlwZS1lcnJvci5qczogQWRkZWQuCisg
ICAgICAgICogc3RyZXNzL2JpZy1pbnQtbGVmdC1zaGlmdC13cmFwcGVkLXZhbHVlLmpzOiBBZGRl
ZC4KKyAgICAgICAgKiBzdHJlc3MvYmlnLWludC1yaWdodC1zaGlmdC1nZW5lcmFsLmpzOiBBZGRl
ZC4KKyAgICAgICAgKiBzdHJlc3MvYmlnLWludC1yaWdodC1zaGlmdC10eXBlLWVycm9yLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBzdHJlc3MvYmlnLWludC1yaWdodC1zaGlmdC13cmFwcGVkLXZhbHVl
LmpzOiBBZGRlZC4KKyAgICAgICAgKiBzdHJlc3MvbGVmdC1zaGlmdC10by1wcmltaXRpdmUtcHJl
Y2VkZW5jZS5qczogQWRkZWQuCisgICAgICAgICogc3RyZXNzL3JpZ2h0LXNoaWZ0LXRvLXByaW1p
dGl2ZS1wcmVjZWRlbmNlLmpzOiBBZGRlZC4KKwogMjAxOC0xMS0yNyAgUnlhbiBIYWRkYWQgIDxy
eWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
MjM4NTA5LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1sZWZ0LXNoaWZ0LWdl
bmVyYWwuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LWxlZnQtc2hpZnQtZ2VuZXJhbC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zNmVkYmViYzcxM2NjNWRkNzIzNjA2NTE5ODY3ZGIzNjYyOGZmOTVmCi0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1sZWZ0LXNoaWZ0LWdlbmVyYWwu
anMKQEAgLTAsMCArMSwxMDMgQEAKKy8vQCBydW5CaWdJbnRFbmFibGVkCisKKy8vIENvcHlyaWdo
dCAoQykgMjAxNyBKb3NoIFdvbGZlLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorCitmdW5jdGlvbiBhc3NlcnQoYSkgeworICAgIGlmICghYSkKKyAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJCYWQgYXNzZXJ0aW9uIik7Cit9CisKK2Fzc2VydC5zYW1lVmFsdWUgPSBmdW5jdGlv
biAoaW5wdXQsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgICAgaWYgKGlucHV0ICE9PSBleHBlY3Rl
ZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpOworfQorCithc3NlcnQuc2FtZVZh
bHVlKDBuIDw8IDBuLCAwbiwgIjBuIDw8IDBuID09PSAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgw
YjEwMW4gPDwgMW4sIDBiMTAxMG4sICIwYjEwMW4gPDwgMW4gPT09IDBiMTAxMG4iKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoMGIxMDFuIDw8IDJuLCAwYjEwMTAwbiwgIjBiMTAxbiA8PCAybiA9PT0gMGIx
MDEwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMGIxMDFuIDw8IDNuLCAwYjEwMTAwMG4sICIwYjEw
MW4gPDwgM24gPT09IDBiMTAxMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgwYjEwMW4gPDwgLTFu
LCAwYjEwbiwgIjBiMTAxbiA8PCAtMW4gPT09IDBiMTBuIik7Cithc3NlcnQuc2FtZVZhbHVlKDBi
MTAxbiA8PCAtMm4sIDFuLCAiMGIxMDFuIDw8IC0ybiA9PT0gMW4iKTsKK2Fzc2VydC5zYW1lVmFs
dWUoMGIxMDFuIDw8IC0zbiwgMG4sICIwYjEwMW4gPDwgLTNuID09PSAwbiIpOworYXNzZXJ0LnNh
bWVWYWx1ZSgwbiA8PCAxMjhuLCAwbiwgIjBuIDw8IDEyOG4gPT09IDBuIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKDBuIDw8IC0xMjhuLCAwbiwgIjBuIDw8IC0xMjhuID09PSAwbiIpOworYXNzZXJ0LnNh
bWVWYWx1ZSgweDI0Nm4gPDwgMG4sIDB4MjQ2biwgIjB4MjQ2biA8PCAwbiA9PT0gMHgyNDZuIik7
Cithc3NlcnQuc2FtZVZhbHVlKDB4MjQ2biA8PCAxMjduLCAweDEyMzAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwbiwgIjB4MjQ2biA8PCAxMjduID09PSAweDEyMzAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgweDI0Nm4gPDwgMTI4biwg
MHgyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4sICIweDI0Nm4gPDwgMTI4biA9
PT0gMHgyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4iKTsKK2Fzc2VydC5zYW1l
VmFsdWUoMHgyNDZuIDw8IDEyOW4sIDB4NDhjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDBuLCAiMHgyNDZuIDw8IDEyOW4gPT09IDB4NDhjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKDB4MjQ2biA8PCAtMTI4biwgMG4sICIweDI0Nm4g
PDwgLTEyOG4gPT09IDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFiY2Rl
ZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCA2NG4sIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNi
YTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAwMDAwMDAwMDAwbiwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVm
MGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IDY0biA9PT0gMHgxMjM0NTY3ODlhYmNkZWYwZmVk
Y2JhOTg3NjU0MzIxMjM0NTY3ODAwMDAwMDAwMDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVl
KAorICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAzMm4sIDB4
MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAwMG4sCisgICIweDEy
MzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAzMm4gPT09IDB4MTIzNDU2
Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAwMG4iKTsKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IDE2
biwgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDBuLAorICAiMHgx
MjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgMTZuID09PSAweDEyMzQ1
Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMG4iKTsKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IDBuLCAw
eDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biwKKyAgIjB4MTIzNDU2Nzg5
YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IDBuID09PSAweDEyMzQ1Njc4OWFiY2Rl
ZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgMHgxMjM0
NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTE2biwgMHgxMjM0NTY3ODlh
YmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0biwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4
NzY1NDMyMTIzNDU2NzhuIDw8IC0xNm4gPT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1
NDMyMTIzNG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNi
YTk4NzY1NDMyMTIzNDU2NzhuIDw8IC0zMm4sIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1
NDMybiwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IC0z
Mm4gPT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMybiIpOworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTY0
biwgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhbiwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNi
YTk4NzY1NDMyMTIzNDU2NzhuIDw8IC02NG4gPT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYW4i
KTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMy
MTIzNDU2NzhuIDw8IC0xMjduLCAweDI0NjhhY24sCisgICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRj
YmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtMTI3biA9PT0gMHgyNDY4YWNuIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKAorICAweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAt
MTI4biwgMHgxMjM0NTZuLAorICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0
NTY3OG4gPDwgLTEyOG4gPT09IDB4MTIzNDU2biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgMHgx
MjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTEyOW4sIDB4OTFhMmJu
LAorICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTEyOW4g
PT09IDB4OTFhMmJuIik7Cithc3NlcnQuc2FtZVZhbHVlKC01biA8PCAxbiwgLTB4YW4sICItNW4g
PDwgMW4gPT09IC0weGFuIik7Cithc3NlcnQuc2FtZVZhbHVlKC01biA8PCAybiwgLTB4MTRuLCAi
LTVuIDw8IDJuID09PSAtMHgxNG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTVuIDw8IDNuLCAtMHgy
OG4sICItNW4gPDwgM24gPT09IC0weDI4biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtNW4gPDwgLTFu
LCAtM24sICItNW4gPDwgLTFuID09PSAtM24iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTVuIDw8IC0y
biwgLTJuLCAiLTVuIDw8IC0ybiA9PT0gLTJuIik7Cithc3NlcnQuc2FtZVZhbHVlKC01biA8PCAt
M24sIC0xbiwgIi01biA8PCAtM24gPT09IC0xbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtMW4gPDwg
MTI4biwgLTB4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiwgIi0xbiA8PCAxMjhu
ID09PSAtMHgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKC0xbiA8PCAwbiwgLTFuLCAiLTFuIDw8IDBuID09PSAtMW4iKTsKK2Fzc2VydC5zYW1l
VmFsdWUoLTFuIDw8IC0xMjhuLCAtMW4sICItMW4gPDwgLTEyOG4gPT09IC0xbiIpOworYXNzZXJ0
LnNhbWVWYWx1ZSgtMHgyNDZuIDw8IDBuLCAtMHgyNDZuLCAiLTB4MjQ2biA8PCAwbiA9PT0gLTB4
MjQ2biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtMHgyNDZuIDw8IDEyN24sIC0weDEyMzAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiwgIi0weDI0Nm4gPDwgMTI3biA9PT0gLTB4MTIzMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKC0weDI0
Nm4gPDwgMTI4biwgLTB4MjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuLCAiLTB4
MjQ2biA8PCAxMjhuID09PSAtMHgyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4i
KTsKK2Fzc2VydC5zYW1lVmFsdWUoLTB4MjQ2biA8PCAxMjluLCAtMHg0OGMwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMG4sICItMHgyNDZuIDw8IDEyOW4gPT09IC0weDQ4YzAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtMHgyNDZuIDw8
IC0xMjhuLCAtMW4sICItMHgyNDZuIDw8IC0xMjhuID09PSAtMW4iKTsKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCA2NG4s
IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMDAwMDAwMDAwMDAw
MG4sCisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgNjRu
ID09PSAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDAwMDAwMDAw
MDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2Jh
OTg3NjU0MzIxMjM0NTY3OG4gPDwgMzJuLCAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0
MzIxMjM0NTY3ODAwMDAwMDAwbiwKKyAgIi0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQz
MjEyMzQ1Njc4biA8PCAzMm4gPT09IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEy
MzQ1Njc4MDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAtMHgxMjM0NTY3ODlhYmNk
ZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgMTZuLCAtMHgxMjM0NTY3ODlhYmNkZWYwZmVk
Y2JhOTg3NjU0MzIxMjM0NTY3ODAwMDBuLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4
NzY1NDMyMTIzNDU2NzhuIDw8IDE2biA9PT0gLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1
NDMyMTIzNDU2NzgwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJj
ZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IDBuLCAtMHgxMjM0NTY3ODlhYmNkZWYwZmVk
Y2JhOTg3NjU0MzIxMjM0NTY3OG4sCisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0
MzIxMjM0NTY3OG4gPDwgMG4gPT09IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEy
MzQ1Njc4biIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNi
YTk4NzY1NDMyMTIzNDU2NzhuIDw8IC0xNm4sIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2
NTQzMjEyMzVuLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2Nzhu
IDw8IC0xNm4gPT09IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzVuIik7Cith
c3NlcnQuc2FtZVZhbHVlKAorICAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0
NTY3OG4gPDwgLTMybiwgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMzbiwKKyAgIi0w
eDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAtMzJuID09PSAtMHgx
MjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzNuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAt
MHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTY0biwgLTB4MTIz
NDU2Nzg5YWJjZGVmMGZlZGNiYm4sCisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0
MzIxMjM0NTY3OG4gPDwgLTY0biA9PT0gLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYm4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1
Njc4biA8PCAtMTI3biwgLTB4MjQ2OGFkbiwKKyAgIi0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5
ODc2NTQzMjEyMzQ1Njc4biA8PCAtMTI3biA9PT0gLTB4MjQ2OGFkbiIpOworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuIDw8IC0x
MjhuLCAtMHgxMjM0NTduLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIz
NDU2NzhuIDw8IC0xMjhuID09PSAtMHgxMjM0NTduIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAt
MHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPDwgLTEyOW4sIC0weDkx
YTJjbiwKKyAgIi0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA8PCAt
MTI5biA9PT0gLTB4OTFhMmNuIik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9iaWctaW50
LWxlZnQtc2hpZnQtcmFuZ2UtZXJyb3IuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LWxlZnQt
c2hpZnQtcmFuZ2UtZXJyb3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDJhYzEyYzFmYzE0ODBlMjcwZWJjYjJh
ODgyY2MwZmY4NWI2MjM2NwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1p
bnQtbGVmdC1zaGlmdC1yYW5nZS1lcnJvci5qcwpAQCAtMCwwICsxLDIyIEBACisvL0AgcnVuQmln
SW50RW5hYmxlZAorCitmdW5jdGlvbiBhc3NlcnQoYSwgbWVzc2FnZSkgeworICAgIGlmICghYSkK
KyAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpOworfQorCitmdW5jdGlvbiBhc3NlcnRU
aHJvd1JhbmdlRXJyb3IoYSwgYiwgbWVzc2FnZSkgeworICAgIHRyeSB7CisgICAgICAgIGxldCBu
ID0gYSA8PCBiOworICAgICAgICBhc3NlcnQoZmFsc2UsIG1lc3NhZ2UgKyAiOiBTaG91bGQgdGhy
b3cgUmFuZ2VFcnJvciwgYnV0IGV4ZWN1dGVkIHdpdGhvdXQgZXhjZXB0aW9uIik7CisgICAgfSBj
YXRjaCAoZSkgeworICAgICAgICBhc3NlcnQoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IsIG1lc3Nh
Z2UgKyAiOiBleHBlY3RlZCBSYW5nZUVycm9yLCBnb3Q6ICIgKyBlKTsKKyAgICB9Cit9CisKK2xl
dCBhID0gMW4gPDwgNjRuOworYXNzZXJ0VGhyb3dSYW5nZUVycm9yKDFuLCBhLCAiTGVmdCBzaGlm
dCBieSAiICsgYSk7CisKK2EgPSAxbiA8PCAzMG47Cithc3NlcnRUaHJvd1JhbmdlRXJyb3IoMW4s
IGEsICJMZWZ0IHNoaWZ0IGJ5ICIgKyBhKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3Mv
YmlnLWludC1sZWZ0LXNoaWZ0LXR5cGUtZXJyb3IuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50
LWxlZnQtc2hpZnQtdHlwZS1lcnJvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjg1MmVhMjM2NWM4MmFmOWI1
MzI3N2RkZTE1ZTgwMGM4MzgyODU5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3Mv
YmlnLWludC1sZWZ0LXNoaWZ0LXR5cGUtZXJyb3IuanMKQEAgLTAsMCArMSwxMDQgQEAKKy8vQCBy
dW5CaWdJbnRFbmFibGVkCisKK2Z1bmN0aW9uIGFzc2VydChhLCBtZXNzYWdlKSB7CisgICAgaWYg
KCFhKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7Cit9CisKK2Z1bmN0aW9uIGFz
c2VydFRocm93VHlwZUVycm9yKGEsIGIsIG1lc3NhZ2UpIHsKKyAgICB0cnkgeworICAgICAgICBs
ZXQgbiA9IGEgPDwgYjsKKyAgICAgICAgYXNzZXJ0KGZhbHNlLCBtZXNzYWdlICsgIjogU2hvdWxk
IHRocm93IFR5cGVFcnJvciwgYnV0IGV4ZWN1dGVkIHdpdGhvdXQgZXhjZXB0aW9uIik7CisgICAg
fSBjYXRjaCAoZSkgeworICAgICAgICBhc3NlcnQoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwgbWVz
c2FnZSArICI6IGV4cGVjdGVkIFR5cGVFcnJvciwgZ290OiAiICsgZSk7CisgICAgfQorfQorCith
c3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sICJmb28iLCAiQmlnSW50IDw8IFN0cmluZyIpOworYXNz
ZXJ0VGhyb3dUeXBlRXJyb3IoImJhciIsIDE4NzU3MzgyOTg0ODIxbiwgIlN0cmluZyA8PCBCaWdJ
bnQiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgU3ltYm9sKCJmb28iKSwgIkJpZ0ludCA8
PCBTeW1ib2wiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKFN5bWJvbCgiYmFyIiksIDE4NzU3Mzgy
OTg0ODIxbiwgIlN5bWJvbCA8PCBCaWdJbnQiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwg
MzMyMCwgIkJpZ0ludCA8PCBJbnQzMiIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzMyNTYsIDE4
NzU3MzgyOTg0ODIxbiwgIkludDMyIDw8IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3Io
MzBuLCAwLjU0MywgIkJpZ0ludCA8PCBEb3VibGUiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDIz
MC4xOTI5MywgMTg3NTczODI5ODQ4MjFuLCAiRG91YmxlIDw8IEJpZ0ludCIpOworYXNzZXJ0VGhy
b3dUeXBlRXJyb3IoMzBuLCBOYU4sICJCaWdJbnQgPDwgTmFOIik7Cithc3NlcnRUaHJvd1R5cGVF
cnJvcihOYU4sIDE4NzU3MzgyOTg0ODIxbiwgIk5hTiA8PCBCaWdJbnQiKTsKK2Fzc2VydFRocm93
VHlwZUVycm9yKDMwbiwgK0luZmluaXR5LCAiQmlnSW50IDw8ICtJbmZpbml0eSIpOworYXNzZXJ0
VGhyb3dUeXBlRXJyb3IoK0luZmluaXR5LCAxODc1NzM4Mjk4NDgyMW4sICIrSW5maW5pdHkgPDwg
QmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIC1JbmZpbml0eSwgIkJpZ0ludCA8
PCAtSW5maW5pdHkiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKC1JbmZpbml0eSwgMTg3NTczODI5
ODQ4MjFuLCAiLUluZmluaXR5IDw8IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBu
LCBudWxsLCAiQmlnSW50IDw8IG51bGwiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG51bGwsIDE4
NzU3MzgyOTg0ODIxbiwgIm51bGwgPDwgQmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigz
MG4sIHVuZGVmaW5lZCwgIkJpZ0ludCA8PCB1bmRlZmluZWQiKTsKK2Fzc2VydFRocm93VHlwZUVy
cm9yKHVuZGVmaW5lZCwgMTg3NTczODI5ODQ4MjFuLCAidW5kZWZpbmVkIDw8IEJpZ0ludCIpOwor
YXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCB0cnVlLCAiQmlnSW50IDw8IHRydWUiKTsKK2Fzc2Vy
dFRocm93VHlwZUVycm9yKHRydWUsIDE4NzU3MzgyOTg0ODIxbiwgInRydWUgPDwgQmlnSW50Iik7
Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIGZhbHNlLCAiQmlnSW50IDw8IGZhbHNlIik7Cith
c3NlcnRUaHJvd1R5cGVFcnJvcihmYWxzZSwgMTg3NTczODI5ODQ4MjFuLCAiZmFsc2UgPDwgQmln
SW50Iik7CisKKy8vIEVycm9yIHdoZW4gcmV0dXJuaW5nIGZyb20gb2JqZWN0CisKK2xldCBvID0g
eworICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIFN5bWJvbCgiRm9vIik7IH0KK307
CisKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA8PCBPYmplY3QudmFsdWVP
ZiByZXR1cm5pbmcgU3ltYm9sIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4
NDgyMW4sICJPYmplY3QudmFsdWVPZiByZXR1cm5pbmcgU3ltYm9sIDw8IEJpZ0ludCIpOworCitv
ID0geworICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDMzMjU2OyB9Cit9OworCith
c3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPDwgT2JqZWN0LnZhbHVlT2YgcmV0
dXJuaW5nIEludDMyIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgyMW4s
ICJPYmplY3QudmFsdWVPZiByZXR1cm5pbmcgSW50MzIgPDwgQmlnSW50Iik7CisKK28gPSB7Cisg
ICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMC40NTM7IH0KK307CisKK2Fzc2VydFRo
cm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA8PCBPYmplY3QudmFsdWVPZiByZXR1cm5pbmcg
RG91YmxlIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgyMW4sICJPYmpl
Y3QudmFsdWVPZiByZXR1cm5pbmcgRG91YmxlIDw8IEJpZ0ludCIpOworCitvID0geworICAgIHRv
U3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiBTeW1ib2woIkZvbyIpOyB9Cit9OworCithc3Nl
cnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPDwgT2JqZWN0LnRvU3RyaW5nIHJldHVy
bmluZyBTeW1ib2wiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwg
Ik9iamVjdC50b1N0cmluZyByZXR1cm5pbmcgU3ltYm9sIDw8IEJpZ0ludCIpOworCitvID0gewor
ICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAzMzI1NjsgfQorfTsKKworYXNzZXJ0
VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50IDw8IE9iamVjdC50b1N0cmluZyByZXR1cm5p
bmcgSW50MzIiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9i
amVjdC50b1N0cmluZyByZXR1cm5pbmcgSW50MzIgPDwgQmlnSW50Iik7CisKK28gPSB7CisgICAg
dG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDAuNDUzOyB9Cit9OworCithc3NlcnRUaHJv
d1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPDwgT2JqZWN0LnRvU3RyaW5nIHJldHVybmluZyBE
b3VibGUiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9iamVj
dC50b1N0cmluZyByZXR1cm5pbmcgRG91YmxlIDw8IEJpZ0ludCIpOworCitvID0geworICAgIFtT
eW1ib2wudG9QcmltaXRpdmVdOiBmdW5jdGlvbiAoKSB7IHJldHVybiBTeW1ib2woIkZvbyIpOyB9
Cit9OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPDwgT2JqZWN0LkBA
dG9QcmltaXRpdmUgcmV0dXJuaW5nIFN5bWJvbCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3Iobywg
MTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LkBAdG9QcmltaXRpdmUgcmV0dXJuaW5nIFN5bWJvbCA8
PCBCaWdJbnQiKTsKKworbyA9IHsKKyAgICBbU3ltYm9sLnRvUHJpbWl0aXZlXTogZnVuY3Rpb24g
KCkgeyByZXR1cm4gMzMyNTY7IH0KK307CisKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywg
IkJpZ0ludCA8PCBPYmplY3QuQEB0b1ByaW1pdGl2ZSByZXR1cm5pbmcgSW50MzIiKTsKK2Fzc2Vy
dFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9iamVjdC5AQHRvUHJpbWl0aXZl
IHJldHVybmluZyBJbnQzMiA8PCBCaWdJbnQiKTsKKworbyA9IHsKKyAgICBbU3ltYm9sLnRvUHJp
bWl0aXZlXTogZnVuY3Rpb24gKCkgeyByZXR1cm4gMC40NTM7IH0KK307CisKK2Fzc2VydFRocm93
VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCA8PCBPYmplY3QuQEB0b1ByaW1pdGl2ZSByZXR1cm5p
bmcgRG91YmxlIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgyMW4sICJP
YmplY3QuQEB0b1ByaW1pdGl2ZSByZXR1cm5pbmcgRG91YmxlIDw8IEJpZ0ludCIpOworCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LWxlZnQtc2hpZnQtd3JhcHBlZC12YWx1ZS5q
cyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtbGVmdC1zaGlmdC13cmFwcGVkLXZhbHVlLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmM2OWRiZGEzM2QzMGZjMTE3MjM0MmM1YTE0ZTVhMTRiYmIyZTZkZjcKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LWxlZnQtc2hpZnQtd3JhcHBlZC12
YWx1ZS5qcwpAQCAtMCwwICsxLDM2IEBACisvL0AgcnVuQmlnSW50RW5hYmxlZAorCithc3NlcnQg
PSB7CisgICAgc2FtZVZhbHVlOiBmdW5jdGlvbiAoaW5wdXQsIGV4cGVjdGVkLCBtZXNzYWdlKSB7
CisgICAgICAgIGlmIChpbnB1dCAhPT0gZXhwZWN0ZWQpCisgICAgICAgICAgICB0aHJvdyBuZXcg
RXJyb3IobWVzc2FnZSk7CisgICAgfQorfTsKKworZnVuY3Rpb24gdGVzdExlZnRTaGlmdCh4LCB5
LCB6LCBtZXNzYWdlKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh4IDw8IHksIHosIG1lc3NhZ2Up
OworfQorCit0ZXN0TGVmdFNoaWZ0KE9iamVjdCgwYjEwbiksIDFuLCAwYjEwMG4sICJUb1ByaW1p
dGl2ZTogdW5ib3ggb2JqZWN0IHdpdGggaW50ZXJuYWwgc2xvdCIpOworCitsZXQgbyA9IHsKKyAg
ICBbU3ltYm9sLnRvUHJpbWl0aXZlXTogZnVuY3Rpb24oKSB7CisgICAgICAgIHJldHVybiAwYjEw
bjsKKyAgICB9Cit9OwordGVzdExlZnRTaGlmdChvLCAwYjAxbiwgMGIxMDBuLCAiVG9QcmltaXRp
dmU6IEBAdG9QcmltaXRpdmUiKTsKKworbyA9IHsKKyAgICB2YWx1ZU9mOiBmdW5jdGlvbigpIHsK
KyAgICAgICAgcmV0dXJuIDBiMTBuOworICAgIH0KK307Cit0ZXN0TGVmdFNoaWZ0KG8sIDBiMDFu
LCAwYjEwMG4sICJUb1ByaW1pdGl2ZTogdmFsdWVPZiIpOworCitvID0geworICAgIHRvU3RyaW5n
OiBmdW5jdGlvbigpIHsKKyAgICAgICAgcmV0dXJuIDBiMTBuOworICAgIH0KK30KK3Rlc3RMZWZ0
U2hpZnQobywgMGIwMW4sIDBiMTAwbiwgIlRvUHJpbWl0aXZlOiB0b1N0cmluZyIpOworCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LW91dC1vZi1tZW1vcnktdGVzdHMuanMgYi9K
U1Rlc3RzL3N0cmVzcy9iaWctaW50LW91dC1vZi1tZW1vcnktdGVzdHMuanMKaW5kZXggYWRjZmQ2
Zjg0Y2MyNmU5ZGI5NDlhYWVjZWUzNmJiMmFjOTI2NzEzOS4uMTY4MzI5MjgzYjYyYWU1MzA0ZTFj
Y2NiMTZhYTQyYTE0ZTc3ZDZiMiAxMDA2NDQKLS0tIGEvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1v
dXQtb2YtbWVtb3J5LXRlc3RzLmpzCisrKyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtb3V0LW9m
LW1lbW9yeS10ZXN0cy5qcwpAQCAtNSwxOSArNSw4IEBAIGZ1bmN0aW9uIGFzc2VydChhLCBtZXNz
YWdlKSB7CiAgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTsKIH0KIAotZnVuY3Rpb24g
bHNoaWZ0KHkpIHsKLSAgICBsZXQgb3V0ID0gMW47Ci0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB5
OyBpKyspIHsKLSAgICAgICAgb3V0ICo9IDM0MDI4MjM2NjkyMDkzODQ2MzQ2MzM3NDYwNzQzMTc2
ODIxMTQ1Nm47Ci0gICAgfQotCi0gICAgcmV0dXJuIG91dDsKLX0KLQotbGV0IGEgPSBsc2hpZnQo
ODA2NCk7Ci1mb3IgKGxldCBpID0gMDsgaSA8IDI1NjsgaSsrKSB7Ci0gICAgYSAqPSAxODQ0Njc0
NDA3MzcwOTU1MTYxNW47Ci19CitsZXQgYSA9ICgxbiA8PCAxMDQ4NTc1bikgLSAxbjsKK2EgPSAo
YSA8PCAxbikgfCAxbjsKIAogdHJ5IHsKICAgICBsZXQgYiA9IGEgKyAxbjsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtcmlnaHQtc2hpZnQtZ2VuZXJhbC5qcyBiL0pTVGVzdHMv
c3RyZXNzL2JpZy1pbnQtcmlnaHQtc2hpZnQtZ2VuZXJhbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTU4Y2E2
MDc0MDJiN2YxNWYzYjFiM2JiMzFjODM2YzAxNjljZTg1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy9zdHJlc3MvYmlnLWludC1yaWdodC1zaGlmdC1nZW5lcmFsLmpzCkBAIC0wLDAgKzEsMTA0
IEBACisvL0AgcnVuQmlnSW50RW5hYmxlZAorCisvLyBDb3B5cmlnaHQgKEMpIDIwMTcgSm9zaCBX
b2xmZS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworZnVuY3Rpb24gYXNz
ZXJ0KGEpIHsKKyAgICBpZiAoIWEpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2Vy
dGlvbiIpOworfQorCithc3NlcnQuc2FtZVZhbHVlID0gZnVuY3Rpb24gKGlucHV0LCBleHBlY3Rl
ZCwgbWVzc2FnZSkgeworICAgIGlmIChpbnB1dCAhPT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93
IG5ldyBFcnJvcihtZXNzYWdlKTsKK30KKworYXNzZXJ0LnNhbWVWYWx1ZSgwbiA+PiAwbiwgMG4s
ICIwbiA+PiAwbiA9PT0gMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMGIxMDFuID4+IC0xbiwgMGIx
MDEwbiwgIjBiMTAxbiA+PiAtMW4gPT09IDBiMTAxMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMGIx
MDFuID4+IC0ybiwgMGIxMDEwMG4sICIwYjEwMW4gPj4gLTJuID09PSAwYjEwMTAwbiIpOworYXNz
ZXJ0LnNhbWVWYWx1ZSgwYjEwMW4gPj4gLTNuLCAwYjEwMTAwMG4sICIwYjEwMW4gPj4gLTNuID09
PSAwYjEwMTAwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMGIxMDFuID4+IDFuLCAwYjEwbiwgIjBi
MTAxbiA+PiAxbiA9PT0gMGIxMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMGIxMDFuID4+IDJuLCAx
biwgIjBiMTAxbiA+PiAybiA9PT0gMW4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMGIxMDFuID4+IDNu
LCAwbiwgIjBiMTAxbiA+PiAzbiA9PT0gMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMG4gPj4gLTEy
OG4sIDBuLCAiMG4gPj4gLTEyOG4gPT09IDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKDBuID4+IDEy
OG4sIDBuLCAiMG4gPj4gMTI4biA9PT0gMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoMHgyNDZuID4+
IDBuLCAweDI0Nm4sICIweDI0Nm4gPj4gMG4gPT09IDB4MjQ2biIpOworYXNzZXJ0LnNhbWVWYWx1
ZSgweDI0Nm4gPj4gLTEyN24sIDB4MTIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBu
LCAiMHgyNDZuID4+IC0xMjduID09PSAweDEyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgweDI0Nm4gPj4gLTEyOG4sIDB4MjQ2MDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuLCAiMHgyNDZuID4+IC0xMjhuID09PSAweDI0NjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgweDI0Nm4g
Pj4gLTEyOW4sIDB4NDhjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuLCAiMHgyNDZu
ID4+IC0xMjluID09PSAweDQ4YzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiIpOwor
YXNzZXJ0LnNhbWVWYWx1ZSgweDI0Nm4gPj4gMTI4biwgMG4sICIweDI0Nm4gPj4gMTI4biA9PT0g
MG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1
NDMyMTIzNDU2NzhuID4+IC02NG4sIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIz
NDU2NzgwMDAwMDAwMDAwMDAwMDAwbiwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1
NDMyMTIzNDU2NzhuID4+IC02NG4gPT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMy
MTIzNDU2NzgwMDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgMHgxMjM0
NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gLTMybiwgMHgxMjM0NTY3ODlh
YmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDAwMDAwbiwKKyAgIjB4MTIzNDU2Nzg5YWJj
ZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IC0zMm4gPT09IDB4MTIzNDU2Nzg5YWJjZGVm
MGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwMDAwMG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisg
IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IC0xNm4sIDB4MTIz
NDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwbiwKKyAgIjB4MTIzNDU2Nzg5
YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IC0xNm4gPT09IDB4MTIzNDU2Nzg5YWJj
ZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzgwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
MHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMG4sIDB4MTIzNDU2
Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuLAorICAiMHgxMjM0NTY3ODlhYmNkZWYw
ZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMG4gPT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNi
YTk4NzY1NDMyMTIzNDU2NzhuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAweDEyMzQ1Njc4OWFi
Y2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAxNm4sIDB4MTIzNDU2Nzg5YWJjZGVmMGZl
ZGNiYTk4NzY1NDMyMTIzNG4sCisgICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEy
MzQ1Njc4biA+PiAxNm4gPT09IDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNG4i
KTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMy
MTIzNDU2NzhuID4+IDMybiwgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzJuLAorICAi
MHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMzJuID09PSAweDEy
MzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMm4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4
MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDY0biwgMHgxMjM0NTY3
ODlhYmNkZWYwZmVkY2JhbiwKKyAgIjB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIz
NDU2NzhuID4+IDY0biA9PT0gMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhbiIpOworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4g
MTI3biwgMHgyNDY4YWNuLAorICAiMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0
NTY3OG4gPj4gMTI3biA9PT0gMHgyNDY4YWNuIik7Cithc3NlcnQuc2FtZVZhbHVlKAorICAweDEy
MzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAxMjhuLCAweDEyMzQ1Nm4s
CisgICIweDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAxMjhuID09
PSAweDEyMzQ1Nm4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIDB4MTIzNDU2Nzg5YWJjZGVmMGZl
ZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDEyOW4sIDB4OTFhMmJuLAorICAiMHgxMjM0NTY3ODlh
YmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMTI5biA9PT0gMHg5MWEyYm4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoLTVuID4+IC0xbiwgLTB4YW4sICItNW4gPj4gLTFuID09PSAtMHhhbiIp
OworYXNzZXJ0LnNhbWVWYWx1ZSgtNW4gPj4gLTJuLCAtMHgxNG4sICItNW4gPj4gLTJuID09PSAt
MHgxNG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTVuID4+IC0zbiwgLTB4MjhuLCAiLTVuID4+IC0z
biA9PT0gLTB4MjhuIik7Cithc3NlcnQuc2FtZVZhbHVlKC01biA+PiAxbiwgLTNuLCAiLTVuID4+
IDFuID09PSAtM24iKTsKK2Fzc2VydC5zYW1lVmFsdWUoLTVuID4+IDJuLCAtMm4sICItNW4gPj4g
Mm4gPT09IC0ybiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtNW4gPj4gM24sIC0xbiwgIi01biA+PiAz
biA9PT0gLTFuIik7Cithc3NlcnQuc2FtZVZhbHVlKC0xbiA+PiAtMTI4biwgLTB4MTAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiwgIi0xbiA+PiAtMTI4biA9PT0gLTB4MTAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtMW4gPj4gMG4s
IC0xbiwgIi0xbiA+PiAwbiA9PT0gLTFuIik7Cithc3NlcnQuc2FtZVZhbHVlKC0xbiA+PiAxMjhu
LCAtMW4sICItMW4gPj4gMTI4biA9PT0gLTFuIik7Cithc3NlcnQuc2FtZVZhbHVlKC0weDI0Nm4g
Pj4gMG4sIC0weDI0Nm4sICItMHgyNDZuID4+IDBuID09PSAtMHgyNDZuIik7Cithc3NlcnQuc2Ft
ZVZhbHVlKC0weDI0Nm4gPj4gLTEyN24sIC0weDEyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwbiwgIi0weDI0Nm4gPj4gLTEyN24gPT09IC0weDEyMzAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgtMHgyNDZuID4+IC0xMjhuLCAtMHgy
NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4sICItMHgyNDZuID4+IC0xMjhuID09
PSAtMHgyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4iKTsKK2Fzc2VydC5zYW1l
VmFsdWUoLTB4MjQ2biA+PiAtMTI5biwgLTB4NDhjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDBuLCAiLTB4MjQ2biA+PiAtMTI5biA9PT0gLTB4NDhjMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDBuIik7Cithc3NlcnQuc2FtZVZhbHVlKC0weDI0Nm4gPj4gMTI4biwgLTFuLCAi
LTB4MjQ2biA+PiAxMjhuID09PSAtMW4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1
Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAtNjRuLCAtMHgxMjM0NTY3ODlh
YmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDAwMDAwMDAwMDAwMDBuLAorICAiLTB4MTIz
NDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IC02NG4gPT09IC0weDEyMzQ1
Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4MDAwMDAwMDAwMDAwMDAwMG4iKTsKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1
Njc4biA+PiAtMzJuLCAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAw
MDAwMDAwbiwKKyAgIi0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+
PiAtMzJuID09PSAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3ODAwMDAw
MDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4
NzY1NDMyMTIzNDU2NzhuID4+IC0xNm4sIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQz
MjEyMzQ1Njc4MDAwMG4sCisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0
NTY3OG4gPj4gLTE2biA9PT0gLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2
NzgwMDAwbiIpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNi
YTk4NzY1NDMyMTIzNDU2NzhuID4+IDBuLCAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0
MzIxMjM0NTY3OG4sCisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3
OG4gPj4gMG4gPT09IC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biIp
OworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMy
MTIzNDU2NzhuID4+IDE2biwgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNW4s
CisgICItMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMTZuID09
PSAtMHgxMjM0NTY3ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM1biIpOworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDMy
biwgLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMzbiwKKyAgIi0weDEyMzQ1Njc4OWFi
Y2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAzMm4gPT09IC0weDEyMzQ1Njc4OWFiY2Rl
ZjBmZWRjYmE5ODc2NTQzM24iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFi
Y2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiA2NG4sIC0weDEyMzQ1Njc4OWFiY2RlZjBm
ZWRjYmJuLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+
IDY0biA9PT0gLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYm4iKTsKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIC0weDEyMzQ1Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAxMjduLCAt
MHgyNDY4YWRuLAorICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2Nzhu
ID4+IDEyN24gPT09IC0weDI0NjhhZG4iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1
Njc4OWFiY2RlZjBmZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAxMjhuLCAtMHgxMjM0NTduLAor
ICAiLTB4MTIzNDU2Nzg5YWJjZGVmMGZlZGNiYTk4NzY1NDMyMTIzNDU2NzhuID4+IDEyOG4gPT09
IC0weDEyMzQ1N24iKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIC0weDEyMzQ1Njc4OWFiY2RlZjBm
ZWRjYmE5ODc2NTQzMjEyMzQ1Njc4biA+PiAxMjluLCAtMHg5MWEyY24sCisgICItMHgxMjM0NTY3
ODlhYmNkZWYwZmVkY2JhOTg3NjU0MzIxMjM0NTY3OG4gPj4gMTI5biA9PT0gLTB4OTFhMmNuIik7
CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtcmlnaHQtc2hpZnQtdHlwZS1l
cnJvci5qcyBiL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtcmlnaHQtc2hpZnQtdHlwZS1lcnJvci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wODRjY2Q0NjJkNjBmODljYzY5NzRmYmNlMzI4N2Y3M2QwZjlmMjhmCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1yaWdodC1zaGlmdC10eXBl
LWVycm9yLmpzCkBAIC0wLDAgKzEsMTA0IEBACisvL0AgcnVuQmlnSW50RW5hYmxlZAorCitmdW5j
dGlvbiBhc3NlcnQoYSwgbWVzc2FnZSkgeworICAgIGlmICghYSkKKyAgICAgICAgdGhyb3cgbmV3
IEVycm9yKG1lc3NhZ2UpOworfQorCitmdW5jdGlvbiBhc3NlcnRUaHJvd1R5cGVFcnJvcihhLCBi
LCBtZXNzYWdlKSB7CisgICAgdHJ5IHsKKyAgICAgICAgbGV0IG4gPSBhID4+IGI7CisgICAgICAg
IGFzc2VydChmYWxzZSwgbWVzc2FnZSArICI6IFNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIGJ1dCBl
eGVjdXRlZCB3aXRob3V0IGV4Y2VwdGlvbiIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAg
YXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsIG1lc3NhZ2UgKyAiOiBleHBlY3RlZCBUeXBl
RXJyb3IsIGdvdDogIiArIGUpOworICAgIH0KK30KKworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBu
LCAiZm9vIiwgIkJpZ0ludCA+PiBTdHJpbmciKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKCJiYXIi
LCAxODc1NzM4Mjk4NDgyMW4sICJTdHJpbmcgPj4gQmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVF
cnJvcigzMG4sIFN5bWJvbCgiZm9vIiksICJCaWdJbnQgPj4gU3ltYm9sIik7Cithc3NlcnRUaHJv
d1R5cGVFcnJvcihTeW1ib2woImJhciIpLCAxODc1NzM4Mjk4NDgyMW4sICJTeW1ib2wgPj4gQmln
SW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIDMzMjAsICJCaWdJbnQgPj4gSW50MzIi
KTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMzMjU2LCAxODc1NzM4Mjk4NDgyMW4sICJJbnQzMiA+
PiBCaWdJbnQiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgMC41NDMsICJCaWdJbnQgPj4g
RG91YmxlIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigyMzAuMTkyOTMsIDE4NzU3MzgyOTg0ODIx
biwgIkRvdWJsZSA+PiBCaWdJbnQiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgTmFOLCAi
QmlnSW50ID4+IE5hTiIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoTmFOLCAxODc1NzM4Mjk4NDgy
MW4sICJOYU4gPj4gQmlnSW50Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sICtJbmZpbml0
eSwgIkJpZ0ludCA+PiArSW5maW5pdHkiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKCtJbmZpbml0
eSwgMTg3NTczODI5ODQ4MjFuLCAiK0luZmluaXR5ID4+IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dU
eXBlRXJyb3IoMzBuLCAtSW5maW5pdHksICJCaWdJbnQgPj4gLUluZmluaXR5Iik7Cithc3NlcnRU
aHJvd1R5cGVFcnJvcigtSW5maW5pdHksIDE4NzU3MzgyOTg0ODIxbiwgIi1JbmZpbml0eSA+PiBC
aWdJbnQiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbnVsbCwgIkJpZ0ludCA+PiBudWxs
Iik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihudWxsLCAxODc1NzM4Mjk4NDgyMW4sICJudWxsID4+
IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCB1bmRlZmluZWQsICJCaWdJbnQg
Pj4gdW5kZWZpbmVkIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcih1bmRlZmluZWQsIDE4NzU3Mzgy
OTg0ODIxbiwgInVuZGVmaW5lZCA+PiBCaWdJbnQiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKDMw
biwgdHJ1ZSwgIkJpZ0ludCA+PiB0cnVlIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcih0cnVlLCAx
ODc1NzM4Mjk4NDgyMW4sICJ0cnVlID4+IEJpZ0ludCIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3Io
MzBuLCBmYWxzZSwgIkJpZ0ludCA+PiBmYWxzZSIpOworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoZmFs
c2UsIDE4NzU3MzgyOTg0ODIxbiwgImZhbHNlID4+IEJpZ0ludCIpOworCisvLyBFcnJvciB3aGVu
IHJldHVybmluZyBmcm9tIG9iamVjdAorCitsZXQgbyA9IHsKKyAgICB2YWx1ZU9mOiBmdW5jdGlv
biAoKSB7IHJldHVybiBTeW1ib2woIkZvbyIpOyB9Cit9OworCithc3NlcnRUaHJvd1R5cGVFcnJv
cigzMG4sIG8sICJCaWdJbnQgPj4gT2JqZWN0LnZhbHVlT2YgcmV0dXJuaW5nIFN5bWJvbCIpOwor
YXNzZXJ0VGhyb3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LnZhbHVlT2Yg
cmV0dXJuaW5nIFN5bWJvbCA+PiBCaWdJbnQiKTsKKworbyA9IHsKKyAgICB2YWx1ZU9mOiBmdW5j
dGlvbiAoKSB7IHJldHVybiAzMzI1NjsgfQorfTsKKworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBu
LCBvLCAiQmlnSW50ID4+IE9iamVjdC52YWx1ZU9mIHJldHVybmluZyBJbnQzMiIpOworYXNzZXJ0
VGhyb3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LnZhbHVlT2YgcmV0dXJu
aW5nIEludDMyID4+IEJpZ0ludCIpOworCitvID0geworICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgp
IHsgcmV0dXJuIDAuNDUzOyB9Cit9OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJC
aWdJbnQgPj4gT2JqZWN0LnZhbHVlT2YgcmV0dXJuaW5nIERvdWJsZSIpOworYXNzZXJ0VGhyb3dU
eXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LnZhbHVlT2YgcmV0dXJuaW5nIERv
dWJsZSA+PiBCaWdJbnQiKTsKKworbyA9IHsKKyAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyBy
ZXR1cm4gU3ltYm9sKCJGb28iKTsgfQorfTsKKworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBv
LCAiQmlnSW50ID4+IE9iamVjdC50b1N0cmluZyByZXR1cm5pbmcgU3ltYm9sIik7Cithc3NlcnRU
aHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgyMW4sICJPYmplY3QudG9TdHJpbmcgcmV0dXJu
aW5nIFN5bWJvbCA+PiBCaWdJbnQiKTsKKworbyA9IHsKKyAgICB0b1N0cmluZzogZnVuY3Rpb24g
KCkgeyByZXR1cm4gMzMyNTY7IH0KK307CisKK2Fzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywg
IkJpZ0ludCA+PiBPYmplY3QudG9TdHJpbmcgcmV0dXJuaW5nIEludDMyIik7Cithc3NlcnRUaHJv
d1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgyMW4sICJPYmplY3QudG9TdHJpbmcgcmV0dXJuaW5n
IEludDMyID4+IEJpZ0ludCIpOworCitvID0geworICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7
IHJldHVybiAwLjQ1MzsgfQorfTsKKworYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmln
SW50ID4+IE9iamVjdC50b1N0cmluZyByZXR1cm5pbmcgRG91YmxlIik7Cithc3NlcnRUaHJvd1R5
cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgyMW4sICJPYmplY3QudG9TdHJpbmcgcmV0dXJuaW5nIERv
dWJsZSA+PiBCaWdJbnQiKTsKKworbyA9IHsKKyAgICBbU3ltYm9sLnRvUHJpbWl0aXZlXTogZnVu
Y3Rpb24gKCkgeyByZXR1cm4gU3ltYm9sKCJGb28iKTsgfQorfTsKKworYXNzZXJ0VGhyb3dUeXBl
RXJyb3IoMzBuLCBvLCAiQmlnSW50ID4+IE9iamVjdC5AQHRvUHJpbWl0aXZlIHJldHVybmluZyBT
eW1ib2wiKTsKK2Fzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9iamVj
dC5AQHRvUHJpbWl0aXZlIHJldHVybmluZyBTeW1ib2wgPj4gQmlnSW50Iik7CisKK28gPSB7Cisg
ICAgW1N5bWJvbC50b1ByaW1pdGl2ZV06IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDMzMjU2OyB9Cit9
OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgPj4gT2JqZWN0LkBAdG9Q
cmltaXRpdmUgcmV0dXJuaW5nIEludDMyIik7Cithc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1
NzM4Mjk4NDgyMW4sICJPYmplY3QuQEB0b1ByaW1pdGl2ZSByZXR1cm5pbmcgSW50MzIgPj4gQmln
SW50Iik7CisKK28gPSB7CisgICAgW1N5bWJvbC50b1ByaW1pdGl2ZV06IGZ1bmN0aW9uICgpIHsg
cmV0dXJuIDAuNDUzOyB9Cit9OworCithc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJ
bnQgPj4gT2JqZWN0LkBAdG9QcmltaXRpdmUgcmV0dXJuaW5nIERvdWJsZSIpOworYXNzZXJ0VGhy
b3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LkBAdG9QcmltaXRpdmUgcmV0
dXJuaW5nIERvdWJsZSA+PiBCaWdJbnQiKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3Mv
YmlnLWludC1yaWdodC1zaGlmdC13cmFwcGVkLXZhbHVlLmpzIGIvSlNUZXN0cy9zdHJlc3MvYmln
LWludC1yaWdodC1zaGlmdC13cmFwcGVkLXZhbHVlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5NmIyZTM5M2Nm
MzA2ZDU0YmI1OGQ2OTRmMWUyYjBkYTliNzk2ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3N0cmVzcy9iaWctaW50LXJpZ2h0LXNoaWZ0LXdyYXBwZWQtdmFsdWUuanMKQEAgLTAsMCArMSwz
NiBAQAorLy9AIHJ1bkJpZ0ludEVuYWJsZWQKKworYXNzZXJ0ID0geworICAgIHNhbWVWYWx1ZTog
ZnVuY3Rpb24gKGlucHV0LCBleHBlY3RlZCwgbWVzc2FnZSkgeworICAgICAgICBpZiAoaW5wdXQg
IT09IGV4cGVjdGVkKQorICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpOworICAg
IH0KK307CisKK2Z1bmN0aW9uIHRlc3RSaWdodFNoaWZ0KHgsIHksIHosIG1lc3NhZ2UpIHsKKyAg
ICBhc3NlcnQuc2FtZVZhbHVlKHggPj4geSwgeiwgbWVzc2FnZSk7Cit9CisKK3Rlc3RSaWdodFNo
aWZ0KE9iamVjdCgwYjEwbiksIDFuLCAwYjFuLCAiVG9QcmltaXRpdmU6IHVuYm94IG9iamVjdCB3
aXRoIGludGVybmFsIHNsb3QiKTsKKworbGV0IG8gPSB7CisgICAgW1N5bWJvbC50b1ByaW1pdGl2
ZV06IGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1cm4gMGIxMG47CisgICAgfQorfTsKK3Rlc3RS
aWdodFNoaWZ0KG8sIDBiMDFuLCAwYjFuLCAiVG9QcmltaXRpdmU6IEBAdG9QcmltaXRpdmUiKTsK
KworbyA9IHsKKyAgICB2YWx1ZU9mOiBmdW5jdGlvbigpIHsKKyAgICAgICAgcmV0dXJuIDBiMTBu
OworICAgIH0KK307Cit0ZXN0UmlnaHRTaGlmdChvLCAwYjAxbiwgMGIxbiwgIlRvUHJpbWl0aXZl
OiB2YWx1ZU9mIik7CisKK28gPSB7CisgICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeworICAgICAg
ICByZXR1cm4gMGIxMG47CisgICAgfQorfQordGVzdFJpZ2h0U2hpZnQobywgMGIwMW4sIDBiMW4s
ICJUb1ByaW1pdGl2ZTogdG9TdHJpbmciKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3Mv
bGVmdC1zaGlmdC10by1wcmltaXRpdmUtcHJlY2VkZW5jZS5qcyBiL0pTVGVzdHMvc3RyZXNzL2xl
ZnQtc2hpZnQtdG8tcHJpbWl0aXZlLXByZWNlZGVuY2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZkMjY2ZmMz
OTEzNGY3ZWYwNTlkMmQ0NjQxZGMxM2Q1MzkwMTY4YQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvc3RyZXNzL2xlZnQtc2hpZnQtdG8tcHJpbWl0aXZlLXByZWNlZGVuY2UuanMKQEAgLTAsMCAr
MSwyOSBAQAorLy9AIHJ1bkJpZ0ludEVuYWJsZWQKKworYXNzZXJ0ID0geworICAgIHNhbWVWYWx1
ZTogZnVuY3Rpb24gKGlucHV0LCBleHBlY3RlZCwgbWVzc2FnZSkgeworICAgICAgICBpZiAoaW5w
dXQgIT09IGV4cGVjdGVkKQorICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpOwor
ICAgIH0KK307CisKK2xldCBvID0geworICAgIFtTeW1ib2wudG9QcmltaXRpdmVdOiBmdW5jdGlv
bigpIHsKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKKyAgICB9Cit9OworCit0cnl7
CisgICAgbyA8PCBTeW1ib2woIjIiKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHRydWUsIGZhbHNl
LCAiRXhjZXB0aW9uIGV4cGVjdGVkIHRvIGJlIHRocm93ZWQsIGJ1dCBleGVjdXRlZCB3aXRob3V0
IGVycm9yIik7Cit9IGNhdGNoIChlKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShlLm1lc3NhZ2Us
ICJCYWQiLCAiRXhwZWN0ZWQgdG8gdGhyb3cgRXJyb3IoJ0JhZCcpLCBidXQgZ290OiAiICsgZSk7
Cit9CisKK3RyeXsKKyAgICBTeW1ib2woIjIiKSA8PCBvOworICAgIGFzc2VydC5zYW1lVmFsdWUo
dHJ1ZSwgZmFsc2UsICJFeGNlcHRpb24gZXhwZWN0ZWQgdG8gYmUgdGhyb3dlZCwgYnV0IGV4ZWN1
dGVkIHdpdGhvdXQgZXJyb3IiKTsKK30gY2F0Y2ggKGUpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVl
KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsIHRydWUsICJFeHBlY3RlZCB0byB0aHJvdyBUeXBlRXJy
b3IsIGJ1dCBnb3Q6ICIgKyBlKQorfQorCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9yaWdo
dC1zaGlmdC10by1wcmltaXRpdmUtcHJlY2VkZW5jZS5qcyBiL0pTVGVzdHMvc3RyZXNzL3JpZ2h0
LXNoaWZ0LXRvLXByaW1pdGl2ZS1wcmVjZWRlbmNlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlYjZiMDM0YzA3
MjRlNTMzNDBmM2JmZTZjNWYxYjc2NGNkNzQyZDQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3N0cmVzcy9yaWdodC1zaGlmdC10by1wcmltaXRpdmUtcHJlY2VkZW5jZS5qcwpAQCAtMCwwICsx
LDI5IEBACisvL0AgcnVuQmlnSW50RW5hYmxlZAorCithc3NlcnQgPSB7CisgICAgc2FtZVZhbHVl
OiBmdW5jdGlvbiAoaW5wdXQsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgICAgICAgIGlmIChpbnB1
dCAhPT0gZXhwZWN0ZWQpCisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7Cisg
ICAgfQorfTsKKworbGV0IG8gPSB7CisgICAgW1N5bWJvbC50b1ByaW1pdGl2ZV06IGZ1bmN0aW9u
KCkgeworICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCIpOworICAgIH0KK307CisKK3RyeXsK
KyAgICBvID4+IFN5bWJvbCgiMiIpOworICAgIGFzc2VydC5zYW1lVmFsdWUodHJ1ZSwgZmFsc2Us
ICJFeGNlcHRpb24gZXhwZWN0ZWQgdG8gYmUgdGhyb3dlZCwgYnV0IGV4ZWN1dGVkIHdpdGhvdXQg
ZXJyb3IiKTsKK30gY2F0Y2ggKGUpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGUubWVzc2FnZSwg
IkJhZCIsICJFeHBlY3RlZCB0byB0aHJvdyBFcnJvcignQmFkJyksIGJ1dCBnb3Q6ICIgKyBlKTsK
K30KKwordHJ5eworICAgIFN5bWJvbCgiMiIpID4+IG87CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0
cnVlLCBmYWxzZSwgIkV4Y2VwdGlvbiBleHBlY3RlZCB0byBiZSB0aHJvd2VkLCBidXQgZXhlY3V0
ZWQgd2l0aG91dCBlcnJvciIpOworfSBjYXRjaCAoZSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUo
ZSBpbnN0YW5jZW9mIFR5cGVFcnJvciwgdHJ1ZSwgIkV4cGVjdGVkIHRvIHRocm93IFR5cGVFcnJv
ciwgYnV0IGdvdDogIiArIGUpCit9CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>