<?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>205097</bug_id>
          
          <creation_ts>2019-12-10 20:41:01 -0800</creation_ts>
          <short_desc>[JSC] Put all API related JS cells into IsoSubspace</short_desc>
          <delta_ts>2019-12-11 01:49:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1597488</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-10 20:41:01 -0800</bug_when>
    <thetext>[JSC] Put all API related JS cells into IsoSubspace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597489</commentid>
    <comment_count>1</comment_count>
      <attachid>385339</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-10 20:41:39 -0800</bug_when>
    <thetext>Created attachment 385339
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597490</commentid>
    <comment_count>2</comment_count>
      <attachid>385340</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-10 21:23:04 -0800</bug_when>
    <thetext>Created attachment 385340
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597492</commentid>
    <comment_count>3</comment_count>
      <attachid>385341</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-10 21:26:43 -0800</bug_when>
    <thetext>Created attachment 385341
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597502</commentid>
    <comment_count>4</comment_count>
      <attachid>385341</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-12-10 21:46:21 -0800</bug_when>
    <thetext>Comment on attachment 385341
Patch

r=me.  Please fix the failures reported by the wpe and jsc-i386 bots if possible before landing.  It looks like failure is because they are building JSAPIGlobalObject.cpp.  I wonder why given it&apos;s not relevant for those platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597507</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-10 21:50:56 -0800</bug_when>
    <thetext>(In reply to Mark Lam from comment #4)
&gt; Comment on attachment 385341 [details]
&gt; Patch
&gt; 
&gt; r=me.  Please fix the failures reported by the wpe and jsc-i386 bots if
&gt; possible before landing.  It looks like failure is because they are building
&gt; JSAPIGlobalObject.cpp.  I wonder why given it&apos;s not relevant for those
&gt; platforms.

Thanks, yeah. I&apos;ll fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597510</commentid>
    <comment_count>6</comment_count>
      <attachid>385347</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-10 21:52:34 -0800</bug_when>
    <thetext>Created attachment 385347
Patch

Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597514</commentid>
    <comment_count>7</comment_count>
      <attachid>385349</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-10 22:12:46 -0800</bug_when>
    <thetext>Created attachment 385349
Patch

Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597521</commentid>
    <comment_count>8</comment_count>
      <attachid>385352</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-10 22:45:01 -0800</bug_when>
    <thetext>Created attachment 385352
Patch

Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597529</commentid>
    <comment_count>9</comment_count>
      <attachid>385356</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-10 23:07:10 -0800</bug_when>
    <thetext>Created attachment 385356
Patch

Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597542</commentid>
    <comment_count>10</comment_count>
      <attachid>385363</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-11 01:32:37 -0800</bug_when>
    <thetext>Created attachment 385363
Patch

Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597543</commentid>
    <comment_count>11</comment_count>
      <attachid>385364</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-11 01:35:20 -0800</bug_when>
    <thetext>Created attachment 385364
Patch

Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597547</commentid>
    <comment_count>12</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-11 01:48:05 -0800</bug_when>
    <thetext>Committed r253365: &lt;https://trac.webkit.org/changeset/253365&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597548</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-11 01:49:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/57828262&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385339</attachid>
            <date>2019-12-10 20:41:39 -0800</date>
            <delta_ts>2019-12-10 21:23:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205097-20191210204138.patch</filename>
            <type>text/plain</type>
            <size>33580</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
Nzg0MWIxN2MwYjY4Y2YxMDMwMTMwYmMxNDEzMjY0Y2FhM2ZmOTFiLi4zOGVjNDE5NTQ3MTQ3OWI5
ZTJjYTRiYzZlYTljNzdhNmQyNmM2YjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1OCBAQAorMjAxOS0xMi0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFB1dCBhbGwgQVBJIHJlbGF0ZWQgSlMgY2VsbHMgaW50byBJc29T
dWJzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBwdXRzIEFQSSByZWxhdGVkIEpTIGNlbGxzIGludG8gSXNvU3Vic3BhY2UuCisK
KyAgICAgICAgKiBBUEkvSlNBUElHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNBUElH
bG9iYWxPYmplY3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTQVBJR2xvYmFs
T2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKU0FQSUds
b2JhbE9iamVjdDo6SlNBUElHbG9iYWxPYmplY3QpOiBEZWxldGVkLgorICAgICAgICAqIEFQSS9K
U0FQSVZhbHVlV3JhcHBlci5oOgorICAgICAgICAqIEFQSS9KU0FQSVdyYXBwZXJPYmplY3QuaDoK
KyAgICAgICAgKEpTQzo6SlNBUElXcmFwcGVyT2JqZWN0OjpzdWJzcGFjZUZvcik6CisgICAgICAg
ICogQVBJL0pTQVBJV3JhcHBlck9iamVjdC5tbToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09i
amVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwpOgorICAgICAgICAqIEFQ
SS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrQ29u
c3RydWN0b3I6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcik6CisgICAgICAgICogQVBJL0pTQ2FsbGJh
Y2tDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6Y3JlYXRlU3Ry
dWN0dXJlKToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0
Pjo6c3Vic3BhY2VGb3JJbXBsKToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxKU0ds
b2JhbE9iamVjdD46OnN1YnNwYWNlRm9ySW1wbCk6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tP
YmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUpOiBEZWxldGVkLgor
ICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0Lmg6CisgICAgICAgICogQVBJL0pTQ2FsbGJh
Y2tPYmplY3RGdW5jdGlvbnMuaDoKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxQYXJl
bnQ+Ojppbml0KToKKyAgICAgICAgKiBBUEkvSlNDbGFzc1JlZi5jcHA6CisgICAgICAgIChPcGFx
dWVKU0NsYXNzOjpwcm90b3R5cGUpOgorICAgICAgICAqIEFQSS9KU09iamVjdFJlZi5jcHA6Cisg
ICAgICAgIChKU09iamVjdE1ha2UpOgorICAgICAgICAoSlNPYmplY3RHZXRQcml2YXRlKToKKyAg
ICAgICAgKEpTT2JqZWN0U2V0UHJpdmF0ZSk6CisgICAgICAgIChKU09iamVjdEdldFByaXZhdGVQ
cm9wZXJ0eSk6CisgICAgICAgIChKU09iamVjdFNldFByaXZhdGVQcm9wZXJ0eSk6CisgICAgICAg
IChKU09iamVjdERlbGV0ZVByaXZhdGVQcm9wZXJ0eSk6CisgICAgICAgICogQVBJL0pTVmFsdWVS
ZWYuY3BwOgorICAgICAgICAoSlNWYWx1ZUlzT2JqZWN0T2ZDbGFzcyk6CisgICAgICAgICogQVBJ
L0pTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwOgorICAgICAgICAqIEFQSS9nbGliL0pTQVBJ
V3JhcHBlckdsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tPYmplY3Q8
SlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKToKKyAgICAgICAgKiBB
UEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNBUElX
cmFwcGVyR2xvYmFsT2JqZWN0OjpzdWJzcGFjZUZvcik6CisgICAgICAgICogcnVudGltZS9KU0ds
b2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAg
ICAgICAgKiBydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
ICogcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpT
U2VnbWVudGVkVmFyaWFibGVPYmplY3Q6OmNsYXNzSW5mbyBjb25zdCk6CisgICAgICAgICogcnVu
dGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6OlZNOjpWTSk6CisgICAgICAgICogcnVudGltZS9W
TS5oOgorCiAyMDE5LTEyLTEwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXb3JrbGlzdDo6ZGVsZXRlQ2FuY2VsbGVkUGxhbnNGb3JWTSgpIHNob3VsZCBub3QgYXNz
dW1lIHRoYXQgYSBjYW5jZWxsZWQgcGxhbiBpcyByZWFkeSBmb3IgZGVsZXRpb24uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJR2xvYmFsT2JqZWN0LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJR2xvYmFsT2JqZWN0LmgKaW5kZXggNGIzYmIxNWNk
ZjBhNWM0NmI0ZmU5NWRlYTZhYTA5ZTIwNmI0MTkxZS4uNjBmNmY2NmU2ZGM0ZTE1MmVlOGY1Njlj
NThmZGVkMzUwODVjMTQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0FQSUdsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElH
bG9iYWxPYmplY3QuaApAQCAtMzEsMTMgKzMxLDE5IEBAIE9CSkNfQ0xBU1MgSlNTY3JpcHQ7CiAK
IG5hbWVzcGFjZSBKU0MgewogCi1jbGFzcyBKU0FQSUdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0ds
b2JhbE9iamVjdCB7CitjbGFzcyBKU0FQSUdsb2JhbE9iamVjdCBmaW5hbCA6IHB1YmxpYyBKU0ds
b2JhbE9iamVjdCB7CiBwdWJsaWM6CiAgICAgdXNpbmcgQmFzZSA9IEpTR2xvYmFsT2JqZWN0Owog
CiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKICAgICBzdGF0aWMgY29uc3QgR2xvYmFsT2JqZWN0
TWV0aG9kVGFibGUgc19nbG9iYWxPYmplY3RNZXRob2RUYWJsZTsKIAorICAgIHRlbXBsYXRlPHR5
cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2VzcyBtb2RlPgorICAgIHN0YXRpYyBJc29TdWJz
cGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHZtLmFwaUds
b2JhbE9iamVjdFNwYWNlPG1vZGU+KCk7CisgICAgfQorCiAgICAgc3RhdGljIEpTQVBJR2xvYmFs
T2JqZWN0KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICB7CiAgICAg
ICAgIGF1dG8qIG9iamVjdCA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTQVBJR2xvYmFs
T2JqZWN0Pih2bS5oZWFwKSkgSlNBUElHbG9iYWxPYmplY3Qodm0sIHN0cnVjdHVyZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJVmFsdWVXcmFwcGVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJVmFsdWVXcmFwcGVyLmgKaW5kZXggNDFmNTA5
ZDM2NGFiYzg0NDNjNGU4MWU0NjA3MzFjNjE3OWQwNDJkOS4uMWY3ODIyOWUwYzgwZGI0Y2Q2MzQ2
MGZmNjIxMzM5NzAxNGRiZmQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU0FQSVZhbHVlV3JhcHBlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNB
UElWYWx1ZVdyYXBwZXIuaApAQCAtMzIsOSArMzIsMTUgQEAgbmFtZXNwYWNlIEpTQyB7CiBjbGFz
cyBKU0FQSVZhbHVlV3JhcHBlciBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIGZyaWVuZCBK
U1ZhbHVlIGpzQVBJVmFsdWVXcmFwcGVyKEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiBwdWJs
aWM6Ci0gICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKKyAgICB1c2luZyBCYXNlID0gSlNDZWxsOwog
ICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1
Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3MgbW9kZT4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2Uq
IHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIHJldHVybiB2bS5hcGlWYWx1ZVdy
YXBwZXJTcGFjZTxtb2RlPigpOworICAgIH0KKwogICAgIEpTVmFsdWUgdmFsdWUoKSBjb25zdCB7
IHJldHVybiBtX3ZhbHVlLmdldCgpOyB9CiAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVT
dHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHBy
b3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElXcmFw
cGVyT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJV3JhcHBlck9iamVj
dC5oCmluZGV4IGRkODc0ZGM2NWVlN2VhYTNjNTI0ZmQwZjMyNGNiM2VhODcxN2ExYmMuLmYzYjk4
ZGNhMTcyYWNkNDcwNzgyM2I4MjNhZWRhYWQ3YWM5NzNmYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNBUElXcmFwcGVyT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0FQSVdyYXBwZXJPYmplY3QuaApAQCAtMzMsOSArMzMsMTIgQEAKIAog
bmFtZXNwYWNlIEpTQyB7CiAgICAgCi1jbGFzcyBKU0FQSVdyYXBwZXJPYmplY3QgOiBwdWJsaWMg
SlNEZXN0cnVjdGlibGVPYmplY3QgeworY2xhc3MgSlNBUElXcmFwcGVyT2JqZWN0IDogcHVibGlj
IEpTTm9uRmluYWxPYmplY3QgewogcHVibGljOgotICAgIHR5cGVkZWYgSlNEZXN0cnVjdGlibGVP
YmplY3QgQmFzZTsKKyAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKKworICAgIHRl
bXBsYXRlPHR5cGVuYW1lLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgdm9pZCBzdWJzcGFj
ZUZvcihWTSYpIHsgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogICAgIAogICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpT
Q2VsbCosIEpTQzo6U2xvdFZpc2l0b3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNBUElXcmFwcGVyT2JqZWN0Lm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU0FQSVdyYXBwZXJPYmplY3QubW0KaW5kZXggNThiNzRlNzJiOTEzZGM4N2MyM2Q0MmM4MmNj
Y2JhZjgzZjFjMjVkMy4uOGQ3YmU0NGVmZTliNDZmNmQzMjZiMzI5YTM1YTJmNTIzYWFkMjcwYSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVdyYXBwZXJPYmplY3Qu
bW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVdyYXBwZXJPYmplY3QubW0K
QEAgLTcyLDYgKzcyLDE5IEBAIHRlbXBsYXRlIDw+IGNvbnN0IENsYXNzSW5mbyBKU0NhbGxiYWNr
T2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD46OnNfaW5mbyA9IHsgIkpTCiAKIHRlbXBsYXRlPD4g
Y29uc3QgYm9vbCBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD46Om5lZWRzRGVz
dHJ1Y3Rpb24gPSB0cnVlOwogCit0ZW1wbGF0ZSA8PgorSXNvU3Vic3BhY2UqIEpTQ2FsbGJhY2tP
YmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKFZNJiB2bSwgU3Vic3Bh
Y2VBY2Nlc3MgbW9kZSkKK3sKKyAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICBjYXNlIFN1YnNwYWNl
QWNjZXNzOjpPbk1haW5UaHJlYWQ6CisgICAgICAgIHJldHVybiB2bS5hcGlXcmFwcGVyT2JqZWN0
U3BhY2U8U3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZD4oKTsKKyAgICBjYXNlIFN1YnNwYWNl
QWNjZXNzOjpDb25jdXJyZW50bHk6CisgICAgICAgIHJldHVybiB2bS5hcGlXcmFwcGVyT2JqZWN0
U3BhY2U8U3Vic3BhY2VBY2Nlc3M6OkNvbmN1cnJlbnRseT4oKTsKKyAgICB9CisgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogdGVtcGxh
dGUgPD4KIFN0cnVjdHVyZSogSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Ojpj
cmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1Zh
bHVlIHByb3RvKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Nh
bGxiYWNrQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxi
YWNrQ29uc3RydWN0b3IuY3BwCmluZGV4IDA3MGQ3NWQ1OGRhMTU2ODA4NjlhMGY1OGQ2YWI0NGYx
MjJjNTExOWIuLjQ5ZjRjZTc2ZWRlMWVhZThlZDAyZDVmM2YxYmY3ZDA5NGY3MTlmZjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5j
cHAKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiBjb25zdCBDbGFzc0luZm8gSlND
YWxsYmFja0NvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJDYWxsYmFja0NvbnN0cnVjdG9yIiwgJkJh
c2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0NhbGxi
YWNrQ29uc3RydWN0b3IpIH07CiAKIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcjo6SlNDYWxsYmFja0Nv
bnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBKU0NsYXNzUmVmIGpzQ2xhc3MsIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3JDYWxsYmFj
ayBjYWxsYmFjaykKLSAgICA6IEpTRGVzdHJ1Y3RpYmxlT2JqZWN0KGdsb2JhbE9iamVjdC0+dm0o
KSwgc3RydWN0dXJlKQorICAgIDogQmFzZShnbG9iYWxPYmplY3QtPnZtKCksIHN0cnVjdHVyZSkK
ICAgICAsIG1fY2xhc3MoanNDbGFzcykKICAgICAsIG1fY2FsbGJhY2soY2FsbGJhY2spCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rv
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaApp
bmRleCAyNTkyOGZiYWZkZmM3ODZhNjQyZTYxMjg0ZTFjNGUzMzY5MGIyNjdkLi5lNTcyNTk0MDIz
NmE5YTJlYTA5NDYwMmI5NzExNDg3MjZiNmE2ZmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgKQEAgLTI2LDE1ICsyNiwyMSBAQAog
I2lmbmRlZiBKU0NhbGxiYWNrQ29uc3RydWN0b3JfaAogI2RlZmluZSBKU0NhbGxiYWNrQ29uc3Ry
dWN0b3JfaAogCi0jaW5jbHVkZSAiSlNEZXN0cnVjdGlibGVPYmplY3QuaCIKICNpbmNsdWRlICJK
U09iamVjdFJlZi5oIgogCiBuYW1lc3BhY2UgSlNDIHsKIAotY2xhc3MgSlNDYWxsYmFja0NvbnN0
cnVjdG9yIGZpbmFsIDogcHVibGljIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IHsKK2NsYXNzIEpTQ2Fs
bGJhY2tDb25zdHJ1Y3RvciBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKIHB1Ymxp
YzoKLSAgICB0eXBlZGVmIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFz
ZSA9IEpTTm9uRmluYWxPYmplY3Q7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSW1wbGVtZW50c0hhc0luc3RhbmNl
IHwgSW1wbGVtZW50c0RlZmF1bHRIYXNJbnN0YW5jZTsKKyAgICBzdGF0aWMgY29uc3RleHByIGJv
b2wgbmVlZHNEZXN0cnVjdGlvbiA9IHRydWU7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxs
VHlwZSwgU3Vic3BhY2VBY2Nlc3MgbW9kZT4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNw
YWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIHJldHVybiB2bS5jYWxsYmFja0NvbnN0cnVj
dG9yU3BhY2U8bW9kZT4oKTsKKyAgICB9CiAKICAgICBzdGF0aWMgSlNDYWxsYmFja0NvbnN0cnVj
dG9yKiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIEpTQ2xhc3NSZWYgY2xhc3NSZWYsIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3JDYWxs
YmFjayBjYWxsYmFjaykgCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlND
YWxsYmFja09iamVjdC5jcHAKaW5kZXggY2I2M2Y0OTYzOTA4YjcxYjk1YzQ1M2RkYmU4YjZhNzQx
MTA2NzE0Yy4uNjExZTg2NjE2OTVjZTE2N2JjM2RjOWQ4MGQ1MzVlYjRiMDA1YTAxZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwCkBAIC0zNCwx
MCArMzQsMTAgQEAKIG5hbWVzcGFjZSBKU0MgewogCiAvLyBEZWZpbmUgdGhlIHR3byB0eXBlcyBv
ZiBKU0NhbGxiYWNrT2JqZWN0cyB3ZSBzdXBwb3J0LgotdGVtcGxhdGUgPD4gY29uc3QgQ2xhc3NJ
bmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjpzX2luZm8gPSB7ICJD
YWxsYmFja09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9N
RVRIT0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKK3RlbXBsYXRlIDw+IGNvbnN0IENsYXNz
SW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpzX2luZm8gPSB7ICJDYWxs
YmFja09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRI
T0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKIHRlbXBsYXRlIDw+IGNvbnN0IENsYXNzSW5m
byBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6c19pbmZvID0geyAiQ2FsbGJhY2tH
bG9iYWxPYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVU
SE9EX1RBQkxFKEpTQ2FsbGJhY2tPYmplY3QpIH07CiAKLXRlbXBsYXRlPD4gY29uc3QgYm9vbCBK
U0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6bmVlZHNEZXN0cnVjdGlvbiA9
IHRydWU7Cit0ZW1wbGF0ZTw+IGNvbnN0IGJvb2wgSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFs
T2JqZWN0Pjo6bmVlZHNEZXN0cnVjdGlvbiA9IHRydWU7CiB0ZW1wbGF0ZTw+IGNvbnN0IGJvb2wg
SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46Om5lZWRzRGVzdHJ1Y3Rpb24gPSBmYWxz
ZTsKIAogdGVtcGxhdGU8PgpAQCAtNDksNyArNDksNyBAQCBKU0NhbGxiYWNrT2JqZWN0PEpTR2xv
YmFsT2JqZWN0PiogSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46OmNyZWF0ZShWTSYg
dgogfQogCiB0ZW1wbGF0ZSA8PgotU3RydWN0dXJlKiBKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1
Y3RpYmxlT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90bykKK1N0cnVjdHVyZSogSlNDYWxsYmFja09iamVjdDxK
U05vbkZpbmFsT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90bykKIHsgCiAgICAgcmV0dXJuIFN0cnVjdHVyZTo6
Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1
Y3R1cmVGbGFncyksIGluZm8oKSk7IAogfQpAQCAtNjAsNCArNjAsMzAgQEAgU3RydWN0dXJlKiBK
U0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwg
SlNHbG9iYWxPYmoKICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVj
dCwgcHJvdG8sIFR5cGVJbmZvKEdsb2JhbE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5m
bygpKTsgCiB9CiAKK3RlbXBsYXRlIDw+CitJc29TdWJzcGFjZSogSlNDYWxsYmFja09iamVjdDxK
U05vbkZpbmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKFZNJiB2bSwgU3Vic3BhY2VBY2Nlc3Mg
bW9kZSkKK3sKKyAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICBjYXNlIFN1YnNwYWNlQWNjZXNzOjpP
bk1haW5UaHJlYWQ6CisgICAgICAgIHJldHVybiB2bS5jYWxsYmFja09iamVjdFNwYWNlPFN1YnNw
YWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ+KCk7CisgICAgY2FzZSBTdWJzcGFjZUFjY2Vzczo6Q29u
Y3VycmVudGx5OgorICAgICAgICByZXR1cm4gdm0uY2FsbGJhY2tPYmplY3RTcGFjZTxTdWJzcGFj
ZUFjY2Vzczo6Q29uY3VycmVudGx5PigpOworICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOworfQorCit0ZW1wbGF0ZSA8PgorSXNvU3Vi
c3BhY2UqIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwo
Vk0mIHZtLCBTdWJzcGFjZUFjY2VzcyBtb2RlKQoreworICAgIHN3aXRjaCAobW9kZSkgeworICAg
IGNhc2UgU3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZDoKKyAgICAgICAgcmV0dXJuIHZtLmNh
bGxiYWNrR2xvYmFsT2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZD4oKTsK
KyAgICBjYXNlIFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk6CisgICAgICAgIHJldHVybiB2
bS5jYWxsYmFja0dsb2JhbE9iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk+
KCk7CisgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAppbmRleCA0ZjVmNGI2ZjUzNTFmMzg0NjQ0N2YyYzAw
ZTY3OWMzNWU4YTA0YWI4Li4wMzRiMzU3YzA3MzhlMzQ5MTI1ODg1OGQ3MDY5ODlmZWZjYjQ4MzNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3Qu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaApAQCAt
MTMxLDcgKzEzMSw3IEBAIGNsYXNzIEpTQ2FsbGJhY2tPYmplY3QgZmluYWwgOiBwdWJsaWMgUGFy
ZW50IHsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiAKIHB1YmxpYzoKLSAgICB0eXBl
ZGVmIFBhcmVudCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBQYXJlbnQ7CiAgICAgc3RhdGljIGNv
bnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwg
UHJvaGliaXRzUHJvcGVydHlDYWNoaW5nIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwg
SW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVy
byB8IEltcGxlbWVudHNIYXNJbnN0YW5jZSB8IE92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMgfCBP
dmVycmlkZXNHZXRDYWxsRGF0YTsKICAgICBzdGF0aWNfYXNzZXJ0KCEoU3RydWN0dXJlRmxhZ3Mg
JiBJbXBsZW1lbnRzRGVmYXVsdEhhc0luc3RhbmNlKSwgInVzaW5nIGN1c3RvbUhhc0luc3RhbmNl
Iik7CiAKQEAgLTE1Myw2ICsxNTMsMTIgQEAgY2xhc3MgSlNDYWxsYmFja09iamVjdCBmaW5hbCA6
IHB1YmxpYyBQYXJlbnQgewogICAgICAgICBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0Kj4o
Y2VsbCktPkpTQ2FsbGJhY2tPYmplY3Q6On5KU0NhbGxiYWNrT2JqZWN0KCk7CiAgICAgfQogCisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzIG1vZGU+CisgICAg
c3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAgICBy
ZXR1cm4gc3Vic3BhY2VGb3JJbXBsKHZtLCBtb2RlKTsKKyAgICB9CisKICAgICB2b2lkIHNldFBy
aXZhdGUodm9pZCogZGF0YSk7CiAgICAgdm9pZCogZ2V0UHJpdmF0ZSgpOwogCkBAIC0xODQsNiAr
MTkwLDcgQEAgY2xhc3MgSlNDYWxsYmFja09iamVjdCBmaW5hbCA6IHB1YmxpYyBQYXJlbnQgewog
ICAgIHVzaW5nIFBhcmVudDo6bWV0aG9kVGFibGU7CiAKIHByaXZhdGU6CisgICAgc3RhdGljIElz
b1N1YnNwYWNlKiBzdWJzcGFjZUZvckltcGwoVk0mLCBTdWJzcGFjZUFjY2Vzcyk7CiAgICAgc3Rh
dGljIFN0cmluZyBjbGFzc05hbWUoY29uc3QgSlNPYmplY3QqLCBWTSYpOwogICAgIHN0YXRpYyBT
dHJpbmcgdG9TdHJpbmdOYW1lKGNvbnN0IEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3QqKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVu
Y3Rpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5j
dGlvbnMuaAppbmRleCBhMDI5OTUyNWQ1OGY5NDllMWFmOWEwZDQxM2NlZjI5Nzk1YTg0YWUyLi44
ZTc5NjJjODA5NGNlNWRjOWQ5YTFhNTRmNjkyN2Q0ZjIzODcxODcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaApAQCAt
MTI1LDcgKzEyNSw3IEBAIHZvaWQgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+Ojppbml0KEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgICAgIGluaXRpYWxpemUodG9SZWYoZ2xvYmFs
T2JqZWN0KSwgdG9SZWYoanNDYXN0PEpTT2JqZWN0Kj4odGhpcykpKTsKICAgICB9CiAgICAgCi0g
ICAgbV9jbGFzc0luZm8gPSB0aGlzLT5jbGFzc0luZm8oKTsKKyAgICBtX2NsYXNzSW5mbyA9IHRo
aXMtPmNsYXNzSW5mbyhnZXRWTShnbG9iYWxPYmplY3QpKTsKIH0KIAogdGVtcGxhdGUgPGNsYXNz
IFBhcmVudD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1Jl
Zi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2xhc3NSZWYuY3BwCmluZGV4IDRj
MTI2ZTQ0OGY2NzFhMTMyOTM2YzhiOGU1OTEzNDczNDc4NmVmY2UuLjkyZGY2MzhlMTVlZTc3MmY5
YmRjMTI2YzEwZjQ3ODAxY2JmNmNkYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDbGFzc1JlZi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Ns
YXNzUmVmLmNwcApAQCAtMTkwLDcgKzE5MCw3IEBAIEpTT2JqZWN0KiBPcGFxdWVKU0NsYXNzOjpw
cm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAgICAgcmV0dXJuIHBy
b3RvdHlwZTsKIAogICAgIC8vIFJlY3Vyc2l2ZSwgYnV0IHNob3VsZCBiZSBnb29kIGVub3VnaCBm
b3Igb3VyIHB1cnBvc2VzCi0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmpl
Y3QtPmNhbGxiYWNrT2JqZWN0U3RydWN0dXJlKCksIHByb3RvdHlwZUNsYXNzLCAmanNDbGFzc0Rh
dGEpOyAvLyBzZXQganNDbGFzc0RhdGEgYXMgdGhlIG9iamVjdCdzIHByaXZhdGUgZGF0YSwgc28g
aXQgY2FuIGNsZWFyIG91ciByZWZlcmVuY2Ugb24gZGVzdHJ1Y3Rpb24KKyAgICBKU09iamVjdCog
cHJvdG90eXBlID0gSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja09iamVjdFN0cnVjdHVyZSgpLCBwcm90
b3R5cGVDbGFzcywgJmpzQ2xhc3NEYXRhKTsgLy8gc2V0IGpzQ2xhc3NEYXRhIGFzIHRoZSBvYmpl
Y3QncyBwcml2YXRlIGRhdGEsIHNvIGl0IGNhbiBjbGVhciBvdXIgcmVmZXJlbmNlIG9uIGRlc3Ry
dWN0aW9uCiAgICAgaWYgKHBhcmVudENsYXNzKSB7CiAgICAgICAgIGlmIChKU09iamVjdCogcGFy
ZW50UHJvdG90eXBlID0gcGFyZW50Q2xhc3MtPnByb3RvdHlwZShnbG9iYWxPYmplY3QpKQogICAg
ICAgICAgICAgcHJvdG90eXBlLT5zZXRQcm90b3R5cGVEaXJlY3QoZ2xvYmFsT2JqZWN0LT52bSgp
LCBwYXJlbnRQcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU09iamVjdFJlZi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVm
LmNwcAppbmRleCBiNGJmZWZlMDU4NzU3NWQ5MWY2YmUxYjQxYTExNzNkNWMzNmI0ZWRjLi5mN2Y5
ZGFiM2YyOGFkYzBlYWJiMmJkZThiMjUwNjc3MmFkMjVmZmNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcApAQCAtOTYsNyArOTYsNyBAQCBKU09iamVjdFJlZiBK
U09iamVjdE1ha2UoSlNDb250ZXh0UmVmIGN0eCwgSlNDbGFzc1JlZiBqc0NsYXNzLCB2b2lkKiBk
YXRhKQogICAgIGlmICghanNDbGFzcykKICAgICAgICAgcmV0dXJuIHRvUmVmKGNvbnN0cnVjdEVt
cHR5T2JqZWN0KGdsb2JhbE9iamVjdCkpOwogCi0gICAgSlNDYWxsYmFja09iamVjdDxKU0Rlc3Ry
dWN0aWJsZU9iamVjdD4qIG9iamVjdCA9IEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVP
YmplY3Q+OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPmNhbGxiYWNrT2JqZWN0
U3RydWN0dXJlKCksIGpzQ2xhc3MsIGRhdGEpOworICAgIEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25G
aW5hbE9iamVjdD4qIG9iamVjdCA9IEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD46
OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+Y2FsbGJhY2tPYmplY3RTdHJ1Y3R1
cmUoKSwganNDbGFzcywgZGF0YSk7CiAgICAgaWYgKEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0Ns
YXNzLT5wcm90b3R5cGUoZ2xvYmFsT2JqZWN0KSkKICAgICAgICAgb2JqZWN0LT5zZXRQcm90b3R5
cGVEaXJlY3Qodm0sIHByb3RvdHlwZSk7CiAKQEAgLTU2Nyw4ICs1NjcsOCBAQCB2b2lkKiBKU09i
amVjdEdldFByaXZhdGUoSlNPYmplY3RSZWYgb2JqZWN0KQogCiAgICAgaWYgKGNsYXNzSW5mby0+
aXNTdWJDbGFzc09mKEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+OjppbmZvKCkpKQog
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVj
dD4qPihqc09iamVjdCktPmdldFByaXZhdGUoKTsKLSAgICBpZiAoY2xhc3NJbmZvLT5pc1N1YkNs
YXNzT2YoSlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD46OmluZm8oKSkpCi0g
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxl
T2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZSgpOworICAgIGlmIChjbGFzc0luZm8tPmlz
U3ViQ2xhc3NPZihKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjppbmZvKCkpKQor
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2Jq
ZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZSgpOwogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVE
CiAgICAgaWYgKGNsYXNzSW5mby0+aXNTdWJDbGFzc09mKEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElX
cmFwcGVyT2JqZWN0Pjo6aW5mbygpKSkKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEpTQ2Fs
bGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZSgp
OwpAQCAtNTk0LDggKzU5NCw4IEBAIGJvb2wgSlNPYmplY3RTZXRQcml2YXRlKEpTT2JqZWN0UmVm
IG9iamVjdCwgdm9pZCogZGF0YSkKICAgICAgICAgc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVj
dDxKU0dsb2JhbE9iamVjdD4qPihqc09iamVjdCktPnNldFByaXZhdGUoZGF0YSk7CiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KLSAgICBpZiAoY2xhc3NJbmZvLT5pc1N1YkNsYXNzT2YoSlND
YWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD46OmluZm8oKSkpIHsKLSAgICAgICAg
c3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD4qPihqc09i
amVjdCktPnNldFByaXZhdGUoZGF0YSk7CisgICAgaWYgKGNsYXNzSW5mby0+aXNTdWJDbGFzc09m
KEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD46OmluZm8oKSkpIHsKKyAgICAgICAg
c3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pio+KGpzT2JqZWN0
KS0+c2V0UHJpdmF0ZShkYXRhKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogI2lmIEpT
Q19PQkpDX0FQSV9FTkFCTEVECkBAIC02MjQsOCArNjI0LDggQEAgSlNWYWx1ZVJlZiBKU09iamVj
dEdldFByaXZhdGVQcm9wZXJ0eShKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJlZiBvYmplY3Qs
IEpTU3QKIAogICAgIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0ds
b2JhbE9iamVjdD4+KHZtKSkKICAgICAgICAgcmVzdWx0ID0ganNDYXN0PEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNHbG9iYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2YXRlUHJvcGVydHkobmFtZSk7
Ci0gICAgZWxzZSBpZiAoanNPYmplY3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0
cnVjdGlibGVPYmplY3Q+Pih2bSkpCi0gICAgICAgIHJlc3VsdCA9IGpzQ2FzdDxKU0NhbGxiYWNr
T2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZVByb3Bl
cnR5KG5hbWUpOworICAgIGVsc2UgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2Jq
ZWN0PEpTTm9uRmluYWxPYmplY3Q+Pih2bSkpCisgICAgICAgIHJlc3VsdCA9IGpzQ2FzdDxKU0Nh
bGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2YXRlUHJv
cGVydHkobmFtZSk7CiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKICAgICBlbHNlIGlmIChqc09i
amVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Pih2bSkp
CiAgICAgICAgIHJlc3VsdCA9IGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9i
amVjdD4qPihqc09iamVjdCktPmdldFByaXZhdGVQcm9wZXJ0eShuYW1lKTsKQEAgLTY1MCw4ICs2
NTAsOCBAQCBib29sIEpTT2JqZWN0U2V0UHJpdmF0ZVByb3BlcnR5KEpTQ29udGV4dFJlZiBjdHgs
IEpTT2JqZWN0UmVmIG9iamVjdCwgSlNTdHJpbmdSZQogICAgICAgICBqc0Nhc3Q8SlNDYWxsYmFj
a09iamVjdDxKU0dsb2JhbE9iamVjdD4qPihqc09iamVjdCktPnNldFByaXZhdGVQcm9wZXJ0eSh2
bSwgbmFtZSwganNWYWx1ZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICBpZiAo
anNPYmplY3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+
Pih2bSkpIHsKLSAgICAgICAganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVP
YmplY3Q+Kj4oanNPYmplY3QpLT5zZXRQcml2YXRlUHJvcGVydHkodm0sIG5hbWUsIGpzVmFsdWUp
OworICAgIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFs
T2JqZWN0Pj4odm0pKSB7CisgICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmlu
YWxPYmplY3Q+Kj4oanNPYmplY3QpLT5zZXRQcml2YXRlUHJvcGVydHkodm0sIG5hbWUsIGpzVmFs
dWUpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAjaWYgSlNDX09CSkNfQVBJX0VOQUJM
RUQKQEAgLTY3OSw4ICs2NzksOCBAQCBib29sIEpTT2JqZWN0RGVsZXRlUHJpdmF0ZVByb3BlcnR5
KEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgSlNTdHJpbgogICAgICAgICBq
c0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4qPihqc09iamVjdCktPmRlbGV0
ZVByaXZhdGVQcm9wZXJ0eShuYW1lKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAg
IGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9i
amVjdD4+KHZtKSkgewotICAgICAgICBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0
aWJsZU9iamVjdD4qPihqc09iamVjdCktPmRlbGV0ZVByaXZhdGVQcm9wZXJ0eShuYW1lKTsKKyAg
ICBpZiAoanNPYmplY3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVj
dD4+KHZtKSkgeworICAgICAgICBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2Jq
ZWN0Pio+KGpzT2JqZWN0KS0+ZGVsZXRlUHJpdmF0ZVByb3BlcnR5KG5hbWUpOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuY3BwCmluZGV4IGY1YjY1MGUzZDQwN2EyNmE2NTUwYzY0
ZmJkZTY0MzE0MWQyYTMwYTUuLmZiMTZjNGQ1NjNkYmQ3NTY2ZjlmMGIwYzJkOWIyYTc1YjdkMjc2
ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmNwcApAQCAtMjEwLDgg
KzIxMCw4IEBAIGJvb2wgSlNWYWx1ZUlzT2JqZWN0T2ZDbGFzcyhKU0NvbnRleHRSZWYgY3R4LCBK
U1ZhbHVlUmVmIHZhbHVlLCBKU0NsYXNzUmVmIGpzQ2xhCiAKICAgICAgICAgaWYgKG8tPmluaGVy
aXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Pih2bSkpCiAgICAgICAgICAgICBy
ZXR1cm4ganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Kj4obyktPmluaGVy
aXRzKGpzQ2xhc3MpOwotICAgICAgICBpZiAoby0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxK
U0Rlc3RydWN0aWJsZU9iamVjdD4+KHZtKSkKLSAgICAgICAgICAgIHJldHVybiBqc0Nhc3Q8SlND
YWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD4qPihvKS0+aW5oZXJpdHMoanNDbGFz
cyk7CisgICAgICAgIGlmIChvLT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxP
YmplY3Q+Pih2bSkpCisgICAgICAgICAgICByZXR1cm4ganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8
SlNOb25GaW5hbE9iamVjdD4qPihvKS0+aW5oZXJpdHMoanNDbGFzcyk7CiAjaWYgSlNDX09CSkNf
QVBJX0VOQUJMRUQKICAgICAgICAgaWYgKG8tPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNB
UElXcmFwcGVyT2JqZWN0Pj4odm0pKQogICAgICAgICAgICAgcmV0dXJuIGpzQ2FzdDxKU0NhbGxi
YWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4qPihvKS0+aW5oZXJpdHMoanNDbGFzcyk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTV2Vha09iamVjdE1hcFJlZlBy
aXZhdGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtPYmplY3RNYXBSZWZQ
cml2YXRlLmNwcAppbmRleCBkMmM1MzdhOGEwMTQxYjIyZGQzNGJmODk4NGEzOWM2MzBlOWViZjQ2
Li4yM2UyNTFmNjg0NDJjMGUxZTgyMzVkY2IyMzliZjcxNDU0YzQ3ZTlmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5j
cHAKQEAgLTY0LDcgKzY0LDcgQEAgdm9pZCBKU1dlYWtPYmplY3RNYXBTZXQoSlNDb250ZXh0UmVm
IGN0eCwgSlNXZWFrT2JqZWN0TWFwUmVmIG1hcCwgdm9pZCoga2V5LCBKU08KICAgICAgICAgcmV0
dXJuOwogICAgIEFTU0VSVChvYmotPmluaGVyaXRzPEpTUHJveHk+KHZtKQogICAgICAgICB8fCBv
YmotPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Pih2bSkKLSAgICAg
ICAgfHwgb2JqLT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0
Pj4odm0pKTsKKyAgICAgICAgfHwgb2JqLT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTTm9u
RmluYWxPYmplY3Q+Pih2bSkpOwogICAgIG1hcC0+bWFwKCkuc2V0KGtleSwgb2JqKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQVBJV3JhcHBlckds
b2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNBUElXcmFw
cGVyR2xvYmFsT2JqZWN0LmNwcAppbmRleCA2YWUxOTQ1YjJmZWM0MGRmY2M4Y2I3NDdjMjdjZjY4
MDUxMDlhMWIyLi5iMjg2NTQ1ZGZlZGM4OTBiN2MxZDFiZTI3ZDg4MzE5MzIzZmI2Zjc5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNBUElXcmFwcGVyR2xvYmFs
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNBUElXcmFw
cGVyR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgsNiArNTgsMTkgQEAgdGVtcGxhdGUgPD4gY29uc3Qg
Q2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0Pjo6c19p
bmZvID0KIAogdGVtcGxhdGU8PiBjb25zdCBib29sIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFw
cGVyR2xvYmFsT2JqZWN0Pjo6bmVlZHNEZXN0cnVjdGlvbiA9IGZhbHNlOwogCit0ZW1wbGF0ZSA8
PgorSXNvU3Vic3BhY2UqIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0
Pjo6c3Vic3BhY2VGb3JJbXBsKFZNJiB2bSwgU3Vic3BhY2VBY2Nlc3MgbW9kZSkKK3sKKyAgICBz
d2l0Y2ggKG1vZGUpIHsKKyAgICBjYXNlIFN1YnNwYWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ6Cisg
ICAgICAgIHJldHVybiB2bS5jYWxsYmFja0FQSVdyYXBwZXJHbG9iYWxPYmplY3RTcGFjZTxTdWJz
cGFjZUFjY2Vzczo6T25NYWluVGhyZWFkPigpOworICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6OkNv
bmN1cnJlbnRseToKKyAgICAgICAgcmV0dXJuIHZtLmNhbGxiYWNrQVBJV3JhcHBlckdsb2JhbE9i
amVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk+KCk7CisgICAgfQorICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIHRl
bXBsYXRlIDw+CiBTdHJ1Y3R1cmUqIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyR2xvYmFs
T2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVl
IHByb3RvKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pT
QVBJV3JhcHBlckdsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGli
L0pTQVBJV3JhcHBlckdsb2JhbE9iamVjdC5oCmluZGV4IGQ1NGE5ZWNkMGVmYWFmMGE3OWVhNDJl
M2ZiOTdkNjA2MDYyNTI4NGQuLjZhMzQ4OTk0N2IyYTMwODU3NjRmYWZlMWI4MDVmMTU4MDU5MDFj
MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0FQSVdyYXBw
ZXJHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNB
UElXcmFwcGVyR2xvYmFsT2JqZWN0LmgKQEAgLTMzLDcgKzMzLDEwIEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiBjbGFzcyBKU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QgOiBwdWJsaWMgSlNHbG9iYWxPYmpl
Y3QgewogcHVibGljOgotICAgIHR5cGVkZWYgSlNHbG9iYWxPYmplY3QgQmFzZTsKKyAgICB1c2lu
ZyBCYXNlID0gSlNHbG9iYWxPYmplY3Q7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSwgU3Vic3Bh
Y2VBY2Nlc3M+CisgICAgc3RhdGljIHZvaWQgc3Vic3BhY2VGb3IoVk0mKSB7IFJFTEVBU0VfQVNT
RVJUX05PVF9SRUFDSEVEKCk7IH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKICAg
ICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIEpTQzo6U2xvdFZpc2l0b3ImKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApp
bmRleCA0NDFiMzA0YTRkZDM2Yzc0ZDIyMzQzNzdjZDYzNjAzMWFlNzExMjNiLi5mNTljN2FjMDEz
ZThkOTJhZmQ2ZGEzMmE2OGFjYzdlMzY2YWE0N2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC02NzAsNyArNjcwLDcgQEAgdm9p
ZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgICAgIH0pOwogICAgIG1fY2FsbGJh
Y2tPYmplY3RTdHJ1Y3R1cmUuaW5pdExhdGVyKAogICAgICAgICBbXSAoY29uc3QgSW5pdGlhbGl6
ZXI8U3RydWN0dXJlPiYgaW5pdCkgewotICAgICAgICAgICAgaW5pdC5zZXQoSlNDYWxsYmFja09i
amVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD46OmNyZWF0ZVN0cnVjdHVyZShpbml0LnZtLCBpbml0
Lm93bmVyLCBpbml0Lm93bmVyLT5tX29iamVjdFByb3RvdHlwZS5nZXQoKSkpOworICAgICAgICAg
ICAgaW5pdC5zZXQoSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6Y3JlYXRlU3Ry
dWN0dXJlKGluaXQudm0sIGluaXQub3duZXIsIGluaXQub3duZXItPm1fb2JqZWN0UHJvdG90eXBl
LmdldCgpKSk7CiAgICAgICAgIH0pOwogCiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVP
YmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJp
YWJsZU9iamVjdC5jcHAKaW5kZXggYzc1MDcwNWUxMmIzMTUzYmQxZmIwN2Y4ZjZlMmMzOTY5YjZl
OTZkNi4uZmFhN2VkMGU2NWRkNzRmZjA5NDFjMTgxNmM2YWJjNTM1OTc3Y2NiYyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVj
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJp
YWJsZU9iamVjdC5jcHAKQEAgLTExOSw3ICsxMTksNyBAQCB2b2lkIEpTU2VnbWVudGVkVmFyaWFi
bGVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSk7CiAgICAgc2V0U3ltYm9sVGFibGUodm0sIFN5bWJvbFRhYmxlOjpjcmVhdGUodm0pKTsK
ICAgICB2bS5oZWFwLmFkZEZpbmFsaXplcih0aGlzLCBbXSAoSlNDZWxsKiBjZWxsKSB7Ci0gICAg
ICAgIHN0YXRpY19jYXN0PEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QqPihjZWxsKS0+Y2xhc3NJ
bmZvKCktPm1ldGhvZFRhYmxlLmRlc3Ryb3koY2VsbCk7CisgICAgICAgIHN0YXRpY19jYXN0PEpT
U2VnbWVudGVkVmFyaWFibGVPYmplY3QqPihjZWxsKS0+bV9jbGFzc0luZm8tPm1ldGhvZFRhYmxl
LmRlc3Ryb3koY2VsbCk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuaAppbmRleCAwYTEy
ODQ4MjI3ZmZiMTlmNzEwZTkxMmQ1NTJiOWY5MDQ1NTUzNjQxLi41MzVmYzM0Mjc3ZTZjMTFmZjE2
N2U3NjEyZTI5MjQzZWMyNzRhNjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5oCkBAIC05Niw3ICs5Niw3
IEBAIGNsYXNzIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgOiBwdWJsaWMgSlNTeW1ib2xUYWJs
ZU9iamVjdCB7CiAgICAgCiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKICAgICAK
LSAgICBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NJ
bmZvOyB9CisgICAgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8oVk0mKSBjb25zdCB7IHJldHVy
biBtX2NsYXNzSW5mbzsgfQogICAgIAogcHJvdGVjdGVkOgogICAgIEpTU2VnbWVudGVkVmFyaWFi
bGVPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqLCBKU1Njb3BlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9WTS5jcHAKaW5kZXggYTQ4MTg4MjNiZGY3ZTZhZGE4OWNkZmY2OTkxNDg3ZTMzMzViODhi
NS4uOWZjNzg2Y2RlNDBlNTNlY2I4MjllMTA5MDBkNzc0YTI2Zjk0ZjZmZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1ZNLmNwcApAQCAtNzgsNyArNzgsOSBAQAogI2luY2x1ZGUgIklzb0hl
YXBDZWxsVHlwZS5oIgogI2luY2x1ZGUgIkpJVENvZGUuaCIKICNpbmNsdWRlICJKSVRXb3JrbGlz
dC5oIgorI2luY2x1ZGUgIkpTQVBJR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNBUElWYWx1
ZVdyYXBwZXIuaCIKKyNpbmNsdWRlICJKU0FQSVdyYXBwZXJPYmplY3QuaCIKICNpbmNsdWRlICJK
U0FycmF5LmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlci5oIgogI2luY2x1ZGUgIkpTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvci5oIgpAQCAtODYsNyArODgsOSBAQAogI2luY2x1ZGUgIkpTQmlnSW50
LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5o
IgorI2luY2x1ZGUgIkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQ2FsbGJh
Y2tGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQ2FsbGJhY2tPYmplY3QuaCIKICNpbmNsdWRlICJK
U0NhbGxlZS5oIgogI2luY2x1ZGUgIkpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb24uaCIKICNp
bmNsdWRlICJKU0Rlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZS5oIgpAQCAtMTk0LDYgKzE5
OCw3IEBACiAjZW5kaWYKIAogI2lmZGVmIEpTQ19HTElCX0FQSV9FTkFCTEVECisjaW5jbHVkZSAi
SlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNDQ2FsbGJhY2tGdW5jdGlv
bi5oIgogI2VuZGlmCiAKQEAgLTI5Myw2ICsyOTgsOCBAQCBWTTo6Vk0oVk1UeXBlIHZtVHlwZSwg
SGVhcFR5cGUgaGVhcFR5cGUpCiAgICAgLCBpbW11dGFibGVCdXR0ZXJmbHlIZWFwQ2VsbFR5cGUo
bWFrZVVuaXF1ZTxIZWFwQ2VsbFR5cGU+KENlbGxBdHRyaWJ1dGVzKERvZXNOb3ROZWVkRGVzdHJ1
Y3Rpb24sIEhlYXBDZWxsOjpKU0NlbGxXaXRoSW50ZXJpb3JQb2ludGVycykpKQogICAgICwgY2Vs
bEhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPEhlYXBDZWxsVHlwZT4oQ2VsbEF0dHJpYnV0ZXMoRG9l
c05vdE5lZWREZXN0cnVjdGlvbiwgSGVhcENlbGw6OkpTQ2VsbCkpKQogICAgICwgZGVzdHJ1Y3Rp
YmxlQ2VsbEhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPEhlYXBDZWxsVHlwZT4oQ2VsbEF0dHJpYnV0
ZXMoTmVlZHNEZXN0cnVjdGlvbiwgSGVhcENlbGw6OkpTQ2VsbCkpKQorICAgICwgY2FsbGJhY2tD
b25zdHJ1Y3RvckhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxKU0NhbGxi
YWNrQ29uc3RydWN0b3I+PigpKQorICAgICwgY2FsbGJhY2tPYmplY3RIZWFwQ2VsbFR5cGUobWFr
ZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0
Pj4+KCkpCiAgICAgLCBkYXRlSW5zdGFuY2VIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFw
Q2VsbFR5cGU8RGF0ZUluc3RhbmNlPj4oKSkKICAgICAsIGVycm9ySW5zdGFuY2VIZWFwQ2VsbFR5
cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8RXJyb3JJbnN0YW5jZT4+KCkpCiAgICAgLCBq
c01vZHVsZVJlY29yZEhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxKU01v
ZHVsZVJlY29yZD4+KCkpCkBAIC0zMDMsNiArMzEwLDcgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUs
IEhlYXBUeXBlIGhlYXBUeXBlKQogICAgICwgd2Vha1NldEhlYXBDZWxsVHlwZShtYWtlVW5pcXVl
PElzb0hlYXBDZWxsVHlwZTxKU1dlYWtTZXQ+PigpKQogICAgICwgZGVzdHJ1Y3RpYmxlT2JqZWN0
SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SlNEZXN0cnVjdGlibGVPYmplY3RIZWFwQ2VsbFR5cGU+
KCkpCiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKKyAgICAsIGFwaVdyYXBwZXJPYmplY3RIZWFw
Q2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNDYWxsYmFja09iamVjdDxKU0FQ
SVdyYXBwZXJPYmplY3Q+Pj4oKSkKICAgICAsIG9iakNDYWxsYmFja0Z1bmN0aW9uSGVhcENlbGxU
eXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPE9iakNDYWxsYmFja0Z1bmN0aW9uPj4oKSkK
ICNlbmRpZgogI2lmZGVmIEpTQ19HTElCX0FQSV9FTkFCTEVECkBAIC0xMzYxLDEyICsxMzY5LDE2
IEBAIHZvaWQgVk06OmVuc3VyZVNoYWRvd0NoaWNrZW4oKQogICAgIH0KIAogCitEWU5BTUlDX0lT
T19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYXBpVmFsdWVXcmFwcGVyU3BhY2UsIGNlbGxI
ZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQVBJVmFsdWVXcmFwcGVyKQogRFlOQU1JQ19JU09fU1VCU1BB
Q0VfREVGSU5FX01FTUJFUl9TTE9XKGFycmF5QnVmZmVyU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUu
Z2V0KCksIEpTQXJyYXlCdWZmZXIpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVS
X1NMT1coYXN5bmNHZW5lcmF0b3JTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNBc3lu
Y0dlbmVyYXRvcikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhiaWdJ
bnRPYmplY3RTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgQmlnSW50T2JqZWN0KQogRFlO
QU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGJvb2xlYW5PYmplY3RTcGFjZSwg
Y2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgQm9vbGVhbk9iamVjdCkKIERZTkFNSUNfSVNPX1NVQlNQ
QUNFX0RFRklORV9NRU1CRVJfU0xPVyhib3VuZEZ1bmN0aW9uU3BhY2UsIGNlbGxIZWFwQ2VsbFR5
cGUuZ2V0KCksIEpTQm91bmRGdW5jdGlvbikgLy8gSGFzaDoweGQ3OTE2ZDQxCitEWU5BTUlDX0lT
T19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coY2FsbGJhY2tDb25zdHJ1Y3RvclNwYWNlLCBj
YWxsYmFja0NvbnN0cnVjdG9ySGVhcENlbGxUeXBlLmdldCgpLCBKU0NhbGxiYWNrQ29uc3RydWN0
b3IpCitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coY2FsbGJhY2tHbG9i
YWxPYmplY3RTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDYWxsYmFja09iamVjdDxK
U0dsb2JhbE9iamVjdD4pCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1co
Y2FsbGJhY2tGdW5jdGlvblNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0NhbGxiYWNr
RnVuY3Rpb24pIC8vIEhhc2g6MHhlNzY0OGViYworRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5F
X01FTUJFUl9TTE9XKGNhbGxiYWNrT2JqZWN0U3BhY2UsIGNhbGxiYWNrT2JqZWN0SGVhcENlbGxU
eXBlLmdldCgpLCBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+KQogRFlOQU1JQ19J
U09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGN1c3RvbUdldHRlclNldHRlckZ1bmN0aW9u
U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rp
b24pIC8vIEhhc2g6MHgxODA5MTAwMAogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJF
Ul9TTE9XKGRhdGFWaWV3U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTRGF0YVZpZXcp
CiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coZXJyb3JJbnN0YW5jZVNw
YWNlLCBlcnJvckluc3RhbmNlSGVhcENlbGxUeXBlLmdldCgpLCBFcnJvckluc3RhbmNlKSAvLyBI
YXNoOjB4M2Y0MGQ0YQpAQCAtMTM5OCwxMCArMTQxMCwxMyBAQCBEWU5BTUlDX0lTT19TVUJTUEFD
RV9ERUZJTkVfTUVNQkVSX1NMT1cod2Vha01hcFNwYWNlLCB3ZWFrTWFwSGVhcENlbGxUeXBlLmdl
dCgpLAogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKHdlYWtTZXRTcGFj
ZSwgd2Vha1NldEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNXZWFrU2V0KSAvLyBIYXNoOjB4NGM3ODFi
MzAKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyh3ZWFrT2JqZWN0UmVm
U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTV2Vha09iamVjdFJlZikgLy8gSGFzaDow
eDhlYzY4ZjFmCiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKK0RZTkFNSUNfSVNPX1NVQlNQQUNF
X0RFRklORV9NRU1CRVJfU0xPVyhhcGlHbG9iYWxPYmplY3RTcGFjZSwgY2VsbEhlYXBDZWxsVHlw
ZS5nZXQoKSwgSlNBUElHbG9iYWxPYmplY3QpCitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVf
TUVNQkVSX1NMT1coYXBpV3JhcHBlck9iamVjdFNwYWNlLCBhcGlXcmFwcGVyT2JqZWN0SGVhcENl
bGxUeXBlLmdldCgpLCBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4pCiBEWU5B
TUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1cob2JqQ0NhbGxiYWNrRnVuY3Rpb25T
cGFjZSwgb2JqQ0NhbGxiYWNrRnVuY3Rpb25IZWFwQ2VsbFR5cGUuZ2V0KCksIE9iakNDYWxsYmFj
a0Z1bmN0aW9uKSAvLyBIYXNoOjB4MTBmNjEwYjgKICNlbmRpZgogI2lmZGVmIEpTQ19HTElCX0FQ
SV9FTkFCTEVECiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coanNjQ2Fs
bGJhY2tGdW5jdGlvblNwYWNlLCBqc2NDYWxsYmFja0Z1bmN0aW9uSGVhcENlbGxUeXBlLmdldCgp
LCBKU0NDYWxsYmFja0Z1bmN0aW9uKQorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJF
Ul9TTE9XKGNhbGxiYWNrQVBJV3JhcHBlckdsb2JhbE9iamVjdFNwYWNlLCBjZWxsSGVhcENlbGxU
eXBlLmdldCgpLCBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdD4pCiAj
ZW5kaWYKICNpZiBFTkFCTEUoSU5UTCkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1C
RVJfU0xPVyhpbnRsQ29sbGF0b3JTcGFjZSwgaW50bENvbGxhdG9ySGVhcENlbGxUeXBlLmdldCgp
LCBJbnRsQ29sbGF0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9WTS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAppbmRleCBlZGRiZmM1
NWViYjY4YmE3MDJhMjM3N2QzNDcwMmU4NWM2N2U0N2IwLi42MzRjMzk3MzBjZjcwN2RjMTYyYWE5
NTRhNzczMmJiMzU3MWM1NTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9WTS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKQEAgLTEy
NiwxMyArMTI2LDE2IEBAIGNsYXNzIEludGxDb2xsYXRvcjsKIGNsYXNzIEludGxEYXRlVGltZUZv
cm1hdDsKIGNsYXNzIEludGxOdW1iZXJGb3JtYXQ7CiBjbGFzcyBJbnRsUGx1cmFsUnVsZXM7Citj
bGFzcyBKU0FQSVdyYXBwZXJPYmplY3Q7CiBjbGFzcyBKU0NDYWxsYmFja0Z1bmN0aW9uOworY2xh
c3MgSlNDYWxsYmFja0NvbnN0cnVjdG9yOwogY2xhc3MgSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5j
dGlvbjsKIGNsYXNzIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlOwogY2xhc3MgSlNH
bG9iYWxPYmplY3Q7CiBjbGFzcyBKU01vZHVsZU5hbWVzcGFjZU9iamVjdDsKIGNsYXNzIEpTTW9k
dWxlUmVjb3JkOwogY2xhc3MgSlNOYXRpdmVTdGRGdW5jdGlvbjsKK2NsYXNzIEpTTm9uRmluYWxP
YmplY3Q7CiBjbGFzcyBKU09iamVjdDsKIGNsYXNzIEpTUHJvbWlzZTsKIGNsYXNzIEpTUHJvcGVy
dHlOYW1lRW51bWVyYXRvcjsKQEAgLTE4Miw2ICsxODUsNyBAQCBjbGFzcyBXZWJBc3NlbWJseUZ1
bmN0aW9uOwogY2xhc3MgV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQ7CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIENlbGxUeXBlPiBjbGFzcyBJc29IZWFwQ2VsbFR5cGU7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBQ
YXJlbnQ+IGNsYXNzIEpTQ2FsbGJhY2tPYmplY3Q7CiAKICNpZiBFTkFCTEUoRlRMX0pJVCkKIG5h
bWVzcGFjZSBGVEwgewpAQCAtMzU5LDYgKzM2Myw4IEBAIGNsYXNzIFZNIDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFZNPiB7CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPEhlYXBDZWxsVHlwZT4gaW1tdXRhYmxlQnV0dGVyZmx5SGVhcENl
bGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxIZWFwQ2VsbFR5cGU+IGNlbGxIZWFwQ2VsbFR5
cGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEhlYXBDZWxsVHlwZT4gZGVzdHJ1Y3RpYmxlQ2VsbEhl
YXBDZWxsVHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJh
Y2tDb25zdHJ1Y3Rvcj4+IGNhbGxiYWNrQ29uc3RydWN0b3JIZWFwQ2VsbFR5cGU7CisgICAgc3Rk
Ojp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxP
YmplY3Q+Pj4gY2FsbGJhY2tPYmplY3RIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlxdWVfcHRy
PElzb0hlYXBDZWxsVHlwZTxEYXRlSW5zdGFuY2U+PiBkYXRlSW5zdGFuY2VIZWFwQ2VsbFR5cGU7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxFcnJvckluc3RhbmNlPj4gZXJy
b3JJbnN0YW5jZUhlYXBDZWxsVHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxU
eXBlPEpTTW9kdWxlUmVjb3JkPj4ganNNb2R1bGVSZWNvcmRIZWFwQ2VsbFR5cGU7CkBAIC0zNjks
NiArMzc1LDcgQEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+LCBw
dWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNv
SGVhcENlbGxUeXBlPEpTV2Vha1NldD4+IHdlYWtTZXRIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPEpTRGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlPiBkZXN0cnVjdGlibGVP
YmplY3RIZWFwQ2VsbFR5cGU7CiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2Jq
ZWN0Pj4+IGFwaVdyYXBwZXJPYmplY3RIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlxdWVfcHRy
PElzb0hlYXBDZWxsVHlwZTxPYmpDQ2FsbGJhY2tGdW5jdGlvbj4+IG9iakNDYWxsYmFja0Z1bmN0
aW9uSGVhcENlbGxUeXBlOwogI2VuZGlmCiAjaWZkZWYgSlNDX0dMSUJfQVBJX0VOQUJMRUQKQEAg
LTQ1OCwxNyArNDY1LDI1IEBAIGNsYXNzIFZNIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVk
PFZNPiwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFZNPiB7CiAKIAogI2lmIEpTQ19PQkpD
X0FQSV9FTkFCTEVECisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhcGlH
bG9iYWxPYmplY3RTcGFjZSkKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVS
KGFwaVdyYXBwZXJPYmplY3RTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVf
TUVNQkVSKG9iakNDYWxsYmFja0Z1bmN0aW9uU3BhY2UpCiAjZW5kaWYKICNpZmRlZiBKU0NfR0xJ
Ql9BUElfRU5BQkxFRAorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXBp
V3JhcHBlck9iamVjdFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1C
RVIoanNjQ2FsbGJhY2tGdW5jdGlvblNwYWNlKQorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RF
RklORV9NRU1CRVIoY2FsbGJhY2tBUElXcmFwcGVyR2xvYmFsT2JqZWN0U3BhY2UpCiAjZW5kaWYK
KyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFwaVZhbHVlV3JhcHBlclNw
YWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXJyYXlCdWZmZXJT
cGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFzeW5jR2VuZXJh
dG9yU3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihiaWdJbnRP
YmplY3RTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGJvb2xl
YW5PYmplY3RTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGJv
dW5kRnVuY3Rpb25TcGFjZSkKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVS
KGNhbGxiYWNrQ29uc3RydWN0b3JTcGFjZSkKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJ
TkVfTUVNQkVSKGNhbGxiYWNrR2xvYmFsT2JqZWN0U3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VC
U1BBQ0VfREVGSU5FX01FTUJFUihjYWxsYmFja0Z1bmN0aW9uU3BhY2UpCisgICAgRFlOQU1JQ19J
U09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihjYWxsYmFja09iamVjdFNwYWNlKQogICAgIERZTkFN
SUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoY3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb25T
cGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGRhdGFWaWV3U3Bh
Y2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihlcnJvckluc3RhbmNl
U3BhY2UpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385340</attachid>
            <date>2019-12-10 21:23:04 -0800</date>
            <delta_ts>2019-12-10 21:26:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205097-20191210212303.patch</filename>
            <type>text/plain</type>
            <size>37165</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
Nzg0MWIxN2MwYjY4Y2YxMDMwMTMwYmMxNDEzMjY0Y2FhM2ZmOTFiLi4zOGVjNDE5NTQ3MTQ3OWI5
ZTJjYTRiYzZlYTljNzdhNmQyNmM2YjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1OCBAQAorMjAxOS0xMi0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFB1dCBhbGwgQVBJIHJlbGF0ZWQgSlMgY2VsbHMgaW50byBJc29T
dWJzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBwdXRzIEFQSSByZWxhdGVkIEpTIGNlbGxzIGludG8gSXNvU3Vic3BhY2UuCisK
KyAgICAgICAgKiBBUEkvSlNBUElHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNBUElH
bG9iYWxPYmplY3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTQVBJR2xvYmFs
T2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKU0FQSUds
b2JhbE9iamVjdDo6SlNBUElHbG9iYWxPYmplY3QpOiBEZWxldGVkLgorICAgICAgICAqIEFQSS9K
U0FQSVZhbHVlV3JhcHBlci5oOgorICAgICAgICAqIEFQSS9KU0FQSVdyYXBwZXJPYmplY3QuaDoK
KyAgICAgICAgKEpTQzo6SlNBUElXcmFwcGVyT2JqZWN0OjpzdWJzcGFjZUZvcik6CisgICAgICAg
ICogQVBJL0pTQVBJV3JhcHBlck9iamVjdC5tbToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09i
amVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwpOgorICAgICAgICAqIEFQ
SS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrQ29u
c3RydWN0b3I6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcik6CisgICAgICAgICogQVBJL0pTQ2FsbGJh
Y2tDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6Y3JlYXRlU3Ry
dWN0dXJlKToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0
Pjo6c3Vic3BhY2VGb3JJbXBsKToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxKU0ds
b2JhbE9iamVjdD46OnN1YnNwYWNlRm9ySW1wbCk6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tP
YmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUpOiBEZWxldGVkLgor
ICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0Lmg6CisgICAgICAgICogQVBJL0pTQ2FsbGJh
Y2tPYmplY3RGdW5jdGlvbnMuaDoKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxQYXJl
bnQ+Ojppbml0KToKKyAgICAgICAgKiBBUEkvSlNDbGFzc1JlZi5jcHA6CisgICAgICAgIChPcGFx
dWVKU0NsYXNzOjpwcm90b3R5cGUpOgorICAgICAgICAqIEFQSS9KU09iamVjdFJlZi5jcHA6Cisg
ICAgICAgIChKU09iamVjdE1ha2UpOgorICAgICAgICAoSlNPYmplY3RHZXRQcml2YXRlKToKKyAg
ICAgICAgKEpTT2JqZWN0U2V0UHJpdmF0ZSk6CisgICAgICAgIChKU09iamVjdEdldFByaXZhdGVQ
cm9wZXJ0eSk6CisgICAgICAgIChKU09iamVjdFNldFByaXZhdGVQcm9wZXJ0eSk6CisgICAgICAg
IChKU09iamVjdERlbGV0ZVByaXZhdGVQcm9wZXJ0eSk6CisgICAgICAgICogQVBJL0pTVmFsdWVS
ZWYuY3BwOgorICAgICAgICAoSlNWYWx1ZUlzT2JqZWN0T2ZDbGFzcyk6CisgICAgICAgICogQVBJ
L0pTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwOgorICAgICAgICAqIEFQSS9nbGliL0pTQVBJ
V3JhcHBlckdsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tPYmplY3Q8
SlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKToKKyAgICAgICAgKiBB
UEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNBUElX
cmFwcGVyR2xvYmFsT2JqZWN0OjpzdWJzcGFjZUZvcik6CisgICAgICAgICogcnVudGltZS9KU0ds
b2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAg
ICAgICAgKiBydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
ICogcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpT
U2VnbWVudGVkVmFyaWFibGVPYmplY3Q6OmNsYXNzSW5mbyBjb25zdCk6CisgICAgICAgICogcnVu
dGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6OlZNOjpWTSk6CisgICAgICAgICogcnVudGltZS9W
TS5oOgorCiAyMDE5LTEyLTEwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXb3JrbGlzdDo6ZGVsZXRlQ2FuY2VsbGVkUGxhbnNGb3JWTSgpIHNob3VsZCBub3QgYXNz
dW1lIHRoYXQgYSBjYW5jZWxsZWQgcGxhbiBpcyByZWFkeSBmb3IgZGVsZXRpb24uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggN2MyZDgxY2NmMWJmMjNhMjA0YTVjMDdhY2U4MTcxMGEzM2IzOWVmMy4uYzcxOGE5ZTIz
YjY1MTQzYzBiOGI3NTk3NzRkYTRkZTJhZjEzMDAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE5LTEyLTEwICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAg
ICAgICAgW0pTQ10gUHV0IGFsbCBBUEkgcmVsYXRlZCBKUyBjZWxscyBpbnRvIElzb1N1YnNwYWNl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwOTcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xv
YmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01X
cmFwcGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NT2JqZWN0OjpKU0RPTU9iamVjdCk6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNXaW5kb3dQcm94eS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpKU1dpbmRvd1Byb3h5OjpzZXRXaW5kb3cpOgorCiAyMDE5LTEyLTEwICBGdWppaSBIaXJv
bm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5dIEZpeCBNU1ZD
IHdhcm5pbmcgQzQ3MDE6IHBvdGVudGlhbGx5IHVuaW5pdGlhbGl6ZWQgbG9jYWwgdmFyaWFibGUg
J3gnIHVzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElHbG9i
YWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElHbG9iYWxPYmplY3Qu
aAppbmRleCA0YjNiYjE1Y2RmMGE1YzQ2YjRmZTk1ZGVhNmFhMDllMjA2YjQxOTFlLi42MGY2ZjY2
ZTZkYzRlMTUyZWU4ZjU2OWM1OGZkZWQzNTA4NWMxNDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQVBJR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0FQSUdsb2JhbE9iamVjdC5oCkBAIC0zMSwxMyArMzEsMTkgQEAgT0JKQ19D
TEFTUyBKU1NjcmlwdDsKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIEpTQVBJR2xvYmFsT2Jq
ZWN0IDogcHVibGljIEpTR2xvYmFsT2JqZWN0IHsKK2NsYXNzIEpTQVBJR2xvYmFsT2JqZWN0IGZp
bmFsIDogcHVibGljIEpTR2xvYmFsT2JqZWN0IHsKIHB1YmxpYzoKICAgICB1c2luZyBCYXNlID0g
SlNHbG9iYWxPYmplY3Q7CiAKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogICAgIHN0YXRpYyBj
b25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlOwog
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzIG1vZGU+Cisg
ICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAg
ICByZXR1cm4gdm0uYXBpR2xvYmFsT2JqZWN0U3BhY2U8bW9kZT4oKTsKKyAgICB9CisKICAgICBz
dGF0aWMgSlNBUElHbG9iYWxPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlKQogICAgIHsKICAgICAgICAgYXV0byogb2JqZWN0ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0
ZUNlbGw8SlNBUElHbG9iYWxPYmplY3Q+KHZtLmhlYXApKSBKU0FQSUdsb2JhbE9iamVjdCh2bSwg
c3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElW
YWx1ZVdyYXBwZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1ZVdyYXBw
ZXIuaAppbmRleCA0MWY1MDlkMzY0YWJjODQ0M2M0ZTgxZTQ2MDczMWM2MTc5ZDA0MmQ5Li4xZjc4
MjI5ZTBjODBkYjRjZDYzNDYwZmY2MjEzMzk3MDE0ZGJmZDljIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJVmFsdWVXcmFwcGVyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0FQSVZhbHVlV3JhcHBlci5oCkBAIC0zMiw5ICszMiwxNSBAQCBuYW1l
c3BhY2UgSlNDIHsKIGNsYXNzIEpTQVBJVmFsdWVXcmFwcGVyIGZpbmFsIDogcHVibGljIEpTQ2Vs
bCB7CiAgICAgZnJpZW5kIEpTVmFsdWUganNBUElWYWx1ZVdyYXBwZXIoSlNHbG9iYWxPYmplY3Qq
LCBKU1ZhbHVlKTsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOworICAgIHVzaW5n
IEJhc2UgPSBKU0NlbGw7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKIAorICAg
IHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2VzcyBtb2RlPgorICAgIHN0
YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIHZtLmFwaVZhbHVlV3JhcHBlclNwYWNlPG1vZGU+KCk7CisgICAgfQorCiAgICAgSlNWYWx1
ZSB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWUuZ2V0KCk7IH0KIAogICAgIHN0YXRpYyBT
dHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0FQSVdyYXBwZXJPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNBUElXcmFwcGVyT2JqZWN0LmgKaW5kZXggZGQ4NzRkYzY1ZWU3ZWFhM2M1MjRmZDBmMzI0Y2Iz
ZWE4NzE3YTFiYy4uZjNiOThkY2ExNzJhY2Q0NzA3ODIzYjgyM2FlZGFhZDdhYzk3M2ZhNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVdyYXBwZXJPYmplY3QuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJV3JhcHBlck9iamVjdC5oCkBAIC0z
Myw5ICszMywxMiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKICAgICAKLWNsYXNzIEpTQVBJV3JhcHBl
ck9iamVjdCA6IHB1YmxpYyBKU0Rlc3RydWN0aWJsZU9iamVjdCB7CitjbGFzcyBKU0FQSVdyYXBw
ZXJPYmplY3QgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRl
ZiBKU0Rlc3RydWN0aWJsZU9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFs
T2JqZWN0OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0
YXRpYyB2b2lkIHN1YnNwYWNlRm9yKFZNJikgeyBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OyB9CiAgICAgCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogICAgIHN0YXRpYyB2b2lk
IHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgSlNDOjpTbG90VmlzaXRvciYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVdyYXBwZXJPYmplY3QubW0gYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJV3JhcHBlck9iamVjdC5tbQppbmRleCA1OGI3NGU3MmI5
MTNkYzg3YzIzZDQyYzgyY2NjYmFmODNmMWMyNWQzLi44ZDdiZTQ0ZWZlOWI0NmY2ZDMyNmIzMjlh
MzVhMmY1MjNhYWQyNzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
QVBJV3JhcHBlck9iamVjdC5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJ
V3JhcHBlck9iamVjdC5tbQpAQCAtNzIsNiArNzIsMTkgQEAgdGVtcGxhdGUgPD4gY29uc3QgQ2xh
c3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pjo6c19pbmZvID0geyAi
SlMKIAogdGVtcGxhdGU8PiBjb25zdCBib29sIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVy
T2JqZWN0Pjo6bmVlZHNEZXN0cnVjdGlvbiA9IHRydWU7CiAKK3RlbXBsYXRlIDw+CitJc29TdWJz
cGFjZSogSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+OjpzdWJzcGFjZUZvcklt
cGwoVk0mIHZtLCBTdWJzcGFjZUFjY2VzcyBtb2RlKQoreworICAgIHN3aXRjaCAobW9kZSkgewor
ICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZDoKKyAgICAgICAgcmV0dXJuIHZt
LmFwaVdyYXBwZXJPYmplY3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkPigpOwor
ICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6OkNvbmN1cnJlbnRseToKKyAgICAgICAgcmV0dXJuIHZt
LmFwaVdyYXBwZXJPYmplY3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5PigpOwor
ICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxs
cHRyOworfQorCiB0ZW1wbGF0ZSA8PgogU3RydWN0dXJlKiBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJ
V3JhcHBlck9iamVjdD46OmNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG8pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMDcwZDc1ZDU4ZGExNTY4
MDg2OWEwZjU4ZDZhYjQ0ZjEyMmM1MTE5Yi4uNDlmNGNlNzZlZGUxZWFlOGVkMDJkNWYzZjFiZjdk
MDk0ZjcxOWZmNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxi
YWNrQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxs
YmFja0NvbnN0cnVjdG9yLmNwcApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgSlNDIHsKIGNv
bnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkNhbGxiYWNr
Q29uc3RydWN0b3IiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVU
SE9EX1RBQkxFKEpTQ2FsbGJhY2tDb25zdHJ1Y3RvcikgfTsKIAogSlNDYWxsYmFja0NvbnN0cnVj
dG9yOjpKU0NhbGxiYWNrQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQ2xhc3NSZWYganNDbGFzcywgSlNPYmplY3RDYWxsQXND
b25zdHJ1Y3RvckNhbGxiYWNrIGNhbGxiYWNrKQotICAgIDogSlNEZXN0cnVjdGlibGVPYmplY3Qo
Z2xvYmFsT2JqZWN0LT52bSgpLCBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKGdsb2JhbE9iamVjdC0+
dm0oKSwgc3RydWN0dXJlKQogICAgICwgbV9jbGFzcyhqc0NsYXNzKQogICAgICwgbV9jYWxsYmFj
ayhjYWxsYmFjaykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlND
YWxsYmFja0NvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJh
Y2tDb25zdHJ1Y3Rvci5oCmluZGV4IDI1OTI4ZmJhZmRmYzc4NmE2NDJlNjEyODRlMWM0ZTMzNjkw
YjI2N2QuLmU1NzI1OTQwMjM2YTlhMmVhMDk0NjAyYjk3MTE0ODcyNmI2YTZmZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaApAQCAt
MjYsMTUgKzI2LDIxIEBACiAjaWZuZGVmIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcl9oCiAjZGVmaW5l
IEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcl9oCiAKLSNpbmNsdWRlICJKU0Rlc3RydWN0aWJsZU9iamVj
dC5oIgogI2luY2x1ZGUgIkpTT2JqZWN0UmVmLmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi1jbGFz
cyBKU0NhbGxiYWNrQ29uc3RydWN0b3IgZmluYWwgOiBwdWJsaWMgSlNEZXN0cnVjdGlibGVPYmpl
Y3QgeworY2xhc3MgSlNDYWxsYmFja0NvbnN0cnVjdG9yIGZpbmFsIDogcHVibGljIEpTTm9uRmlu
YWxPYmplY3QgewogcHVibGljOgotICAgIHR5cGVkZWYgSlNEZXN0cnVjdGlibGVPYmplY3QgQmFz
ZTsKKyAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBzdGF0aWMgY29uc3Rl
eHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBJbXBs
ZW1lbnRzSGFzSW5zdGFuY2UgfCBJbXBsZW1lbnRzRGVmYXVsdEhhc0luc3RhbmNlOworICAgIHN0
YXRpYyBjb25zdGV4cHIgYm9vbCBuZWVkc0Rlc3RydWN0aW9uID0gdHJ1ZTsKKworICAgIHRlbXBs
YXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2VzcyBtb2RlPgorICAgIHN0YXRpYyBJ
c29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHZt
LmNhbGxiYWNrQ29uc3RydWN0b3JTcGFjZTxtb2RlPigpOworICAgIH0KIAogICAgIHN0YXRpYyBK
U0NhbGxiYWNrQ29uc3RydWN0b3IqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNDbGFzc1JlZiBjbGFzc1JlZiwgSlNPYmplY3RDYWxs
QXNDb25zdHJ1Y3RvckNhbGxiYWNrIGNhbGxiYWNrKSAKICAgICB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcAppbmRleCBjYjYzZjQ5NjM5MDhiNzFi
OTVjNDUzZGRiZThiNmE3NDExMDY3MTRjLi42MTFlODY2MTY5NWNlMTY3YmMzZGM5ZDgwZDUzNWVi
NGIwMDVhMDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJh
Y2tPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09i
amVjdC5jcHAKQEAgLTM0LDEwICszNCwxMCBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIC8vIERlZmlu
ZSB0aGUgdHdvIHR5cGVzIG9mIEpTQ2FsbGJhY2tPYmplY3RzIHdlIHN1cHBvcnQuCi10ZW1wbGF0
ZSA8PiBjb25zdCBDbGFzc0luZm8gSlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVj
dD46OnNfaW5mbyA9IHsgIkNhbGxiYWNrT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwg
bnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0NhbGxiYWNrT2JqZWN0KSB9OwordGVtcGxh
dGUgPD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD46
OnNfaW5mbyA9IHsgIkNhbGxiYWNrT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVs
bHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0NhbGxiYWNrT2JqZWN0KSB9OwogdGVtcGxhdGUg
PD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+OjpzX2lu
Zm8gPSB7ICJDYWxsYmFja0dsb2JhbE9iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKIAotdGVtcGxh
dGU8PiBjb25zdCBib29sIEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Ojpu
ZWVkc0Rlc3RydWN0aW9uID0gdHJ1ZTsKK3RlbXBsYXRlPD4gY29uc3QgYm9vbCBKU0NhbGxiYWNr
T2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpuZWVkc0Rlc3RydWN0aW9uID0gdHJ1ZTsKIHRlbXBs
YXRlPD4gY29uc3QgYm9vbCBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6bmVlZHNE
ZXN0cnVjdGlvbiA9IGZhbHNlOwogCiB0ZW1wbGF0ZTw+CkBAIC00OSw3ICs0OSw3IEBAIEpTQ2Fs
bGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+KiBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2Jq
ZWN0Pjo6Y3JlYXRlKFZNJiB2CiB9CiAKIHRlbXBsYXRlIDw+Ci1TdHJ1Y3R1cmUqIEpTQ2FsbGJh
Y2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKQorU3RydWN0dXJlKiBK
U0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKQogeyAKICAgICBy
ZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG8sIFR5cGVJbmZv
KE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsgCiB9CkBAIC02MCw0ICs2MCwz
MCBAQCBTdHJ1Y3R1cmUqIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+OjpjcmVhdGVT
dHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iagogICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0
ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90bywgVHlwZUluZm8oR2xvYmFsT2JqZWN0VHlwZSwgU3Ry
dWN0dXJlRmxhZ3MpLCBpbmZvKCkpOyAKIH0KIAordGVtcGxhdGUgPD4KK0lzb1N1YnNwYWNlKiBK
U0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwoVk0mIHZt
LCBTdWJzcGFjZUFjY2VzcyBtb2RlKQoreworICAgIHN3aXRjaCAobW9kZSkgeworICAgIGNhc2Ug
U3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZDoKKyAgICAgICAgcmV0dXJuIHZtLmNhbGxiYWNr
T2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZD4oKTsKKyAgICBjYXNlIFN1
YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk6CisgICAgICAgIHJldHVybiB2bS5jYWxsYmFja09i
amVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk+KCk7CisgICAgfQorICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3Rl
bXBsYXRlIDw+CitJc29TdWJzcGFjZSogSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46
OnN1YnNwYWNlRm9ySW1wbChWTSYgdm0sIFN1YnNwYWNlQWNjZXNzIG1vZGUpCit7CisgICAgc3dp
dGNoIChtb2RlKSB7CisgICAgY2FzZSBTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkOgorICAg
ICAgICByZXR1cm4gdm0uY2FsbGJhY2tHbG9iYWxPYmplY3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6
T25NYWluVGhyZWFkPigpOworICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6OkNvbmN1cnJlbnRseToK
KyAgICAgICAgcmV0dXJuIHZtLmNhbGxiYWNrR2xvYmFsT2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nl
c3M6OkNvbmN1cnJlbnRseT4oKTsKKyAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oCmluZGV4IDRmNWY0YjZm
NTM1MWYzODQ2NDQ3ZjJjMDBlNjc5YzM1ZThhMDRhYjguLjAzNGIzNTdjMDczOGUzNDkxMjU4ODU4
ZDcwNjk4OWZlZmNiNDgzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDYWxsYmFja09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxs
YmFja09iamVjdC5oCkBAIC0xMzEsNyArMTMxLDcgQEAgY2xhc3MgSlNDYWxsYmFja09iamVjdCBm
aW5hbCA6IHB1YmxpYyBQYXJlbnQgewogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKIAog
cHVibGljOgotICAgIHR5cGVkZWYgUGFyZW50IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IFBhcmVu
dDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6
U3RydWN0dXJlRmxhZ3MgfCBQcm9oaWJpdHNQcm9wZXJ0eUNhY2hpbmcgfCBPdmVycmlkZXNHZXRP
d25Qcm9wZXJ0eVNsb3QgfCBJbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5X
aGVuTGVuZ3RoSXNOb3RaZXJvIHwgSW1wbGVtZW50c0hhc0luc3RhbmNlIHwgT3ZlcnJpZGVzR2V0
UHJvcGVydHlOYW1lcyB8IE92ZXJyaWRlc0dldENhbGxEYXRhOwogICAgIHN0YXRpY19hc3NlcnQo
IShTdHJ1Y3R1cmVGbGFncyAmIEltcGxlbWVudHNEZWZhdWx0SGFzSW5zdGFuY2UpLCAidXNpbmcg
Y3VzdG9tSGFzSW5zdGFuY2UiKTsKIApAQCAtMTUzLDYgKzE1MywxMiBAQCBjbGFzcyBKU0NhbGxi
YWNrT2JqZWN0IGZpbmFsIDogcHVibGljIFBhcmVudCB7CiAgICAgICAgIHN0YXRpY19jYXN0PEpT
Q2FsbGJhY2tPYmplY3QqPihjZWxsKS0+SlNDYWxsYmFja09iamVjdDo6fkpTQ2FsbGJhY2tPYmpl
Y3QoKTsKICAgICB9CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VB
Y2Nlc3MgbW9kZT4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkK
KyAgICB7CisgICAgICAgIHJldHVybiBzdWJzcGFjZUZvckltcGwodm0sIG1vZGUpOworICAgIH0K
KwogICAgIHZvaWQgc2V0UHJpdmF0ZSh2b2lkKiBkYXRhKTsKICAgICB2b2lkKiBnZXRQcml2YXRl
KCk7CiAKQEAgLTE4NCw2ICsxOTAsNyBAQCBjbGFzcyBKU0NhbGxiYWNrT2JqZWN0IGZpbmFsIDog
cHVibGljIFBhcmVudCB7CiAgICAgdXNpbmcgUGFyZW50OjptZXRob2RUYWJsZTsKIAogcHJpdmF0
ZToKKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9ySW1wbChWTSYsIFN1YnNwYWNl
QWNjZXNzKTsKICAgICBzdGF0aWMgU3RyaW5nIGNsYXNzTmFtZShjb25zdCBKU09iamVjdCosIFZN
Jik7CiAgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZ05hbWUoY29uc3QgSlNPYmplY3QqLCBKU0ds
b2JhbE9iamVjdCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
Q2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlND
YWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCmluZGV4IGEwMjk5NTI1ZDU4Zjk0OWUxYWY5YTBkNDEz
Y2VmMjk3OTVhODRhZTIuLjhlNzk2MmM4MDk0Y2U1ZGM5ZDlhMWE1NGY2OTI3ZDRmMjM4NzE4NzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1
bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVj
dEZ1bmN0aW9ucy5oCkBAIC0xMjUsNyArMTI1LDcgQEAgdm9pZCBKU0NhbGxiYWNrT2JqZWN0PFBh
cmVudD46OmluaXQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAgICAgaW5pdGlh
bGl6ZSh0b1JlZihnbG9iYWxPYmplY3QpLCB0b1JlZihqc0Nhc3Q8SlNPYmplY3QqPih0aGlzKSkp
OwogICAgIH0KICAgICAKLSAgICBtX2NsYXNzSW5mbyA9IHRoaXMtPmNsYXNzSW5mbygpOworICAg
IG1fY2xhc3NJbmZvID0gdGhpcy0+Y2xhc3NJbmZvKGdldFZNKGdsb2JhbE9iamVjdCkpOwogfQog
CiB0ZW1wbGF0ZSA8Y2xhc3MgUGFyZW50PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0NsYXNzUmVmLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFz
c1JlZi5jcHAKaW5kZXggNGMxMjZlNDQ4ZjY3MWExMzI5MzZjOGI4ZTU5MTM0NzM0Nzg2ZWZjZS4u
OTJkZjYzOGUxNWVlNzcyZjliZGMxMjZjMTBmNDc4MDFjYmY2Y2RhMiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTQ2xhc3NSZWYuY3BwCkBAIC0xOTAsNyArMTkwLDcgQEAgSlNPYmplY3Qq
IE9wYXF1ZUpTQ2xhc3M6OnByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQog
ICAgICAgICByZXR1cm4gcHJvdG90eXBlOwogCiAgICAgLy8gUmVjdXJzaXZlLCBidXQgc2hvdWxk
IGJlIGdvb2QgZW5vdWdoIGZvciBvdXIgcHVycG9zZXMKLSAgICBKU09iamVjdCogcHJvdG90eXBl
ID0gSlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD46OmNyZWF0ZShnbG9iYWxP
YmplY3QsIGdsb2JhbE9iamVjdC0+Y2FsbGJhY2tPYmplY3RTdHJ1Y3R1cmUoKSwgcHJvdG90eXBl
Q2xhc3MsICZqc0NsYXNzRGF0YSk7IC8vIHNldCBqc0NsYXNzRGF0YSBhcyB0aGUgb2JqZWN0J3Mg
cHJpdmF0ZSBkYXRhLCBzbyBpdCBjYW4gY2xlYXIgb3VyIHJlZmVyZW5jZSBvbiBkZXN0cnVjdGlv
bgorICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxP
YmplY3Q+OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPmNhbGxiYWNrT2JqZWN0
U3RydWN0dXJlKCksIHByb3RvdHlwZUNsYXNzLCAmanNDbGFzc0RhdGEpOyAvLyBzZXQganNDbGFz
c0RhdGEgYXMgdGhlIG9iamVjdCdzIHByaXZhdGUgZGF0YSwgc28gaXQgY2FuIGNsZWFyIG91ciBy
ZWZlcmVuY2Ugb24gZGVzdHJ1Y3Rpb24KICAgICBpZiAocGFyZW50Q2xhc3MpIHsKICAgICAgICAg
aWYgKEpTT2JqZWN0KiBwYXJlbnRQcm90b3R5cGUgPSBwYXJlbnRDbGFzcy0+cHJvdG90eXBlKGds
b2JhbE9iamVjdCkpCiAgICAgICAgICAgICBwcm90b3R5cGUtPnNldFByb3RvdHlwZURpcmVjdChn
bG9iYWxPYmplY3QtPnZtKCksIHBhcmVudFByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNPYmplY3RSZWYuY3BwCmluZGV4IGI0YmZlZmUwNTg3NTc1ZDkxZjZiZTFiNDFhMTE3
M2Q1YzM2YjRlZGMuLmY3ZjlkYWIzZjI4YWRjMGVhYmIyYmRlOGIyNTA2NzcyYWQyNWZmY2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwCkBAIC05Niw3ICs5Niw3
IEBAIEpTT2JqZWN0UmVmIEpTT2JqZWN0TWFrZShKU0NvbnRleHRSZWYgY3R4LCBKU0NsYXNzUmVm
IGpzQ2xhc3MsIHZvaWQqIGRhdGEpCiAgICAgaWYgKCFqc0NsYXNzKQogICAgICAgICByZXR1cm4g
dG9SZWYoY29uc3RydWN0RW1wdHlPYmplY3QoZ2xvYmFsT2JqZWN0KSk7CiAKLSAgICBKU0NhbGxi
YWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Piogb2JqZWN0ID0gSlNDYWxsYmFja09iamVj
dDxKU0Rlc3RydWN0aWJsZU9iamVjdD46OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVj
dC0+Y2FsbGJhY2tPYmplY3RTdHJ1Y3R1cmUoKSwganNDbGFzcywgZGF0YSk7CisgICAgSlNDYWxs
YmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Piogb2JqZWN0ID0gSlNDYWxsYmFja09iamVjdDxK
U05vbkZpbmFsT2JqZWN0Pjo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxs
YmFja09iamVjdFN0cnVjdHVyZSgpLCBqc0NsYXNzLCBkYXRhKTsKICAgICBpZiAoSlNPYmplY3Qq
IHByb3RvdHlwZSA9IGpzQ2xhc3MtPnByb3RvdHlwZShnbG9iYWxPYmplY3QpKQogICAgICAgICBv
YmplY3QtPnNldFByb3RvdHlwZURpcmVjdCh2bSwgcHJvdG90eXBlKTsKIApAQCAtNTY3LDggKzU2
Nyw4IEBAIHZvaWQqIEpTT2JqZWN0R2V0UHJpdmF0ZShKU09iamVjdFJlZiBvYmplY3QpCiAKICAg
ICBpZiAoY2xhc3NJbmZvLT5pc1N1YkNsYXNzT2YoSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9i
amVjdD46OmluZm8oKSkpCiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2Jq
ZWN0PEpTR2xvYmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZSgpOwotICAgIGlmIChj
bGFzc0luZm8tPmlzU3ViQ2xhc3NPZihKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2Jq
ZWN0Pjo6aW5mbygpKSkKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2YXRlKCk7CisgICAg
aWYgKGNsYXNzSW5mby0+aXNTdWJDbGFzc09mKEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9i
amVjdD46OmluZm8oKSkpCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2Jq
ZWN0PEpTTm9uRmluYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2YXRlKCk7CiAjaWYgSlND
X09CSkNfQVBJX0VOQUJMRUQKICAgICBpZiAoY2xhc3NJbmZvLT5pc1N1YkNsYXNzT2YoSlNDYWxs
YmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+OjppbmZvKCkpKQogICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Kj4oanNPYmpl
Y3QpLT5nZXRQcml2YXRlKCk7CkBAIC01OTQsOCArNTk0LDggQEAgYm9vbCBKU09iamVjdFNldFBy
aXZhdGUoSlNPYmplY3RSZWYgb2JqZWN0LCB2b2lkKiBkYXRhKQogICAgICAgICBzdGF0aWNfY2Fz
dDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+c2V0UHJpdmF0
ZShkYXRhKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIGlmIChjbGFzc0luZm8t
PmlzU3ViQ2xhc3NPZihKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6aW5m
bygpKSkgewotICAgICAgICBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3Rp
YmxlT2JqZWN0Pio+KGpzT2JqZWN0KS0+c2V0UHJpdmF0ZShkYXRhKTsKKyAgICBpZiAoY2xhc3NJ
bmZvLT5pc1N1YkNsYXNzT2YoSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6aW5m
bygpKSkgeworICAgICAgICBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxP
YmplY3Q+Kj4oanNPYmplY3QpLT5zZXRQcml2YXRlKGRhdGEpOwogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKQEAgLTYyNCw4ICs2MjQsOCBAQCBK
U1ZhbHVlUmVmIEpTT2JqZWN0R2V0UHJpdmF0ZVByb3BlcnR5KEpTQ29udGV4dFJlZiBjdHgsIEpT
T2JqZWN0UmVmIG9iamVjdCwgSlNTdAogCiAgICAgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0Nh
bGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pj4odm0pKQogICAgICAgICByZXN1bHQgPSBqc0Nh
c3Q8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4qPihqc09iamVjdCktPmdldFByaXZh
dGVQcm9wZXJ0eShuYW1lKTsKLSAgICBlbHNlIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxs
YmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD4+KHZtKSkKLSAgICAgICAgcmVzdWx0ID0g
anNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Kj4oanNPYmplY3Qp
LT5nZXRQcml2YXRlUHJvcGVydHkobmFtZSk7CisgICAgZWxzZSBpZiAoanNPYmplY3QtPmluaGVy
aXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4+KHZtKSkKKyAgICAgICAgcmVz
dWx0ID0ganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4qPihqc09iamVj
dCktPmdldFByaXZhdGVQcm9wZXJ0eShuYW1lKTsKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAog
ICAgIGVsc2UgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3Jh
cHBlck9iamVjdD4+KHZtKSkKICAgICAgICAgcmVzdWx0ID0ganNDYXN0PEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNBUElXcmFwcGVyT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZVByb3BlcnR5KG5h
bWUpOwpAQCAtNjUwLDggKzY1MCw4IEBAIGJvb2wgSlNPYmplY3RTZXRQcml2YXRlUHJvcGVydHko
SlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBKU1N0cmluZ1JlCiAgICAgICAg
IGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+c2V0
UHJpdmF0ZVByb3BlcnR5KHZtLCBuYW1lLCBqc1ZhbHVlKTsKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQotICAgIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0Rl
c3RydWN0aWJsZU9iamVjdD4+KHZtKSkgewotICAgICAgICBqc0Nhc3Q8SlNDYWxsYmFja09iamVj
dDxKU0Rlc3RydWN0aWJsZU9iamVjdD4qPihqc09iamVjdCktPnNldFByaXZhdGVQcm9wZXJ0eSh2
bSwgbmFtZSwganNWYWx1ZSk7CisgICAgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNr
T2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Pih2bSkpIHsKKyAgICAgICAganNDYXN0PEpTQ2FsbGJh
Y2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4qPihqc09iamVjdCktPnNldFByaXZhdGVQcm9wZXJ0
eSh2bSwgbmFtZSwganNWYWx1ZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNpZiBK
U0NfT0JKQ19BUElfRU5BQkxFRApAQCAtNjc5LDggKzY3OSw4IEBAIGJvb2wgSlNPYmplY3REZWxl
dGVQcml2YXRlUHJvcGVydHkoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBK
U1N0cmluCiAgICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pio+
KGpzT2JqZWN0KS0+ZGVsZXRlUHJpdmF0ZVByb3BlcnR5KG5hbWUpOwogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9Ci0gICAgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0
PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pj4odm0pKSB7Ci0gICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNr
T2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pio+KGpzT2JqZWN0KS0+ZGVsZXRlUHJpdmF0ZVBy
b3BlcnR5KG5hbWUpOworICAgIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVj
dDxKU05vbkZpbmFsT2JqZWN0Pj4odm0pKSB7CisgICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNrT2Jq
ZWN0PEpTTm9uRmluYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5kZWxldGVQcml2YXRlUHJvcGVydHko
bmFtZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNpZiBKU0NfT0JKQ19BUElfRU5B
QkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5jcHAKaW5kZXggZjViNjUw
ZTNkNDA3YTI2YTY1NTBjNjRmYmRlNjQzMTQxZDJhMzBhNS4uZmIxNmM0ZDU2M2RiZDc1NjZmOWYw
YjBjMmQ5YjJhNzViN2QyNzZkMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU1ZhbHVlUmVmLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVS
ZWYuY3BwCkBAIC0yMTAsOCArMjEwLDggQEAgYm9vbCBKU1ZhbHVlSXNPYmplY3RPZkNsYXNzKEpT
Q29udGV4dFJlZiBjdHgsIEpTVmFsdWVSZWYgdmFsdWUsIEpTQ2xhc3NSZWYganNDbGEKIAogICAg
ICAgICBpZiAoby0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4+KHZt
KSkKICAgICAgICAgICAgIHJldHVybiBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9i
amVjdD4qPihvKS0+aW5oZXJpdHMoanNDbGFzcyk7Ci0gICAgICAgIGlmIChvLT5pbmhlcml0czxK
U0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pj4odm0pKQotICAgICAgICAgICAg
cmV0dXJuIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pio+KG8p
LT5pbmhlcml0cyhqc0NsYXNzKTsKKyAgICAgICAgaWYgKG8tPmluaGVyaXRzPEpTQ2FsbGJhY2tP
YmplY3Q8SlNOb25GaW5hbE9iamVjdD4+KHZtKSkKKyAgICAgICAgICAgIHJldHVybiBqc0Nhc3Q8
SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pio+KG8pLT5pbmhlcml0cyhqc0NsYXNz
KTsKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAogICAgICAgICBpZiAoby0+aW5oZXJpdHM8SlND
YWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Pih2bSkpCiAgICAgICAgICAgICByZXR1
cm4ganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pio+KG8pLT5pbmhl
cml0cyhqc0NsYXNzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNX
ZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
V2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwCmluZGV4IGQyYzUzN2E4YTAxNDFiMjJkZDM0YmY4
OTg0YTM5YzYzMGU5ZWJmNDYuLjIzZTI1MWY2ODQ0MmMwZTFlODIzNWRjYjIzOWJmNzE0NTRjNDdl
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFw
UmVmUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtPYmpl
Y3RNYXBSZWZQcml2YXRlLmNwcApAQCAtNjQsNyArNjQsNyBAQCB2b2lkIEpTV2Vha09iamVjdE1h
cFNldChKU0NvbnRleHRSZWYgY3R4LCBKU1dlYWtPYmplY3RNYXBSZWYgbWFwLCB2b2lkKiBrZXks
IEpTTwogICAgICAgICByZXR1cm47CiAgICAgQVNTRVJUKG9iai0+aW5oZXJpdHM8SlNQcm94eT4o
dm0pCiAgICAgICAgIHx8IG9iai0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9i
amVjdD4+KHZtKQotICAgICAgICB8fCBvYmotPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNE
ZXN0cnVjdGlibGVPYmplY3Q+Pih2bSkpOworICAgICAgICB8fCBvYmotPmluaGVyaXRzPEpTQ2Fs
bGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4+KHZtKSk7CiAgICAgbWFwLT5tYXAoKS5zZXQo
a2V5LCBvYmopOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2ds
aWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuY3BwCmluZGV4IDZhZTE5NDViMmZlYzQw
ZGZjYzhjYjc0N2MyN2NmNjgwNTEwOWExYjIuLmIyODY1NDVkZmVkYzg5MGI3YzFkMWJlMjdkODgz
MTkzMjNmYjZmNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9K
U0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuY3BwCkBAIC01OCw2ICs1OCwxOSBAQCB0
ZW1wbGF0ZSA8PiBjb25zdCBDbGFzc0luZm8gSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJH
bG9iYWxPYmplY3Q+OjpzX2luZm8gPQogCiB0ZW1wbGF0ZTw+IGNvbnN0IGJvb2wgSlNDYWxsYmFj
a09iamVjdDxKU0FQSVdyYXBwZXJHbG9iYWxPYmplY3Q+OjpuZWVkc0Rlc3RydWN0aW9uID0gZmFs
c2U7CiAKK3RlbXBsYXRlIDw+CitJc29TdWJzcGFjZSogSlNDYWxsYmFja09iamVjdDxKU0FQSVdy
YXBwZXJHbG9iYWxPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwoVk0mIHZtLCBTdWJzcGFjZUFjY2Vz
cyBtb2RlKQoreworICAgIHN3aXRjaCAobW9kZSkgeworICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6
Ok9uTWFpblRocmVhZDoKKyAgICAgICAgcmV0dXJuIHZtLmNhbGxiYWNrQVBJV3JhcHBlckdsb2Jh
bE9iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ+KCk7CisgICAgY2FzZSBT
dWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5OgorICAgICAgICByZXR1cm4gdm0uY2FsbGJhY2tB
UElXcmFwcGVyR2xvYmFsT2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6OkNvbmN1cnJlbnRseT4o
KTsKKyAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4g
bnVsbHB0cjsKK30KKwogdGVtcGxhdGUgPD4KIFN0cnVjdHVyZSogSlNDYWxsYmFja09iamVjdDxK
U0FQSVdyYXBwZXJHbG9iYWxPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCosIEpTVmFsdWUgcHJvdG8pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL2dsaWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL2dsaWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmgKaW5kZXggZDU0YTll
Y2QwZWZhYWYwYTc5ZWE0MmUzZmI5N2Q2MDYwNjI1Mjg0ZC4uNmEzNDg5OTQ3YjJhMzA4NTc2NGZh
ZmUxYjgwNWYxNTgwNTkwMWMwOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9nbGliL0pTQVBJV3JhcHBlckdsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuaApAQCAtMzMsNyArMzMsMTAg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdCA6IHB1
YmxpYyBKU0dsb2JhbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU0dsb2JhbE9iamVj
dCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU0dsb2JhbE9iamVjdDsKKworICAgIHRlbXBsYXRl
PHR5cGVuYW1lLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgdm9pZCBzdWJzcGFjZUZvcihW
TSYpIHsgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogCiAgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYpOwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgSlND
OjpTbG90VmlzaXRvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuY3BwCmluZGV4IDQ0MWIzMDRhNGRkMzZjNzRkMjIzNDM3N2NkNjM2MDMxYWU3
MTEyM2IuLmY1OWM3YWMwMTNlOGQ5MmFmZDZkYTMyYTY4YWNjN2UzNjZhYTQ3ZDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTY3
MCw3ICs2NzAsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICAgICAg
fSk7CiAgICAgbV9jYWxsYmFja09iamVjdFN0cnVjdHVyZS5pbml0TGF0ZXIoCiAgICAgICAgIFtd
IChjb25zdCBJbml0aWFsaXplcjxTdHJ1Y3R1cmU+JiBpbml0KSB7Ci0gICAgICAgICAgICBpbml0
LnNldChKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6Y3JlYXRlU3RydWN0
dXJlKGluaXQudm0sIGluaXQub3duZXIsIGluaXQub3duZXItPm1fb2JqZWN0UHJvdG90eXBlLmdl
dCgpKSk7CisgICAgICAgICAgICBpbml0LnNldChKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxP
YmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoaW5pdC52bSwgaW5pdC5vd25lciwgaW5pdC5vd25lci0+
bV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKTsKICAgICAgICAgfSk7CiAKICNpZiBKU0NfT0JKQ19B
UElfRU5BQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNT
ZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNwcAppbmRleCBjNzUwNzA1ZTEyYjMxNTNiZDFm
YjA3ZjhmNmUyYzM5NjliNmU5NmQ2Li5mYWE3ZWQwZTY1ZGQ3NGZmMDk0MWMxODE2YzZhYmM1MzU5
NzdjY2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21l
bnRlZFZhcmlhYmxlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNwcApAQCAtMTE5LDcgKzExOSw3IEBAIHZvaWQg
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICBzZXRTeW1ib2xUYWJsZSh2bSwgU3ltYm9sVGFi
bGU6OmNyZWF0ZSh2bSkpOwogICAgIHZtLmhlYXAuYWRkRmluYWxpemVyKHRoaXMsIFtdIChKU0Nl
bGwqIGNlbGwpIHsKLSAgICAgICAgc3RhdGljX2Nhc3Q8SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVj
dCo+KGNlbGwpLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZGVzdHJveShjZWxsKTsKKyAgICAg
ICAgc3RhdGljX2Nhc3Q8SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCo+KGNlbGwpLT5tX2NsYXNz
SW5mby0+bWV0aG9kVGFibGUuZGVzdHJveShjZWxsKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVj
dC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9i
amVjdC5oCmluZGV4IDBhMTI4NDgyMjdmZmIxOWY3MTBlOTEyZDU1MmI5ZjkwNDU1NTM2NDEuLjUz
NWZjMzQyNzdlNmMxMWZmMTY3ZTc2MTJlMjkyNDNlYzI3NGE2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0
LmgKQEAgLTk2LDcgKzk2LDcgQEAgY2xhc3MgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCA6IHB1
YmxpYyBKU1N5bWJvbFRhYmxlT2JqZWN0IHsKICAgICAKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95
KEpTQ2VsbCopOwogICAgIAotICAgIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvKCkgY29uc3Qg
eyByZXR1cm4gbV9jbGFzc0luZm87IH0KKyAgICBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbyhW
TSYpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NJbmZvOyB9CiAgICAgCiBwcm90ZWN0ZWQ6CiAgICAg
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdChWTSYsIFN0cnVjdHVyZSosIEpTU2NvcGUqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAppbmRleCBhNDgxODgyM2JkZjdlNmFkYTg5Y2Rm
ZjY5OTE0ODdlMzMzNWI4OGI1Li5hNzhkNjAzOTUwNjFiMjc3M2Q1NGZmNjkxYjI0MDZiMjBmNjBk
ZjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCkBAIC03OSw2ICs3OSw3IEBA
CiAjaW5jbHVkZSAiSklUQ29kZS5oIgogI2luY2x1ZGUgIkpJVFdvcmtsaXN0LmgiCiAjaW5jbHVk
ZSAiSlNBUElWYWx1ZVdyYXBwZXIuaCIKKyNpbmNsdWRlICJKU0FQSVdyYXBwZXJPYmplY3QuaCIK
ICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlci5oIgogI2luY2x1
ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgpAQCAtODYsNyArODcsOSBAQAogI2luY2x1
ZGUgIkpTQmlnSW50LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAi
SlNDSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIgogI2luY2x1
ZGUgIkpTQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQ2FsbGJhY2tPYmplY3QuaCIK
ICNpbmNsdWRlICJKU0NhbGxlZS5oIgogI2luY2x1ZGUgIkpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVu
Y3Rpb24uaCIKICNpbmNsdWRlICJKU0Rlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZS5oIgpA
QCAtMTMyLDcgKzEzNSw2IEBACiAjaW5jbHVkZSAiTmF0aXZlRXhlY3V0YWJsZS5oIgogI2luY2x1
ZGUgIk5vZGVzLmgiCiAjaW5jbHVkZSAiTnVtYmVyT2JqZWN0LmgiCi0jaW5jbHVkZSAiT2JqQ0Nh
bGxiYWNrRnVuY3Rpb24uaCIKICNpbmNsdWRlICJQYXJzZXIuaCIKICNpbmNsdWRlICJQcmVkaWN0
aW9uRmlsZUNyZWF0aW5nRnV6emVyQWdlbnQuaCIKICNpbmNsdWRlICJQcm9maWxlckRhdGFiYXNl
LmgiCkBAIC0xOTMsNyArMTk1LDEzIEBACiAjaW5jbHVkZSAiUmVnRXhwLmgiCiAjZW5kaWYKIAor
I2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECisjaW5jbHVkZSAiSlNBUElHbG9iYWxPYmplY3QuaCIK
KyNpbmNsdWRlICJPYmpDQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2VuZGlmCisKICNpZmRlZiBKU0Nf
R0xJQl9BUElfRU5BQkxFRAorI2luY2x1ZGUgIkpTQVBJV3JhcHBlckdsb2JhbE9iamVjdC5oIgog
I2luY2x1ZGUgIkpTQ0NhbGxiYWNrRnVuY3Rpb24uaCIKICNlbmRpZgogCkBAIC0yOTMsNiArMzAx
LDggQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlKQogICAgICwgaW1t
dXRhYmxlQnV0dGVyZmx5SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SGVhcENlbGxUeXBlPihDZWxs
QXR0cmlidXRlcyhEb2VzTm90TmVlZERlc3RydWN0aW9uLCBIZWFwQ2VsbDo6SlNDZWxsV2l0aElu
dGVyaW9yUG9pbnRlcnMpKSkKICAgICAsIGNlbGxIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxIZWFw
Q2VsbFR5cGU+KENlbGxBdHRyaWJ1dGVzKERvZXNOb3ROZWVkRGVzdHJ1Y3Rpb24sIEhlYXBDZWxs
OjpKU0NlbGwpKSkKICAgICAsIGRlc3RydWN0aWJsZUNlbGxIZWFwQ2VsbFR5cGUobWFrZVVuaXF1
ZTxIZWFwQ2VsbFR5cGU+KENlbGxBdHRyaWJ1dGVzKE5lZWRzRGVzdHJ1Y3Rpb24sIEhlYXBDZWxs
OjpKU0NlbGwpKSkKKyAgICAsIGNhbGxiYWNrQ29uc3RydWN0b3JIZWFwQ2VsbFR5cGUobWFrZVVu
aXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNDYWxsYmFja0NvbnN0cnVjdG9yPj4oKSkKKyAgICAsIGNh
bGxiYWNrT2JqZWN0SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPEpTQ2Fs
bGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4+PigpKQogICAgICwgZGF0ZUluc3RhbmNlSGVh
cENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPERhdGVJbnN0YW5jZT4+KCkpCiAg
ICAgLCBlcnJvckluc3RhbmNlSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBl
PEVycm9ySW5zdGFuY2U+PigpKQogICAgICwganNNb2R1bGVSZWNvcmRIZWFwQ2VsbFR5cGUobWFr
ZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNNb2R1bGVSZWNvcmQ+PigpKQpAQCAtMzAzLDYgKzMx
Myw3IEBAIFZNOjpWTShWTVR5cGUgdm1UeXBlLCBIZWFwVHlwZSBoZWFwVHlwZSkKICAgICAsIHdl
YWtTZXRIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNXZWFrU2V0Pj4o
KSkKICAgICAsIGRlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPEpTRGVz
dHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlPigpKQogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVE
CisgICAgLCBhcGlXcmFwcGVyT2JqZWN0SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENl
bGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pj4+KCkpCiAgICAgLCBv
YmpDQ2FsbGJhY2tGdW5jdGlvbkhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlw
ZTxPYmpDQ2FsbGJhY2tGdW5jdGlvbj4+KCkpCiAjZW5kaWYKICNpZmRlZiBKU0NfR0xJQl9BUElf
RU5BQkxFRApAQCAtMTM2MSwxMiArMTM3MiwxNiBAQCB2b2lkIFZNOjplbnN1cmVTaGFkb3dDaGlj
a2VuKCkKICAgICB9CiAKIAorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9X
KGFwaVZhbHVlV3JhcHBlclNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0FQSVZhbHVl
V3JhcHBlcikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhhcnJheUJ1
ZmZlclNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0FycmF5QnVmZmVyKQogRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGFzeW5jR2VuZXJhdG9yU3BhY2UsIGNl
bGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQXN5bmNHZW5lcmF0b3IpCiBEWU5BTUlDX0lTT19TVUJT
UEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYmlnSW50T2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5
cGUuZ2V0KCksIEJpZ0ludE9iamVjdCkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1C
RVJfU0xPVyhib29sZWFuT2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEJvb2xl
YW5PYmplY3QpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYm91bmRG
dW5jdGlvblNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0JvdW5kRnVuY3Rpb24pIC8v
IEhhc2g6MHhkNzkxNmQ0MQorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9X
KGNhbGxiYWNrQ29uc3RydWN0b3JTcGFjZSwgY2FsbGJhY2tDb25zdHJ1Y3RvckhlYXBDZWxsVHlw
ZS5nZXQoKSwgSlNDYWxsYmFja0NvbnN0cnVjdG9yKQorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVG
SU5FX01FTUJFUl9TTE9XKGNhbGxiYWNrR2xvYmFsT2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5
cGUuZ2V0KCksIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+KQogRFlOQU1JQ19JU09f
U1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGNhbGxiYWNrRnVuY3Rpb25TcGFjZSwgY2VsbEhl
YXBDZWxsVHlwZS5nZXQoKSwgSlNDYWxsYmFja0Z1bmN0aW9uKSAvLyBIYXNoOjB4ZTc2NDhlYmMK
K0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhjYWxsYmFja09iamVjdFNw
YWNlLCBjYWxsYmFja09iamVjdEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDYWxsYmFja09iamVjdDxK
U05vbkZpbmFsT2JqZWN0PikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xP
VyhjdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvblNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgp
LCBKU0N1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uKSAvLyBIYXNoOjB4MTgwOTEwMDAKIERZTkFN
SUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhkYXRhVmlld1NwYWNlLCBjZWxsSGVh
cENlbGxUeXBlLmdldCgpLCBKU0RhdGFWaWV3KQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5F
X01FTUJFUl9TTE9XKGVycm9ySW5zdGFuY2VTcGFjZSwgZXJyb3JJbnN0YW5jZUhlYXBDZWxsVHlw
ZS5nZXQoKSwgRXJyb3JJbnN0YW5jZSkgLy8gSGFzaDoweDNmNDBkNGEKQEAgLTEzOTgsMTAgKzE0
MTMsMTMgQEAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKHdlYWtNYXBT
cGFjZSwgd2Vha01hcEhlYXBDZWxsVHlwZS5nZXQoKSwKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RF
RklORV9NRU1CRVJfU0xPVyh3ZWFrU2V0U3BhY2UsIHdlYWtTZXRIZWFwQ2VsbFR5cGUuZ2V0KCks
IEpTV2Vha1NldCkgLy8gSGFzaDoweDRjNzgxYjMwCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJ
TkVfTUVNQkVSX1NMT1cod2Vha09iamVjdFJlZlNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgp
LCBKU1dlYWtPYmplY3RSZWYpIC8vIEhhc2g6MHg4ZWM2OGYxZgogI2lmIEpTQ19PQkpDX0FQSV9F
TkFCTEVECitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYXBpR2xvYmFs
T2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQVBJR2xvYmFsT2JqZWN0KQor
RFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGFwaVdyYXBwZXJPYmplY3RT
cGFjZSwgYXBpV3JhcHBlck9iamVjdEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDYWxsYmFja09iamVj
dDxKU0FQSVdyYXBwZXJPYmplY3Q+KQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJF
Ul9TTE9XKG9iakNDYWxsYmFja0Z1bmN0aW9uU3BhY2UsIG9iakNDYWxsYmFja0Z1bmN0aW9uSGVh
cENlbGxUeXBlLmdldCgpLCBPYmpDQ2FsbGJhY2tGdW5jdGlvbikgLy8gSGFzaDoweDEwZjYxMGI4
CiAjZW5kaWYKICNpZmRlZiBKU0NfR0xJQl9BUElfRU5BQkxFRAogRFlOQU1JQ19JU09fU1VCU1BB
Q0VfREVGSU5FX01FTUJFUl9TTE9XKGpzY0NhbGxiYWNrRnVuY3Rpb25TcGFjZSwganNjQ2FsbGJh
Y2tGdW5jdGlvbkhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDQ2FsbGJhY2tGdW5jdGlvbikKK0RZTkFN
SUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhjYWxsYmFja0FQSVdyYXBwZXJHbG9i
YWxPYmplY3RTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDYWxsYmFja09iamVjdDxK
U0FQSVdyYXBwZXJHbG9iYWxPYmplY3Q+KQogI2VuZGlmCiAjaWYgRU5BQkxFKElOVEwpCiBEWU5B
TUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coaW50bENvbGxhdG9yU3BhY2UsIGlu
dGxDb2xsYXRvckhlYXBDZWxsVHlwZS5nZXQoKSwgSW50bENvbGxhdG9yKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1ZNLmgKaW5kZXggZWRkYmZjNTVlYmI2OGJhNzAyYTIzNzdkMzQ3MDJlODVjNjdl
NDdiMC4uNjM0YzM5NzMwY2Y3MDdkYzE2MmFhOTU0YTc3MzJiYjM1NzFjNTU2NSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9WTS5oCkBAIC0xMjYsMTMgKzEyNiwxNiBAQCBjbGFzcyBJbnRsQ29s
bGF0b3I7CiBjbGFzcyBJbnRsRGF0ZVRpbWVGb3JtYXQ7CiBjbGFzcyBJbnRsTnVtYmVyRm9ybWF0
OwogY2xhc3MgSW50bFBsdXJhbFJ1bGVzOworY2xhc3MgSlNBUElXcmFwcGVyT2JqZWN0OwogY2xh
c3MgSlNDQ2FsbGJhY2tGdW5jdGlvbjsKK2NsYXNzIEpTQ2FsbGJhY2tDb25zdHJ1Y3RvcjsKIGNs
YXNzIEpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb247CiBjbGFzcyBKU0Rlc3RydWN0aWJsZU9i
amVjdEhlYXBDZWxsVHlwZTsKIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogY2xhc3MgSlNNb2R1bGVO
YW1lc3BhY2VPYmplY3Q7CiBjbGFzcyBKU01vZHVsZVJlY29yZDsKIGNsYXNzIEpTTmF0aXZlU3Rk
RnVuY3Rpb247CitjbGFzcyBKU05vbkZpbmFsT2JqZWN0OwogY2xhc3MgSlNPYmplY3Q7CiBjbGFz
cyBKU1Byb21pc2U7CiBjbGFzcyBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I7CkBAIC0xODIsNiAr
MTg1LDcgQEAgY2xhc3MgV2ViQXNzZW1ibHlGdW5jdGlvbjsKIGNsYXNzIFdlYkFzc2VtYmx5TW9k
dWxlUmVjb3JkOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZT4gY2xhc3MgSXNvSGVhcENl
bGxUeXBlOwordGVtcGxhdGU8dHlwZW5hbWUgUGFyZW50PiBjbGFzcyBKU0NhbGxiYWNrT2JqZWN0
OwogCiAjaWYgRU5BQkxFKEZUTF9KSVQpCiBuYW1lc3BhY2UgRlRMIHsKQEAgLTM1OSw2ICszNjMs
OCBAQCBjbGFzcyBWTSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWTT4sIHB1YmxpYyBE
b3VibHlMaW5rZWRMaXN0Tm9kZTxWTT4gewogICAgIHN0ZDo6dW5pcXVlX3B0cjxIZWFwQ2VsbFR5
cGU+IGltbXV0YWJsZUJ1dHRlcmZseUhlYXBDZWxsVHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
SGVhcENlbGxUeXBlPiBjZWxsSGVhcENlbGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxIZWFw
Q2VsbFR5cGU+IGRlc3RydWN0aWJsZUNlbGxIZWFwQ2VsbFR5cGU7CisgICAgc3RkOjp1bmlxdWVf
cHRyPElzb0hlYXBDZWxsVHlwZTxKU0NhbGxiYWNrQ29uc3RydWN0b3I+PiBjYWxsYmFja0NvbnN0
cnVjdG9ySGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8
SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pj4+IGNhbGxiYWNrT2JqZWN0SGVhcENl
bGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8RGF0ZUluc3RhbmNl
Pj4gZGF0ZUluc3RhbmNlSGVhcENlbGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFw
Q2VsbFR5cGU8RXJyb3JJbnN0YW5jZT4+IGVycm9ySW5zdGFuY2VIZWFwQ2VsbFR5cGU7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxKU01vZHVsZVJlY29yZD4+IGpzTW9kdWxl
UmVjb3JkSGVhcENlbGxUeXBlOwpAQCAtMzY5LDYgKzM3NSw3IEBAIGNsYXNzIFZNIDogcHVibGlj
IFRocmVhZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFZN
PiB7CiAgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxKU1dlYWtTZXQ+PiB3ZWFr
U2V0SGVhcENlbGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxKU0Rlc3RydWN0aWJsZU9iamVj
dEhlYXBDZWxsVHlwZT4gZGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlOwogI2lmIEpTQ19P
QkpDX0FQSV9FTkFCTEVECisgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxKU0Nh
bGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4+PiBhcGlXcmFwcGVyT2JqZWN0SGVhcENl
bGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8T2JqQ0NhbGxiYWNr
RnVuY3Rpb24+PiBvYmpDQ2FsbGJhY2tGdW5jdGlvbkhlYXBDZWxsVHlwZTsKICNlbmRpZgogI2lm
ZGVmIEpTQ19HTElCX0FQSV9FTkFCTEVECkBAIC00NTgsMTcgKzQ2NSwyNSBAQCBjbGFzcyBWTSA6
IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWTT4sIHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0
Tm9kZTxWTT4gewogCiAKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAorICAgIERZTkFNSUNfSVNP
X1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXBpR2xvYmFsT2JqZWN0U3BhY2UpCisgICAgRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhcGlXcmFwcGVyT2JqZWN0U3BhY2UpCiAgICAg
RFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihvYmpDQ2FsbGJhY2tGdW5jdGlvblNw
YWNlKQogI2VuZGlmCiAjaWZkZWYgSlNDX0dMSUJfQVBJX0VOQUJMRUQKKyAgICBEWU5BTUlDX0lT
T19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFwaVdyYXBwZXJPYmplY3RTcGFjZSkKICAgICBEWU5B
TUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGpzY0NhbGxiYWNrRnVuY3Rpb25TcGFjZSkK
KyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGNhbGxiYWNrQVBJV3JhcHBl
ckdsb2JhbE9iamVjdFNwYWNlKQogI2VuZGlmCisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVG
SU5FX01FTUJFUihhcGlWYWx1ZVdyYXBwZXJTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFD
RV9ERUZJTkVfTUVNQkVSKGFycmF5QnVmZmVyU3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BB
Q0VfREVGSU5FX01FTUJFUihhc3luY0dlbmVyYXRvclNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NV
QlNQQUNFX0RFRklORV9NRU1CRVIoYmlnSW50T2JqZWN0U3BhY2UpCiAgICAgRFlOQU1JQ19JU09f
U1VCU1BBQ0VfREVGSU5FX01FTUJFUihib29sZWFuT2JqZWN0U3BhY2UpCiAgICAgRFlOQU1JQ19J
U09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihib3VuZEZ1bmN0aW9uU3BhY2UpCisgICAgRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihjYWxsYmFja0NvbnN0cnVjdG9yU3BhY2UpCisg
ICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihjYWxsYmFja0dsb2JhbE9iamVj
dFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoY2FsbGJhY2tG
dW5jdGlvblNwYWNlKQorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoY2Fs
bGJhY2tPYmplY3RTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVS
KGN1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uU3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BB
Q0VfREVGSU5FX01FTUJFUihkYXRhVmlld1NwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNF
X0RFRklORV9NRU1CRVIoZXJyb3JJbnN0YW5jZVNwYWNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4IDYwYTM0Y2Y5YmNhMGJlMzNh
NmY5MjE2OTU1MGU5NDFjM2Y2YWYyMDMuLjYzODM5ZDFjNDVhOGJlNGM4OGY0NDg5OTdjYmVjNzJh
ZjMyZGEzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xv
YmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2Jh
bE9iamVjdC5jcHAKQEAgLTE0OSw3ICsxNDksNyBAQCB2b2lkIEpTRE9NR2xvYmFsT2JqZWN0Ojpm
aW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKICAgICBhZGRCdWlsdGluR2xvYmFscyh2bSk7CiAKLSAg
ICBSRUxFQVNFX0FTU0VSVChjbGFzc0luZm8oKSk7CisgICAgUkVMRUFTRV9BU1NFUlQoY2xhc3NJ
bmZvKHZtKSk7CiB9CiAKIHZvaWQgSlNET01HbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSwgSlNPYmplY3QqIHRoaXNWYWx1ZSkKQEAgLTE1OSw3ICsxNTksNyBAQCB2b2lkIEpTRE9N
R2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiB0aGlzVmFsdWUp
CiAKICAgICBhZGRCdWlsdGluR2xvYmFscyh2bSk7CiAKLSAgICBSRUxFQVNFX0FTU0VSVChjbGFz
c0luZm8oKSk7CisgICAgUkVMRUFTRV9BU1NFUlQoY2xhc3NJbmZvKHZtKSk7CiB9CiAKIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIEpTRE9NR2xvYmFsT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V3JhcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuY3Bw
CmluZGV4IDA1NmJkYmQyZGYxZTNmM2E0NDZkMTc5OWEzMTI5YTczOWY4MGNjYzUuLjgzMWI5N2Y3
NmJjZjVkNGQ3NDVmZDc4ZGYyMjI4ODI3ZmNlZmRiMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcApAQCAtNDEsNyArNDEsOCBAQCBTVEFUSUNfQVNTRVJU
X0lTX1RSSVZJQUxMWV9ERVNUUlVDVElCTEUoSlNET01PYmplY3QpOwogSlNET01PYmplY3Q6OkpT
RE9NT2JqZWN0KEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQzo6SlNHbG9iYWxPYmplY3Qm
IGdsb2JhbE9iamVjdCkKICAgICA6IEJhc2UoZ2xvYmFsT2JqZWN0LnZtKCksIHN0cnVjdHVyZSkK
IHsKLSAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIHx8IGdsb2JhbE9iamVjdC5j
bGFzc0luZm8oKSA9PSBKU1JlbW90ZURPTVdpbmRvdzo6aW5mbygpKTsKKyAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3Qudm0oKTsKKyAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIHx8
IGdsb2JhbE9iamVjdC5jbGFzc0luZm8odm0pID09IEpTUmVtb3RlRE9NV2luZG93OjppbmZvKCkp
OwogfQogCiBKU0M6OkNvbXBsZXRlU3Vic3BhY2UqIG91dHB1dENvbnN0cmFpbnRTdWJzcGFjZUZv
cihKU0M6OlZNJiB2bSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
V2luZG93UHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXaW5kb3dQcm94
eS5jcHAKaW5kZXggN2FjOGY3OTQxNGRlZGQwYTZkNjk0NWQxNDhmMjhlOGJkMjcxMzQ2Ni4uZGI3
MDMxYWNkYWIzYWVjNmI3NzdkNzY4MzE1OTU2ZTQzYTNmMGJiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXaW5kb3dQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNXaW5kb3dQcm94eS5jcHAKQEAgLTc1LDcgKzc1LDcgQEAgdm9pZCBK
U1dpbmRvd1Byb3h5OjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKIAogdm9pZCBKU1dpbmRvd1Byb3h5
OjpzZXRXaW5kb3coVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgd2luZG93KQogewotICAgIEFT
U0VSVCh3aW5kb3cuY2xhc3NJbmZvKCkgPT0gSlNET01XaW5kb3c6OmluZm8oKSB8fCB3aW5kb3cu
Y2xhc3NJbmZvKCkgPT0gSlNSZW1vdGVET01XaW5kb3c6OmluZm8oKSk7CisgICAgQVNTRVJUKHdp
bmRvdy5jbGFzc0luZm8odm0pID09IEpTRE9NV2luZG93OjppbmZvKCkgfHwgd2luZG93LmNsYXNz
SW5mbyh2bSkgPT0gSlNSZW1vdGVET01XaW5kb3c6OmluZm8oKSk7CiAgICAgc2V0VGFyZ2V0KHZt
LCAmd2luZG93KTsKICAgICBzdHJ1Y3R1cmUodm0pLT5zZXRHbG9iYWxPYmplY3Qodm0sICZ3aW5k
b3cpOwogICAgIEdDQ29udHJvbGxlcjo6c2luZ2xldG9uKCkuZ2FyYmFnZUNvbGxlY3RTb29uKCk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385341</attachid>
            <date>2019-12-10 21:26:43 -0800</date>
            <delta_ts>2019-12-10 21:46:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205097-20191210212643.patch</filename>
            <type>text/plain</type>
            <size>37147</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
Nzg0MWIxN2MwYjY4Y2YxMDMwMTMwYmMxNDEzMjY0Y2FhM2ZmOTFiLi4zOGVjNDE5NTQ3MTQ3OWI5
ZTJjYTRiYzZlYTljNzdhNmQyNmM2YjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1OCBAQAorMjAxOS0xMi0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFB1dCBhbGwgQVBJIHJlbGF0ZWQgSlMgY2VsbHMgaW50byBJc29T
dWJzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBwdXRzIEFQSSByZWxhdGVkIEpTIGNlbGxzIGludG8gSXNvU3Vic3BhY2UuCisK
KyAgICAgICAgKiBBUEkvSlNBUElHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNBUElH
bG9iYWxPYmplY3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTQVBJR2xvYmFs
T2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKU0FQSUds
b2JhbE9iamVjdDo6SlNBUElHbG9iYWxPYmplY3QpOiBEZWxldGVkLgorICAgICAgICAqIEFQSS9K
U0FQSVZhbHVlV3JhcHBlci5oOgorICAgICAgICAqIEFQSS9KU0FQSVdyYXBwZXJPYmplY3QuaDoK
KyAgICAgICAgKEpTQzo6SlNBUElXcmFwcGVyT2JqZWN0OjpzdWJzcGFjZUZvcik6CisgICAgICAg
ICogQVBJL0pTQVBJV3JhcHBlck9iamVjdC5tbToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09i
amVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwpOgorICAgICAgICAqIEFQ
SS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrQ29u
c3RydWN0b3I6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcik6CisgICAgICAgICogQVBJL0pTQ2FsbGJh
Y2tDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6Y3JlYXRlU3Ry
dWN0dXJlKToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0
Pjo6c3Vic3BhY2VGb3JJbXBsKToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxKU0ds
b2JhbE9iamVjdD46OnN1YnNwYWNlRm9ySW1wbCk6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tP
YmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUpOiBEZWxldGVkLgor
ICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0Lmg6CisgICAgICAgICogQVBJL0pTQ2FsbGJh
Y2tPYmplY3RGdW5jdGlvbnMuaDoKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxQYXJl
bnQ+Ojppbml0KToKKyAgICAgICAgKiBBUEkvSlNDbGFzc1JlZi5jcHA6CisgICAgICAgIChPcGFx
dWVKU0NsYXNzOjpwcm90b3R5cGUpOgorICAgICAgICAqIEFQSS9KU09iamVjdFJlZi5jcHA6Cisg
ICAgICAgIChKU09iamVjdE1ha2UpOgorICAgICAgICAoSlNPYmplY3RHZXRQcml2YXRlKToKKyAg
ICAgICAgKEpTT2JqZWN0U2V0UHJpdmF0ZSk6CisgICAgICAgIChKU09iamVjdEdldFByaXZhdGVQ
cm9wZXJ0eSk6CisgICAgICAgIChKU09iamVjdFNldFByaXZhdGVQcm9wZXJ0eSk6CisgICAgICAg
IChKU09iamVjdERlbGV0ZVByaXZhdGVQcm9wZXJ0eSk6CisgICAgICAgICogQVBJL0pTVmFsdWVS
ZWYuY3BwOgorICAgICAgICAoSlNWYWx1ZUlzT2JqZWN0T2ZDbGFzcyk6CisgICAgICAgICogQVBJ
L0pTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwOgorICAgICAgICAqIEFQSS9nbGliL0pTQVBJ
V3JhcHBlckdsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tPYmplY3Q8
SlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKToKKyAgICAgICAgKiBB
UEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNBUElX
cmFwcGVyR2xvYmFsT2JqZWN0OjpzdWJzcGFjZUZvcik6CisgICAgICAgICogcnVudGltZS9KU0ds
b2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAg
ICAgICAgKiBydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
ICogcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpT
U2VnbWVudGVkVmFyaWFibGVPYmplY3Q6OmNsYXNzSW5mbyBjb25zdCk6CisgICAgICAgICogcnVu
dGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6OlZNOjpWTSk6CisgICAgICAgICogcnVudGltZS9W
TS5oOgorCiAyMDE5LTEyLTEwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXb3JrbGlzdDo6ZGVsZXRlQ2FuY2VsbGVkUGxhbnNGb3JWTSgpIHNob3VsZCBub3QgYXNz
dW1lIHRoYXQgYSBjYW5jZWxsZWQgcGxhbiBpcyByZWFkeSBmb3IgZGVsZXRpb24uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggN2MyZDgxY2NmMWJmMjNhMjA0YTVjMDdhY2U4MTcxMGEzM2IzOWVmMy4uYzcxOGE5ZTIz
YjY1MTQzYzBiOGI3NTk3NzRkYTRkZTJhZjEzMDAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE5LTEyLTEwICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAg
ICAgICAgW0pTQ10gUHV0IGFsbCBBUEkgcmVsYXRlZCBKUyBjZWxscyBpbnRvIElzb1N1YnNwYWNl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwOTcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xv
YmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01X
cmFwcGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NT2JqZWN0OjpKU0RPTU9iamVjdCk6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNXaW5kb3dQcm94eS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpKU1dpbmRvd1Byb3h5OjpzZXRXaW5kb3cpOgorCiAyMDE5LTEyLTEwICBGdWppaSBIaXJv
bm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5dIEZpeCBNU1ZD
IHdhcm5pbmcgQzQ3MDE6IHBvdGVudGlhbGx5IHVuaW5pdGlhbGl6ZWQgbG9jYWwgdmFyaWFibGUg
J3gnIHVzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElHbG9i
YWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElHbG9iYWxPYmplY3Qu
aAppbmRleCA0YjNiYjE1Y2RmMGE1YzQ2YjRmZTk1ZGVhNmFhMDllMjA2YjQxOTFlLi42MGY2ZjY2
ZTZkYzRlMTUyZWU4ZjU2OWM1OGZkZWQzNTA4NWMxNDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQVBJR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0FQSUdsb2JhbE9iamVjdC5oCkBAIC0zMSwxMyArMzEsMTkgQEAgT0JKQ19D
TEFTUyBKU1NjcmlwdDsKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIEpTQVBJR2xvYmFsT2Jq
ZWN0IDogcHVibGljIEpTR2xvYmFsT2JqZWN0IHsKK2NsYXNzIEpTQVBJR2xvYmFsT2JqZWN0IGZp
bmFsIDogcHVibGljIEpTR2xvYmFsT2JqZWN0IHsKIHB1YmxpYzoKICAgICB1c2luZyBCYXNlID0g
SlNHbG9iYWxPYmplY3Q7CiAKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogICAgIHN0YXRpYyBj
b25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlOwog
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzIG1vZGU+Cisg
ICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAg
ICByZXR1cm4gdm0uYXBpR2xvYmFsT2JqZWN0U3BhY2U8bW9kZT4oKTsKKyAgICB9CisKICAgICBz
dGF0aWMgSlNBUElHbG9iYWxPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlKQogICAgIHsKICAgICAgICAgYXV0byogb2JqZWN0ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0
ZUNlbGw8SlNBUElHbG9iYWxPYmplY3Q+KHZtLmhlYXApKSBKU0FQSUdsb2JhbE9iamVjdCh2bSwg
c3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElW
YWx1ZVdyYXBwZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1ZVdyYXBw
ZXIuaAppbmRleCA0MWY1MDlkMzY0YWJjODQ0M2M0ZTgxZTQ2MDczMWM2MTc5ZDA0MmQ5Li4xZjc4
MjI5ZTBjODBkYjRjZDYzNDYwZmY2MjEzMzk3MDE0ZGJmZDljIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJVmFsdWVXcmFwcGVyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0FQSVZhbHVlV3JhcHBlci5oCkBAIC0zMiw5ICszMiwxNSBAQCBuYW1l
c3BhY2UgSlNDIHsKIGNsYXNzIEpTQVBJVmFsdWVXcmFwcGVyIGZpbmFsIDogcHVibGljIEpTQ2Vs
bCB7CiAgICAgZnJpZW5kIEpTVmFsdWUganNBUElWYWx1ZVdyYXBwZXIoSlNHbG9iYWxPYmplY3Qq
LCBKU1ZhbHVlKTsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOworICAgIHVzaW5n
IEJhc2UgPSBKU0NlbGw7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKIAorICAg
IHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2VzcyBtb2RlPgorICAgIHN0
YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIHZtLmFwaVZhbHVlV3JhcHBlclNwYWNlPG1vZGU+KCk7CisgICAgfQorCiAgICAgSlNWYWx1
ZSB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWUuZ2V0KCk7IH0KIAogICAgIHN0YXRpYyBT
dHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0FQSVdyYXBwZXJPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNBUElXcmFwcGVyT2JqZWN0LmgKaW5kZXggZGQ4NzRkYzY1ZWU3ZWFhM2M1MjRmZDBmMzI0Y2Iz
ZWE4NzE3YTFiYy4uZjNiOThkY2ExNzJhY2Q0NzA3ODIzYjgyM2FlZGFhZDdhYzk3M2ZhNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVdyYXBwZXJPYmplY3QuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJV3JhcHBlck9iamVjdC5oCkBAIC0z
Myw5ICszMywxMiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKICAgICAKLWNsYXNzIEpTQVBJV3JhcHBl
ck9iamVjdCA6IHB1YmxpYyBKU0Rlc3RydWN0aWJsZU9iamVjdCB7CitjbGFzcyBKU0FQSVdyYXBw
ZXJPYmplY3QgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRl
ZiBKU0Rlc3RydWN0aWJsZU9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFs
T2JqZWN0OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0
YXRpYyB2b2lkIHN1YnNwYWNlRm9yKFZNJikgeyBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OyB9CiAgICAgCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogICAgIHN0YXRpYyB2b2lk
IHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgSlNDOjpTbG90VmlzaXRvciYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVdyYXBwZXJPYmplY3QubW0gYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJV3JhcHBlck9iamVjdC5tbQppbmRleCA1OGI3NGU3MmI5
MTNkYzg3YzIzZDQyYzgyY2NjYmFmODNmMWMyNWQzLi44ZDdiZTQ0ZWZlOWI0NmY2ZDMyNmIzMjlh
MzVhMmY1MjNhYWQyNzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
QVBJV3JhcHBlck9iamVjdC5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJ
V3JhcHBlck9iamVjdC5tbQpAQCAtNzIsNiArNzIsMTkgQEAgdGVtcGxhdGUgPD4gY29uc3QgQ2xh
c3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pjo6c19pbmZvID0geyAi
SlMKIAogdGVtcGxhdGU8PiBjb25zdCBib29sIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVy
T2JqZWN0Pjo6bmVlZHNEZXN0cnVjdGlvbiA9IHRydWU7CiAKK3RlbXBsYXRlIDw+CitJc29TdWJz
cGFjZSogSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+OjpzdWJzcGFjZUZvcklt
cGwoVk0mIHZtLCBTdWJzcGFjZUFjY2VzcyBtb2RlKQoreworICAgIHN3aXRjaCAobW9kZSkgewor
ICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZDoKKyAgICAgICAgcmV0dXJuIHZt
LmFwaVdyYXBwZXJPYmplY3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkPigpOwor
ICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6OkNvbmN1cnJlbnRseToKKyAgICAgICAgcmV0dXJuIHZt
LmFwaVdyYXBwZXJPYmplY3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5PigpOwor
ICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxs
cHRyOworfQorCiB0ZW1wbGF0ZSA8PgogU3RydWN0dXJlKiBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJ
V3JhcHBlck9iamVjdD46OmNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG8pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMDcwZDc1ZDU4ZGExNTY4
MDg2OWEwZjU4ZDZhYjQ0ZjEyMmM1MTE5Yi4uNDlmNGNlNzZlZGUxZWFlOGVkMDJkNWYzZjFiZjdk
MDk0ZjcxOWZmNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxi
YWNrQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxs
YmFja0NvbnN0cnVjdG9yLmNwcApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgSlNDIHsKIGNv
bnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkNhbGxiYWNr
Q29uc3RydWN0b3IiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVU
SE9EX1RBQkxFKEpTQ2FsbGJhY2tDb25zdHJ1Y3RvcikgfTsKIAogSlNDYWxsYmFja0NvbnN0cnVj
dG9yOjpKU0NhbGxiYWNrQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQ2xhc3NSZWYganNDbGFzcywgSlNPYmplY3RDYWxsQXND
b25zdHJ1Y3RvckNhbGxiYWNrIGNhbGxiYWNrKQotICAgIDogSlNEZXN0cnVjdGlibGVPYmplY3Qo
Z2xvYmFsT2JqZWN0LT52bSgpLCBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKGdsb2JhbE9iamVjdC0+
dm0oKSwgc3RydWN0dXJlKQogICAgICwgbV9jbGFzcyhqc0NsYXNzKQogICAgICwgbV9jYWxsYmFj
ayhjYWxsYmFjaykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlND
YWxsYmFja0NvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJh
Y2tDb25zdHJ1Y3Rvci5oCmluZGV4IDI1OTI4ZmJhZmRmYzc4NmE2NDJlNjEyODRlMWM0ZTMzNjkw
YjI2N2QuLmU1NzI1OTQwMjM2YTlhMmVhMDk0NjAyYjk3MTE0ODcyNmI2YTZmZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaApAQCAt
MjYsMTUgKzI2LDIxIEBACiAjaWZuZGVmIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcl9oCiAjZGVmaW5l
IEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcl9oCiAKLSNpbmNsdWRlICJKU0Rlc3RydWN0aWJsZU9iamVj
dC5oIgogI2luY2x1ZGUgIkpTT2JqZWN0UmVmLmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi1jbGFz
cyBKU0NhbGxiYWNrQ29uc3RydWN0b3IgZmluYWwgOiBwdWJsaWMgSlNEZXN0cnVjdGlibGVPYmpl
Y3QgeworY2xhc3MgSlNDYWxsYmFja0NvbnN0cnVjdG9yIGZpbmFsIDogcHVibGljIEpTTm9uRmlu
YWxPYmplY3QgewogcHVibGljOgotICAgIHR5cGVkZWYgSlNEZXN0cnVjdGlibGVPYmplY3QgQmFz
ZTsKKyAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBzdGF0aWMgY29uc3Rl
eHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBJbXBs
ZW1lbnRzSGFzSW5zdGFuY2UgfCBJbXBsZW1lbnRzRGVmYXVsdEhhc0luc3RhbmNlOworICAgIHN0
YXRpYyBjb25zdGV4cHIgYm9vbCBuZWVkc0Rlc3RydWN0aW9uID0gdHJ1ZTsKKworICAgIHRlbXBs
YXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2VzcyBtb2RlPgorICAgIHN0YXRpYyBJ
c29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHZt
LmNhbGxiYWNrQ29uc3RydWN0b3JTcGFjZTxtb2RlPigpOworICAgIH0KIAogICAgIHN0YXRpYyBK
U0NhbGxiYWNrQ29uc3RydWN0b3IqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNDbGFzc1JlZiBjbGFzc1JlZiwgSlNPYmplY3RDYWxs
QXNDb25zdHJ1Y3RvckNhbGxiYWNrIGNhbGxiYWNrKSAKICAgICB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcAppbmRleCBjYjYzZjQ5NjM5MDhiNzFi
OTVjNDUzZGRiZThiNmE3NDExMDY3MTRjLi42MTFlODY2MTY5NWNlMTY3YmMzZGM5ZDgwZDUzNWVi
NGIwMDVhMDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJh
Y2tPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09i
amVjdC5jcHAKQEAgLTM0LDEwICszNCwxMCBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIC8vIERlZmlu
ZSB0aGUgdHdvIHR5cGVzIG9mIEpTQ2FsbGJhY2tPYmplY3RzIHdlIHN1cHBvcnQuCi10ZW1wbGF0
ZSA8PiBjb25zdCBDbGFzc0luZm8gSlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVj
dD46OnNfaW5mbyA9IHsgIkNhbGxiYWNrT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwg
bnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0NhbGxiYWNrT2JqZWN0KSB9OwordGVtcGxh
dGUgPD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD46
OnNfaW5mbyA9IHsgIkNhbGxiYWNrT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVs
bHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0NhbGxiYWNrT2JqZWN0KSB9OwogdGVtcGxhdGUg
PD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+OjpzX2lu
Zm8gPSB7ICJDYWxsYmFja0dsb2JhbE9iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKIAotdGVtcGxh
dGU8PiBjb25zdCBib29sIEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Ojpu
ZWVkc0Rlc3RydWN0aW9uID0gdHJ1ZTsKK3RlbXBsYXRlPD4gY29uc3QgYm9vbCBKU0NhbGxiYWNr
T2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpuZWVkc0Rlc3RydWN0aW9uID0gdHJ1ZTsKIHRlbXBs
YXRlPD4gY29uc3QgYm9vbCBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6bmVlZHNE
ZXN0cnVjdGlvbiA9IGZhbHNlOwogCiB0ZW1wbGF0ZTw+CkBAIC00OSw3ICs0OSw3IEBAIEpTQ2Fs
bGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+KiBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2Jq
ZWN0Pjo6Y3JlYXRlKFZNJiB2CiB9CiAKIHRlbXBsYXRlIDw+Ci1TdHJ1Y3R1cmUqIEpTQ2FsbGJh
Y2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKQorU3RydWN0dXJlKiBK
U0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKQogeyAKICAgICBy
ZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG8sIFR5cGVJbmZv
KE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsgCiB9CkBAIC02MCw0ICs2MCwz
MCBAQCBTdHJ1Y3R1cmUqIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+OjpjcmVhdGVT
dHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iagogICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0
ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90bywgVHlwZUluZm8oR2xvYmFsT2JqZWN0VHlwZSwgU3Ry
dWN0dXJlRmxhZ3MpLCBpbmZvKCkpOyAKIH0KIAordGVtcGxhdGUgPD4KK0lzb1N1YnNwYWNlKiBK
U0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwoVk0mIHZt
LCBTdWJzcGFjZUFjY2VzcyBtb2RlKQoreworICAgIHN3aXRjaCAobW9kZSkgeworICAgIGNhc2Ug
U3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZDoKKyAgICAgICAgcmV0dXJuIHZtLmNhbGxiYWNr
T2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZD4oKTsKKyAgICBjYXNlIFN1
YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk6CisgICAgICAgIHJldHVybiB2bS5jYWxsYmFja09i
amVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk+KCk7CisgICAgfQorICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3Rl
bXBsYXRlIDw+CitJc29TdWJzcGFjZSogSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46
OnN1YnNwYWNlRm9ySW1wbChWTSYgdm0sIFN1YnNwYWNlQWNjZXNzIG1vZGUpCit7CisgICAgc3dp
dGNoIChtb2RlKSB7CisgICAgY2FzZSBTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkOgorICAg
ICAgICByZXR1cm4gdm0uY2FsbGJhY2tHbG9iYWxPYmplY3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6
T25NYWluVGhyZWFkPigpOworICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6OkNvbmN1cnJlbnRseToK
KyAgICAgICAgcmV0dXJuIHZtLmNhbGxiYWNrR2xvYmFsT2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nl
c3M6OkNvbmN1cnJlbnRseT4oKTsKKyAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oCmluZGV4IDRmNWY0YjZm
NTM1MWYzODQ2NDQ3ZjJjMDBlNjc5YzM1ZThhMDRhYjguLjAzNGIzNTdjMDczOGUzNDkxMjU4ODU4
ZDcwNjk4OWZlZmNiNDgzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDYWxsYmFja09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxs
YmFja09iamVjdC5oCkBAIC0xMzEsNyArMTMxLDcgQEAgY2xhc3MgSlNDYWxsYmFja09iamVjdCBm
aW5hbCA6IHB1YmxpYyBQYXJlbnQgewogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKIAog
cHVibGljOgotICAgIHR5cGVkZWYgUGFyZW50IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IFBhcmVu
dDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6
U3RydWN0dXJlRmxhZ3MgfCBQcm9oaWJpdHNQcm9wZXJ0eUNhY2hpbmcgfCBPdmVycmlkZXNHZXRP
d25Qcm9wZXJ0eVNsb3QgfCBJbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5X
aGVuTGVuZ3RoSXNOb3RaZXJvIHwgSW1wbGVtZW50c0hhc0luc3RhbmNlIHwgT3ZlcnJpZGVzR2V0
UHJvcGVydHlOYW1lcyB8IE92ZXJyaWRlc0dldENhbGxEYXRhOwogICAgIHN0YXRpY19hc3NlcnQo
IShTdHJ1Y3R1cmVGbGFncyAmIEltcGxlbWVudHNEZWZhdWx0SGFzSW5zdGFuY2UpLCAidXNpbmcg
Y3VzdG9tSGFzSW5zdGFuY2UiKTsKIApAQCAtMTUzLDYgKzE1MywxMiBAQCBjbGFzcyBKU0NhbGxi
YWNrT2JqZWN0IGZpbmFsIDogcHVibGljIFBhcmVudCB7CiAgICAgICAgIHN0YXRpY19jYXN0PEpT
Q2FsbGJhY2tPYmplY3QqPihjZWxsKS0+SlNDYWxsYmFja09iamVjdDo6fkpTQ2FsbGJhY2tPYmpl
Y3QoKTsKICAgICB9CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VB
Y2Nlc3MgbW9kZT4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkK
KyAgICB7CisgICAgICAgIHJldHVybiBzdWJzcGFjZUZvckltcGwodm0sIG1vZGUpOworICAgIH0K
KwogICAgIHZvaWQgc2V0UHJpdmF0ZSh2b2lkKiBkYXRhKTsKICAgICB2b2lkKiBnZXRQcml2YXRl
KCk7CiAKQEAgLTE4NCw2ICsxOTAsNyBAQCBjbGFzcyBKU0NhbGxiYWNrT2JqZWN0IGZpbmFsIDog
cHVibGljIFBhcmVudCB7CiAgICAgdXNpbmcgUGFyZW50OjptZXRob2RUYWJsZTsKIAogcHJpdmF0
ZToKKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9ySW1wbChWTSYsIFN1YnNwYWNl
QWNjZXNzKTsKICAgICBzdGF0aWMgU3RyaW5nIGNsYXNzTmFtZShjb25zdCBKU09iamVjdCosIFZN
Jik7CiAgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZ05hbWUoY29uc3QgSlNPYmplY3QqLCBKU0ds
b2JhbE9iamVjdCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
Q2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlND
YWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCmluZGV4IGEwMjk5NTI1ZDU4Zjk0OWUxYWY5YTBkNDEz
Y2VmMjk3OTVhODRhZTIuLjhlNzk2MmM4MDk0Y2U1ZGM5ZDlhMWE1NGY2OTI3ZDRmMjM4NzE4NzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1
bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVj
dEZ1bmN0aW9ucy5oCkBAIC0xMjUsNyArMTI1LDcgQEAgdm9pZCBKU0NhbGxiYWNrT2JqZWN0PFBh
cmVudD46OmluaXQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAgICAgaW5pdGlh
bGl6ZSh0b1JlZihnbG9iYWxPYmplY3QpLCB0b1JlZihqc0Nhc3Q8SlNPYmplY3QqPih0aGlzKSkp
OwogICAgIH0KICAgICAKLSAgICBtX2NsYXNzSW5mbyA9IHRoaXMtPmNsYXNzSW5mbygpOworICAg
IG1fY2xhc3NJbmZvID0gdGhpcy0+Y2xhc3NJbmZvKGdldFZNKGdsb2JhbE9iamVjdCkpOwogfQog
CiB0ZW1wbGF0ZSA8Y2xhc3MgUGFyZW50PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0NsYXNzUmVmLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFz
c1JlZi5jcHAKaW5kZXggNGMxMjZlNDQ4ZjY3MWExMzI5MzZjOGI4ZTU5MTM0NzM0Nzg2ZWZjZS4u
OTJkZjYzOGUxNWVlNzcyZjliZGMxMjZjMTBmNDc4MDFjYmY2Y2RhMiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTQ2xhc3NSZWYuY3BwCkBAIC0xOTAsNyArMTkwLDcgQEAgSlNPYmplY3Qq
IE9wYXF1ZUpTQ2xhc3M6OnByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQog
ICAgICAgICByZXR1cm4gcHJvdG90eXBlOwogCiAgICAgLy8gUmVjdXJzaXZlLCBidXQgc2hvdWxk
IGJlIGdvb2QgZW5vdWdoIGZvciBvdXIgcHVycG9zZXMKLSAgICBKU09iamVjdCogcHJvdG90eXBl
ID0gSlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD46OmNyZWF0ZShnbG9iYWxP
YmplY3QsIGdsb2JhbE9iamVjdC0+Y2FsbGJhY2tPYmplY3RTdHJ1Y3R1cmUoKSwgcHJvdG90eXBl
Q2xhc3MsICZqc0NsYXNzRGF0YSk7IC8vIHNldCBqc0NsYXNzRGF0YSBhcyB0aGUgb2JqZWN0J3Mg
cHJpdmF0ZSBkYXRhLCBzbyBpdCBjYW4gY2xlYXIgb3VyIHJlZmVyZW5jZSBvbiBkZXN0cnVjdGlv
bgorICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxP
YmplY3Q+OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPmNhbGxiYWNrT2JqZWN0
U3RydWN0dXJlKCksIHByb3RvdHlwZUNsYXNzLCAmanNDbGFzc0RhdGEpOyAvLyBzZXQganNDbGFz
c0RhdGEgYXMgdGhlIG9iamVjdCdzIHByaXZhdGUgZGF0YSwgc28gaXQgY2FuIGNsZWFyIG91ciBy
ZWZlcmVuY2Ugb24gZGVzdHJ1Y3Rpb24KICAgICBpZiAocGFyZW50Q2xhc3MpIHsKICAgICAgICAg
aWYgKEpTT2JqZWN0KiBwYXJlbnRQcm90b3R5cGUgPSBwYXJlbnRDbGFzcy0+cHJvdG90eXBlKGds
b2JhbE9iamVjdCkpCiAgICAgICAgICAgICBwcm90b3R5cGUtPnNldFByb3RvdHlwZURpcmVjdChn
bG9iYWxPYmplY3QtPnZtKCksIHBhcmVudFByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNPYmplY3RSZWYuY3BwCmluZGV4IGI0YmZlZmUwNTg3NTc1ZDkxZjZiZTFiNDFhMTE3
M2Q1YzM2YjRlZGMuLmY3ZjlkYWIzZjI4YWRjMGVhYmIyYmRlOGIyNTA2NzcyYWQyNWZmY2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwCkBAIC05Niw3ICs5Niw3
IEBAIEpTT2JqZWN0UmVmIEpTT2JqZWN0TWFrZShKU0NvbnRleHRSZWYgY3R4LCBKU0NsYXNzUmVm
IGpzQ2xhc3MsIHZvaWQqIGRhdGEpCiAgICAgaWYgKCFqc0NsYXNzKQogICAgICAgICByZXR1cm4g
dG9SZWYoY29uc3RydWN0RW1wdHlPYmplY3QoZ2xvYmFsT2JqZWN0KSk7CiAKLSAgICBKU0NhbGxi
YWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Piogb2JqZWN0ID0gSlNDYWxsYmFja09iamVj
dDxKU0Rlc3RydWN0aWJsZU9iamVjdD46OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVj
dC0+Y2FsbGJhY2tPYmplY3RTdHJ1Y3R1cmUoKSwganNDbGFzcywgZGF0YSk7CisgICAgSlNDYWxs
YmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Piogb2JqZWN0ID0gSlNDYWxsYmFja09iamVjdDxK
U05vbkZpbmFsT2JqZWN0Pjo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxs
YmFja09iamVjdFN0cnVjdHVyZSgpLCBqc0NsYXNzLCBkYXRhKTsKICAgICBpZiAoSlNPYmplY3Qq
IHByb3RvdHlwZSA9IGpzQ2xhc3MtPnByb3RvdHlwZShnbG9iYWxPYmplY3QpKQogICAgICAgICBv
YmplY3QtPnNldFByb3RvdHlwZURpcmVjdCh2bSwgcHJvdG90eXBlKTsKIApAQCAtNTY3LDggKzU2
Nyw4IEBAIHZvaWQqIEpTT2JqZWN0R2V0UHJpdmF0ZShKU09iamVjdFJlZiBvYmplY3QpCiAKICAg
ICBpZiAoY2xhc3NJbmZvLT5pc1N1YkNsYXNzT2YoSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9i
amVjdD46OmluZm8oKSkpCiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2Jq
ZWN0PEpTR2xvYmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZSgpOwotICAgIGlmIChj
bGFzc0luZm8tPmlzU3ViQ2xhc3NPZihKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2Jq
ZWN0Pjo6aW5mbygpKSkKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2YXRlKCk7CisgICAg
aWYgKGNsYXNzSW5mby0+aXNTdWJDbGFzc09mKEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9i
amVjdD46OmluZm8oKSkpCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2Jq
ZWN0PEpTTm9uRmluYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2YXRlKCk7CiAjaWYgSlND
X09CSkNfQVBJX0VOQUJMRUQKICAgICBpZiAoY2xhc3NJbmZvLT5pc1N1YkNsYXNzT2YoSlNDYWxs
YmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+OjppbmZvKCkpKQogICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Kj4oanNPYmpl
Y3QpLT5nZXRQcml2YXRlKCk7CkBAIC01OTQsOCArNTk0LDggQEAgYm9vbCBKU09iamVjdFNldFBy
aXZhdGUoSlNPYmplY3RSZWYgb2JqZWN0LCB2b2lkKiBkYXRhKQogICAgICAgICBzdGF0aWNfY2Fz
dDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+c2V0UHJpdmF0
ZShkYXRhKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIGlmIChjbGFzc0luZm8t
PmlzU3ViQ2xhc3NPZihKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6aW5m
bygpKSkgewotICAgICAgICBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3Rp
YmxlT2JqZWN0Pio+KGpzT2JqZWN0KS0+c2V0UHJpdmF0ZShkYXRhKTsKKyAgICBpZiAoY2xhc3NJ
bmZvLT5pc1N1YkNsYXNzT2YoSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6aW5m
bygpKSkgeworICAgICAgICBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxP
YmplY3Q+Kj4oanNPYmplY3QpLT5zZXRQcml2YXRlKGRhdGEpOwogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKQEAgLTYyNCw4ICs2MjQsOCBAQCBK
U1ZhbHVlUmVmIEpTT2JqZWN0R2V0UHJpdmF0ZVByb3BlcnR5KEpTQ29udGV4dFJlZiBjdHgsIEpT
T2JqZWN0UmVmIG9iamVjdCwgSlNTdAogCiAgICAgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0Nh
bGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pj4odm0pKQogICAgICAgICByZXN1bHQgPSBqc0Nh
c3Q8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4qPihqc09iamVjdCktPmdldFByaXZh
dGVQcm9wZXJ0eShuYW1lKTsKLSAgICBlbHNlIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxs
YmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD4+KHZtKSkKLSAgICAgICAgcmVzdWx0ID0g
anNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Kj4oanNPYmplY3Qp
LT5nZXRQcml2YXRlUHJvcGVydHkobmFtZSk7CisgICAgZWxzZSBpZiAoanNPYmplY3QtPmluaGVy
aXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4+KHZtKSkKKyAgICAgICAgcmVz
dWx0ID0ganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4qPihqc09iamVj
dCktPmdldFByaXZhdGVQcm9wZXJ0eShuYW1lKTsKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAog
ICAgIGVsc2UgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3Jh
cHBlck9iamVjdD4+KHZtKSkKICAgICAgICAgcmVzdWx0ID0ganNDYXN0PEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNBUElXcmFwcGVyT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZVByb3BlcnR5KG5h
bWUpOwpAQCAtNjUwLDggKzY1MCw4IEBAIGJvb2wgSlNPYmplY3RTZXRQcml2YXRlUHJvcGVydHko
SlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBKU1N0cmluZ1JlCiAgICAgICAg
IGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+c2V0
UHJpdmF0ZVByb3BlcnR5KHZtLCBuYW1lLCBqc1ZhbHVlKTsKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQotICAgIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0Rl
c3RydWN0aWJsZU9iamVjdD4+KHZtKSkgewotICAgICAgICBqc0Nhc3Q8SlNDYWxsYmFja09iamVj
dDxKU0Rlc3RydWN0aWJsZU9iamVjdD4qPihqc09iamVjdCktPnNldFByaXZhdGVQcm9wZXJ0eSh2
bSwgbmFtZSwganNWYWx1ZSk7CisgICAgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNr
T2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Pih2bSkpIHsKKyAgICAgICAganNDYXN0PEpTQ2FsbGJh
Y2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4qPihqc09iamVjdCktPnNldFByaXZhdGVQcm9wZXJ0
eSh2bSwgbmFtZSwganNWYWx1ZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNpZiBK
U0NfT0JKQ19BUElfRU5BQkxFRApAQCAtNjc5LDggKzY3OSw4IEBAIGJvb2wgSlNPYmplY3REZWxl
dGVQcml2YXRlUHJvcGVydHkoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBK
U1N0cmluCiAgICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pio+
KGpzT2JqZWN0KS0+ZGVsZXRlUHJpdmF0ZVByb3BlcnR5KG5hbWUpOwogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9Ci0gICAgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0
PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pj4odm0pKSB7Ci0gICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNr
T2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pio+KGpzT2JqZWN0KS0+ZGVsZXRlUHJpdmF0ZVBy
b3BlcnR5KG5hbWUpOworICAgIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVj
dDxKU05vbkZpbmFsT2JqZWN0Pj4odm0pKSB7CisgICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNrT2Jq
ZWN0PEpTTm9uRmluYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5kZWxldGVQcml2YXRlUHJvcGVydHko
bmFtZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNpZiBKU0NfT0JKQ19BUElfRU5B
QkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5jcHAKaW5kZXggZjViNjUw
ZTNkNDA3YTI2YTY1NTBjNjRmYmRlNjQzMTQxZDJhMzBhNS4uZmIxNmM0ZDU2M2RiZDc1NjZmOWYw
YjBjMmQ5YjJhNzViN2QyNzZkMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU1ZhbHVlUmVmLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVS
ZWYuY3BwCkBAIC0yMTAsOCArMjEwLDggQEAgYm9vbCBKU1ZhbHVlSXNPYmplY3RPZkNsYXNzKEpT
Q29udGV4dFJlZiBjdHgsIEpTVmFsdWVSZWYgdmFsdWUsIEpTQ2xhc3NSZWYganNDbGEKIAogICAg
ICAgICBpZiAoby0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4+KHZt
KSkKICAgICAgICAgICAgIHJldHVybiBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9i
amVjdD4qPihvKS0+aW5oZXJpdHMoanNDbGFzcyk7Ci0gICAgICAgIGlmIChvLT5pbmhlcml0czxK
U0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pj4odm0pKQotICAgICAgICAgICAg
cmV0dXJuIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pio+KG8p
LT5pbmhlcml0cyhqc0NsYXNzKTsKKyAgICAgICAgaWYgKG8tPmluaGVyaXRzPEpTQ2FsbGJhY2tP
YmplY3Q8SlNOb25GaW5hbE9iamVjdD4+KHZtKSkKKyAgICAgICAgICAgIHJldHVybiBqc0Nhc3Q8
SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pio+KG8pLT5pbmhlcml0cyhqc0NsYXNz
KTsKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAogICAgICAgICBpZiAoby0+aW5oZXJpdHM8SlND
YWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Pih2bSkpCiAgICAgICAgICAgICByZXR1
cm4ganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pio+KG8pLT5pbmhl
cml0cyhqc0NsYXNzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNX
ZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
V2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwCmluZGV4IGQyYzUzN2E4YTAxNDFiMjJkZDM0YmY4
OTg0YTM5YzYzMGU5ZWJmNDYuLjIzZTI1MWY2ODQ0MmMwZTFlODIzNWRjYjIzOWJmNzE0NTRjNDdl
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFw
UmVmUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtPYmpl
Y3RNYXBSZWZQcml2YXRlLmNwcApAQCAtNjQsNyArNjQsNyBAQCB2b2lkIEpTV2Vha09iamVjdE1h
cFNldChKU0NvbnRleHRSZWYgY3R4LCBKU1dlYWtPYmplY3RNYXBSZWYgbWFwLCB2b2lkKiBrZXks
IEpTTwogICAgICAgICByZXR1cm47CiAgICAgQVNTRVJUKG9iai0+aW5oZXJpdHM8SlNQcm94eT4o
dm0pCiAgICAgICAgIHx8IG9iai0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9i
amVjdD4+KHZtKQotICAgICAgICB8fCBvYmotPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNE
ZXN0cnVjdGlibGVPYmplY3Q+Pih2bSkpOworICAgICAgICB8fCBvYmotPmluaGVyaXRzPEpTQ2Fs
bGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4+KHZtKSk7CiAgICAgbWFwLT5tYXAoKS5zZXQo
a2V5LCBvYmopOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2ds
aWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuY3BwCmluZGV4IDZhZTE5NDViMmZlYzQw
ZGZjYzhjYjc0N2MyN2NmNjgwNTEwOWExYjIuLmIyODY1NDVkZmVkYzg5MGI3YzFkMWJlMjdkODgz
MTkzMjNmYjZmNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9K
U0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuY3BwCkBAIC01OCw2ICs1OCwxOSBAQCB0
ZW1wbGF0ZSA8PiBjb25zdCBDbGFzc0luZm8gSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJH
bG9iYWxPYmplY3Q+OjpzX2luZm8gPQogCiB0ZW1wbGF0ZTw+IGNvbnN0IGJvb2wgSlNDYWxsYmFj
a09iamVjdDxKU0FQSVdyYXBwZXJHbG9iYWxPYmplY3Q+OjpuZWVkc0Rlc3RydWN0aW9uID0gZmFs
c2U7CiAKK3RlbXBsYXRlIDw+CitJc29TdWJzcGFjZSogSlNDYWxsYmFja09iamVjdDxKU0FQSVdy
YXBwZXJHbG9iYWxPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwoVk0mIHZtLCBTdWJzcGFjZUFjY2Vz
cyBtb2RlKQoreworICAgIHN3aXRjaCAobW9kZSkgeworICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6
Ok9uTWFpblRocmVhZDoKKyAgICAgICAgcmV0dXJuIHZtLmNhbGxiYWNrQVBJV3JhcHBlckdsb2Jh
bE9iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ+KCk7CisgICAgY2FzZSBT
dWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5OgorICAgICAgICByZXR1cm4gdm0uY2FsbGJhY2tB
UElXcmFwcGVyR2xvYmFsT2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6OkNvbmN1cnJlbnRseT4o
KTsKKyAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4g
bnVsbHB0cjsKK30KKwogdGVtcGxhdGUgPD4KIFN0cnVjdHVyZSogSlNDYWxsYmFja09iamVjdDxK
U0FQSVdyYXBwZXJHbG9iYWxPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCosIEpTVmFsdWUgcHJvdG8pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL2dsaWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL2dsaWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmgKaW5kZXggZDU0YTll
Y2QwZWZhYWYwYTc5ZWE0MmUzZmI5N2Q2MDYwNjI1Mjg0ZC4uNmEzNDg5OTQ3YjJhMzA4NTc2NGZh
ZmUxYjgwNWYxNTgwNTkwMWMwOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9nbGliL0pTQVBJV3JhcHBlckdsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuaApAQCAtMzMsNyArMzMsMTAg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdCA6IHB1
YmxpYyBKU0dsb2JhbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU0dsb2JhbE9iamVj
dCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU0dsb2JhbE9iamVjdDsKKworICAgIHRlbXBsYXRl
PHR5cGVuYW1lLCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgdm9pZCBzdWJzcGFjZUZvcihW
TSYpIHsgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogCiAgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYpOwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgSlND
OjpTbG90VmlzaXRvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuY3BwCmluZGV4IDQ0MWIzMDRhNGRkMzZjNzRkMjIzNDM3N2NkNjM2MDMxYWU3
MTEyM2IuLmY1OWM3YWMwMTNlOGQ5MmFmZDZkYTMyYTY4YWNjN2UzNjZhYTQ3ZDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTY3
MCw3ICs2NzAsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICAgICAg
fSk7CiAgICAgbV9jYWxsYmFja09iamVjdFN0cnVjdHVyZS5pbml0TGF0ZXIoCiAgICAgICAgIFtd
IChjb25zdCBJbml0aWFsaXplcjxTdHJ1Y3R1cmU+JiBpbml0KSB7Ci0gICAgICAgICAgICBpbml0
LnNldChKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6Y3JlYXRlU3RydWN0
dXJlKGluaXQudm0sIGluaXQub3duZXIsIGluaXQub3duZXItPm1fb2JqZWN0UHJvdG90eXBlLmdl
dCgpKSk7CisgICAgICAgICAgICBpbml0LnNldChKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxP
YmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoaW5pdC52bSwgaW5pdC5vd25lciwgaW5pdC5vd25lci0+
bV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKTsKICAgICAgICAgfSk7CiAKICNpZiBKU0NfT0JKQ19B
UElfRU5BQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNT
ZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNwcAppbmRleCBjNzUwNzA1ZTEyYjMxNTNiZDFm
YjA3ZjhmNmUyYzM5NjliNmU5NmQ2Li5mYWE3ZWQwZTY1ZGQ3NGZmMDk0MWMxODE2YzZhYmM1MzU5
NzdjY2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21l
bnRlZFZhcmlhYmxlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNwcApAQCAtMTE5LDcgKzExOSw3IEBAIHZvaWQg
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICBzZXRTeW1ib2xUYWJsZSh2bSwgU3ltYm9sVGFi
bGU6OmNyZWF0ZSh2bSkpOwogICAgIHZtLmhlYXAuYWRkRmluYWxpemVyKHRoaXMsIFtdIChKU0Nl
bGwqIGNlbGwpIHsKLSAgICAgICAgc3RhdGljX2Nhc3Q8SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVj
dCo+KGNlbGwpLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZGVzdHJveShjZWxsKTsKKyAgICAg
ICAgc3RhdGljX2Nhc3Q8SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCo+KGNlbGwpLT5tX2NsYXNz
SW5mby0+bWV0aG9kVGFibGUuZGVzdHJveShjZWxsKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVj
dC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9i
amVjdC5oCmluZGV4IDBhMTI4NDgyMjdmZmIxOWY3MTBlOTEyZDU1MmI5ZjkwNDU1NTM2NDEuLjUz
NWZjMzQyNzdlNmMxMWZmMTY3ZTc2MTJlMjkyNDNlYzI3NGE2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0
LmgKQEAgLTk2LDcgKzk2LDcgQEAgY2xhc3MgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCA6IHB1
YmxpYyBKU1N5bWJvbFRhYmxlT2JqZWN0IHsKICAgICAKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95
KEpTQ2VsbCopOwogICAgIAotICAgIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvKCkgY29uc3Qg
eyByZXR1cm4gbV9jbGFzc0luZm87IH0KKyAgICBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbyhW
TSYpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NJbmZvOyB9CiAgICAgCiBwcm90ZWN0ZWQ6CiAgICAg
SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdChWTSYsIFN0cnVjdHVyZSosIEpTU2NvcGUqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAppbmRleCBhNDgxODgyM2JkZjdlNmFkYTg5Y2Rm
ZjY5OTE0ODdlMzMzNWI4OGI1Li5hNzhkNjAzOTUwNjFiMjc3M2Q1NGZmNjkxYjI0MDZiMjBmNjBk
ZjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCkBAIC03OSw2ICs3OSw3IEBA
CiAjaW5jbHVkZSAiSklUQ29kZS5oIgogI2luY2x1ZGUgIkpJVFdvcmtsaXN0LmgiCiAjaW5jbHVk
ZSAiSlNBUElWYWx1ZVdyYXBwZXIuaCIKKyNpbmNsdWRlICJKU0FQSVdyYXBwZXJPYmplY3QuaCIK
ICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlci5oIgogI2luY2x1
ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgpAQCAtODYsNyArODcsOSBAQAogI2luY2x1
ZGUgIkpTQmlnSW50LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAi
SlNDSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIgogI2luY2x1
ZGUgIkpTQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQ2FsbGJhY2tPYmplY3QuaCIK
ICNpbmNsdWRlICJKU0NhbGxlZS5oIgogI2luY2x1ZGUgIkpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVu
Y3Rpb24uaCIKICNpbmNsdWRlICJKU0Rlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZS5oIgpA
QCAtMTMyLDcgKzEzNSw2IEBACiAjaW5jbHVkZSAiTmF0aXZlRXhlY3V0YWJsZS5oIgogI2luY2x1
ZGUgIk5vZGVzLmgiCiAjaW5jbHVkZSAiTnVtYmVyT2JqZWN0LmgiCi0jaW5jbHVkZSAiT2JqQ0Nh
bGxiYWNrRnVuY3Rpb24uaCIKICNpbmNsdWRlICJQYXJzZXIuaCIKICNpbmNsdWRlICJQcmVkaWN0
aW9uRmlsZUNyZWF0aW5nRnV6emVyQWdlbnQuaCIKICNpbmNsdWRlICJQcm9maWxlckRhdGFiYXNl
LmgiCkBAIC0xOTMsNyArMTk1LDEzIEBACiAjaW5jbHVkZSAiUmVnRXhwLmgiCiAjZW5kaWYKIAor
I2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECisjaW5jbHVkZSAiSlNBUElHbG9iYWxPYmplY3QuaCIK
KyNpbmNsdWRlICJPYmpDQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2VuZGlmCisKICNpZmRlZiBKU0Nf
R0xJQl9BUElfRU5BQkxFRAorI2luY2x1ZGUgIkpTQVBJV3JhcHBlckdsb2JhbE9iamVjdC5oIgog
I2luY2x1ZGUgIkpTQ0NhbGxiYWNrRnVuY3Rpb24uaCIKICNlbmRpZgogCkBAIC0yOTMsNiArMzAx
LDggQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlKQogICAgICwgaW1t
dXRhYmxlQnV0dGVyZmx5SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SGVhcENlbGxUeXBlPihDZWxs
QXR0cmlidXRlcyhEb2VzTm90TmVlZERlc3RydWN0aW9uLCBIZWFwQ2VsbDo6SlNDZWxsV2l0aElu
dGVyaW9yUG9pbnRlcnMpKSkKICAgICAsIGNlbGxIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxIZWFw
Q2VsbFR5cGU+KENlbGxBdHRyaWJ1dGVzKERvZXNOb3ROZWVkRGVzdHJ1Y3Rpb24sIEhlYXBDZWxs
OjpKU0NlbGwpKSkKICAgICAsIGRlc3RydWN0aWJsZUNlbGxIZWFwQ2VsbFR5cGUobWFrZVVuaXF1
ZTxIZWFwQ2VsbFR5cGU+KENlbGxBdHRyaWJ1dGVzKE5lZWRzRGVzdHJ1Y3Rpb24sIEhlYXBDZWxs
OjpKU0NlbGwpKSkKKyAgICAsIGNhbGxiYWNrQ29uc3RydWN0b3JIZWFwQ2VsbFR5cGUobWFrZVVu
aXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNDYWxsYmFja0NvbnN0cnVjdG9yPj4oKSkKKyAgICAsIGNh
bGxiYWNrT2JqZWN0SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPEpTQ2Fs
bGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4+PigpKQogICAgICwgZGF0ZUluc3RhbmNlSGVh
cENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPERhdGVJbnN0YW5jZT4+KCkpCiAg
ICAgLCBlcnJvckluc3RhbmNlSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBl
PEVycm9ySW5zdGFuY2U+PigpKQogICAgICwganNNb2R1bGVSZWNvcmRIZWFwQ2VsbFR5cGUobWFr
ZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNNb2R1bGVSZWNvcmQ+PigpKQpAQCAtMzAzLDYgKzMx
Myw3IEBAIFZNOjpWTShWTVR5cGUgdm1UeXBlLCBIZWFwVHlwZSBoZWFwVHlwZSkKICAgICAsIHdl
YWtTZXRIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNXZWFrU2V0Pj4o
KSkKICAgICAsIGRlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPEpTRGVz
dHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlPigpKQogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVE
CisgICAgLCBhcGlXcmFwcGVyT2JqZWN0SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENl
bGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pj4+KCkpCiAgICAgLCBv
YmpDQ2FsbGJhY2tGdW5jdGlvbkhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlw
ZTxPYmpDQ2FsbGJhY2tGdW5jdGlvbj4+KCkpCiAjZW5kaWYKICNpZmRlZiBKU0NfR0xJQl9BUElf
RU5BQkxFRApAQCAtMTM2MSwxMiArMTM3MiwxNiBAQCB2b2lkIFZNOjplbnN1cmVTaGFkb3dDaGlj
a2VuKCkKICAgICB9CiAKIAorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9X
KGFwaVZhbHVlV3JhcHBlclNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0FQSVZhbHVl
V3JhcHBlcikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhhcnJheUJ1
ZmZlclNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0FycmF5QnVmZmVyKQogRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGFzeW5jR2VuZXJhdG9yU3BhY2UsIGNl
bGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQXN5bmNHZW5lcmF0b3IpCiBEWU5BTUlDX0lTT19TVUJT
UEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYmlnSW50T2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5
cGUuZ2V0KCksIEJpZ0ludE9iamVjdCkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1C
RVJfU0xPVyhib29sZWFuT2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEJvb2xl
YW5PYmplY3QpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYm91bmRG
dW5jdGlvblNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0JvdW5kRnVuY3Rpb24pIC8v
IEhhc2g6MHhkNzkxNmQ0MQorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9X
KGNhbGxiYWNrQ29uc3RydWN0b3JTcGFjZSwgY2FsbGJhY2tDb25zdHJ1Y3RvckhlYXBDZWxsVHlw
ZS5nZXQoKSwgSlNDYWxsYmFja0NvbnN0cnVjdG9yKQorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVG
SU5FX01FTUJFUl9TTE9XKGNhbGxiYWNrR2xvYmFsT2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5
cGUuZ2V0KCksIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+KQogRFlOQU1JQ19JU09f
U1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGNhbGxiYWNrRnVuY3Rpb25TcGFjZSwgY2VsbEhl
YXBDZWxsVHlwZS5nZXQoKSwgSlNDYWxsYmFja0Z1bmN0aW9uKSAvLyBIYXNoOjB4ZTc2NDhlYmMK
K0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhjYWxsYmFja09iamVjdFNw
YWNlLCBjYWxsYmFja09iamVjdEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDYWxsYmFja09iamVjdDxK
U05vbkZpbmFsT2JqZWN0PikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xP
VyhjdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvblNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgp
LCBKU0N1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uKSAvLyBIYXNoOjB4MTgwOTEwMDAKIERZTkFN
SUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhkYXRhVmlld1NwYWNlLCBjZWxsSGVh
cENlbGxUeXBlLmdldCgpLCBKU0RhdGFWaWV3KQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5F
X01FTUJFUl9TTE9XKGVycm9ySW5zdGFuY2VTcGFjZSwgZXJyb3JJbnN0YW5jZUhlYXBDZWxsVHlw
ZS5nZXQoKSwgRXJyb3JJbnN0YW5jZSkgLy8gSGFzaDoweDNmNDBkNGEKQEAgLTEzOTgsMTAgKzE0
MTMsMTMgQEAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKHdlYWtNYXBT
cGFjZSwgd2Vha01hcEhlYXBDZWxsVHlwZS5nZXQoKSwKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RF
RklORV9NRU1CRVJfU0xPVyh3ZWFrU2V0U3BhY2UsIHdlYWtTZXRIZWFwQ2VsbFR5cGUuZ2V0KCks
IEpTV2Vha1NldCkgLy8gSGFzaDoweDRjNzgxYjMwCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJ
TkVfTUVNQkVSX1NMT1cod2Vha09iamVjdFJlZlNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgp
LCBKU1dlYWtPYmplY3RSZWYpIC8vIEhhc2g6MHg4ZWM2OGYxZgogI2lmIEpTQ19PQkpDX0FQSV9F
TkFCTEVECitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYXBpR2xvYmFs
T2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQVBJR2xvYmFsT2JqZWN0KQor
RFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGFwaVdyYXBwZXJPYmplY3RT
cGFjZSwgYXBpV3JhcHBlck9iamVjdEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDYWxsYmFja09iamVj
dDxKU0FQSVdyYXBwZXJPYmplY3Q+KQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJF
Ul9TTE9XKG9iakNDYWxsYmFja0Z1bmN0aW9uU3BhY2UsIG9iakNDYWxsYmFja0Z1bmN0aW9uSGVh
cENlbGxUeXBlLmdldCgpLCBPYmpDQ2FsbGJhY2tGdW5jdGlvbikgLy8gSGFzaDoweDEwZjYxMGI4
CiAjZW5kaWYKICNpZmRlZiBKU0NfR0xJQl9BUElfRU5BQkxFRAogRFlOQU1JQ19JU09fU1VCU1BB
Q0VfREVGSU5FX01FTUJFUl9TTE9XKGpzY0NhbGxiYWNrRnVuY3Rpb25TcGFjZSwganNjQ2FsbGJh
Y2tGdW5jdGlvbkhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDQ2FsbGJhY2tGdW5jdGlvbikKK0RZTkFN
SUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhjYWxsYmFja0FQSVdyYXBwZXJHbG9i
YWxPYmplY3RTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDYWxsYmFja09iamVjdDxK
U0FQSVdyYXBwZXJHbG9iYWxPYmplY3Q+KQogI2VuZGlmCiAjaWYgRU5BQkxFKElOVEwpCiBEWU5B
TUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coaW50bENvbGxhdG9yU3BhY2UsIGlu
dGxDb2xsYXRvckhlYXBDZWxsVHlwZS5nZXQoKSwgSW50bENvbGxhdG9yKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1ZNLmgKaW5kZXggZWRkYmZjNTVlYmI2OGJhNzAyYTIzNzdkMzQ3MDJlODVjNjdl
NDdiMC4uNjM0YzM5NzMwY2Y3MDdkYzE2MmFhOTU0YTc3MzJiYjM1NzFjNTU2NSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9WTS5oCkBAIC0xMjYsMTMgKzEyNiwxNiBAQCBjbGFzcyBJbnRsQ29s
bGF0b3I7CiBjbGFzcyBJbnRsRGF0ZVRpbWVGb3JtYXQ7CiBjbGFzcyBJbnRsTnVtYmVyRm9ybWF0
OwogY2xhc3MgSW50bFBsdXJhbFJ1bGVzOworY2xhc3MgSlNBUElXcmFwcGVyT2JqZWN0OwogY2xh
c3MgSlNDQ2FsbGJhY2tGdW5jdGlvbjsKK2NsYXNzIEpTQ2FsbGJhY2tDb25zdHJ1Y3RvcjsKIGNs
YXNzIEpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb247CiBjbGFzcyBKU0Rlc3RydWN0aWJsZU9i
amVjdEhlYXBDZWxsVHlwZTsKIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogY2xhc3MgSlNNb2R1bGVO
YW1lc3BhY2VPYmplY3Q7CiBjbGFzcyBKU01vZHVsZVJlY29yZDsKIGNsYXNzIEpTTmF0aXZlU3Rk
RnVuY3Rpb247CitjbGFzcyBKU05vbkZpbmFsT2JqZWN0OwogY2xhc3MgSlNPYmplY3Q7CiBjbGFz
cyBKU1Byb21pc2U7CiBjbGFzcyBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I7CkBAIC0xODIsNiAr
MTg1LDcgQEAgY2xhc3MgV2ViQXNzZW1ibHlGdW5jdGlvbjsKIGNsYXNzIFdlYkFzc2VtYmx5TW9k
dWxlUmVjb3JkOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZT4gY2xhc3MgSXNvSGVhcENl
bGxUeXBlOwordGVtcGxhdGU8dHlwZW5hbWUgUGFyZW50PiBjbGFzcyBKU0NhbGxiYWNrT2JqZWN0
OwogCiAjaWYgRU5BQkxFKEZUTF9KSVQpCiBuYW1lc3BhY2UgRlRMIHsKQEAgLTM1OSw2ICszNjMs
OCBAQCBjbGFzcyBWTSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWTT4sIHB1YmxpYyBE
b3VibHlMaW5rZWRMaXN0Tm9kZTxWTT4gewogICAgIHN0ZDo6dW5pcXVlX3B0cjxIZWFwQ2VsbFR5
cGU+IGltbXV0YWJsZUJ1dHRlcmZseUhlYXBDZWxsVHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
SGVhcENlbGxUeXBlPiBjZWxsSGVhcENlbGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxIZWFw
Q2VsbFR5cGU+IGRlc3RydWN0aWJsZUNlbGxIZWFwQ2VsbFR5cGU7CisgICAgc3RkOjp1bmlxdWVf
cHRyPElzb0hlYXBDZWxsVHlwZTxKU0NhbGxiYWNrQ29uc3RydWN0b3I+PiBjYWxsYmFja0NvbnN0
cnVjdG9ySGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8
SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pj4+IGNhbGxiYWNrT2JqZWN0SGVhcENl
bGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8RGF0ZUluc3RhbmNl
Pj4gZGF0ZUluc3RhbmNlSGVhcENlbGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFw
Q2VsbFR5cGU8RXJyb3JJbnN0YW5jZT4+IGVycm9ySW5zdGFuY2VIZWFwQ2VsbFR5cGU7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxKU01vZHVsZVJlY29yZD4+IGpzTW9kdWxl
UmVjb3JkSGVhcENlbGxUeXBlOwpAQCAtMzY5LDYgKzM3NSw3IEBAIGNsYXNzIFZNIDogcHVibGlj
IFRocmVhZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFZN
PiB7CiAgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxKU1dlYWtTZXQ+PiB3ZWFr
U2V0SGVhcENlbGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxKU0Rlc3RydWN0aWJsZU9iamVj
dEhlYXBDZWxsVHlwZT4gZGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlOwogI2lmIEpTQ19P
QkpDX0FQSV9FTkFCTEVECisgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxKU0Nh
bGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4+PiBhcGlXcmFwcGVyT2JqZWN0SGVhcENl
bGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8T2JqQ0NhbGxiYWNr
RnVuY3Rpb24+PiBvYmpDQ2FsbGJhY2tGdW5jdGlvbkhlYXBDZWxsVHlwZTsKICNlbmRpZgogI2lm
ZGVmIEpTQ19HTElCX0FQSV9FTkFCTEVECkBAIC00NTgsMTcgKzQ2NSwyNSBAQCBjbGFzcyBWTSA6
IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWTT4sIHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0
Tm9kZTxWTT4gewogCiAKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAorICAgIERZTkFNSUNfSVNP
X1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXBpR2xvYmFsT2JqZWN0U3BhY2UpCisgICAgRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhcGlXcmFwcGVyT2JqZWN0U3BhY2UpCiAgICAg
RFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihvYmpDQ2FsbGJhY2tGdW5jdGlvblNw
YWNlKQogI2VuZGlmCiAjaWZkZWYgSlNDX0dMSUJfQVBJX0VOQUJMRUQKKyAgICBEWU5BTUlDX0lT
T19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFwaVdyYXBwZXJPYmplY3RTcGFjZSkKICAgICBEWU5B
TUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGpzY0NhbGxiYWNrRnVuY3Rpb25TcGFjZSkK
KyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGNhbGxiYWNrQVBJV3JhcHBl
ckdsb2JhbE9iamVjdFNwYWNlKQogI2VuZGlmCisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVG
SU5FX01FTUJFUihhcGlWYWx1ZVdyYXBwZXJTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFD
RV9ERUZJTkVfTUVNQkVSKGFycmF5QnVmZmVyU3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BB
Q0VfREVGSU5FX01FTUJFUihhc3luY0dlbmVyYXRvclNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NV
QlNQQUNFX0RFRklORV9NRU1CRVIoYmlnSW50T2JqZWN0U3BhY2UpCiAgICAgRFlOQU1JQ19JU09f
U1VCU1BBQ0VfREVGSU5FX01FTUJFUihib29sZWFuT2JqZWN0U3BhY2UpCiAgICAgRFlOQU1JQ19J
U09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihib3VuZEZ1bmN0aW9uU3BhY2UpCisgICAgRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihjYWxsYmFja0NvbnN0cnVjdG9yU3BhY2UpCisg
ICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihjYWxsYmFja0dsb2JhbE9iamVj
dFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoY2FsbGJhY2tG
dW5jdGlvblNwYWNlKQorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoY2Fs
bGJhY2tPYmplY3RTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVS
KGN1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uU3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BB
Q0VfREVGSU5FX01FTUJFUihkYXRhVmlld1NwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNF
X0RFRklORV9NRU1CRVIoZXJyb3JJbnN0YW5jZVNwYWNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4IDYwYTM0Y2Y5YmNhMGJlMzNh
NmY5MjE2OTU1MGU5NDFjM2Y2YWYyMDMuLjYzODM5ZDFjNDVhOGJlNGM4OGY0NDg5OTdjYmVjNzJh
ZjMyZGEzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xv
YmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2Jh
bE9iamVjdC5jcHAKQEAgLTE0OSw3ICsxNDksNyBAQCB2b2lkIEpTRE9NR2xvYmFsT2JqZWN0Ojpm
aW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKICAgICBhZGRCdWlsdGluR2xvYmFscyh2bSk7CiAKLSAg
ICBSRUxFQVNFX0FTU0VSVChjbGFzc0luZm8oKSk7CisgICAgUkVMRUFTRV9BU1NFUlQoY2xhc3NJ
bmZvKHZtKSk7CiB9CiAKIHZvaWQgSlNET01HbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSwgSlNPYmplY3QqIHRoaXNWYWx1ZSkKQEAgLTE1OSw3ICsxNTksNyBAQCB2b2lkIEpTRE9N
R2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiB0aGlzVmFsdWUp
CiAKICAgICBhZGRCdWlsdGluR2xvYmFscyh2bSk7CiAKLSAgICBSRUxFQVNFX0FTU0VSVChjbGFz
c0luZm8oKSk7CisgICAgUkVMRUFTRV9BU1NFUlQoY2xhc3NJbmZvKHZtKSk7CiB9CiAKIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIEpTRE9NR2xvYmFsT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V3JhcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuY3Bw
CmluZGV4IDA1NmJkYmQyZGYxZTNmM2E0NDZkMTc5OWEzMTI5YTczOWY4MGNjYzUuLjc3MzZkMGNm
ZDNmYzZjOTY4NTU1M2QyZDU2MGE4OTlhY2ZjNTczODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcApAQCAtNDEsNyArNDEsNyBAQCBTVEFUSUNfQVNTRVJU
X0lTX1RSSVZJQUxMWV9ERVNUUlVDVElCTEUoSlNET01PYmplY3QpOwogSlNET01PYmplY3Q6OkpT
RE9NT2JqZWN0KEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQzo6SlNHbG9iYWxPYmplY3Qm
IGdsb2JhbE9iamVjdCkKICAgICA6IEJhc2UoZ2xvYmFsT2JqZWN0LnZtKCksIHN0cnVjdHVyZSkK
IHsKLSAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIHx8IGdsb2JhbE9iamVjdC5j
bGFzc0luZm8oKSA9PSBKU1JlbW90ZURPTVdpbmRvdzo6aW5mbygpKTsKKyAgICBBU1NFUlQoc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpIHx8IGdsb2JhbE9iamVjdC5jbGFzc0luZm8oZ2xvYmFsT2Jq
ZWN0LnZtKCkpID09IEpTUmVtb3RlRE9NV2luZG93OjppbmZvKCkpOwogfQogCiBKU0M6OkNvbXBs
ZXRlU3Vic3BhY2UqIG91dHB1dENvbnN0cmFpbnRTdWJzcGFjZUZvcihKU0M6OlZNJiB2bSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2luZG93UHJveHkuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXaW5kb3dQcm94eS5jcHAKaW5kZXggN2FjOGY3
OTQxNGRlZGQwYTZkNjk0NWQxNDhmMjhlOGJkMjcxMzQ2Ni4uZGI3MDMxYWNkYWIzYWVjNmI3Nzdk
NzY4MzE1OTU2ZTQzYTNmMGJiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNXaW5kb3dQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
aW5kb3dQcm94eS5jcHAKQEAgLTc1LDcgKzc1LDcgQEAgdm9pZCBKU1dpbmRvd1Byb3h5OjpkZXN0
cm95KEpTQ2VsbCogY2VsbCkKIAogdm9pZCBKU1dpbmRvd1Byb3h5OjpzZXRXaW5kb3coVk0mIHZt
LCBKU0RPTUdsb2JhbE9iamVjdCYgd2luZG93KQogewotICAgIEFTU0VSVCh3aW5kb3cuY2xhc3NJ
bmZvKCkgPT0gSlNET01XaW5kb3c6OmluZm8oKSB8fCB3aW5kb3cuY2xhc3NJbmZvKCkgPT0gSlNS
ZW1vdGVET01XaW5kb3c6OmluZm8oKSk7CisgICAgQVNTRVJUKHdpbmRvdy5jbGFzc0luZm8odm0p
ID09IEpTRE9NV2luZG93OjppbmZvKCkgfHwgd2luZG93LmNsYXNzSW5mbyh2bSkgPT0gSlNSZW1v
dGVET01XaW5kb3c6OmluZm8oKSk7CiAgICAgc2V0VGFyZ2V0KHZtLCAmd2luZG93KTsKICAgICBz
dHJ1Y3R1cmUodm0pLT5zZXRHbG9iYWxPYmplY3Qodm0sICZ3aW5kb3cpOwogICAgIEdDQ29udHJv
bGxlcjo6c2luZ2xldG9uKCkuZ2FyYmFnZUNvbGxlY3RTb29uKCk7Cg==
</data>
<flag name="review"
          id="401178"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385347</attachid>
            <date>2019-12-10 21:52:34 -0800</date>
            <delta_ts>2019-12-10 21:52:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205097-20191210215233.patch</filename>
            <type>text/plain</type>
            <size>37165</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
Nzg0MWIxN2MwYjY4Y2YxMDMwMTMwYmMxNDEzMjY0Y2FhM2ZmOTFiLi5iNzgxYmViOWFmOWQ1ZWIy
NzhjMmI3ODE2NzRkN2Y3Mjc3ZjgwOWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1OCBAQAorMjAxOS0xMi0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFB1dCBhbGwgQVBJIHJlbGF0ZWQgSlMgY2VsbHMgaW50byBJc29T
dWJzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgVGhpcyBw
YXRjaCBwdXRzIEFQSSByZWxhdGVkIEpTIGNlbGxzIGludG8gSXNvU3Vic3BhY2UuCisKKyAgICAg
ICAgKiBBUEkvSlNBUElHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNBUElHbG9iYWxP
YmplY3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTQVBJR2xvYmFsT2JqZWN0
OjpjcmVhdGVTdHJ1Y3R1cmUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKU0FQSUdsb2JhbE9i
amVjdDo6SlNBUElHbG9iYWxPYmplY3QpOiBEZWxldGVkLgorICAgICAgICAqIEFQSS9KU0FQSVZh
bHVlV3JhcHBlci5oOgorICAgICAgICAqIEFQSS9KU0FQSVdyYXBwZXJPYmplY3QuaDoKKyAgICAg
ICAgKEpTQzo6SlNBUElXcmFwcGVyT2JqZWN0OjpzdWJzcGFjZUZvcik6CisgICAgICAgICogQVBJ
L0pTQVBJV3JhcHBlck9iamVjdC5tbToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxK
U0FQSVdyYXBwZXJPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwpOgorICAgICAgICAqIEFQSS9KU0Nh
bGxiYWNrQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrQ29uc3RydWN0
b3I6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcik6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tDb25z
dHJ1Y3Rvci5oOgorICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcDoKKyAgICAgICAg
KEpTQzo6SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJl
KToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6c3Vi
c3BhY2VGb3JJbXBsKToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9i
amVjdD46OnN1YnNwYWNlRm9ySW1wbCk6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tPYmplY3Q8
SlNEZXN0cnVjdGlibGVPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUpOiBEZWxldGVkLgorICAgICAg
ICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0Lmg6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmpl
Y3RGdW5jdGlvbnMuaDoKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxQYXJlbnQ+Ojpp
bml0KToKKyAgICAgICAgKiBBUEkvSlNDbGFzc1JlZi5jcHA6CisgICAgICAgIChPcGFxdWVKU0Ns
YXNzOjpwcm90b3R5cGUpOgorICAgICAgICAqIEFQSS9KU09iamVjdFJlZi5jcHA6CisgICAgICAg
IChKU09iamVjdE1ha2UpOgorICAgICAgICAoSlNPYmplY3RHZXRQcml2YXRlKToKKyAgICAgICAg
KEpTT2JqZWN0U2V0UHJpdmF0ZSk6CisgICAgICAgIChKU09iamVjdEdldFByaXZhdGVQcm9wZXJ0
eSk6CisgICAgICAgIChKU09iamVjdFNldFByaXZhdGVQcm9wZXJ0eSk6CisgICAgICAgIChKU09i
amVjdERlbGV0ZVByaXZhdGVQcm9wZXJ0eSk6CisgICAgICAgICogQVBJL0pTVmFsdWVSZWYuY3Bw
OgorICAgICAgICAoSlNWYWx1ZUlzT2JqZWN0T2ZDbGFzcyk6CisgICAgICAgICogQVBJL0pTV2Vh
a09iamVjdE1hcFJlZlByaXZhdGUuY3BwOgorICAgICAgICAqIEFQSS9nbGliL0pTQVBJV3JhcHBl
ckdsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tPYmplY3Q8SlNBUElX
cmFwcGVyR2xvYmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKToKKyAgICAgICAgKiBBUEkvZ2xp
Yi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNBUElXcmFwcGVy
R2xvYmFsT2JqZWN0OjpzdWJzcGFjZUZvcik6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9i
amVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAg
KiBydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpK
U1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVu
dGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTU2VnbWVu
dGVkVmFyaWFibGVPYmplY3Q6OmNsYXNzSW5mbyBjb25zdCk6CisgICAgICAgICogcnVudGltZS9W
TS5jcHA6CisgICAgICAgIChKU0M6OlZNOjpWTSk6CisgICAgICAgICogcnVudGltZS9WTS5oOgor
CiAyMDE5LTEyLTEwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBX
b3JrbGlzdDo6ZGVsZXRlQ2FuY2VsbGVkUGxhbnNGb3JWTSgpIHNob3VsZCBub3QgYXNzdW1lIHRo
YXQgYSBjYW5jZWxsZWQgcGxhbiBpcyByZWFkeSBmb3IgZGVsZXRpb24uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
N2MyZDgxY2NmMWJmMjNhMjA0YTVjMDdhY2U4MTcxMGEzM2IzOWVmMy4uYWQwMjc3NjM4NzgxZGVj
MGYxMDA1MTM5ZDY5Y2NjZjIxNTBmODJiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDE5LTEyLTEwICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAg
W0pTQ10gUHV0IGFsbCBBUEkgcmVsYXRlZCBKUyBjZWxscyBpbnRvIElzb1N1YnNwYWNlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwOTcKKworICAg
ICAgICBSZXZpZXdlZCBieSBNYXJrIExhbS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9N
R2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0Ojpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTRE9NT2JqZWN0OjpKU0RPTU9iamVjdCk6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNXaW5kb3dQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1dpbmRv
d1Byb3h5OjpzZXRXaW5kb3cpOgorCiAyMDE5LTEyLTEwICBGdWppaSBIaXJvbm9yaSAgPEhpcm9u
b3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5dIEZpeCBNU1ZDIHdhcm5pbmcgQzQ3
MDE6IHBvdGVudGlhbGx5IHVuaW5pdGlhbGl6ZWQgbG9jYWwgdmFyaWFibGUgJ3gnIHVzZWQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElHbG9iYWxPYmplY3QuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElHbG9iYWxPYmplY3QuaAppbmRleCA0YjNi
YjE1Y2RmMGE1YzQ2YjRmZTk1ZGVhNmFhMDllMjA2YjQxOTFlLi42MGY2ZjY2ZTZkYzRlMTUyZWU4
ZjU2OWM1OGZkZWQzNTA4NWMxNDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQVBJR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0FQSUdsb2JhbE9iamVjdC5oCkBAIC0zMSwxMyArMzEsMTkgQEAgT0JKQ19DTEFTUyBKU1Njcmlw
dDsKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIEpTQVBJR2xvYmFsT2JqZWN0IDogcHVibGlj
IEpTR2xvYmFsT2JqZWN0IHsKK2NsYXNzIEpTQVBJR2xvYmFsT2JqZWN0IGZpbmFsIDogcHVibGlj
IEpTR2xvYmFsT2JqZWN0IHsKIHB1YmxpYzoKICAgICB1c2luZyBCYXNlID0gSlNHbG9iYWxPYmpl
Y3Q7CiAKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogICAgIHN0YXRpYyBjb25zdCBHbG9iYWxP
YmplY3RNZXRob2RUYWJsZSBzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlOwogCisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzIG1vZGU+CisgICAgc3RhdGljIElz
b1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAgICByZXR1cm4gdm0u
YXBpR2xvYmFsT2JqZWN0U3BhY2U8bW9kZT4oKTsKKyAgICB9CisKICAgICBzdGF0aWMgSlNBUElH
bG9iYWxPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIHsK
ICAgICAgICAgYXV0byogb2JqZWN0ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBUElH
bG9iYWxPYmplY3Q+KHZtLmhlYXApKSBKU0FQSUdsb2JhbE9iamVjdCh2bSwgc3RydWN0dXJlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1ZVdyYXBwZXIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1ZVdyYXBwZXIuaAppbmRleCA0
MWY1MDlkMzY0YWJjODQ0M2M0ZTgxZTQ2MDczMWM2MTc5ZDA0MmQ5Li4xZjc4MjI5ZTBjODBkYjRj
ZDYzNDYwZmY2MjEzMzk3MDE0ZGJmZDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTQVBJVmFsdWVXcmFwcGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU0FQSVZhbHVlV3JhcHBlci5oCkBAIC0zMiw5ICszMiwxNSBAQCBuYW1lc3BhY2UgSlNDIHsK
IGNsYXNzIEpTQVBJVmFsdWVXcmFwcGVyIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAgZnJp
ZW5kIEpTVmFsdWUganNBUElWYWx1ZVdyYXBwZXIoSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsK
IHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU0Nl
bGw7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6
OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKIAorICAgIHRlbXBsYXRlPHR5
cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2VzcyBtb2RlPgorICAgIHN0YXRpYyBJc29TdWJz
cGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHZtLmFwaVZh
bHVlV3JhcHBlclNwYWNlPG1vZGU+KCk7CisgICAgfQorCiAgICAgSlNWYWx1ZSB2YWx1ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fdmFsdWUuZ2V0KCk7IH0KIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNy
ZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFs
dWUgcHJvdG90eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQ
SVdyYXBwZXJPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElXcmFwcGVy
T2JqZWN0LmgKaW5kZXggZGQ4NzRkYzY1ZWU3ZWFhM2M1MjRmZDBmMzI0Y2IzZWE4NzE3YTFiYy4u
ZjNiOThkY2ExNzJhY2Q0NzA3ODIzYjgyM2FlZGFhZDdhYzk3M2ZhNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVdyYXBwZXJPYmplY3QuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJV3JhcHBlck9iamVjdC5oCkBAIC0zMyw5ICszMywxMiBA
QAogCiBuYW1lc3BhY2UgSlNDIHsKICAgICAKLWNsYXNzIEpTQVBJV3JhcHBlck9iamVjdCA6IHB1
YmxpYyBKU0Rlc3RydWN0aWJsZU9iamVjdCB7CitjbGFzcyBKU0FQSVdyYXBwZXJPYmplY3QgOiBw
dWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU0Rlc3RydWN0
aWJsZU9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OworCisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUsIFN1YnNwYWNlQWNjZXNzPgorICAgIHN0YXRpYyB2b2lkIHN1
YnNwYWNlRm9yKFZNJikgeyBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAgICAgCiAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRy
ZW4oSlNDZWxsKiwgSlNDOjpTbG90VmlzaXRvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0FQSVdyYXBwZXJPYmplY3QubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTQVBJV3JhcHBlck9iamVjdC5tbQppbmRleCA1OGI3NGU3MmI5MTNkYzg3YzIzZDQy
YzgyY2NjYmFmODNmMWMyNWQzLi44ZDdiZTQ0ZWZlOWI0NmY2ZDMyNmIzMjlhMzVhMmY1MjNhYWQy
NzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJV3JhcHBlck9i
amVjdC5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJV3JhcHBlck9iamVj
dC5tbQpAQCAtNzIsNiArNzIsMTkgQEAgdGVtcGxhdGUgPD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2Fs
bGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pjo6c19pbmZvID0geyAiSlMKIAogdGVtcGxh
dGU8PiBjb25zdCBib29sIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pjo6bmVl
ZHNEZXN0cnVjdGlvbiA9IHRydWU7CiAKK3RlbXBsYXRlIDw+CitJc29TdWJzcGFjZSogSlNDYWxs
YmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwoVk0mIHZtLCBT
dWJzcGFjZUFjY2VzcyBtb2RlKQoreworICAgIHN3aXRjaCAobW9kZSkgeworICAgIGNhc2UgU3Vi
c3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZDoKKyAgICAgICAgcmV0dXJuIHZtLmFwaVdyYXBwZXJP
YmplY3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkPigpOworICAgIGNhc2UgU3Vi
c3BhY2VBY2Nlc3M6OkNvbmN1cnJlbnRseToKKyAgICAgICAgcmV0dXJuIHZtLmFwaVdyYXBwZXJP
YmplY3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5PigpOworICAgIH0KKyAgICBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiB0
ZW1wbGF0ZSA8PgogU3RydWN0dXJlKiBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVj
dD46OmNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTVmFsdWUgcHJvdG8pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
Q2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMDcwZDc1ZDU4ZGExNTY4MDg2OWEwZjU4ZDZh
YjQ0ZjEyMmM1MTE5Yi4uNDlmNGNlNzZlZGUxZWFlOGVkMDJkNWYzZjFiZjdkMDk0ZjcxOWZmNiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0
b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVj
dG9yLmNwcApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgSlNDIHsKIGNvbnN0IENsYXNzSW5m
byBKU0NhbGxiYWNrQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkNhbGxiYWNrQ29uc3RydWN0b3Ii
LCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpT
Q2FsbGJhY2tDb25zdHJ1Y3RvcikgfTsKIAogSlNDYWxsYmFja0NvbnN0cnVjdG9yOjpKU0NhbGxi
YWNrQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIEpTQ2xhc3NSZWYganNDbGFzcywgSlNPYmplY3RDYWxsQXNDb25zdHJ1Y3RvckNh
bGxiYWNrIGNhbGxiYWNrKQotICAgIDogSlNEZXN0cnVjdGlibGVPYmplY3QoZ2xvYmFsT2JqZWN0
LT52bSgpLCBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKGdsb2JhbE9iamVjdC0+dm0oKSwgc3RydWN0
dXJlKQogICAgICwgbV9jbGFzcyhqc0NsYXNzKQogICAgICwgbV9jYWxsYmFjayhjYWxsYmFjaykK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0
cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rv
ci5oCmluZGV4IDI1OTI4ZmJhZmRmYzc4NmE2NDJlNjEyODRlMWM0ZTMzNjkwYjI2N2QuLmU1NzI1
OTQwMjM2YTlhMmVhMDk0NjAyYjk3MTE0ODcyNmI2YTZmZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaApAQCAtMjYsMTUgKzI2LDIx
IEBACiAjaWZuZGVmIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcl9oCiAjZGVmaW5lIEpTQ2FsbGJhY2tD
b25zdHJ1Y3Rvcl9oCiAKLSNpbmNsdWRlICJKU0Rlc3RydWN0aWJsZU9iamVjdC5oIgogI2luY2x1
ZGUgIkpTT2JqZWN0UmVmLmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi1jbGFzcyBKU0NhbGxiYWNr
Q29uc3RydWN0b3IgZmluYWwgOiBwdWJsaWMgSlNEZXN0cnVjdGlibGVPYmplY3QgeworY2xhc3Mg
SlNDYWxsYmFja0NvbnN0cnVjdG9yIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3Qgewog
cHVibGljOgotICAgIHR5cGVkZWYgSlNEZXN0cnVjdGlibGVPYmplY3QgQmFzZTsKKyAgICB1c2lu
ZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVk
IFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBJbXBsZW1lbnRzSGFzSW5z
dGFuY2UgfCBJbXBsZW1lbnRzRGVmYXVsdEhhc0luc3RhbmNlOworICAgIHN0YXRpYyBjb25zdGV4
cHIgYm9vbCBuZWVkc0Rlc3RydWN0aW9uID0gdHJ1ZTsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1l
IENlbGxUeXBlLCBTdWJzcGFjZUFjY2VzcyBtb2RlPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSog
c3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHZtLmNhbGxiYWNrQ29u
c3RydWN0b3JTcGFjZTxtb2RlPigpOworICAgIH0KIAogICAgIHN0YXRpYyBKU0NhbGxiYWNrQ29u
c3RydWN0b3IqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgSlNDbGFzc1JlZiBjbGFzc1JlZiwgSlNPYmplY3RDYWxsQXNDb25zdHJ1Y3Rv
ckNhbGxiYWNrIGNhbGxiYWNrKSAKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU0NhbGxiYWNrT2JqZWN0LmNwcAppbmRleCBjYjYzZjQ5NjM5MDhiNzFiOTVjNDUzZGRiZThi
NmE3NDExMDY3MTRjLi42MTFlODY2MTY5NWNlMTY3YmMzZGM5ZDgwZDUzNWViNGIwMDVhMDFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAKQEAg
LTM0LDEwICszNCwxMCBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIC8vIERlZmluZSB0aGUgdHdvIHR5
cGVzIG9mIEpTQ2FsbGJhY2tPYmplY3RzIHdlIHN1cHBvcnQuCi10ZW1wbGF0ZSA8PiBjb25zdCBD
bGFzc0luZm8gSlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD46OnNfaW5mbyA9
IHsgIkNhbGxiYWNrT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JF
QVRFX01FVEhPRF9UQUJMRShKU0NhbGxiYWNrT2JqZWN0KSB9OwordGVtcGxhdGUgPD4gY29uc3Qg
Q2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD46OnNfaW5mbyA9IHsg
IkNhbGxiYWNrT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRF
X01FVEhPRF9UQUJMRShKU0NhbGxiYWNrT2JqZWN0KSB9OwogdGVtcGxhdGUgPD4gY29uc3QgQ2xh
c3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+OjpzX2luZm8gPSB7ICJDYWxs
YmFja0dsb2JhbE9iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFU
RV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKIAotdGVtcGxhdGU8PiBjb25zdCBi
b29sIEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjpuZWVkc0Rlc3RydWN0
aW9uID0gdHJ1ZTsKK3RlbXBsYXRlPD4gY29uc3QgYm9vbCBKU0NhbGxiYWNrT2JqZWN0PEpTTm9u
RmluYWxPYmplY3Q+OjpuZWVkc0Rlc3RydWN0aW9uID0gdHJ1ZTsKIHRlbXBsYXRlPD4gY29uc3Qg
Ym9vbCBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6bmVlZHNEZXN0cnVjdGlvbiA9
IGZhbHNlOwogCiB0ZW1wbGF0ZTw+CkBAIC00OSw3ICs0OSw3IEBAIEpTQ2FsbGJhY2tPYmplY3Q8
SlNHbG9iYWxPYmplY3Q+KiBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6Y3JlYXRl
KFZNJiB2CiB9CiAKIHRlbXBsYXRlIDw+Ci1TdHJ1Y3R1cmUqIEpTQ2FsbGJhY2tPYmplY3Q8SlNE
ZXN0cnVjdGlibGVPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKQorU3RydWN0dXJlKiBKU0NhbGxiYWNrT2Jq
ZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKQogeyAKICAgICByZXR1cm4gU3RydWN0
dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG8sIFR5cGVJbmZvKE9iamVjdFR5cGUs
IFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsgCiB9CkBAIC02MCw0ICs2MCwzMCBAQCBTdHJ1Y3R1
cmUqIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoVk0m
IHZtLCBKU0dsb2JhbE9iagogICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90bywgVHlwZUluZm8oR2xvYmFsT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3Mp
LCBpbmZvKCkpOyAKIH0KIAordGVtcGxhdGUgPD4KK0lzb1N1YnNwYWNlKiBKU0NhbGxiYWNrT2Jq
ZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwoVk0mIHZtLCBTdWJzcGFjZUFj
Y2VzcyBtb2RlKQoreworICAgIHN3aXRjaCAobW9kZSkgeworICAgIGNhc2UgU3Vic3BhY2VBY2Nl
c3M6Ok9uTWFpblRocmVhZDoKKyAgICAgICAgcmV0dXJuIHZtLmNhbGxiYWNrT2JqZWN0U3BhY2U8
U3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZD4oKTsKKyAgICBjYXNlIFN1YnNwYWNlQWNjZXNz
OjpDb25jdXJyZW50bHk6CisgICAgICAgIHJldHVybiB2bS5jYWxsYmFja09iamVjdFNwYWNlPFN1
YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk+KCk7CisgICAgfQorICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3RlbXBsYXRlIDw+CitJ
c29TdWJzcGFjZSogSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46OnN1YnNwYWNlRm9y
SW1wbChWTSYgdm0sIFN1YnNwYWNlQWNjZXNzIG1vZGUpCit7CisgICAgc3dpdGNoIChtb2RlKSB7
CisgICAgY2FzZSBTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkOgorICAgICAgICByZXR1cm4g
dm0uY2FsbGJhY2tHbG9iYWxPYmplY3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFk
PigpOworICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6OkNvbmN1cnJlbnRseToKKyAgICAgICAgcmV0
dXJuIHZtLmNhbGxiYWNrR2xvYmFsT2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6OkNvbmN1cnJl
bnRseT4oKTsKKyAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oCmluZGV4IDRmNWY0YjZmNTM1MWYzODQ2NDQ3
ZjJjMDBlNjc5YzM1ZThhMDRhYjguLjAzNGIzNTdjMDczOGUzNDkxMjU4ODU4ZDcwNjk4OWZlZmNi
NDgzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09i
amVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5o
CkBAIC0xMzEsNyArMTMxLDcgQEAgY2xhc3MgSlNDYWxsYmFja09iamVjdCBmaW5hbCA6IHB1Ymxp
YyBQYXJlbnQgewogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKIAogcHVibGljOgotICAg
IHR5cGVkZWYgUGFyZW50IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IFBhcmVudDsKICAgICBzdGF0
aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxh
Z3MgfCBQcm9oaWJpdHNQcm9wZXJ0eUNhY2hpbmcgfCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNs
b3QgfCBJbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNO
b3RaZXJvIHwgSW1wbGVtZW50c0hhc0luc3RhbmNlIHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1l
cyB8IE92ZXJyaWRlc0dldENhbGxEYXRhOwogICAgIHN0YXRpY19hc3NlcnQoIShTdHJ1Y3R1cmVG
bGFncyAmIEltcGxlbWVudHNEZWZhdWx0SGFzSW5zdGFuY2UpLCAidXNpbmcgY3VzdG9tSGFzSW5z
dGFuY2UiKTsKIApAQCAtMTUzLDYgKzE1MywxMiBAQCBjbGFzcyBKU0NhbGxiYWNrT2JqZWN0IGZp
bmFsIDogcHVibGljIFBhcmVudCB7CiAgICAgICAgIHN0YXRpY19jYXN0PEpTQ2FsbGJhY2tPYmpl
Y3QqPihjZWxsKS0+SlNDYWxsYmFja09iamVjdDo6fkpTQ2FsbGJhY2tPYmplY3QoKTsKICAgICB9
CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3MgbW9kZT4K
KyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAg
ICAgIHJldHVybiBzdWJzcGFjZUZvckltcGwodm0sIG1vZGUpOworICAgIH0KKwogICAgIHZvaWQg
c2V0UHJpdmF0ZSh2b2lkKiBkYXRhKTsKICAgICB2b2lkKiBnZXRQcml2YXRlKCk7CiAKQEAgLTE4
NCw2ICsxOTAsNyBAQCBjbGFzcyBKU0NhbGxiYWNrT2JqZWN0IGZpbmFsIDogcHVibGljIFBhcmVu
dCB7CiAgICAgdXNpbmcgUGFyZW50OjptZXRob2RUYWJsZTsKIAogcHJpdmF0ZToKKyAgICBzdGF0
aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9ySW1wbChWTSYsIFN1YnNwYWNlQWNjZXNzKTsKICAg
ICBzdGF0aWMgU3RyaW5nIGNsYXNzTmFtZShjb25zdCBKU09iamVjdCosIFZNJik7CiAgICAgc3Rh
dGljIFN0cmluZyB0b1N0cmluZ05hbWUoY29uc3QgSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCop
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmpl
Y3RGdW5jdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVj
dEZ1bmN0aW9ucy5oCmluZGV4IGEwMjk5NTI1ZDU4Zjk0OWUxYWY5YTBkNDEzY2VmMjk3OTVhODRh
ZTIuLjhlNzk2MmM4MDk0Y2U1ZGM5ZDlhMWE1NGY2OTI3ZDRmMjM4NzE4NzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5o
CkBAIC0xMjUsNyArMTI1LDcgQEAgdm9pZCBKU0NhbGxiYWNrT2JqZWN0PFBhcmVudD46OmluaXQo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAgICAgaW5pdGlhbGl6ZSh0b1JlZihn
bG9iYWxPYmplY3QpLCB0b1JlZihqc0Nhc3Q8SlNPYmplY3QqPih0aGlzKSkpOwogICAgIH0KICAg
ICAKLSAgICBtX2NsYXNzSW5mbyA9IHRoaXMtPmNsYXNzSW5mbygpOworICAgIG1fY2xhc3NJbmZv
ID0gdGhpcy0+Y2xhc3NJbmZvKGdldFZNKGdsb2JhbE9iamVjdCkpOwogfQogCiB0ZW1wbGF0ZSA8
Y2xhc3MgUGFyZW50PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Ns
YXNzUmVmLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5jcHAKaW5k
ZXggNGMxMjZlNDQ4ZjY3MWExMzI5MzZjOGI4ZTU5MTM0NzM0Nzg2ZWZjZS4uOTJkZjYzOGUxNWVl
NzcyZjliZGMxMjZjMTBmNDc4MDFjYmY2Y2RhMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0NsYXNzUmVmLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuY3BwCkBAIC0xOTAsNyArMTkwLDcgQEAgSlNPYmplY3QqIE9wYXF1ZUpTQ2xh
c3M6OnByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgICAgICByZXR1
cm4gcHJvdG90eXBlOwogCiAgICAgLy8gUmVjdXJzaXZlLCBidXQgc2hvdWxkIGJlIGdvb2QgZW5v
dWdoIGZvciBvdXIgcHVycG9zZXMKLSAgICBKU09iamVjdCogcHJvdG90eXBlID0gSlNDYWxsYmFj
a09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD46OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2Jh
bE9iamVjdC0+Y2FsbGJhY2tPYmplY3RTdHJ1Y3R1cmUoKSwgcHJvdG90eXBlQ2xhc3MsICZqc0Ns
YXNzRGF0YSk7IC8vIHNldCBqc0NsYXNzRGF0YSBhcyB0aGUgb2JqZWN0J3MgcHJpdmF0ZSBkYXRh
LCBzbyBpdCBjYW4gY2xlYXIgb3VyIHJlZmVyZW5jZSBvbiBkZXN0cnVjdGlvbgorICAgIEpTT2Jq
ZWN0KiBwcm90b3R5cGUgPSBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVh
dGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPmNhbGxiYWNrT2JqZWN0U3RydWN0dXJlKCks
IHByb3RvdHlwZUNsYXNzLCAmanNDbGFzc0RhdGEpOyAvLyBzZXQganNDbGFzc0RhdGEgYXMgdGhl
IG9iamVjdCdzIHByaXZhdGUgZGF0YSwgc28gaXQgY2FuIGNsZWFyIG91ciByZWZlcmVuY2Ugb24g
ZGVzdHJ1Y3Rpb24KICAgICBpZiAocGFyZW50Q2xhc3MpIHsKICAgICAgICAgaWYgKEpTT2JqZWN0
KiBwYXJlbnRQcm90b3R5cGUgPSBwYXJlbnRDbGFzcy0+cHJvdG90eXBlKGdsb2JhbE9iamVjdCkp
CiAgICAgICAgICAgICBwcm90b3R5cGUtPnNldFByb3RvdHlwZURpcmVjdChnbG9iYWxPYmplY3Qt
PnZtKCksIHBhcmVudFByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTT2JqZWN0UmVmLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmpl
Y3RSZWYuY3BwCmluZGV4IGI0YmZlZmUwNTg3NTc1ZDkxZjZiZTFiNDFhMTE3M2Q1YzM2YjRlZGMu
LmY3ZjlkYWIzZjI4YWRjMGVhYmIyYmRlOGIyNTA2NzcyYWQyNWZmY2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwCkBAIC05Niw3ICs5Niw3IEBAIEpTT2JqZWN0
UmVmIEpTT2JqZWN0TWFrZShKU0NvbnRleHRSZWYgY3R4LCBKU0NsYXNzUmVmIGpzQ2xhc3MsIHZv
aWQqIGRhdGEpCiAgICAgaWYgKCFqc0NsYXNzKQogICAgICAgICByZXR1cm4gdG9SZWYoY29uc3Ry
dWN0RW1wdHlPYmplY3QoZ2xvYmFsT2JqZWN0KSk7CiAKLSAgICBKU0NhbGxiYWNrT2JqZWN0PEpT
RGVzdHJ1Y3RpYmxlT2JqZWN0Piogb2JqZWN0ID0gSlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0
aWJsZU9iamVjdD46OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+Y2FsbGJhY2tP
YmplY3RTdHJ1Y3R1cmUoKSwganNDbGFzcywgZGF0YSk7CisgICAgSlNDYWxsYmFja09iamVjdDxK
U05vbkZpbmFsT2JqZWN0Piogb2JqZWN0ID0gSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2Jq
ZWN0Pjo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja09iamVjdFN0
cnVjdHVyZSgpLCBqc0NsYXNzLCBkYXRhKTsKICAgICBpZiAoSlNPYmplY3QqIHByb3RvdHlwZSA9
IGpzQ2xhc3MtPnByb3RvdHlwZShnbG9iYWxPYmplY3QpKQogICAgICAgICBvYmplY3QtPnNldFBy
b3RvdHlwZURpcmVjdCh2bSwgcHJvdG90eXBlKTsKIApAQCAtNTY3LDggKzU2Nyw4IEBAIHZvaWQq
IEpTT2JqZWN0R2V0UHJpdmF0ZShKU09iamVjdFJlZiBvYmplY3QpCiAKICAgICBpZiAoY2xhc3NJ
bmZvLT5pc1N1YkNsYXNzT2YoSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46OmluZm8o
KSkpCiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFs
T2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZSgpOwotICAgIGlmIChjbGFzc0luZm8tPmlz
U3ViQ2xhc3NPZihKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6aW5mbygp
KSkKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVj
dGlibGVPYmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2YXRlKCk7CisgICAgaWYgKGNsYXNzSW5m
by0+aXNTdWJDbGFzc09mKEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD46OmluZm8o
KSkpCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmlu
YWxPYmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2YXRlKCk7CiAjaWYgSlNDX09CSkNfQVBJX0VO
QUJMRUQKICAgICBpZiAoY2xhc3NJbmZvLT5pc1N1YkNsYXNzT2YoSlNDYWxsYmFja09iamVjdDxK
U0FQSVdyYXBwZXJPYmplY3Q+OjppbmZvKCkpKQogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2
YXRlKCk7CkBAIC01OTQsOCArNTk0LDggQEAgYm9vbCBKU09iamVjdFNldFByaXZhdGUoSlNPYmpl
Y3RSZWYgb2JqZWN0LCB2b2lkKiBkYXRhKQogICAgICAgICBzdGF0aWNfY2FzdDxKU0NhbGxiYWNr
T2JqZWN0PEpTR2xvYmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+c2V0UHJpdmF0ZShkYXRhKTsKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIGlmIChjbGFzc0luZm8tPmlzU3ViQ2xhc3NP
ZihKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6aW5mbygpKSkgewotICAg
ICAgICBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pio+
KGpzT2JqZWN0KS0+c2V0UHJpdmF0ZShkYXRhKTsKKyAgICBpZiAoY2xhc3NJbmZvLT5pc1N1YkNs
YXNzT2YoSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6aW5mbygpKSkgeworICAg
ICAgICBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Kj4oanNP
YmplY3QpLT5zZXRQcml2YXRlKGRhdGEpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAj
aWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKQEAgLTYyNCw4ICs2MjQsOCBAQCBKU1ZhbHVlUmVmIEpT
T2JqZWN0R2V0UHJpdmF0ZVByb3BlcnR5KEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIG9i
amVjdCwgSlNTdAogCiAgICAgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0
PEpTR2xvYmFsT2JqZWN0Pj4odm0pKQogICAgICAgICByZXN1bHQgPSBqc0Nhc3Q8SlNDYWxsYmFj
a09iamVjdDxKU0dsb2JhbE9iamVjdD4qPihqc09iamVjdCktPmdldFByaXZhdGVQcm9wZXJ0eShu
YW1lKTsKLSAgICBlbHNlIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxK
U0Rlc3RydWN0aWJsZU9iamVjdD4+KHZtKSkKLSAgICAgICAgcmVzdWx0ID0ganNDYXN0PEpTQ2Fs
bGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2YXRl
UHJvcGVydHkobmFtZSk7CisgICAgZWxzZSBpZiAoanNPYmplY3QtPmluaGVyaXRzPEpTQ2FsbGJh
Y2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4+KHZtKSkKKyAgICAgICAgcmVzdWx0ID0ganNDYXN0
PEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4qPihqc09iamVjdCktPmdldFByaXZh
dGVQcm9wZXJ0eShuYW1lKTsKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAogICAgIGVsc2UgaWYg
KGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4+
KHZtKSkKICAgICAgICAgcmVzdWx0ID0ganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFw
cGVyT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZVByb3BlcnR5KG5hbWUpOwpAQCAtNjUw
LDggKzY1MCw4IEBAIGJvb2wgSlNPYmplY3RTZXRQcml2YXRlUHJvcGVydHkoSlNDb250ZXh0UmVm
IGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBKU1N0cmluZ1JlCiAgICAgICAgIGpzQ2FzdDxKU0Nh
bGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+c2V0UHJpdmF0ZVByb3Bl
cnR5KHZtLCBuYW1lLCBqc1ZhbHVlKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAg
IGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9i
amVjdD4+KHZtKSkgewotICAgICAgICBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0
aWJsZU9iamVjdD4qPihqc09iamVjdCktPnNldFByaXZhdGVQcm9wZXJ0eSh2bSwgbmFtZSwganNW
YWx1ZSk7CisgICAgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTTm9u
RmluYWxPYmplY3Q+Pih2bSkpIHsKKyAgICAgICAganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNO
b25GaW5hbE9iamVjdD4qPihqc09iamVjdCktPnNldFByaXZhdGVQcm9wZXJ0eSh2bSwgbmFtZSwg
anNWYWx1ZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNpZiBKU0NfT0JKQ19BUElf
RU5BQkxFRApAQCAtNjc5LDggKzY3OSw4IEBAIGJvb2wgSlNPYmplY3REZWxldGVQcml2YXRlUHJv
cGVydHkoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBKU1N0cmluCiAgICAg
ICAgIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+
ZGVsZXRlUHJpdmF0ZVByb3BlcnR5KG5hbWUpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9
Ci0gICAgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3Rp
YmxlT2JqZWN0Pj4odm0pKSB7Ci0gICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTRGVz
dHJ1Y3RpYmxlT2JqZWN0Pio+KGpzT2JqZWN0KS0+ZGVsZXRlUHJpdmF0ZVByb3BlcnR5KG5hbWUp
OworICAgIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFs
T2JqZWN0Pj4odm0pKSB7CisgICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmlu
YWxPYmplY3Q+Kj4oanNPYmplY3QpLT5kZWxldGVQcml2YXRlUHJvcGVydHkobmFtZSk7CiAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgIH0KICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5jcHAKaW5kZXggZjViNjUwZTNkNDA3YTI2YTY1
NTBjNjRmYmRlNjQzMTQxZDJhMzBhNS4uZmIxNmM0ZDU2M2RiZDc1NjZmOWYwYjBjMmQ5YjJhNzVi
N2QyNzZkMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVm
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuY3BwCkBAIC0y
MTAsOCArMjEwLDggQEAgYm9vbCBKU1ZhbHVlSXNPYmplY3RPZkNsYXNzKEpTQ29udGV4dFJlZiBj
dHgsIEpTVmFsdWVSZWYgdmFsdWUsIEpTQ2xhc3NSZWYganNDbGEKIAogICAgICAgICBpZiAoby0+
aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4+KHZtKSkKICAgICAgICAg
ICAgIHJldHVybiBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4qPihvKS0+
aW5oZXJpdHMoanNDbGFzcyk7Ci0gICAgICAgIGlmIChvLT5pbmhlcml0czxKU0NhbGxiYWNrT2Jq
ZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pj4odm0pKQotICAgICAgICAgICAgcmV0dXJuIGpzQ2Fz
dDxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pio+KG8pLT5pbmhlcml0cyhq
c0NsYXNzKTsKKyAgICAgICAgaWYgKG8tPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25G
aW5hbE9iamVjdD4+KHZtKSkKKyAgICAgICAgICAgIHJldHVybiBqc0Nhc3Q8SlNDYWxsYmFja09i
amVjdDxKU05vbkZpbmFsT2JqZWN0Pio+KG8pLT5pbmhlcml0cyhqc0NsYXNzKTsKICNpZiBKU0Nf
T0JKQ19BUElfRU5BQkxFRAogICAgICAgICBpZiAoby0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVj
dDxKU0FQSVdyYXBwZXJPYmplY3Q+Pih2bSkpCiAgICAgICAgICAgICByZXR1cm4ganNDYXN0PEpT
Q2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pio+KG8pLT5pbmhlcml0cyhqc0NsYXNz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFw
UmVmUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTV2Vha09iamVjdE1h
cFJlZlByaXZhdGUuY3BwCmluZGV4IGQyYzUzN2E4YTAxNDFiMjJkZDM0YmY4OTg0YTM5YzYzMGU5
ZWJmNDYuLjIzZTI1MWY2ODQ0MmMwZTFlODIzNWRjYjIzOWJmNzE0NTRjNDdlOWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtPYmplY3RNYXBSZWZQcml2
YXRlLmNwcApAQCAtNjQsNyArNjQsNyBAQCB2b2lkIEpTV2Vha09iamVjdE1hcFNldChKU0NvbnRl
eHRSZWYgY3R4LCBKU1dlYWtPYmplY3RNYXBSZWYgbWFwLCB2b2lkKiBrZXksIEpTTwogICAgICAg
ICByZXR1cm47CiAgICAgQVNTRVJUKG9iai0+aW5oZXJpdHM8SlNQcm94eT4odm0pCiAgICAgICAg
IHx8IG9iai0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4+KHZtKQot
ICAgICAgICB8fCBvYmotPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVP
YmplY3Q+Pih2bSkpOworICAgICAgICB8fCBvYmotPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8
SlNOb25GaW5hbE9iamVjdD4+KHZtKSk7CiAgICAgbWFwLT5tYXAoKS5zZXQoa2V5LCBvYmopOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNBUElXcmFw
cGVyR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0FQ
SVdyYXBwZXJHbG9iYWxPYmplY3QuY3BwCmluZGV4IDZhZTE5NDViMmZlYzQwZGZjYzhjYjc0N2My
N2NmNjgwNTEwOWExYjIuLmIyODY1NDVkZmVkYzg5MGI3YzFkMWJlMjdkODgzMTkzMjNmYjZmNzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0FQSVdyYXBwZXJH
bG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0FQ
SVdyYXBwZXJHbG9iYWxPYmplY3QuY3BwCkBAIC01OCw2ICs1OCwxOSBAQCB0ZW1wbGF0ZSA8PiBj
b25zdCBDbGFzc0luZm8gSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJHbG9iYWxPYmplY3Q+
OjpzX2luZm8gPQogCiB0ZW1wbGF0ZTw+IGNvbnN0IGJvb2wgSlNDYWxsYmFja09iamVjdDxKU0FQ
SVdyYXBwZXJHbG9iYWxPYmplY3Q+OjpuZWVkc0Rlc3RydWN0aW9uID0gZmFsc2U7CiAKK3RlbXBs
YXRlIDw+CitJc29TdWJzcGFjZSogSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJHbG9iYWxP
YmplY3Q+OjpzdWJzcGFjZUZvckltcGwoVk0mIHZtLCBTdWJzcGFjZUFjY2VzcyBtb2RlKQorewor
ICAgIHN3aXRjaCAobW9kZSkgeworICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVh
ZDoKKyAgICAgICAgcmV0dXJuIHZtLmNhbGxiYWNrQVBJV3JhcHBlckdsb2JhbE9iamVjdFNwYWNl
PFN1YnNwYWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ+KCk7CisgICAgY2FzZSBTdWJzcGFjZUFjY2Vz
czo6Q29uY3VycmVudGx5OgorICAgICAgICByZXR1cm4gdm0uY2FsbGJhY2tBUElXcmFwcGVyR2xv
YmFsT2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6OkNvbmN1cnJlbnRseT4oKTsKKyAgICB9Cisg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30K
KwogdGVtcGxhdGUgPD4KIFN0cnVjdHVyZSogSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJH
bG9iYWxPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCosIEpT
VmFsdWUgcHJvdG8pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2ds
aWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L2dsaWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmgKaW5kZXggZDU0YTllY2QwZWZhYWYwYTc5
ZWE0MmUzZmI5N2Q2MDYwNjI1Mjg0ZC4uNmEzNDg5OTQ3YjJhMzA4NTc2NGZhZmUxYjgwNWYxNTgw
NTkwMWMwOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQVBJ
V3JhcHBlckdsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xp
Yi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuaApAQCAtMzMsNyArMzMsMTAgQEAgbmFtZXNwYWNl
IEpTQyB7CiAKIGNsYXNzIEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0dsb2Jh
bE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU0dsb2JhbE9iamVjdCBCYXNlOworICAg
IHVzaW5nIEJhc2UgPSBKU0dsb2JhbE9iamVjdDsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lLCBT
dWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgdm9pZCBzdWJzcGFjZUZvcihWTSYpIHsgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYp
OwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgSlNDOjpTbG90VmlzaXRv
ciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
Y3BwCmluZGV4IDQ0MWIzMDRhNGRkMzZjNzRkMjIzNDM3N2NkNjM2MDMxYWU3MTEyM2IuLmY1OWM3
YWMwMTNlOGQ5MmFmZDZkYTMyYTY4YWNjN2UzNjZhYTQ3ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTY3MCw3ICs2NzAsNyBA
QCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICAgICAgfSk7CiAgICAgbV9j
YWxsYmFja09iamVjdFN0cnVjdHVyZS5pbml0TGF0ZXIoCiAgICAgICAgIFtdIChjb25zdCBJbml0
aWFsaXplcjxTdHJ1Y3R1cmU+JiBpbml0KSB7Ci0gICAgICAgICAgICBpbml0LnNldChKU0NhbGxi
YWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKGluaXQudm0s
IGluaXQub3duZXIsIGluaXQub3duZXItPm1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSk7CisgICAg
ICAgICAgICBpbml0LnNldChKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVh
dGVTdHJ1Y3R1cmUoaW5pdC52bSwgaW5pdC5vd25lciwgaW5pdC5vd25lci0+bV9vYmplY3RQcm90
b3R5cGUuZ2V0KCkpKTsKICAgICAgICAgfSk7CiAKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJp
YWJsZU9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRl
ZFZhcmlhYmxlT2JqZWN0LmNwcAppbmRleCBjNzUwNzA1ZTEyYjMxNTNiZDFmYjA3ZjhmNmUyYzM5
NjliNmU5NmQ2Li5mYWE3ZWQwZTY1ZGQ3NGZmMDk0MWMxODE2YzZhYmM1MzU5NzdjY2JjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxl
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRl
ZFZhcmlhYmxlT2JqZWN0LmNwcApAQCAtMTE5LDcgKzExOSw3IEBAIHZvaWQgSlNTZWdtZW50ZWRW
YXJpYWJsZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtKTsKICAgICBzZXRTeW1ib2xUYWJsZSh2bSwgU3ltYm9sVGFibGU6OmNyZWF0ZSh2
bSkpOwogICAgIHZtLmhlYXAuYWRkRmluYWxpemVyKHRoaXMsIFtdIChKU0NlbGwqIGNlbGwpIHsK
LSAgICAgICAgc3RhdGljX2Nhc3Q8SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCo+KGNlbGwpLT5j
bGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZGVzdHJveShjZWxsKTsKKyAgICAgICAgc3RhdGljX2Nh
c3Q8SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCo+KGNlbGwpLT5tX2NsYXNzSW5mby0+bWV0aG9k
VGFibGUuZGVzdHJveShjZWxsKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5oCmluZGV4
IDBhMTI4NDgyMjdmZmIxOWY3MTBlOTEyZDU1MmI5ZjkwNDU1NTM2NDEuLjUzNWZjMzQyNzdlNmMx
MWZmMTY3ZTc2MTJlMjkyNDNlYzI3NGE2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmgKQEAgLTk2LDcg
Kzk2LDcgQEAgY2xhc3MgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCA6IHB1YmxpYyBKU1N5bWJv
bFRhYmxlT2JqZWN0IHsKICAgICAKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwog
ICAgIAotICAgIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9j
bGFzc0luZm87IH0KKyAgICBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbyhWTSYpIGNvbnN0IHsg
cmV0dXJuIG1fY2xhc3NJbmZvOyB9CiAgICAgCiBwcm90ZWN0ZWQ6CiAgICAgSlNTZWdtZW50ZWRW
YXJpYWJsZU9iamVjdChWTSYsIFN0cnVjdHVyZSosIEpTU2NvcGUqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1ZNLmNwcAppbmRleCBhNDgxODgyM2JkZjdlNmFkYTg5Y2RmZjY5OTE0ODdlMzMz
NWI4OGI1Li44OWI2NjcyMDNjZjgzNmYzN2FlMDIyZmRhNjljMmEzYjcyODZhN2M1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCkBAIC03OCw3ICs3OCw5IEBACiAjaW5jbHVkZSAi
SXNvSGVhcENlbGxUeXBlLmgiCiAjaW5jbHVkZSAiSklUQ29kZS5oIgogI2luY2x1ZGUgIkpJVFdv
cmtsaXN0LmgiCisjaW5jbHVkZSAiSlNBUElHbG9iYWxPYmplY3QuaCIKICNpbmNsdWRlICJKU0FQ
SVZhbHVlV3JhcHBlci5oIgorI2luY2x1ZGUgIkpTQVBJV3JhcHBlck9iamVjdC5oIgogI2luY2x1
ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyLmgiCiAjaW5jbHVkZSAiSlNB
cnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgiCkBAIC04Niw3ICs4OCw5IEBACiAjaW5jbHVkZSAiSlNC
aWdJbnQuaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxp
bmVzLmgiCisjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiSlND
YWxsYmFja0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNDYWxsYmFja09iamVjdC5oIgogI2luY2x1
ZGUgIkpTQ2FsbGVlLmgiCiAjaW5jbHVkZSAiSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbi5o
IgogI2luY2x1ZGUgIkpTRGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlLmgiCkBAIC0xMzIs
NyArMTM2LDYgQEAKICNpbmNsdWRlICJOYXRpdmVFeGVjdXRhYmxlLmgiCiAjaW5jbHVkZSAiTm9k
ZXMuaCIKICNpbmNsdWRlICJOdW1iZXJPYmplY3QuaCIKLSNpbmNsdWRlICJPYmpDQ2FsbGJhY2tG
dW5jdGlvbi5oIgogI2luY2x1ZGUgIlBhcnNlci5oIgogI2luY2x1ZGUgIlByZWRpY3Rpb25GaWxl
Q3JlYXRpbmdGdXp6ZXJBZ2VudC5oIgogI2luY2x1ZGUgIlByb2ZpbGVyRGF0YWJhc2UuaCIKQEAg
LTE5Myw3ICsxOTYsMTIgQEAKICNpbmNsdWRlICJSZWdFeHAuaCIKICNlbmRpZgogCisjaWYgSlND
X09CSkNfQVBJX0VOQUJMRUQKKyNpbmNsdWRlICJPYmpDQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2Vu
ZGlmCisKICNpZmRlZiBKU0NfR0xJQl9BUElfRU5BQkxFRAorI2luY2x1ZGUgIkpTQVBJV3JhcHBl
ckdsb2JhbE9iamVjdC5oIgogI2luY2x1ZGUgIkpTQ0NhbGxiYWNrRnVuY3Rpb24uaCIKICNlbmRp
ZgogCkBAIC0yOTMsNiArMzAxLDggQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhl
YXBUeXBlKQogICAgICwgaW1tdXRhYmxlQnV0dGVyZmx5SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8
SGVhcENlbGxUeXBlPihDZWxsQXR0cmlidXRlcyhEb2VzTm90TmVlZERlc3RydWN0aW9uLCBIZWFw
Q2VsbDo6SlNDZWxsV2l0aEludGVyaW9yUG9pbnRlcnMpKSkKICAgICAsIGNlbGxIZWFwQ2VsbFR5
cGUobWFrZVVuaXF1ZTxIZWFwQ2VsbFR5cGU+KENlbGxBdHRyaWJ1dGVzKERvZXNOb3ROZWVkRGVz
dHJ1Y3Rpb24sIEhlYXBDZWxsOjpKU0NlbGwpKSkKICAgICAsIGRlc3RydWN0aWJsZUNlbGxIZWFw
Q2VsbFR5cGUobWFrZVVuaXF1ZTxIZWFwQ2VsbFR5cGU+KENlbGxBdHRyaWJ1dGVzKE5lZWRzRGVz
dHJ1Y3Rpb24sIEhlYXBDZWxsOjpKU0NlbGwpKSkKKyAgICAsIGNhbGxiYWNrQ29uc3RydWN0b3JI
ZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNDYWxsYmFja0NvbnN0cnVj
dG9yPj4oKSkKKyAgICAsIGNhbGxiYWNrT2JqZWN0SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNv
SGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4+PigpKQogICAg
ICwgZGF0ZUluc3RhbmNlSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPERh
dGVJbnN0YW5jZT4+KCkpCiAgICAgLCBlcnJvckluc3RhbmNlSGVhcENlbGxUeXBlKG1ha2VVbmlx
dWU8SXNvSGVhcENlbGxUeXBlPEVycm9ySW5zdGFuY2U+PigpKQogICAgICwganNNb2R1bGVSZWNv
cmRIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNNb2R1bGVSZWNvcmQ+
PigpKQpAQCAtMzAzLDYgKzMxMyw3IEBAIFZNOjpWTShWTVR5cGUgdm1UeXBlLCBIZWFwVHlwZSBo
ZWFwVHlwZSkKICAgICAsIHdlYWtTZXRIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2Vs
bFR5cGU8SlNXZWFrU2V0Pj4oKSkKICAgICAsIGRlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlw
ZShtYWtlVW5pcXVlPEpTRGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlPigpKQogI2lmIEpT
Q19PQkpDX0FQSV9FTkFCTEVECisgICAgLCBhcGlXcmFwcGVyT2JqZWN0SGVhcENlbGxUeXBlKG1h
a2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2Jq
ZWN0Pj4+KCkpCiAgICAgLCBvYmpDQ2FsbGJhY2tGdW5jdGlvbkhlYXBDZWxsVHlwZShtYWtlVW5p
cXVlPElzb0hlYXBDZWxsVHlwZTxPYmpDQ2FsbGJhY2tGdW5jdGlvbj4+KCkpCiAjZW5kaWYKICNp
ZmRlZiBKU0NfR0xJQl9BUElfRU5BQkxFRApAQCAtMTM2MSwxMiArMTM3MiwxNyBAQCB2b2lkIFZN
OjplbnN1cmVTaGFkb3dDaGlja2VuKCkKICAgICB9CiAKIAorRFlOQU1JQ19JU09fU1VCU1BBQ0Vf
REVGSU5FX01FTUJFUl9TTE9XKGFwaUdsb2JhbE9iamVjdFNwYWNlLCBjZWxsSGVhcENlbGxUeXBl
LmdldCgpLCBKU0FQSUdsb2JhbE9iamVjdCkKK0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9N
RU1CRVJfU0xPVyhhcGlWYWx1ZVdyYXBwZXJTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwg
SlNBUElWYWx1ZVdyYXBwZXIpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NM
T1coYXJyYXlCdWZmZXJTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNBcnJheUJ1ZmZl
cikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhhc3luY0dlbmVyYXRv
clNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0FzeW5jR2VuZXJhdG9yKQogRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGJpZ0ludE9iamVjdFNwYWNlLCBjZWxs
SGVhcENlbGxUeXBlLmdldCgpLCBCaWdJbnRPYmplY3QpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9E
RUZJTkVfTUVNQkVSX1NMT1coYm9vbGVhbk9iamVjdFNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdl
dCgpLCBCb29sZWFuT2JqZWN0KQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9T
TE9XKGJvdW5kRnVuY3Rpb25TcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNCb3VuZEZ1
bmN0aW9uKSAvLyBIYXNoOjB4ZDc5MTZkNDEKK0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9N
RU1CRVJfU0xPVyhjYWxsYmFja0NvbnN0cnVjdG9yU3BhY2UsIGNhbGxiYWNrQ29uc3RydWN0b3JI
ZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQ2FsbGJhY2tDb25zdHJ1Y3RvcikKK0RZTkFNSUNfSVNPX1NV
QlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhjYWxsYmFja0dsb2JhbE9iamVjdFNwYWNlLCBjZWxs
SGVhcENlbGxUeXBlLmdldCgpLCBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0PikKIERZ
TkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhjYWxsYmFja0Z1bmN0aW9uU3Bh
Y2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQ2FsbGJhY2tGdW5jdGlvbikgLy8gSGFzaDow
eGU3NjQ4ZWJjCitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coY2FsbGJh
Y2tPYmplY3RTcGFjZSwgY2FsbGJhY2tPYmplY3RIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQ2FsbGJh
Y2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4pCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVf
TUVNQkVSX1NMT1coY3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb25TcGFjZSwgY2VsbEhlYXBDZWxs
VHlwZS5nZXQoKSwgSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbikgLy8gSGFzaDoweDE4MDkx
MDAwCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coZGF0YVZpZXdTcGFj
ZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNEYXRhVmlldykKIERZTkFNSUNfSVNPX1NVQlNQ
QUNFX0RFRklORV9NRU1CRVJfU0xPVyhlcnJvckluc3RhbmNlU3BhY2UsIGVycm9ySW5zdGFuY2VI
ZWFwQ2VsbFR5cGUuZ2V0KCksIEVycm9ySW5zdGFuY2UpIC8vIEhhc2g6MHgzZjQwZDRhCkBAIC0x
Mzk4LDEwICsxNDE0LDEyIEBAIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xP
Vyh3ZWFrTWFwU3BhY2UsIHdlYWtNYXBIZWFwQ2VsbFR5cGUuZ2V0KCksCiBEWU5BTUlDX0lTT19T
VUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1cod2Vha1NldFNwYWNlLCB3ZWFrU2V0SGVhcENlbGxU
eXBlLmdldCgpLCBKU1dlYWtTZXQpIC8vIEhhc2g6MHg0Yzc4MWIzMAogRFlOQU1JQ19JU09fU1VC
U1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKHdlYWtPYmplY3RSZWZTcGFjZSwgY2VsbEhlYXBDZWxs
VHlwZS5nZXQoKSwgSlNXZWFrT2JqZWN0UmVmKSAvLyBIYXNoOjB4OGVjNjhmMWYKICNpZiBKU0Nf
T0JKQ19BUElfRU5BQkxFRAorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9X
KGFwaVdyYXBwZXJPYmplY3RTcGFjZSwgYXBpV3JhcHBlck9iamVjdEhlYXBDZWxsVHlwZS5nZXQo
KSwgSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+KQogRFlOQU1JQ19JU09fU1VC
U1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKG9iakNDYWxsYmFja0Z1bmN0aW9uU3BhY2UsIG9iakND
YWxsYmFja0Z1bmN0aW9uSGVhcENlbGxUeXBlLmdldCgpLCBPYmpDQ2FsbGJhY2tGdW5jdGlvbikg
Ly8gSGFzaDoweDEwZjYxMGI4CiAjZW5kaWYKICNpZmRlZiBKU0NfR0xJQl9BUElfRU5BQkxFRAog
RFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGpzY0NhbGxiYWNrRnVuY3Rp
b25TcGFjZSwganNjQ2FsbGJhY2tGdW5jdGlvbkhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDQ2FsbGJh
Y2tGdW5jdGlvbikKK0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhjYWxs
YmFja0FQSVdyYXBwZXJHbG9iYWxPYmplY3RTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwg
SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJHbG9iYWxPYmplY3Q+KQogI2VuZGlmCiAjaWYg
RU5BQkxFKElOVEwpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coaW50
bENvbGxhdG9yU3BhY2UsIGludGxDb2xsYXRvckhlYXBDZWxsVHlwZS5nZXQoKSwgSW50bENvbGxh
dG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKaW5kZXggZWRkYmZjNTVlYmI2OGJhNzAy
YTIzNzdkMzQ3MDJlODVjNjdlNDdiMC4uYzZlZGQxMWMzMmEyMWYzOGU0MTM0NDA5ZTBjNmFkMmUz
YmNkZmFlNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCkBAIC0xMjYsMTMgKzEyNiwx
NiBAQCBjbGFzcyBJbnRsQ29sbGF0b3I7CiBjbGFzcyBJbnRsRGF0ZVRpbWVGb3JtYXQ7CiBjbGFz
cyBJbnRsTnVtYmVyRm9ybWF0OwogY2xhc3MgSW50bFBsdXJhbFJ1bGVzOworY2xhc3MgSlNBUElX
cmFwcGVyT2JqZWN0OwogY2xhc3MgSlNDQ2FsbGJhY2tGdW5jdGlvbjsKK2NsYXNzIEpTQ2FsbGJh
Y2tDb25zdHJ1Y3RvcjsKIGNsYXNzIEpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb247CiBjbGFz
cyBKU0Rlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZTsKIGNsYXNzIEpTR2xvYmFsT2JqZWN0
OwogY2xhc3MgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3Q7CiBjbGFzcyBKU01vZHVsZVJlY29yZDsK
IGNsYXNzIEpTTmF0aXZlU3RkRnVuY3Rpb247CitjbGFzcyBKU05vbkZpbmFsT2JqZWN0OwogY2xh
c3MgSlNPYmplY3Q7CiBjbGFzcyBKU1Byb21pc2U7CiBjbGFzcyBKU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3I7CkBAIC0xODIsNiArMTg1LDcgQEAgY2xhc3MgV2ViQXNzZW1ibHlGdW5jdGlvbjsKIGNs
YXNzIFdlYkFzc2VtYmx5TW9kdWxlUmVjb3JkOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlw
ZT4gY2xhc3MgSXNvSGVhcENlbGxUeXBlOwordGVtcGxhdGU8dHlwZW5hbWUgUGFyZW50PiBjbGFz
cyBKU0NhbGxiYWNrT2JqZWN0OwogCiAjaWYgRU5BQkxFKEZUTF9KSVQpCiBuYW1lc3BhY2UgRlRM
IHsKQEAgLTM1OSw2ICszNjMsOCBAQCBjbGFzcyBWTSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291
bnRlZDxWTT4sIHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxWTT4gewogICAgIHN0ZDo6dW5p
cXVlX3B0cjxIZWFwQ2VsbFR5cGU+IGltbXV0YWJsZUJ1dHRlcmZseUhlYXBDZWxsVHlwZTsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8SGVhcENlbGxUeXBlPiBjZWxsSGVhcENlbGxUeXBlOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxIZWFwQ2VsbFR5cGU+IGRlc3RydWN0aWJsZUNlbGxIZWFwQ2VsbFR5cGU7
CisgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxKU0NhbGxiYWNrQ29uc3RydWN0
b3I+PiBjYWxsYmFja0NvbnN0cnVjdG9ySGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0
cjxJc29IZWFwQ2VsbFR5cGU8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pj4+IGNh
bGxiYWNrT2JqZWN0SGVhcENlbGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2Vs
bFR5cGU8RGF0ZUluc3RhbmNlPj4gZGF0ZUluc3RhbmNlSGVhcENlbGxUeXBlOwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8RXJyb3JJbnN0YW5jZT4+IGVycm9ySW5zdGFuY2VI
ZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxKU01vZHVs
ZVJlY29yZD4+IGpzTW9kdWxlUmVjb3JkSGVhcENlbGxUeXBlOwpAQCAtMzY5LDYgKzM3NSw3IEBA
IGNsYXNzIFZNIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJs
eUxpbmtlZExpc3ROb2RlPFZNPiB7CiAgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlw
ZTxKU1dlYWtTZXQ+PiB3ZWFrU2V0SGVhcENlbGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxK
U0Rlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZT4gZGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENl
bGxUeXBlOwogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECisgICAgc3RkOjp1bmlxdWVfcHRyPElz
b0hlYXBDZWxsVHlwZTxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4+PiBhcGlX
cmFwcGVyT2JqZWN0SGVhcENlbGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2Vs
bFR5cGU8T2JqQ0NhbGxiYWNrRnVuY3Rpb24+PiBvYmpDQ2FsbGJhY2tGdW5jdGlvbkhlYXBDZWxs
VHlwZTsKICNlbmRpZgogI2lmZGVmIEpTQ19HTElCX0FQSV9FTkFCTEVECkBAIC00NTgsMTcgKzQ2
NSwyNSBAQCBjbGFzcyBWTSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWTT4sIHB1Ymxp
YyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxWTT4gewogCiAKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxF
RAorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXBpV3JhcHBlck9iamVj
dFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIob2JqQ0NhbGxi
YWNrRnVuY3Rpb25TcGFjZSkKICNlbmRpZgogI2lmZGVmIEpTQ19HTElCX0FQSV9FTkFCTEVECisg
ICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhcGlXcmFwcGVyT2JqZWN0U3Bh
Y2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihqc2NDYWxsYmFja0Z1
bmN0aW9uU3BhY2UpCisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihjYWxs
YmFja0FQSVdyYXBwZXJHbG9iYWxPYmplY3RTcGFjZSkKICNlbmRpZgorICAgIERZTkFNSUNfSVNP
X1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXBpR2xvYmFsT2JqZWN0U3BhY2UpCisgICAgRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhcGlWYWx1ZVdyYXBwZXJTcGFjZSkKICAgICBE
WU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFycmF5QnVmZmVyU3BhY2UpCiAgICAg
RFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhc3luY0dlbmVyYXRvclNwYWNlKQog
ICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYmlnSW50T2JqZWN0U3BhY2Up
CiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihib29sZWFuT2JqZWN0U3Bh
Y2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihib3VuZEZ1bmN0aW9u
U3BhY2UpCisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihjYWxsYmFja0Nv
bnN0cnVjdG9yU3BhY2UpCisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihj
YWxsYmFja0dsb2JhbE9iamVjdFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklO
RV9NRU1CRVIoY2FsbGJhY2tGdW5jdGlvblNwYWNlKQorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNF
X0RFRklORV9NRU1CRVIoY2FsbGJhY2tPYmplY3RTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJT
UEFDRV9ERUZJTkVfTUVNQkVSKGN1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uU3BhY2UpCiAgICAg
RFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihkYXRhVmlld1NwYWNlKQogICAgIERZ
TkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoZXJyb3JJbnN0YW5jZVNwYWNlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4
IDYwYTM0Y2Y5YmNhMGJlMzNhNmY5MjE2OTU1MGU5NDFjM2Y2YWYyMDMuLjYzODM5ZDFjNDVhOGJl
NGM4OGY0NDg5OTdjYmVjNzJhZjMyZGEzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKQEAgLTE0OSw3ICsxNDksNyBAQCB2b2lkIEpT
RE9NR2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKICAgICBhZGRCdWlsdGlu
R2xvYmFscyh2bSk7CiAKLSAgICBSRUxFQVNFX0FTU0VSVChjbGFzc0luZm8oKSk7CisgICAgUkVM
RUFTRV9BU1NFUlQoY2xhc3NJbmZvKHZtKSk7CiB9CiAKIHZvaWQgSlNET01HbG9iYWxPYmplY3Q6
OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIHRoaXNWYWx1ZSkKQEAgLTE1OSw3ICsx
NTksNyBAQCB2b2lkIEpTRE9NR2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpT
T2JqZWN0KiB0aGlzVmFsdWUpCiAKICAgICBhZGRCdWlsdGluR2xvYmFscyh2bSk7CiAKLSAgICBS
RUxFQVNFX0FTU0VSVChjbGFzc0luZm8oKSk7CisgICAgUkVMRUFTRV9BU1NFUlQoY2xhc3NJbmZv
KHZtKSk7CiB9CiAKIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIEpTRE9NR2xvYmFsT2JqZWN0Ojpz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdyYXBwZXIuY3BwCmluZGV4IDA1NmJkYmQyZGYxZTNmM2E0NDZkMTc5OWEzMTI5YTcz
OWY4MGNjYzUuLjc3MzZkMGNmZDNmYzZjOTY4NTU1M2QyZDU2MGE4OTlhY2ZjNTczODEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcApAQCAtNDEsNyArNDEs
NyBAQCBTVEFUSUNfQVNTRVJUX0lTX1RSSVZJQUxMWV9ERVNUUlVDVElCTEUoSlNET01PYmplY3Qp
OwogSlNET01PYmplY3Q6OkpTRE9NT2JqZWN0KEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpT
Qzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKICAgICA6IEJhc2UoZ2xvYmFsT2JqZWN0
LnZtKCksIHN0cnVjdHVyZSkKIHsKLSAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
IHx8IGdsb2JhbE9iamVjdC5jbGFzc0luZm8oKSA9PSBKU1JlbW90ZURPTVdpbmRvdzo6aW5mbygp
KTsKKyAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIHx8IGdsb2JhbE9iamVjdC5j
bGFzc0luZm8oZ2xvYmFsT2JqZWN0LnZtKCkpID09IEpTUmVtb3RlRE9NV2luZG93OjppbmZvKCkp
OwogfQogCiBKU0M6OkNvbXBsZXRlU3Vic3BhY2UqIG91dHB1dENvbnN0cmFpbnRTdWJzcGFjZUZv
cihKU0M6OlZNJiB2bSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
V2luZG93UHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXaW5kb3dQcm94
eS5jcHAKaW5kZXggN2FjOGY3OTQxNGRlZGQwYTZkNjk0NWQxNDhmMjhlOGJkMjcxMzQ2Ni4uZGI3
MDMxYWNkYWIzYWVjNmI3NzdkNzY4MzE1OTU2ZTQzYTNmMGJiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXaW5kb3dQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNXaW5kb3dQcm94eS5jcHAKQEAgLTc1LDcgKzc1LDcgQEAgdm9pZCBK
U1dpbmRvd1Byb3h5OjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKIAogdm9pZCBKU1dpbmRvd1Byb3h5
OjpzZXRXaW5kb3coVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgd2luZG93KQogewotICAgIEFT
U0VSVCh3aW5kb3cuY2xhc3NJbmZvKCkgPT0gSlNET01XaW5kb3c6OmluZm8oKSB8fCB3aW5kb3cu
Y2xhc3NJbmZvKCkgPT0gSlNSZW1vdGVET01XaW5kb3c6OmluZm8oKSk7CisgICAgQVNTRVJUKHdp
bmRvdy5jbGFzc0luZm8odm0pID09IEpTRE9NV2luZG93OjppbmZvKCkgfHwgd2luZG93LmNsYXNz
SW5mbyh2bSkgPT0gSlNSZW1vdGVET01XaW5kb3c6OmluZm8oKSk7CiAgICAgc2V0VGFyZ2V0KHZt
LCAmd2luZG93KTsKICAgICBzdHJ1Y3R1cmUodm0pLT5zZXRHbG9iYWxPYmplY3Qodm0sICZ3aW5k
b3cpOwogICAgIEdDQ29udHJvbGxlcjo6c2luZ2xldG9uKCkuZ2FyYmFnZUNvbGxlY3RTb29uKCk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385349</attachid>
            <date>2019-12-10 22:12:46 -0800</date>
            <delta_ts>2019-12-10 22:12:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205097-20191210221245.patch</filename>
            <type>text/plain</type>
            <size>36626</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZTQ5YTFjMWM1ODU2ZmYxZGIyYjhhMGJmZTU0OGY1M2I3YTVjZWU1Li41ZGI2MDM0NDEzMTkzNjlk
NDRmYTE2NWJmNWNlYjU2MzlmYmM1YjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NyBAQAorMjAxOS0xMi0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFB1dCBhbGwgQVBJIHJlbGF0ZWQgSlMgY2VsbHMgaW50byBJc29T
dWJzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgVGhpcyBw
YXRjaCBwdXRzIEFQSSByZWxhdGVkIEpTIGNlbGxzIGludG8gSXNvU3Vic3BhY2UuCisKKyAgICAg
ICAgKiBBUEkvSlNBUElHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNBUElHbG9iYWxP
YmplY3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTQVBJR2xvYmFsT2JqZWN0
OjpjcmVhdGVTdHJ1Y3R1cmUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKU0FQSUdsb2JhbE9i
amVjdDo6SlNBUElHbG9iYWxPYmplY3QpOiBEZWxldGVkLgorICAgICAgICAqIEFQSS9KU0FQSVZh
bHVlV3JhcHBlci5oOgorICAgICAgICAqIEFQSS9KU0FQSVdyYXBwZXJPYmplY3QuaDoKKyAgICAg
ICAgKEpTQzo6SlNBUElXcmFwcGVyT2JqZWN0OjpzdWJzcGFjZUZvcik6CisgICAgICAgICogQVBJ
L0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tDb25z
dHJ1Y3Rvcjo6SlNDYWxsYmFja0NvbnN0cnVjdG9yKToKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFj
a0NvbnN0cnVjdG9yLmg6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwOgorICAg
ICAgICAoSlNDOjpKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVhdGVTdHJ1
Y3R1cmUpOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+
OjpzdWJzcGFjZUZvckltcGwpOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrT2JqZWN0PEpTR2xv
YmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09i
amVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwpOgorICAgICAgICAoSlND
OjpKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja09iamVjdC5oOgorICAgICAgICAq
IEFQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmg6CisgICAgICAgIChKU0M6OkpTQ2FsbGJh
Y2tPYmplY3Q8UGFyZW50Pjo6aW5pdCk6CisgICAgICAgICogQVBJL0pTQ2xhc3NSZWYuY3BwOgor
ICAgICAgICAoT3BhcXVlSlNDbGFzczo6cHJvdG90eXBlKToKKyAgICAgICAgKiBBUEkvSlNPYmpl
Y3RSZWYuY3BwOgorICAgICAgICAoSlNPYmplY3RNYWtlKToKKyAgICAgICAgKEpTT2JqZWN0R2V0
UHJpdmF0ZSk6CisgICAgICAgIChKU09iamVjdFNldFByaXZhdGUpOgorICAgICAgICAoSlNPYmpl
Y3RHZXRQcml2YXRlUHJvcGVydHkpOgorICAgICAgICAoSlNPYmplY3RTZXRQcml2YXRlUHJvcGVy
dHkpOgorICAgICAgICAoSlNPYmplY3REZWxldGVQcml2YXRlUHJvcGVydHkpOgorICAgICAgICAq
IEFQSS9KU1ZhbHVlUmVmLmNwcDoKKyAgICAgICAgKEpTVmFsdWVJc09iamVjdE9mQ2xhc3MpOgor
ICAgICAgICAqIEFQSS9KU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcDoKKyAgICAgICAgKiBB
UEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0Nh
bGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdD46OnN1YnNwYWNlRm9ySW1wbCk6
CisgICAgICAgICogQVBJL2dsaWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0Lmg6CisgICAgICAg
IChKU0M6OkpTQVBJV3JhcHBlckdsb2JhbE9iamVjdDo6c3Vic3BhY2VGb3IpOgorICAgICAgICAq
IHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVj
dDo6aW5pdCk6CisgICAgICAgICogcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNw
cDoKKyAgICAgICAgKEpTQzo6SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdDo6ZmluaXNoQ3JlYXRp
b24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5oOgorICAg
ICAgICAoSlNDOjpKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0OjpjbGFzc0luZm8gY29uc3QpOgor
ICAgICAgICAqIHJ1bnRpbWUvVk0uY3BwOgorICAgICAgICAoSlNDOjpWTTo6Vk0pOgorICAgICAg
ICAqIHJ1bnRpbWUvVk0uaDoKKwogMjAxOS0xMi0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lA
YXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIEFkaG9jbHkgY3JlYXRlZCBDYWxsTGlua0luZm8g
aW4gR2V0dGVyU2V0dGVyQWNjZXNzIHNob3VsZCBiZSBvd25lZCBieSBHQ0F3YXJlSklUU3R1YlJv
dXRpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCA3YzJkODFjY2YxYmYyM2EyMDRhNWMwN2FjZTgxNzEwYTMzYjM5
ZWYzLi5hZDAyNzc2Mzg3ODFkZWMwZjEwMDUxMzlkNjljY2NmMjE1MGY4MmI1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMTItMTAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFw
cGxlLmNvbT4KKworICAgICAgICBbSlNDXSBQdXQgYWxsIEFQSSByZWxhdGVkIEpTIGNlbGxzIGlu
dG8gSXNvU3Vic3BhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNTA5NworCisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgTGFtLgorCisgICAgICAg
ICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNET01HbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0RPTVdyYXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01PYmplY3Q6OkpTRE9N
T2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dpbmRvd1Byb3h5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTV2luZG93UHJveHk6OnNldFdpbmRvdyk6CisKIDIwMTktMTItMTAgIEZ1
amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1dpbl0g
Rml4IE1TVkMgd2FybmluZyBDNDcwMTogcG90ZW50aWFsbHkgdW5pbml0aWFsaXplZCBsb2NhbCB2
YXJpYWJsZSAneCcgdXNlZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0FQSUdsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSUdsb2Jh
bE9iamVjdC5oCmluZGV4IDRiM2JiMTVjZGYwYTVjNDZiNGZlOTVkZWE2YWEwOWUyMDZiNDE5MWUu
LjYwZjZmNjZlNmRjNGUxNTJlZThmNTY5YzU4ZmRlZDM1MDg1YzE0NGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJR2xvYmFsT2JqZWN0LmgKQEAgLTMxLDEzICszMSwxOSBA
QCBPQkpDX0NMQVNTIEpTU2NyaXB0OwogCiBuYW1lc3BhY2UgSlNDIHsKIAotY2xhc3MgSlNBUElH
bG9iYWxPYmplY3QgOiBwdWJsaWMgSlNHbG9iYWxPYmplY3QgeworY2xhc3MgSlNBUElHbG9iYWxP
YmplY3QgZmluYWwgOiBwdWJsaWMgSlNHbG9iYWxPYmplY3QgewogcHVibGljOgogICAgIHVzaW5n
IEJhc2UgPSBKU0dsb2JhbE9iamVjdDsKIAogICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAgICAg
c3RhdGljIGNvbnN0IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlIHNfZ2xvYmFsT2JqZWN0TWV0aG9k
VGFibGU7CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3Mg
bW9kZT4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7
CisgICAgICAgIHJldHVybiB2bS5hcGlHbG9iYWxPYmplY3RTcGFjZTxtb2RlPigpOworICAgIH0K
KwogICAgIHN0YXRpYyBKU0FQSUdsb2JhbE9iamVjdCogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUpCiAgICAgewogICAgICAgICBhdXRvKiBvYmplY3QgPSBuZXcgKE5vdE51bGws
IGFsbG9jYXRlQ2VsbDxKU0FQSUdsb2JhbE9iamVjdD4odm0uaGVhcCkpIEpTQVBJR2xvYmFsT2Jq
ZWN0KHZtLCBzdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU0FQSVZhbHVlV3JhcHBlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVZh
bHVlV3JhcHBlci5oCmluZGV4IDQxZjUwOWQzNjRhYmM4NDQzYzRlODFlNDYwNzMxYzYxNzlkMDQy
ZDkuLjFmNzgyMjllMGM4MGRiNGNkNjM0NjBmZjYyMTMzOTcwMTRkYmZkOWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1ZVdyYXBwZXIuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJVmFsdWVXcmFwcGVyLmgKQEAgLTMyLDkgKzMyLDE1
IEBAIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgSlNBUElWYWx1ZVdyYXBwZXIgZmluYWwgOiBwdWJs
aWMgSlNDZWxsIHsKICAgICBmcmllbmQgSlNWYWx1ZSBqc0FQSVZhbHVlV3JhcHBlcihKU0dsb2Jh
bE9iamVjdCosIEpTVmFsdWUpOwogcHVibGljOgotICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7Cisg
ICAgdXNpbmcgQmFzZSA9IEpTQ2VsbDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0
cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFs
OwogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzIG1vZGU+
CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAg
ICAgICByZXR1cm4gdm0uYXBpVmFsdWVXcmFwcGVyU3BhY2U8bW9kZT4oKTsKKyAgICB9CisKICAg
ICBKU1ZhbHVlIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZS5nZXQoKTsgfQogCiAgICAg
c3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQVBJV3JhcHBlck9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0FQSVdyYXBwZXJPYmplY3QuaAppbmRleCBkZDg3NGRjNjVlZTdlYWEzYzUyNGZk
MGYzMjRjYjNlYTg3MTdhMWJjLi5mM2I5OGRjYTE3MmFjZDQ3MDc4MjNiODIzYWVkYWFkN2FjOTcz
ZmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJV3JhcHBlck9i
amVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElXcmFwcGVyT2JqZWN0
LmgKQEAgLTMzLDkgKzMzLDEyIEBACiAKIG5hbWVzcGFjZSBKU0MgewogICAgIAotY2xhc3MgSlNB
UElXcmFwcGVyT2JqZWN0IDogcHVibGljIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IHsKK2NsYXNzIEpT
QVBJV3JhcHBlck9iamVjdCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKIHB1YmxpYzoKLSAg
ICB0eXBlZGVmIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEpT
Tm9uRmluYWxPYmplY3Q7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSwgU3Vic3BhY2VBY2Nlc3M+
CisgICAgc3RhdGljIHZvaWQgc3Vic3BhY2VGb3IoVk0mKSB7IFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7IH0KICAgICAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiAgICAgc3Rh
dGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBKU0M6OlNsb3RWaXNpdG9yJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAK
aW5kZXggMDcwZDc1ZDU4ZGExNTY4MDg2OWEwZjU4ZDZhYjQ0ZjEyMmM1MTE5Yi4uNDlmNGNlNzZl
ZGUxZWFlOGVkMDJkNWYzZjFiZjdkMDk0ZjcxOWZmNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcApAQCAtMzksNyArMzksNyBA
QCBuYW1lc3BhY2UgSlNDIHsKIGNvbnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrQ29uc3RydWN0b3I6
OnNfaW5mbyA9IHsgIkNhbGxiYWNrQ29uc3RydWN0b3IiLCAmQmFzZTo6c19pbmZvLCBudWxscHRy
LCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQ2FsbGJhY2tDb25zdHJ1Y3RvcikgfTsK
IAogSlNDYWxsYmFja0NvbnN0cnVjdG9yOjpKU0NhbGxiYWNrQ29uc3RydWN0b3IoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQ2xhc3NSZWYganND
bGFzcywgSlNPYmplY3RDYWxsQXNDb25zdHJ1Y3RvckNhbGxiYWNrIGNhbGxiYWNrKQotICAgIDog
SlNEZXN0cnVjdGlibGVPYmplY3QoZ2xvYmFsT2JqZWN0LT52bSgpLCBzdHJ1Y3R1cmUpCisgICAg
OiBCYXNlKGdsb2JhbE9iamVjdC0+dm0oKSwgc3RydWN0dXJlKQogICAgICwgbV9jbGFzcyhqc0Ns
YXNzKQogICAgICwgbV9jYWxsYmFjayhjYWxsYmFjaykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oCmluZGV4IDI1OTI4ZmJhZmRmYzc4
NmE2NDJlNjEyODRlMWM0ZTMzNjkwYjI2N2QuLmU1NzI1OTQwMjM2YTlhMmVhMDk0NjAyYjk3MTE0
ODcyNmI2YTZmZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxs
YmFja0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxi
YWNrQ29uc3RydWN0b3IuaApAQCAtMjYsMTUgKzI2LDIxIEBACiAjaWZuZGVmIEpTQ2FsbGJhY2tD
b25zdHJ1Y3Rvcl9oCiAjZGVmaW5lIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcl9oCiAKLSNpbmNsdWRl
ICJKU0Rlc3RydWN0aWJsZU9iamVjdC5oIgogI2luY2x1ZGUgIkpTT2JqZWN0UmVmLmgiCiAKIG5h
bWVzcGFjZSBKU0MgewogCi1jbGFzcyBKU0NhbGxiYWNrQ29uc3RydWN0b3IgZmluYWwgOiBwdWJs
aWMgSlNEZXN0cnVjdGlibGVPYmplY3QgeworY2xhc3MgSlNDYWxsYmFja0NvbnN0cnVjdG9yIGZp
bmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogcHVibGljOgotICAgIHR5cGVkZWYgSlNE
ZXN0cnVjdGlibGVPYmplY3QgQmFzZTsKKyAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVj
dDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6
U3RydWN0dXJlRmxhZ3MgfCBJbXBsZW1lbnRzSGFzSW5zdGFuY2UgfCBJbXBsZW1lbnRzRGVmYXVs
dEhhc0luc3RhbmNlOworICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBuZWVkc0Rlc3RydWN0aW9u
ID0gdHJ1ZTsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vz
cyBtb2RlPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIHZtLmNhbGxiYWNrQ29uc3RydWN0b3JTcGFjZTxtb2RlPigpOwor
ICAgIH0KIAogICAgIHN0YXRpYyBKU0NhbGxiYWNrQ29uc3RydWN0b3IqIGNyZWF0ZShKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNDbGFzc1JlZiBj
bGFzc1JlZiwgSlNPYmplY3RDYWxsQXNDb25zdHJ1Y3RvckNhbGxiYWNrIGNhbGxiYWNrKSAKICAg
ICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmpl
Y3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcApp
bmRleCBjYjYzZjQ5NjM5MDhiNzFiOTVjNDUzZGRiZThiNmE3NDExMDY3MTRjLi40OWJkMDNlMDQ1
MjlmNWFkM2RkNTRmOWZmODVkZTRjYjZlNWUyNGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAKQEAgLTM0LDEwICszNCwxMCBAQAogbmFtZXNw
YWNlIEpTQyB7CiAKIC8vIERlZmluZSB0aGUgdHdvIHR5cGVzIG9mIEpTQ2FsbGJhY2tPYmplY3Rz
IHdlIHN1cHBvcnQuCi10ZW1wbGF0ZSA8PiBjb25zdCBDbGFzc0luZm8gSlNDYWxsYmFja09iamVj
dDxKU0Rlc3RydWN0aWJsZU9iamVjdD46OnNfaW5mbyA9IHsgIkNhbGxiYWNrT2JqZWN0IiwgJkJh
c2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0NhbGxi
YWNrT2JqZWN0KSB9OwordGVtcGxhdGUgPD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNOb25GaW5hbE9iamVjdD46OnNfaW5mbyA9IHsgIkNhbGxiYWNrT2JqZWN0IiwgJkJhc2U6
OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0NhbGxiYWNr
T2JqZWN0KSB9OwogdGVtcGxhdGUgPD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8
SlNHbG9iYWxPYmplY3Q+OjpzX2luZm8gPSB7ICJDYWxsYmFja0dsb2JhbE9iamVjdCIsICZCYXNl
OjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFj
a09iamVjdCkgfTsKIAotdGVtcGxhdGU8PiBjb25zdCBib29sIEpTQ2FsbGJhY2tPYmplY3Q8SlNE
ZXN0cnVjdGlibGVPYmplY3Q+OjpuZWVkc0Rlc3RydWN0aW9uID0gdHJ1ZTsKK3RlbXBsYXRlPD4g
Y29uc3QgYm9vbCBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpuZWVkc0Rlc3Ry
dWN0aW9uID0gdHJ1ZTsKIHRlbXBsYXRlPD4gY29uc3QgYm9vbCBKU0NhbGxiYWNrT2JqZWN0PEpT
R2xvYmFsT2JqZWN0Pjo6bmVlZHNEZXN0cnVjdGlvbiA9IGZhbHNlOwogCiB0ZW1wbGF0ZTw+CkBA
IC00OSw3ICs0OSw3IEBAIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+KiBKU0NhbGxi
YWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6Y3JlYXRlKFZNJiB2CiB9CiAKIHRlbXBsYXRlIDw+
Ci1TdHJ1Y3R1cmUqIEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjpjcmVh
dGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVl
IHByb3RvKQorU3RydWN0dXJlKiBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Ojpj
cmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1Zh
bHVlIHByb3RvKQogeyAKICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9i
amVjdCwgcHJvdG8sIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygp
KTsgCiB9CkBAIC02MCw0ICs2MCw0MyBAQCBTdHJ1Y3R1cmUqIEpTQ2FsbGJhY2tPYmplY3Q8SlNH
bG9iYWxPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iagogICAgIHJl
dHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90bywgVHlwZUluZm8o
R2xvYmFsT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOyAKIH0KIAordGVtcGxh
dGUgPD4KK0lzb1N1YnNwYWNlKiBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Ojpz
dWJzcGFjZUZvckltcGwoVk0mIHZtLCBTdWJzcGFjZUFjY2VzcyBtb2RlKQoreworICAgIHN3aXRj
aCAobW9kZSkgeworICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZDoKKyAgICAg
ICAgcmV0dXJuIHZtLmNhbGxiYWNrT2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRo
cmVhZD4oKTsKKyAgICBjYXNlIFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk6CisgICAgICAg
IHJldHVybiB2bS5jYWxsYmFja09iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50
bHk+KCk7CisgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0
dXJuIG51bGxwdHI7Cit9CisKK3RlbXBsYXRlIDw+CitJc29TdWJzcGFjZSogSlNDYWxsYmFja09i
amVjdDxKU0dsb2JhbE9iamVjdD46OnN1YnNwYWNlRm9ySW1wbChWTSYgdm0sIFN1YnNwYWNlQWNj
ZXNzIG1vZGUpCit7CisgICAgc3dpdGNoIChtb2RlKSB7CisgICAgY2FzZSBTdWJzcGFjZUFjY2Vz
czo6T25NYWluVGhyZWFkOgorICAgICAgICByZXR1cm4gdm0uY2FsbGJhY2tHbG9iYWxPYmplY3RT
cGFjZTxTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkPigpOworICAgIGNhc2UgU3Vic3BhY2VB
Y2Nlc3M6OkNvbmN1cnJlbnRseToKKyAgICAgICAgcmV0dXJuIHZtLmNhbGxiYWNrR2xvYmFsT2Jq
ZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6OkNvbmN1cnJlbnRseT4oKTsKKyAgICB9CisgICAgUkVM
RUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwordGVt
cGxhdGUgPD4KK0lzb1N1YnNwYWNlKiBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVj
dD46OnN1YnNwYWNlRm9ySW1wbChWTSYgdm0sIFN1YnNwYWNlQWNjZXNzIG1vZGUpCit7CisgICAg
c3dpdGNoIChtb2RlKSB7CisgICAgY2FzZSBTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkOgor
ICAgICAgICByZXR1cm4gdm0uYXBpV3JhcHBlck9iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpP
bk1haW5UaHJlYWQ+KCk7CisgICAgY2FzZSBTdWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5Ogor
ICAgICAgICByZXR1cm4gdm0uYXBpV3JhcHBlck9iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpD
b25jdXJyZW50bHk+KCk7CisgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAppbmRleCA0ZjVmNGI2ZjUzNTFm
Mzg0NjQ0N2YyYzAwZTY3OWMzNWU4YTA0YWI4Li4wMzRiMzU3YzA3MzhlMzQ5MTI1ODg1OGQ3MDY5
ODlmZWZjYjQ4MzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2Fs
bGJhY2tPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tP
YmplY3QuaApAQCAtMTMxLDcgKzEzMSw3IEBAIGNsYXNzIEpTQ2FsbGJhY2tPYmplY3QgZmluYWwg
OiBwdWJsaWMgUGFyZW50IHsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiAKIHB1Ymxp
YzoKLSAgICB0eXBlZGVmIFBhcmVudCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBQYXJlbnQ7CiAg
ICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVj
dHVyZUZsYWdzIHwgUHJvaGliaXRzUHJvcGVydHlDYWNoaW5nIHwgT3ZlcnJpZGVzR2V0T3duUHJv
cGVydHlTbG90IHwgSW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxl
bmd0aElzTm90WmVybyB8IEltcGxlbWVudHNIYXNJbnN0YW5jZSB8IE92ZXJyaWRlc0dldFByb3Bl
cnR5TmFtZXMgfCBPdmVycmlkZXNHZXRDYWxsRGF0YTsKICAgICBzdGF0aWNfYXNzZXJ0KCEoU3Ry
dWN0dXJlRmxhZ3MgJiBJbXBsZW1lbnRzRGVmYXVsdEhhc0luc3RhbmNlKSwgInVzaW5nIGN1c3Rv
bUhhc0luc3RhbmNlIik7CiAKQEAgLTE1Myw2ICsxNTMsMTIgQEAgY2xhc3MgSlNDYWxsYmFja09i
amVjdCBmaW5hbCA6IHB1YmxpYyBQYXJlbnQgewogICAgICAgICBzdGF0aWNfY2FzdDxKU0NhbGxi
YWNrT2JqZWN0Kj4oY2VsbCktPkpTQ2FsbGJhY2tPYmplY3Q6On5KU0NhbGxiYWNrT2JqZWN0KCk7
CiAgICAgfQogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNz
IG1vZGU+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAg
eworICAgICAgICByZXR1cm4gc3Vic3BhY2VGb3JJbXBsKHZtLCBtb2RlKTsKKyAgICB9CisKICAg
ICB2b2lkIHNldFByaXZhdGUodm9pZCogZGF0YSk7CiAgICAgdm9pZCogZ2V0UHJpdmF0ZSgpOwog
CkBAIC0xODQsNiArMTkwLDcgQEAgY2xhc3MgSlNDYWxsYmFja09iamVjdCBmaW5hbCA6IHB1Ymxp
YyBQYXJlbnQgewogICAgIHVzaW5nIFBhcmVudDo6bWV0aG9kVGFibGU7CiAKIHByaXZhdGU6Cisg
ICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvckltcGwoVk0mLCBTdWJzcGFjZUFjY2Vz
cyk7CiAgICAgc3RhdGljIFN0cmluZyBjbGFzc05hbWUoY29uc3QgSlNPYmplY3QqLCBWTSYpOwog
ICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmdOYW1lKGNvbnN0IEpTT2JqZWN0KiwgSlNHbG9iYWxP
YmplY3QqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxi
YWNrT2JqZWN0RnVuY3Rpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJh
Y2tPYmplY3RGdW5jdGlvbnMuaAppbmRleCBhMDI5OTUyNWQ1OGY5NDllMWFmOWEwZDQxM2NlZjI5
Nzk1YTg0YWUyLi44ZTc5NjJjODA5NGNlNWRjOWQ5YTFhNTRmNjkyN2Q0ZjIzODcxODcxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlv
bnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5j
dGlvbnMuaApAQCAtMTI1LDcgKzEyNSw3IEBAIHZvaWQgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+
Ojppbml0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgICAgIGluaXRpYWxpemUo
dG9SZWYoZ2xvYmFsT2JqZWN0KSwgdG9SZWYoanNDYXN0PEpTT2JqZWN0Kj4odGhpcykpKTsKICAg
ICB9CiAgICAgCi0gICAgbV9jbGFzc0luZm8gPSB0aGlzLT5jbGFzc0luZm8oKTsKKyAgICBtX2Ns
YXNzSW5mbyA9IHRoaXMtPmNsYXNzSW5mbyhnZXRWTShnbG9iYWxPYmplY3QpKTsKIH0KIAogdGVt
cGxhdGUgPGNsYXNzIFBhcmVudD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNDbGFzc1JlZi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2xhc3NSZWYu
Y3BwCmluZGV4IDRjMTI2ZTQ0OGY2NzFhMTMyOTM2YzhiOGU1OTEzNDczNDc4NmVmY2UuLjkyZGY2
MzhlMTVlZTc3MmY5YmRjMTI2YzEwZjQ3ODAxY2JmNmNkYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0NsYXNzUmVmLmNwcApAQCAtMTkwLDcgKzE5MCw3IEBAIEpTT2JqZWN0KiBPcGFx
dWVKU0NsYXNzOjpwcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAg
ICAgcmV0dXJuIHByb3RvdHlwZTsKIAogICAgIC8vIFJlY3Vyc2l2ZSwgYnV0IHNob3VsZCBiZSBn
b29kIGVub3VnaCBmb3Igb3VyIHB1cnBvc2VzCi0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IEpT
Q2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjpjcmVhdGUoZ2xvYmFsT2JqZWN0
LCBnbG9iYWxPYmplY3QtPmNhbGxiYWNrT2JqZWN0U3RydWN0dXJlKCksIHByb3RvdHlwZUNsYXNz
LCAmanNDbGFzc0RhdGEpOyAvLyBzZXQganNDbGFzc0RhdGEgYXMgdGhlIG9iamVjdCdzIHByaXZh
dGUgZGF0YSwgc28gaXQgY2FuIGNsZWFyIG91ciByZWZlcmVuY2Ugb24gZGVzdHJ1Y3Rpb24KKyAg
ICBKU09iamVjdCogcHJvdG90eXBlID0gSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0
Pjo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja09iamVjdFN0cnVj
dHVyZSgpLCBwcm90b3R5cGVDbGFzcywgJmpzQ2xhc3NEYXRhKTsgLy8gc2V0IGpzQ2xhc3NEYXRh
IGFzIHRoZSBvYmplY3QncyBwcml2YXRlIGRhdGEsIHNvIGl0IGNhbiBjbGVhciBvdXIgcmVmZXJl
bmNlIG9uIGRlc3RydWN0aW9uCiAgICAgaWYgKHBhcmVudENsYXNzKSB7CiAgICAgICAgIGlmIChK
U09iamVjdCogcGFyZW50UHJvdG90eXBlID0gcGFyZW50Q2xhc3MtPnByb3RvdHlwZShnbG9iYWxP
YmplY3QpKQogICAgICAgICAgICAgcHJvdG90eXBlLT5zZXRQcm90b3R5cGVEaXJlY3QoZ2xvYmFs
T2JqZWN0LT52bSgpLCBwYXJlbnRQcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTT2JqZWN0UmVmLmNwcAppbmRleCBiNGJmZWZlMDU4NzU3NWQ5MWY2YmUxYjQxYTExNzNkNWMz
NmI0ZWRjLi5mN2Y5ZGFiM2YyOGFkYzBlYWJiMmJkZThiMjUwNjc3MmFkMjVmZmNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcApAQCAtOTYsNyArOTYsNyBAQCBK
U09iamVjdFJlZiBKU09iamVjdE1ha2UoSlNDb250ZXh0UmVmIGN0eCwgSlNDbGFzc1JlZiBqc0Ns
YXNzLCB2b2lkKiBkYXRhKQogICAgIGlmICghanNDbGFzcykKICAgICAgICAgcmV0dXJuIHRvUmVm
KGNvbnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9iamVjdCkpOwogCi0gICAgSlNDYWxsYmFja09i
amVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD4qIG9iamVjdCA9IEpTQ2FsbGJhY2tPYmplY3Q8SlNE
ZXN0cnVjdGlibGVPYmplY3Q+OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPmNh
bGxiYWNrT2JqZWN0U3RydWN0dXJlKCksIGpzQ2xhc3MsIGRhdGEpOworICAgIEpTQ2FsbGJhY2tP
YmplY3Q8SlNOb25GaW5hbE9iamVjdD4qIG9iamVjdCA9IEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25G
aW5hbE9iamVjdD46OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+Y2FsbGJhY2tP
YmplY3RTdHJ1Y3R1cmUoKSwganNDbGFzcywgZGF0YSk7CiAgICAgaWYgKEpTT2JqZWN0KiBwcm90
b3R5cGUgPSBqc0NsYXNzLT5wcm90b3R5cGUoZ2xvYmFsT2JqZWN0KSkKICAgICAgICAgb2JqZWN0
LT5zZXRQcm90b3R5cGVEaXJlY3Qodm0sIHByb3RvdHlwZSk7CiAKQEAgLTU2Nyw4ICs1NjcsOCBA
QCB2b2lkKiBKU09iamVjdEdldFByaXZhdGUoSlNPYmplY3RSZWYgb2JqZWN0KQogCiAgICAgaWYg
KGNsYXNzSW5mby0+aXNTdWJDbGFzc09mKEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+
OjppbmZvKCkpKQogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxK
U0dsb2JhbE9iamVjdD4qPihqc09iamVjdCktPmdldFByaXZhdGUoKTsKLSAgICBpZiAoY2xhc3NJ
bmZvLT5pc1N1YkNsYXNzT2YoSlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD46
OmluZm8oKSkpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpT
RGVzdHJ1Y3RpYmxlT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZSgpOworICAgIGlmIChj
bGFzc0luZm8tPmlzU3ViQ2xhc3NPZihKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+
OjppbmZvKCkpKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxK
U05vbkZpbmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZSgpOwogI2lmIEpTQ19PQkpD
X0FQSV9FTkFCTEVECiAgICAgaWYgKGNsYXNzSW5mby0+aXNTdWJDbGFzc09mKEpTQ2FsbGJhY2tP
YmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pjo6aW5mbygpKSkKICAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pio+KGpzT2JqZWN0KS0+
Z2V0UHJpdmF0ZSgpOwpAQCAtNTk0LDggKzU5NCw4IEBAIGJvb2wgSlNPYmplY3RTZXRQcml2YXRl
KEpTT2JqZWN0UmVmIG9iamVjdCwgdm9pZCogZGF0YSkKICAgICAgICAgc3RhdGljX2Nhc3Q8SlND
YWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4qPihqc09iamVjdCktPnNldFByaXZhdGUoZGF0
YSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICBpZiAoY2xhc3NJbmZvLT5pc1N1
YkNsYXNzT2YoSlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD46OmluZm8oKSkp
IHsKLSAgICAgICAgc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9i
amVjdD4qPihqc09iamVjdCktPnNldFByaXZhdGUoZGF0YSk7CisgICAgaWYgKGNsYXNzSW5mby0+
aXNTdWJDbGFzc09mKEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD46OmluZm8oKSkp
IHsKKyAgICAgICAgc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0
Pio+KGpzT2JqZWN0KS0+c2V0UHJpdmF0ZShkYXRhKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECkBAIC02MjQsOCArNjI0LDggQEAgSlNWYWx1
ZVJlZiBKU09iamVjdEdldFByaXZhdGVQcm9wZXJ0eShKU0NvbnRleHRSZWYgY3R4LCBKU09iamVj
dFJlZiBvYmplY3QsIEpTU3QKIAogICAgIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFj
a09iamVjdDxKU0dsb2JhbE9iamVjdD4+KHZtKSkKICAgICAgICAgcmVzdWx0ID0ganNDYXN0PEpT
Q2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2YXRlUHJv
cGVydHkobmFtZSk7Ci0gICAgZWxzZSBpZiAoanNPYmplY3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tP
YmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Pih2bSkpCi0gICAgICAgIHJlc3VsdCA9IGpzQ2Fz
dDxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0
UHJpdmF0ZVByb3BlcnR5KG5hbWUpOworICAgIGVsc2UgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxK
U0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Pih2bSkpCisgICAgICAgIHJlc3VsdCA9
IGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5n
ZXRQcml2YXRlUHJvcGVydHkobmFtZSk7CiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKICAgICBl
bHNlIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJP
YmplY3Q+Pih2bSkpCiAgICAgICAgIHJlc3VsdCA9IGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpT
QVBJV3JhcHBlck9iamVjdD4qPihqc09iamVjdCktPmdldFByaXZhdGVQcm9wZXJ0eShuYW1lKTsK
QEAgLTY1MCw4ICs2NTAsOCBAQCBib29sIEpTT2JqZWN0U2V0UHJpdmF0ZVByb3BlcnR5KEpTQ29u
dGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgSlNTdHJpbmdSZQogICAgICAgICBqc0Nh
c3Q8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4qPihqc09iamVjdCktPnNldFByaXZh
dGVQcm9wZXJ0eSh2bSwgbmFtZSwganNWYWx1ZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KLSAgICBpZiAoanNPYmplY3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVj
dGlibGVPYmplY3Q+Pih2bSkpIHsKLSAgICAgICAganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNE
ZXN0cnVjdGlibGVPYmplY3Q+Kj4oanNPYmplY3QpLT5zZXRQcml2YXRlUHJvcGVydHkodm0sIG5h
bWUsIGpzVmFsdWUpOworICAgIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVj
dDxKU05vbkZpbmFsT2JqZWN0Pj4odm0pKSB7CisgICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNrT2Jq
ZWN0PEpTTm9uRmluYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5zZXRQcml2YXRlUHJvcGVydHkodm0s
IG5hbWUsIGpzVmFsdWUpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAjaWYgSlNDX09C
SkNfQVBJX0VOQUJMRUQKQEAgLTY3OSw4ICs2NzksOCBAQCBib29sIEpTT2JqZWN0RGVsZXRlUHJp
dmF0ZVByb3BlcnR5KEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgSlNTdHJp
bgogICAgICAgICBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4qPihqc09i
amVjdCktPmRlbGV0ZVByaXZhdGVQcm9wZXJ0eShuYW1lKTsKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQotICAgIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0Rl
c3RydWN0aWJsZU9iamVjdD4+KHZtKSkgewotICAgICAgICBqc0Nhc3Q8SlNDYWxsYmFja09iamVj
dDxKU0Rlc3RydWN0aWJsZU9iamVjdD4qPihqc09iamVjdCktPmRlbGV0ZVByaXZhdGVQcm9wZXJ0
eShuYW1lKTsKKyAgICBpZiAoanNPYmplY3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNO
b25GaW5hbE9iamVjdD4+KHZtKSkgeworICAgICAgICBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxK
U05vbkZpbmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+ZGVsZXRlUHJpdmF0ZVByb3BlcnR5KG5hbWUp
OwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuY3BwCmluZGV4IGY1YjY1MGUzZDQw
N2EyNmE2NTUwYzY0ZmJkZTY0MzE0MWQyYTMwYTUuLmZiMTZjNGQ1NjNkYmQ3NTY2ZjlmMGIwYzJk
OWIyYTc1YjdkMjc2ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNW
YWx1ZVJlZi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmNw
cApAQCAtMjEwLDggKzIxMCw4IEBAIGJvb2wgSlNWYWx1ZUlzT2JqZWN0T2ZDbGFzcyhKU0NvbnRl
eHRSZWYgY3R4LCBKU1ZhbHVlUmVmIHZhbHVlLCBKU0NsYXNzUmVmIGpzQ2xhCiAKICAgICAgICAg
aWYgKG8tPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Pih2bSkpCiAg
ICAgICAgICAgICByZXR1cm4ganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+
Kj4obyktPmluaGVyaXRzKGpzQ2xhc3MpOwotICAgICAgICBpZiAoby0+aW5oZXJpdHM8SlNDYWxs
YmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD4+KHZtKSkKLSAgICAgICAgICAgIHJldHVy
biBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD4qPihvKS0+aW5o
ZXJpdHMoanNDbGFzcyk7CisgICAgICAgIGlmIChvLT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0
PEpTTm9uRmluYWxPYmplY3Q+Pih2bSkpCisgICAgICAgICAgICByZXR1cm4ganNDYXN0PEpTQ2Fs
bGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4qPihvKS0+aW5oZXJpdHMoanNDbGFzcyk7CiAj
aWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKICAgICAgICAgaWYgKG8tPmluaGVyaXRzPEpTQ2FsbGJh
Y2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pj4odm0pKQogICAgICAgICAgICAgcmV0dXJuIGpz
Q2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4qPihvKS0+aW5oZXJpdHMo
anNDbGFzcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTV2Vha09i
amVjdE1hcFJlZlByaXZhdGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtP
YmplY3RNYXBSZWZQcml2YXRlLmNwcAppbmRleCBkMmM1MzdhOGEwMTQxYjIyZGQzNGJmODk4NGEz
OWM2MzBlOWViZjQ2Li4yM2UyNTFmNjg0NDJjMGUxZTgyMzVkY2IyMzliZjcxNDU0YzQ3ZTlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTV2Vha09iamVjdE1hcFJlZlBy
aXZhdGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFw
UmVmUHJpdmF0ZS5jcHAKQEAgLTY0LDcgKzY0LDcgQEAgdm9pZCBKU1dlYWtPYmplY3RNYXBTZXQo
SlNDb250ZXh0UmVmIGN0eCwgSlNXZWFrT2JqZWN0TWFwUmVmIG1hcCwgdm9pZCoga2V5LCBKU08K
ICAgICAgICAgcmV0dXJuOwogICAgIEFTU0VSVChvYmotPmluaGVyaXRzPEpTUHJveHk+KHZtKQog
ICAgICAgICB8fCBvYmotPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+
Pih2bSkKLSAgICAgICAgfHwgb2JqLT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1
Y3RpYmxlT2JqZWN0Pj4odm0pKTsKKyAgICAgICAgfHwgb2JqLT5pbmhlcml0czxKU0NhbGxiYWNr
T2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Pih2bSkpOwogICAgIG1hcC0+bWFwKCkuc2V0KGtleSwg
b2JqKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pT
QVBJV3JhcHBlckdsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2ds
aWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmNwcAppbmRleCA2YWUxOTQ1YjJmZWM0MGRmY2M4
Y2I3NDdjMjdjZjY4MDUxMDlhMWIyLi5iMjg2NTQ1ZGZlZGM4OTBiN2MxZDFiZTI3ZDg4MzE5MzIz
ZmI2Zjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNBUElX
cmFwcGVyR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2ds
aWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgsNiArNTgsMTkgQEAgdGVtcGxh
dGUgPD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyR2xvYmFs
T2JqZWN0Pjo6c19pbmZvID0KIAogdGVtcGxhdGU8PiBjb25zdCBib29sIEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0Pjo6bmVlZHNEZXN0cnVjdGlvbiA9IGZhbHNlOwog
Cit0ZW1wbGF0ZSA8PgorSXNvU3Vic3BhY2UqIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVy
R2xvYmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKFZNJiB2bSwgU3Vic3BhY2VBY2Nlc3MgbW9k
ZSkKK3sKKyAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICBjYXNlIFN1YnNwYWNlQWNjZXNzOjpPbk1h
aW5UaHJlYWQ6CisgICAgICAgIHJldHVybiB2bS5jYWxsYmFja0FQSVdyYXBwZXJHbG9iYWxPYmpl
Y3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkPigpOworICAgIGNhc2UgU3Vic3Bh
Y2VBY2Nlc3M6OkNvbmN1cnJlbnRseToKKyAgICAgICAgcmV0dXJuIHZtLmNhbGxiYWNrQVBJV3Jh
cHBlckdsb2JhbE9iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk+KCk7Cisg
ICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKIHRlbXBsYXRlIDw+CiBTdHJ1Y3R1cmUqIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElX
cmFwcGVyR2xvYmFsT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqLCBKU1ZhbHVlIHByb3RvKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9nbGliL0pTQVBJV3JhcHBlckdsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9nbGliL0pTQVBJV3JhcHBlckdsb2JhbE9iamVjdC5oCmluZGV4IGQ1NGE5ZWNkMGVm
YWFmMGE3OWVhNDJlM2ZiOTdkNjA2MDYyNTI4NGQuLjZhMzQ4OTk0N2IyYTMwODU3NjRmYWZlMWI4
MDVmMTU4MDU5MDFjMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xp
Yi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL2dsaWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmgKQEAgLTMzLDcgKzMzLDEwIEBAIG5h
bWVzcGFjZSBKU0MgewogCiBjbGFzcyBKU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QgOiBwdWJsaWMg
SlNHbG9iYWxPYmplY3QgewogcHVibGljOgotICAgIHR5cGVkZWYgSlNHbG9iYWxPYmplY3QgQmFz
ZTsKKyAgICB1c2luZyBCYXNlID0gSlNHbG9iYWxPYmplY3Q7CisKKyAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIHZvaWQgc3Vic3BhY2VGb3IoVk0mKSB7
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mKTsKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIEpTQzo6U2xv
dFZpc2l0b3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmNwcAppbmRleCA0NDFiMzA0YTRkZDM2Yzc0ZDIyMzQzNzdjZDYzNjAzMWFlNzExMjNi
Li5mNTljN2FjMDEzZThkOTJhZmQ2ZGEzMmE2OGFjYzdlMzY2YWE0N2Q5IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC02NzAsNyAr
NjcwLDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgICAgIH0pOwog
ICAgIG1fY2FsbGJhY2tPYmplY3RTdHJ1Y3R1cmUuaW5pdExhdGVyKAogICAgICAgICBbXSAoY29u
c3QgSW5pdGlhbGl6ZXI8U3RydWN0dXJlPiYgaW5pdCkgewotICAgICAgICAgICAgaW5pdC5zZXQo
SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD46OmNyZWF0ZVN0cnVjdHVyZShp
bml0LnZtLCBpbml0Lm93bmVyLCBpbml0Lm93bmVyLT5tX29iamVjdFByb3RvdHlwZS5nZXQoKSkp
OworICAgICAgICAgICAgaW5pdC5zZXQoSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0
Pjo6Y3JlYXRlU3RydWN0dXJlKGluaXQudm0sIGluaXQub3duZXIsIGluaXQub3duZXItPm1fb2Jq
ZWN0UHJvdG90eXBlLmdldCgpKSk7CiAgICAgICAgIH0pOwogCiAjaWYgSlNDX09CSkNfQVBJX0VO
QUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVu
dGVkVmFyaWFibGVPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNT
ZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5jcHAKaW5kZXggYzc1MDcwNWUxMmIzMTUzYmQxZmIwN2Y4
ZjZlMmMzOTY5YjZlOTZkNi4uZmFhN2VkMGU2NWRkNzRmZjA5NDFjMTgxNmM2YWJjNTM1OTc3Y2Ni
YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRW
YXJpYWJsZU9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNT
ZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5jcHAKQEAgLTExOSw3ICsxMTksNyBAQCB2b2lkIEpTU2Vn
bWVudGVkVmFyaWFibGVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKICAgICBCYXNlOjpm
aW5pc2hDcmVhdGlvbih2bSk7CiAgICAgc2V0U3ltYm9sVGFibGUodm0sIFN5bWJvbFRhYmxlOjpj
cmVhdGUodm0pKTsKICAgICB2bS5oZWFwLmFkZEZpbmFsaXplcih0aGlzLCBbXSAoSlNDZWxsKiBj
ZWxsKSB7Ci0gICAgICAgIHN0YXRpY19jYXN0PEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QqPihj
ZWxsKS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxlLmRlc3Ryb3koY2VsbCk7CisgICAgICAgIHN0
YXRpY19jYXN0PEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QqPihjZWxsKS0+bV9jbGFzc0luZm8t
Pm1ldGhvZFRhYmxlLmRlc3Ryb3koY2VsbCk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3Qu
aAppbmRleCAwYTEyODQ4MjI3ZmZiMTlmNzEwZTkxMmQ1NTJiOWY5MDQ1NTUzNjQxLi41MzVmYzM0
Mjc3ZTZjMTFmZjE2N2U3NjEyZTI5MjQzZWMyNzRhNjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5oCkBA
IC05Niw3ICs5Niw3IEBAIGNsYXNzIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgOiBwdWJsaWMg
SlNTeW1ib2xUYWJsZU9iamVjdCB7CiAgICAgCiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0Nl
bGwqKTsKICAgICAKLSAgICBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbygpIGNvbnN0IHsgcmV0
dXJuIG1fY2xhc3NJbmZvOyB9CisgICAgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8oVk0mKSBj
b25zdCB7IHJldHVybiBtX2NsYXNzSW5mbzsgfQogICAgIAogcHJvdGVjdGVkOgogICAgIEpTU2Vn
bWVudGVkVmFyaWFibGVPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqLCBKU1Njb3BlKik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9WTS5jcHAKaW5kZXggYTQ4MTg4MjNiZGY3ZTZhZGE4OWNkZmY2OTkx
NDg3ZTMzMzViODhiNS4uNGRkNTM1NzgzMDQxNjhmOTI5YmEwZDA2YTI2OTliN2UxOGRlMDA1MCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcApAQCAtNzgsNyArNzgsOSBAQAogI2lu
Y2x1ZGUgIklzb0hlYXBDZWxsVHlwZS5oIgogI2luY2x1ZGUgIkpJVENvZGUuaCIKICNpbmNsdWRl
ICJKSVRXb3JrbGlzdC5oIgorI2luY2x1ZGUgIkpTQVBJR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiSlNBUElWYWx1ZVdyYXBwZXIuaCIKKyNpbmNsdWRlICJKU0FQSVdyYXBwZXJPYmplY3QuaCIK
ICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlci5oIgogI2luY2x1
ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgpAQCAtODYsNyArODgsOSBAQAogI2luY2x1
ZGUgIkpTQmlnSW50LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAi
SlNDSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIgogI2luY2x1
ZGUgIkpTQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQ2FsbGJhY2tPYmplY3QuaCIK
ICNpbmNsdWRlICJKU0NhbGxlZS5oIgogI2luY2x1ZGUgIkpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVu
Y3Rpb24uaCIKICNpbmNsdWRlICJKU0Rlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZS5oIgpA
QCAtMTMyLDcgKzEzNiw2IEBACiAjaW5jbHVkZSAiTmF0aXZlRXhlY3V0YWJsZS5oIgogI2luY2x1
ZGUgIk5vZGVzLmgiCiAjaW5jbHVkZSAiTnVtYmVyT2JqZWN0LmgiCi0jaW5jbHVkZSAiT2JqQ0Nh
bGxiYWNrRnVuY3Rpb24uaCIKICNpbmNsdWRlICJQYXJzZXIuaCIKICNpbmNsdWRlICJQcmVkaWN0
aW9uRmlsZUNyZWF0aW5nRnV6emVyQWdlbnQuaCIKICNpbmNsdWRlICJQcm9maWxlckRhdGFiYXNl
LmgiCkBAIC0xOTMsNyArMTk2LDEyIEBACiAjaW5jbHVkZSAiUmVnRXhwLmgiCiAjZW5kaWYKIAor
I2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECisjaW5jbHVkZSAiT2JqQ0NhbGxiYWNrRnVuY3Rpb24u
aCIKKyNlbmRpZgorCiAjaWZkZWYgSlNDX0dMSUJfQVBJX0VOQUJMRUQKKyNpbmNsdWRlICJKU0FQ
SVdyYXBwZXJHbG9iYWxPYmplY3QuaCIKICNpbmNsdWRlICJKU0NDYWxsYmFja0Z1bmN0aW9uLmgi
CiAjZW5kaWYKIApAQCAtMjkzLDYgKzMwMSw4IEBAIFZNOjpWTShWTVR5cGUgdm1UeXBlLCBIZWFw
VHlwZSBoZWFwVHlwZSkKICAgICAsIGltbXV0YWJsZUJ1dHRlcmZseUhlYXBDZWxsVHlwZShtYWtl
VW5pcXVlPEhlYXBDZWxsVHlwZT4oQ2VsbEF0dHJpYnV0ZXMoRG9lc05vdE5lZWREZXN0cnVjdGlv
biwgSGVhcENlbGw6OkpTQ2VsbFdpdGhJbnRlcmlvclBvaW50ZXJzKSkpCiAgICAgLCBjZWxsSGVh
cENlbGxUeXBlKG1ha2VVbmlxdWU8SGVhcENlbGxUeXBlPihDZWxsQXR0cmlidXRlcyhEb2VzTm90
TmVlZERlc3RydWN0aW9uLCBIZWFwQ2VsbDo6SlNDZWxsKSkpCiAgICAgLCBkZXN0cnVjdGlibGVD
ZWxsSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SGVhcENlbGxUeXBlPihDZWxsQXR0cmlidXRlcyhO
ZWVkc0Rlc3RydWN0aW9uLCBIZWFwQ2VsbDo6SlNDZWxsKSkpCisgICAgLCBjYWxsYmFja0NvbnN0
cnVjdG9ySGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tD
b25zdHJ1Y3Rvcj4+KCkpCisgICAgLCBjYWxsYmFja09iamVjdEhlYXBDZWxsVHlwZShtYWtlVW5p
cXVlPElzb0hlYXBDZWxsVHlwZTxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Pj4o
KSkKICAgICAsIGRhdGVJbnN0YW5jZUhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxs
VHlwZTxEYXRlSW5zdGFuY2U+PigpKQogICAgICwgZXJyb3JJbnN0YW5jZUhlYXBDZWxsVHlwZSht
YWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxFcnJvckluc3RhbmNlPj4oKSkKICAgICAsIGpzTW9k
dWxlUmVjb3JkSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPEpTTW9kdWxl
UmVjb3JkPj4oKSkKQEAgLTMwMyw2ICszMTMsNyBAQCBWTTo6Vk0oVk1UeXBlIHZtVHlwZSwgSGVh
cFR5cGUgaGVhcFR5cGUpCiAgICAgLCB3ZWFrU2V0SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNv
SGVhcENlbGxUeXBlPEpTV2Vha1NldD4+KCkpCiAgICAgLCBkZXN0cnVjdGlibGVPYmplY3RIZWFw
Q2VsbFR5cGUobWFrZVVuaXF1ZTxKU0Rlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZT4oKSkK
ICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAorICAgICwgYXBpV3JhcHBlck9iamVjdEhlYXBDZWxs
VHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3Jh
cHBlck9iamVjdD4+PigpKQogICAgICwgb2JqQ0NhbGxiYWNrRnVuY3Rpb25IZWFwQ2VsbFR5cGUo
bWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8T2JqQ0NhbGxiYWNrRnVuY3Rpb24+PigpKQogI2Vu
ZGlmCiAjaWZkZWYgSlNDX0dMSUJfQVBJX0VOQUJMRUQKQEAgLTEzNjEsMTIgKzEzNzIsMTcgQEAg
dm9pZCBWTTo6ZW5zdXJlU2hhZG93Q2hpY2tlbigpCiAgICAgfQogCiAKK0RZTkFNSUNfSVNPX1NV
QlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhhcGlHbG9iYWxPYmplY3RTcGFjZSwgY2VsbEhlYXBD
ZWxsVHlwZS5nZXQoKSwgSlNBUElHbG9iYWxPYmplY3QpCitEWU5BTUlDX0lTT19TVUJTUEFDRV9E
RUZJTkVfTUVNQkVSX1NMT1coYXBpVmFsdWVXcmFwcGVyU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUu
Z2V0KCksIEpTQVBJVmFsdWVXcmFwcGVyKQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01F
TUJFUl9TTE9XKGFycmF5QnVmZmVyU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQXJy
YXlCdWZmZXIpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYXN5bmNH
ZW5lcmF0b3JTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNBc3luY0dlbmVyYXRvcikK
IERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhiaWdJbnRPYmplY3RTcGFj
ZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgQmlnSW50T2JqZWN0KQogRFlOQU1JQ19JU09fU1VC
U1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGJvb2xlYW5PYmplY3RTcGFjZSwgY2VsbEhlYXBDZWxs
VHlwZS5nZXQoKSwgQm9vbGVhbk9iamVjdCkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9N
RU1CRVJfU0xPVyhib3VuZEZ1bmN0aW9uU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpT
Qm91bmRGdW5jdGlvbikgLy8gSGFzaDoweGQ3OTE2ZDQxCitEWU5BTUlDX0lTT19TVUJTUEFDRV9E
RUZJTkVfTUVNQkVSX1NMT1coY2FsbGJhY2tDb25zdHJ1Y3RvclNwYWNlLCBjYWxsYmFja0NvbnN0
cnVjdG9ySGVhcENlbGxUeXBlLmdldCgpLCBKU0NhbGxiYWNrQ29uc3RydWN0b3IpCitEWU5BTUlD
X0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coY2FsbGJhY2tHbG9iYWxPYmplY3RTcGFj
ZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVj
dD4pCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coY2FsbGJhY2tGdW5j
dGlvblNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0NhbGxiYWNrRnVuY3Rpb24pIC8v
IEhhc2g6MHhlNzY0OGViYworRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9X
KGNhbGxiYWNrT2JqZWN0U3BhY2UsIGNhbGxiYWNrT2JqZWN0SGVhcENlbGxUeXBlLmdldCgpLCBK
U0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+KQogRFlOQU1JQ19JU09fU1VCU1BBQ0Vf
REVGSU5FX01FTUJFUl9TTE9XKGN1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uU3BhY2UsIGNlbGxI
ZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb24pIC8vIEhhc2g6
MHgxODA5MTAwMAogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGRhdGFW
aWV3U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTRGF0YVZpZXcpCiBEWU5BTUlDX0lT
T19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coZXJyb3JJbnN0YW5jZVNwYWNlLCBlcnJvcklu
c3RhbmNlSGVhcENlbGxUeXBlLmdldCgpLCBFcnJvckluc3RhbmNlKSAvLyBIYXNoOjB4M2Y0MGQ0
YQpAQCAtMTM5OCwxMCArMTQxNCwxMyBAQCBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVN
QkVSX1NMT1cod2Vha01hcFNwYWNlLCB3ZWFrTWFwSGVhcENlbGxUeXBlLmdldCgpLAogRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKHdlYWtTZXRTcGFjZSwgd2Vha1NldEhl
YXBDZWxsVHlwZS5nZXQoKSwgSlNXZWFrU2V0KSAvLyBIYXNoOjB4NGM3ODFiMzAKIERZTkFNSUNf
SVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyh3ZWFrT2JqZWN0UmVmU3BhY2UsIGNlbGxI
ZWFwQ2VsbFR5cGUuZ2V0KCksIEpTV2Vha09iamVjdFJlZikgLy8gSGFzaDoweDhlYzY4ZjFmCiAj
aWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKK0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1C
RVJfU0xPVyhhcGlXcmFwcGVyT2JqZWN0U3BhY2UsIGFwaVdyYXBwZXJPYmplY3RIZWFwQ2VsbFR5
cGUuZ2V0KCksIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0PikKIERZTkFNSUNf
SVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhvYmpDQ2FsbGJhY2tGdW5jdGlvblNwYWNl
LCBvYmpDQ2FsbGJhY2tGdW5jdGlvbkhlYXBDZWxsVHlwZS5nZXQoKSwgT2JqQ0NhbGxiYWNrRnVu
Y3Rpb24pIC8vIEhhc2g6MHgxMGY2MTBiOAogI2VuZGlmCiAjaWZkZWYgSlNDX0dMSUJfQVBJX0VO
QUJMRUQKK0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhhcGlXcmFwcGVy
T2JqZWN0U3BhY2UsIGFwaVdyYXBwZXJPYmplY3RIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQ2FsbGJh
Y2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0PikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklO
RV9NRU1CRVJfU0xPVyhqc2NDYWxsYmFja0Z1bmN0aW9uU3BhY2UsIGpzY0NhbGxiYWNrRnVuY3Rp
b25IZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQ0NhbGxiYWNrRnVuY3Rpb24pCitEWU5BTUlDX0lTT19T
VUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coY2FsbGJhY2tBUElXcmFwcGVyR2xvYmFsT2JqZWN0
U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFw
cGVyR2xvYmFsT2JqZWN0PikKICNlbmRpZgogI2lmIEVOQUJMRShJTlRMKQogRFlOQU1JQ19JU09f
U1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGludGxDb2xsYXRvclNwYWNlLCBpbnRsQ29sbGF0
b3JIZWFwQ2VsbFR5cGUuZ2V0KCksIEludGxDb2xsYXRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9WTS5oCmluZGV4IGVkZGJmYzU1ZWJiNjhiYTcwMmEyMzc3ZDM0NzAyZTg1YzY3ZTQ3YjAuLmM2
ZWRkMTFjMzJhMjFmMzhlNDEzNDQwOWUwYzZhZDJlM2JjZGZhZTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVk0uaApAQCAtMTI2LDEzICsxMjYsMTYgQEAgY2xhc3MgSW50bENvbGxhdG9yOwog
Y2xhc3MgSW50bERhdGVUaW1lRm9ybWF0OwogY2xhc3MgSW50bE51bWJlckZvcm1hdDsKIGNsYXNz
IEludGxQbHVyYWxSdWxlczsKK2NsYXNzIEpTQVBJV3JhcHBlck9iamVjdDsKIGNsYXNzIEpTQ0Nh
bGxiYWNrRnVuY3Rpb247CitjbGFzcyBKU0NhbGxiYWNrQ29uc3RydWN0b3I7CiBjbGFzcyBKU0N1
c3RvbUdldHRlclNldHRlckZ1bmN0aW9uOwogY2xhc3MgSlNEZXN0cnVjdGlibGVPYmplY3RIZWFw
Q2VsbFR5cGU7CiBjbGFzcyBKU0dsb2JhbE9iamVjdDsKIGNsYXNzIEpTTW9kdWxlTmFtZXNwYWNl
T2JqZWN0OwogY2xhc3MgSlNNb2R1bGVSZWNvcmQ7CiBjbGFzcyBKU05hdGl2ZVN0ZEZ1bmN0aW9u
OworY2xhc3MgSlNOb25GaW5hbE9iamVjdDsKIGNsYXNzIEpTT2JqZWN0OwogY2xhc3MgSlNQcm9t
aXNlOwogY2xhc3MgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwpAQCAtMTgyLDYgKzE4NSw3IEBA
IGNsYXNzIFdlYkFzc2VtYmx5RnVuY3Rpb247CiBjbGFzcyBXZWJBc3NlbWJseU1vZHVsZVJlY29y
ZDsKIAogdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGU+IGNsYXNzIElzb0hlYXBDZWxsVHlwZTsK
K3RlbXBsYXRlPHR5cGVuYW1lIFBhcmVudD4gY2xhc3MgSlNDYWxsYmFja09iamVjdDsKIAogI2lm
IEVOQUJMRShGVExfSklUKQogbmFtZXNwYWNlIEZUTCB7CkBAIC0zNTksNiArMzYzLDggQEAgY2xh
c3MgVk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlu
a2VkTGlzdE5vZGU8Vk0+IHsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SGVhcENlbGxUeXBlPiBpbW11
dGFibGVCdXR0ZXJmbHlIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEhlYXBDZWxs
VHlwZT4gY2VsbEhlYXBDZWxsVHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SGVhcENlbGxUeXBl
PiBkZXN0cnVjdGlibGVDZWxsSGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29I
ZWFwQ2VsbFR5cGU8SlNDYWxsYmFja0NvbnN0cnVjdG9yPj4gY2FsbGJhY2tDb25zdHJ1Y3Rvckhl
YXBDZWxsVHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJh
Y2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4+PiBjYWxsYmFja09iamVjdEhlYXBDZWxsVHlwZTsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPERhdGVJbnN0YW5jZT4+IGRhdGVJ
bnN0YW5jZUhlYXBDZWxsVHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBl
PEVycm9ySW5zdGFuY2U+PiBlcnJvckluc3RhbmNlSGVhcENlbGxUeXBlOwogICAgIHN0ZDo6dW5p
cXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SlNNb2R1bGVSZWNvcmQ+PiBqc01vZHVsZVJlY29yZEhl
YXBDZWxsVHlwZTsKQEAgLTM2OSw2ICszNzUsNyBAQCBjbGFzcyBWTSA6IHB1YmxpYyBUaHJlYWRT
YWZlUmVmQ291bnRlZDxWTT4sIHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxWTT4gewogICAg
IHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SlNXZWFrU2V0Pj4gd2Vha1NldEhlYXBD
ZWxsVHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SlNEZXN0cnVjdGlibGVPYmplY3RIZWFwQ2Vs
bFR5cGU+IGRlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZTsKICNpZiBKU0NfT0JKQ19BUElf
RU5BQkxFRAorICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SlNDYWxsYmFja09i
amVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Pj4gYXBpV3JhcHBlck9iamVjdEhlYXBDZWxsVHlwZTsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPE9iakNDYWxsYmFja0Z1bmN0aW9u
Pj4gb2JqQ0NhbGxiYWNrRnVuY3Rpb25IZWFwQ2VsbFR5cGU7CiAjZW5kaWYKICNpZmRlZiBKU0Nf
R0xJQl9BUElfRU5BQkxFRApAQCAtNDU4LDE3ICs0NjUsMjUgQEAgY2xhc3MgVk0gOiBwdWJsaWMg
VGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+
IHsKIAogCiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFD
RV9ERUZJTkVfTUVNQkVSKGFwaVdyYXBwZXJPYmplY3RTcGFjZSkKICAgICBEWU5BTUlDX0lTT19T
VUJTUEFDRV9ERUZJTkVfTUVNQkVSKG9iakNDYWxsYmFja0Z1bmN0aW9uU3BhY2UpCiAjZW5kaWYK
ICNpZmRlZiBKU0NfR0xJQl9BUElfRU5BQkxFRAorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RF
RklORV9NRU1CRVIoYXBpV3JhcHBlck9iamVjdFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQ
QUNFX0RFRklORV9NRU1CRVIoanNjQ2FsbGJhY2tGdW5jdGlvblNwYWNlKQorICAgIERZTkFNSUNf
SVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoY2FsbGJhY2tBUElXcmFwcGVyR2xvYmFsT2JqZWN0
U3BhY2UpCiAjZW5kaWYKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFw
aUdsb2JhbE9iamVjdFNwYWNlKQorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1C
RVIoYXBpVmFsdWVXcmFwcGVyU3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5F
X01FTUJFUihhcnJheUJ1ZmZlclNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklO
RV9NRU1CRVIoYXN5bmNHZW5lcmF0b3JTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9E
RUZJTkVfTUVNQkVSKGJpZ0ludE9iamVjdFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNF
X0RFRklORV9NRU1CRVIoYm9vbGVhbk9iamVjdFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQ
QUNFX0RFRklORV9NRU1CRVIoYm91bmRGdW5jdGlvblNwYWNlKQorICAgIERZTkFNSUNfSVNPX1NV
QlNQQUNFX0RFRklORV9NRU1CRVIoY2FsbGJhY2tDb25zdHJ1Y3RvclNwYWNlKQorICAgIERZTkFN
SUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoY2FsbGJhY2tHbG9iYWxPYmplY3RTcGFjZSkK
ICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGNhbGxiYWNrRnVuY3Rpb25T
cGFjZSkKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGNhbGxiYWNrT2Jq
ZWN0U3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihjdXN0b21H
ZXR0ZXJTZXR0ZXJGdW5jdGlvblNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklO
RV9NRU1CRVIoZGF0YVZpZXdTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVf
TUVNQkVSKGVycm9ySW5zdGFuY2VTcGFjZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAppbmRleCA2MGEzNGNmOWJjYTBiZTMzYTZmOTIxNjk1
NTBlOTQxYzNmNmFmMjAzLi42MzgzOWQxYzQ1YThiZTRjODhmNDQ4OTk3Y2JlYzcyYWYzMmRhM2Zl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3Qu
Y3BwCkBAIC0xNDksNyArMTQ5LDcgQEAgdm9pZCBKU0RPTUdsb2JhbE9iamVjdDo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtKQogCiAgICAgYWRkQnVpbHRpbkdsb2JhbHModm0pOwogCi0gICAgUkVMRUFT
RV9BU1NFUlQoY2xhc3NJbmZvKCkpOworICAgIFJFTEVBU0VfQVNTRVJUKGNsYXNzSW5mbyh2bSkp
OwogfQogCiB2b2lkIEpTRE9NR2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpT
T2JqZWN0KiB0aGlzVmFsdWUpCkBAIC0xNTksNyArMTU5LDcgQEAgdm9pZCBKU0RPTUdsb2JhbE9i
amVjdDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU09iamVjdCogdGhpc1ZhbHVlKQogCiAgICAg
YWRkQnVpbHRpbkdsb2JhbHModm0pOwogCi0gICAgUkVMRUFTRV9BU1NFUlQoY2xhc3NJbmZvKCkp
OworICAgIFJFTEVBU0VfQVNTRVJUKGNsYXNzSW5mbyh2bSkpOwogfQogCiBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBKU0RPTUdsb2JhbE9iamVjdDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcAppbmRleCAw
NTZiZGJkMmRmMWUzZjNhNDQ2ZDE3OTlhMzEyOWE3MzlmODBjY2M1Li43NzM2ZDBjZmQzZmM2Yzk2
ODU1NTNkMmQ1NjBhODk5YWNmYzU3MzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdyYXBwZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV3JhcHBlci5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgU1RBVElDX0FTU0VSVF9JU19UUklW
SUFMTFlfREVTVFJVQ1RJQkxFKEpTRE9NT2JqZWN0KTsKIEpTRE9NT2JqZWN0OjpKU0RPTU9iamVj
dChKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QpCiAgICAgOiBCYXNlKGdsb2JhbE9iamVjdC52bSgpLCBzdHJ1Y3R1cmUpCiB7Ci0gICAg
QVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSB8fCBnbG9iYWxPYmplY3QuY2xhc3NJbmZv
KCkgPT0gSlNSZW1vdGVET01XaW5kb3c6OmluZm8oKSk7CisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSB8fCBnbG9iYWxPYmplY3QuY2xhc3NJbmZvKGdsb2JhbE9iamVjdC52bSgp
KSA9PSBKU1JlbW90ZURPTVdpbmRvdzo6aW5mbygpKTsKIH0KIAogSlNDOjpDb21wbGV0ZVN1YnNw
YWNlKiBvdXRwdXRDb25zdHJhaW50U3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dpbmRvd1Byb3h5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2luZG93UHJveHkuY3BwCmluZGV4IDdhYzhmNzk0MTRkZWRk
MGE2ZDY5NDVkMTQ4ZjI4ZThiZDI3MTM0NjYuLmRiNzAzMWFjZGFiM2FlYzZiNzc3ZDc2ODMxNTk1
NmU0M2EzZjBiYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2lu
ZG93UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2luZG93UHJv
eHkuY3BwCkBAIC03NSw3ICs3NSw3IEBAIHZvaWQgSlNXaW5kb3dQcm94eTo6ZGVzdHJveShKU0Nl
bGwqIGNlbGwpCiAKIHZvaWQgSlNXaW5kb3dQcm94eTo6c2V0V2luZG93KFZNJiB2bSwgSlNET01H
bG9iYWxPYmplY3QmIHdpbmRvdykKIHsKLSAgICBBU1NFUlQod2luZG93LmNsYXNzSW5mbygpID09
IEpTRE9NV2luZG93OjppbmZvKCkgfHwgd2luZG93LmNsYXNzSW5mbygpID09IEpTUmVtb3RlRE9N
V2luZG93OjppbmZvKCkpOworICAgIEFTU0VSVCh3aW5kb3cuY2xhc3NJbmZvKHZtKSA9PSBKU0RP
TVdpbmRvdzo6aW5mbygpIHx8IHdpbmRvdy5jbGFzc0luZm8odm0pID09IEpTUmVtb3RlRE9NV2lu
ZG93OjppbmZvKCkpOwogICAgIHNldFRhcmdldCh2bSwgJndpbmRvdyk7CiAgICAgc3RydWN0dXJl
KHZtKS0+c2V0R2xvYmFsT2JqZWN0KHZtLCAmd2luZG93KTsKICAgICBHQ0NvbnRyb2xsZXI6OnNp
bmdsZXRvbigpLmdhcmJhZ2VDb2xsZWN0U29vbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385352</attachid>
            <date>2019-12-10 22:45:01 -0800</date>
            <delta_ts>2019-12-10 22:45:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205097-20191210224501.patch</filename>
            <type>text/plain</type>
            <size>36717</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZTQ5YTFjMWM1ODU2ZmYxZGIyYjhhMGJmZTU0OGY1M2I3YTVjZWU1Li41ZGI2MDM0NDEzMTkzNjlk
NDRmYTE2NWJmNWNlYjU2MzlmYmM1YjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NyBAQAorMjAxOS0xMi0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFB1dCBhbGwgQVBJIHJlbGF0ZWQgSlMgY2VsbHMgaW50byBJc29T
dWJzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgVGhpcyBw
YXRjaCBwdXRzIEFQSSByZWxhdGVkIEpTIGNlbGxzIGludG8gSXNvU3Vic3BhY2UuCisKKyAgICAg
ICAgKiBBUEkvSlNBUElHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNBUElHbG9iYWxP
YmplY3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTQVBJR2xvYmFsT2JqZWN0
OjpjcmVhdGVTdHJ1Y3R1cmUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKU0FQSUdsb2JhbE9i
amVjdDo6SlNBUElHbG9iYWxPYmplY3QpOiBEZWxldGVkLgorICAgICAgICAqIEFQSS9KU0FQSVZh
bHVlV3JhcHBlci5oOgorICAgICAgICAqIEFQSS9KU0FQSVdyYXBwZXJPYmplY3QuaDoKKyAgICAg
ICAgKEpTQzo6SlNBUElXcmFwcGVyT2JqZWN0OjpzdWJzcGFjZUZvcik6CisgICAgICAgICogQVBJ
L0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tDb25z
dHJ1Y3Rvcjo6SlNDYWxsYmFja0NvbnN0cnVjdG9yKToKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFj
a0NvbnN0cnVjdG9yLmg6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwOgorICAg
ICAgICAoSlNDOjpKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVhdGVTdHJ1
Y3R1cmUpOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+
OjpzdWJzcGFjZUZvckltcGwpOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrT2JqZWN0PEpTR2xv
YmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09i
amVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwpOgorICAgICAgICAoSlND
OjpKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja09iamVjdC5oOgorICAgICAgICAq
IEFQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmg6CisgICAgICAgIChKU0M6OkpTQ2FsbGJh
Y2tPYmplY3Q8UGFyZW50Pjo6aW5pdCk6CisgICAgICAgICogQVBJL0pTQ2xhc3NSZWYuY3BwOgor
ICAgICAgICAoT3BhcXVlSlNDbGFzczo6cHJvdG90eXBlKToKKyAgICAgICAgKiBBUEkvSlNPYmpl
Y3RSZWYuY3BwOgorICAgICAgICAoSlNPYmplY3RNYWtlKToKKyAgICAgICAgKEpTT2JqZWN0R2V0
UHJpdmF0ZSk6CisgICAgICAgIChKU09iamVjdFNldFByaXZhdGUpOgorICAgICAgICAoSlNPYmpl
Y3RHZXRQcml2YXRlUHJvcGVydHkpOgorICAgICAgICAoSlNPYmplY3RTZXRQcml2YXRlUHJvcGVy
dHkpOgorICAgICAgICAoSlNPYmplY3REZWxldGVQcml2YXRlUHJvcGVydHkpOgorICAgICAgICAq
IEFQSS9KU1ZhbHVlUmVmLmNwcDoKKyAgICAgICAgKEpTVmFsdWVJc09iamVjdE9mQ2xhc3MpOgor
ICAgICAgICAqIEFQSS9KU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcDoKKyAgICAgICAgKiBB
UEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0Nh
bGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdD46OnN1YnNwYWNlRm9ySW1wbCk6
CisgICAgICAgICogQVBJL2dsaWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0Lmg6CisgICAgICAg
IChKU0M6OkpTQVBJV3JhcHBlckdsb2JhbE9iamVjdDo6c3Vic3BhY2VGb3IpOgorICAgICAgICAq
IHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVj
dDo6aW5pdCk6CisgICAgICAgICogcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNw
cDoKKyAgICAgICAgKEpTQzo6SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdDo6ZmluaXNoQ3JlYXRp
b24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5oOgorICAg
ICAgICAoSlNDOjpKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0OjpjbGFzc0luZm8gY29uc3QpOgor
ICAgICAgICAqIHJ1bnRpbWUvVk0uY3BwOgorICAgICAgICAoSlNDOjpWTTo6Vk0pOgorICAgICAg
ICAqIHJ1bnRpbWUvVk0uaDoKKwogMjAxOS0xMi0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lA
YXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIEFkaG9jbHkgY3JlYXRlZCBDYWxsTGlua0luZm8g
aW4gR2V0dGVyU2V0dGVyQWNjZXNzIHNob3VsZCBiZSBvd25lZCBieSBHQ0F3YXJlSklUU3R1YlJv
dXRpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBiYTE2YjQ0MGFkNDk3YWU1YTZmNGFjYjgxMmFjNzk2OWQxNzRm
YzczLi43OGJlNGRjNzMwNjhjOWQ3OTU3OGY0N2RlMWQyM2JlMDVlYTUzM2Y0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMTItMTAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFw
cGxlLmNvbT4KKworICAgICAgICBbSlNDXSBQdXQgYWxsIEFQSSByZWxhdGVkIEpTIGNlbGxzIGlu
dG8gSXNvU3Vic3BhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNTA5NworCisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgTGFtLgorCisgICAgICAg
ICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNET01HbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0RPTVdyYXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01PYmplY3Q6OkpTRE9N
T2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dpbmRvd1Byb3h5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTV2luZG93UHJveHk6OnNldFdpbmRvdyk6CisKIDIwMTktMTItMTAgIENh
dGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpeGVkIFBhdHRl
cm4uaCBjb21waWxlIGVycm9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQVBJR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJR2xv
YmFsT2JqZWN0LmgKaW5kZXggNGIzYmIxNWNkZjBhNWM0NmI0ZmU5NWRlYTZhYTA5ZTIwNmI0MTkx
ZS4uNjBmNmY2NmU2ZGM0ZTE1MmVlOGY1NjljNThmZGVkMzUwODVjMTQ0ZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSUdsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElHbG9iYWxPYmplY3QuaApAQCAtMzEsMTMgKzMxLDE5
IEBAIE9CSkNfQ0xBU1MgSlNTY3JpcHQ7CiAKIG5hbWVzcGFjZSBKU0MgewogCi1jbGFzcyBKU0FQ
SUdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0dsb2JhbE9iamVjdCB7CitjbGFzcyBKU0FQSUdsb2Jh
bE9iamVjdCBmaW5hbCA6IHB1YmxpYyBKU0dsb2JhbE9iamVjdCB7CiBwdWJsaWM6CiAgICAgdXNp
bmcgQmFzZSA9IEpTR2xvYmFsT2JqZWN0OwogCiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKICAg
ICBzdGF0aWMgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgc19nbG9iYWxPYmplY3RNZXRo
b2RUYWJsZTsKIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vz
cyBtb2RlPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIHZtLmFwaUdsb2JhbE9iamVjdFNwYWNlPG1vZGU+KCk7CisgICAg
fQorCiAgICAgc3RhdGljIEpTQVBJR2xvYmFsT2JqZWN0KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKICAgICB7CiAgICAgICAgIGF1dG8qIG9iamVjdCA9IG5ldyAoTm90TnVs
bCwgYWxsb2NhdGVDZWxsPEpTQVBJR2xvYmFsT2JqZWN0Pih2bS5oZWFwKSkgSlNBUElHbG9iYWxP
YmplY3Qodm0sIHN0cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQVBJVmFsdWVXcmFwcGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJ
VmFsdWVXcmFwcGVyLmgKaW5kZXggNDFmNTA5ZDM2NGFiYzg0NDNjNGU4MWU0NjA3MzFjNjE3OWQw
NDJkOS4uMWY3ODIyOWUwYzgwZGI0Y2Q2MzQ2MGZmNjIxMzM5NzAxNGRiZmQ5YyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVZhbHVlV3JhcHBlci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1ZVdyYXBwZXIuaApAQCAtMzIsOSArMzIs
MTUgQEAgbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBKU0FQSVZhbHVlV3JhcHBlciBmaW5hbCA6IHB1
YmxpYyBKU0NlbGwgewogICAgIGZyaWVuZCBKU1ZhbHVlIGpzQVBJVmFsdWVXcmFwcGVyKEpTR2xv
YmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsK
KyAgICB1c2luZyBCYXNlID0gSlNDZWxsOwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQg
U3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0
YWw7CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3MgbW9k
ZT4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7Cisg
ICAgICAgIHJldHVybiB2bS5hcGlWYWx1ZVdyYXBwZXJTcGFjZTxtb2RlPigpOworICAgIH0KKwog
ICAgIEpTVmFsdWUgdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlLmdldCgpOyB9CiAKICAg
ICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNBUElXcmFwcGVyT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQVBJV3JhcHBlck9iamVjdC5oCmluZGV4IGRkODc0ZGM2NWVlN2VhYTNjNTI0
ZmQwZjMyNGNiM2VhODcxN2ExYmMuLmYzYjk4ZGNhMTcyYWNkNDcwNzgyM2I4MjNhZWRhYWQ3YWM5
NzNmYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElXcmFwcGVy
T2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVdyYXBwZXJPYmpl
Y3QuaApAQCAtMzMsOSArMzMsMTIgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAgICAgCi1jbGFzcyBK
U0FQSVdyYXBwZXJPYmplY3QgOiBwdWJsaWMgSlNEZXN0cnVjdGlibGVPYmplY3QgeworY2xhc3Mg
SlNBUElXcmFwcGVyT2JqZWN0IDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogcHVibGljOgot
ICAgIHR5cGVkZWYgSlNEZXN0cnVjdGlibGVPYmplY3QgQmFzZTsKKyAgICB1c2luZyBCYXNlID0g
SlNOb25GaW5hbE9iamVjdDsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lLCBTdWJzcGFjZUFjY2Vz
cz4KKyAgICBzdGF0aWMgdm9pZCBzdWJzcGFjZUZvcihWTSYpIHsgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsgfQogICAgIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKICAgICBz
dGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIEpTQzo6U2xvdFZpc2l0b3ImKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9y
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNw
cAppbmRleCAwNzBkNzVkNThkYTE1NjgwODY5YTBmNThkNmFiNDRmMTIyYzUxMTliLi40OWY0Y2U3
NmVkZTFlYWU4ZWQwMmQ1ZjNmMWJmN2QwOTRmNzE5ZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuY3BwCkBAIC0zOSw3ICszOSw3
IEBAIG5hbWVzcGFjZSBKU0MgewogY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rv
cjo6c19pbmZvID0geyAiQ2FsbGJhY2tDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIG51bGxw
dHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja0NvbnN0cnVjdG9yKSB9
OwogCiBKU0NhbGxiYWNrQ29uc3RydWN0b3I6OkpTQ2FsbGJhY2tDb25zdHJ1Y3RvcihKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNDbGFzc1JlZiBq
c0NsYXNzLCBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yQ2FsbGJhY2sgY2FsbGJhY2spCi0gICAg
OiBKU0Rlc3RydWN0aWJsZU9iamVjdChnbG9iYWxPYmplY3QtPnZtKCksIHN0cnVjdHVyZSkKKyAg
ICA6IEJhc2UoZ2xvYmFsT2JqZWN0LT52bSgpLCBzdHJ1Y3R1cmUpCiAgICAgLCBtX2NsYXNzKGpz
Q2xhc3MpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgKaW5kZXggMjU5MjhmYmFmZGZj
Nzg2YTY0MmU2MTI4NGUxYzRlMzM2OTBiMjY3ZC4uZTU3MjU5NDAyMzZhOWEyZWEwOTQ2MDJiOTcx
MTQ4NzI2YjZhNmZmYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Nh
bGxiYWNrQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2Fs
bGJhY2tDb25zdHJ1Y3Rvci5oCkBAIC0yNiwxNSArMjYsMjEgQEAKICNpZm5kZWYgSlNDYWxsYmFj
a0NvbnN0cnVjdG9yX2gKICNkZWZpbmUgSlNDYWxsYmFja0NvbnN0cnVjdG9yX2gKIAotI2luY2x1
ZGUgIkpTRGVzdHJ1Y3RpYmxlT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNPYmplY3RSZWYuaCIKIAog
bmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIEpTQ2FsbGJhY2tDb25zdHJ1Y3RvciBmaW5hbCA6IHB1
YmxpYyBKU0Rlc3RydWN0aWJsZU9iamVjdCB7CitjbGFzcyBKU0NhbGxiYWNrQ29uc3RydWN0b3Ig
ZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBK
U0Rlc3RydWN0aWJsZU9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2Jq
ZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNl
OjpTdHJ1Y3R1cmVGbGFncyB8IEltcGxlbWVudHNIYXNJbnN0YW5jZSB8IEltcGxlbWVudHNEZWZh
dWx0SGFzSW5zdGFuY2U7CisgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIG5lZWRzRGVzdHJ1Y3Rp
b24gPSB0cnVlOworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNj
ZXNzIG1vZGU+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisg
ICAgeworICAgICAgICByZXR1cm4gdm0uY2FsbGJhY2tDb25zdHJ1Y3RvclNwYWNlPG1vZGU+KCk7
CisgICAgfQogCiAgICAgc3RhdGljIEpTQ2FsbGJhY2tDb25zdHJ1Y3RvciogY3JlYXRlKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0NsYXNzUmVm
IGNsYXNzUmVmLCBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yQ2FsbGJhY2sgY2FsbGJhY2spIAog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09i
amVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3Bw
CmluZGV4IGNiNjNmNDk2MzkwOGI3MWI5NWM0NTNkZGJlOGI2YTc0MTEwNjcxNGMuLjNlNWFiODUz
NTNiYzE2M2JkNzI2NDkxMGMyNzg1NjNjMzEzMDVkY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcApAQCAtMjgsMTYgKzI4LDE3IEBACiAjaW5j
bHVkZSAiSlNDYWxsYmFja09iamVjdC5oIgogCiAjaW5jbHVkZSAiSGVhcC5oIgorI2luY2x1ZGUg
IkpTQVBJV3JhcHBlck9iamVjdC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiAvLyBEZWZpbmUg
dGhlIHR3byB0eXBlcyBvZiBKU0NhbGxiYWNrT2JqZWN0cyB3ZSBzdXBwb3J0LgotdGVtcGxhdGUg
PD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+
OjpzX2luZm8gPSB7ICJDYWxsYmFja09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKK3RlbXBsYXRl
IDw+IGNvbnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Ojpz
X2luZm8gPSB7ICJDYWxsYmFja09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxw
dHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKIHRlbXBsYXRlIDw+
IGNvbnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6c19pbmZv
ID0geyAiQ2FsbGJhY2tHbG9iYWxPYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxs
cHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQ2FsbGJhY2tPYmplY3QpIH07CiAKLXRlbXBsYXRl
PD4gY29uc3QgYm9vbCBKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6bmVl
ZHNEZXN0cnVjdGlvbiA9IHRydWU7Cit0ZW1wbGF0ZTw+IGNvbnN0IGJvb2wgSlNDYWxsYmFja09i
amVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6bmVlZHNEZXN0cnVjdGlvbiA9IHRydWU7CiB0ZW1wbGF0
ZTw+IGNvbnN0IGJvb2wgSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46Om5lZWRzRGVz
dHJ1Y3Rpb24gPSBmYWxzZTsKIAogdGVtcGxhdGU8PgpAQCAtNDksNyArNTAsNyBAQCBKU0NhbGxi
YWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0PiogSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVj
dD46OmNyZWF0ZShWTSYgdgogfQogCiB0ZW1wbGF0ZSA8PgotU3RydWN0dXJlKiBKU0NhbGxiYWNr
T2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90bykKK1N0cnVjdHVyZSogSlND
YWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90bykKIHsgCiAgICAgcmV0
dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhP
YmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7IAogfQpAQCAtNjAsNCArNjEsNDMg
QEAgU3RydWN0dXJlKiBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6Y3JlYXRlU3Ry
dWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmoKICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdCwgcHJvdG8sIFR5cGVJbmZvKEdsb2JhbE9iamVjdFR5cGUsIFN0cnVj
dHVyZUZsYWdzKSwgaW5mbygpKTsgCiB9CiAKK3RlbXBsYXRlIDw+CitJc29TdWJzcGFjZSogSlND
YWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKFZNJiB2bSwg
U3Vic3BhY2VBY2Nlc3MgbW9kZSkKK3sKKyAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICBjYXNlIFN1
YnNwYWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ6CisgICAgICAgIHJldHVybiB2bS5jYWxsYmFja09i
amVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ+KCk7CisgICAgY2FzZSBTdWJz
cGFjZUFjY2Vzczo6Q29uY3VycmVudGx5OgorICAgICAgICByZXR1cm4gdm0uY2FsbGJhY2tPYmpl
Y3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5PigpOworICAgIH0KKyAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOworfQorCit0ZW1w
bGF0ZSA8PgorSXNvU3Vic3BhY2UqIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Ojpz
dWJzcGFjZUZvckltcGwoVk0mIHZtLCBTdWJzcGFjZUFjY2VzcyBtb2RlKQoreworICAgIHN3aXRj
aCAobW9kZSkgeworICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZDoKKyAgICAg
ICAgcmV0dXJuIHZtLmNhbGxiYWNrR2xvYmFsT2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6Ok9u
TWFpblRocmVhZD4oKTsKKyAgICBjYXNlIFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk6Cisg
ICAgICAgIHJldHVybiB2bS5jYWxsYmFja0dsb2JhbE9iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNz
OjpDb25jdXJyZW50bHk+KCk7CisgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3RlbXBsYXRlIDw+CitJc29TdWJzcGFjZSog
SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwoVk0m
IHZtLCBTdWJzcGFjZUFjY2VzcyBtb2RlKQoreworICAgIHN3aXRjaCAobW9kZSkgeworICAgIGNh
c2UgU3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZDoKKyAgICAgICAgcmV0dXJuIHZtLmFwaVdy
YXBwZXJPYmplY3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkPigpOworICAgIGNh
c2UgU3Vic3BhY2VBY2Nlc3M6OkNvbmN1cnJlbnRseToKKyAgICAgICAgcmV0dXJuIHZtLmFwaVdy
YXBwZXJPYmplY3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5PigpOworICAgIH0K
KyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Nh
bGxiYWNrT2JqZWN0LmgKaW5kZXggNGY1ZjRiNmY1MzUxZjM4NDY0NDdmMmMwMGU2NzljMzVlOGEw
NGFiOC4uMDM0YjM1N2MwNzM4ZTM0OTEyNTg4NThkNzA2OTg5ZmVmY2I0ODMzZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKQEAgLTEzMSw3ICsxMzEs
NyBAQCBjbGFzcyBKU0NhbGxiYWNrT2JqZWN0IGZpbmFsIDogcHVibGljIFBhcmVudCB7CiAgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogCiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBQYXJlbnQg
QmFzZTsKKyAgICB1c2luZyBCYXNlID0gUGFyZW50OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5z
aWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFByb2hpYml0c1By
b3BlcnR5Q2FjaGluZyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVyY2VwdHNH
ZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5MZW5ndGhJc05vdFplcm8gfCBJbXBsZW1l
bnRzSGFzSW5zdGFuY2UgfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIHwgT3ZlcnJpZGVzR2V0
Q2FsbERhdGE7CiAgICAgc3RhdGljX2Fzc2VydCghKFN0cnVjdHVyZUZsYWdzICYgSW1wbGVtZW50
c0RlZmF1bHRIYXNJbnN0YW5jZSksICJ1c2luZyBjdXN0b21IYXNJbnN0YW5jZSIpOwogCkBAIC0x
NTMsNiArMTUzLDEyIEBAIGNsYXNzIEpTQ2FsbGJhY2tPYmplY3QgZmluYWwgOiBwdWJsaWMgUGFy
ZW50IHsKICAgICAgICAgc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdCo+KGNlbGwpLT5KU0Nh
bGxiYWNrT2JqZWN0Ojp+SlNDYWxsYmFja09iamVjdCgpOwogICAgIH0KIAorICAgIHRlbXBsYXRl
PHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2VzcyBtb2RlPgorICAgIHN0YXRpYyBJc29T
dWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN1YnNw
YWNlRm9ySW1wbCh2bSwgbW9kZSk7CisgICAgfQorCiAgICAgdm9pZCBzZXRQcml2YXRlKHZvaWQq
IGRhdGEpOwogICAgIHZvaWQqIGdldFByaXZhdGUoKTsKIApAQCAtMTg0LDYgKzE5MCw3IEBAIGNs
YXNzIEpTQ2FsbGJhY2tPYmplY3QgZmluYWwgOiBwdWJsaWMgUGFyZW50IHsKICAgICB1c2luZyBQ
YXJlbnQ6Om1ldGhvZFRhYmxlOwogCiBwcml2YXRlOgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSog
c3Vic3BhY2VGb3JJbXBsKFZNJiwgU3Vic3BhY2VBY2Nlc3MpOwogICAgIHN0YXRpYyBTdHJpbmcg
Y2xhc3NOYW1lKGNvbnN0IEpTT2JqZWN0KiwgVk0mKTsKICAgICBzdGF0aWMgU3RyaW5nIHRvU3Ry
aW5nTmFtZShjb25zdCBKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0Kik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKaW5k
ZXggYTAyOTk1MjVkNThmOTQ5ZTFhZjlhMGQ0MTNjZWYyOTc5NWE4NGFlMi4uOGU3OTYyYzgwOTRj
ZTVkYzlkOWExYTU0ZjY5MjdkNGYyMzg3MTg3MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKQEAgLTEyNSw3ICsxMjUs
NyBAQCB2b2lkIEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6aW5pdChKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQogICAgICAgICBpbml0aWFsaXplKHRvUmVmKGdsb2JhbE9iamVjdCksIHRv
UmVmKGpzQ2FzdDxKU09iamVjdCo+KHRoaXMpKSk7CiAgICAgfQogICAgIAotICAgIG1fY2xhc3NJ
bmZvID0gdGhpcy0+Y2xhc3NJbmZvKCk7CisgICAgbV9jbGFzc0luZm8gPSB0aGlzLT5jbGFzc0lu
Zm8oZ2V0Vk0oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBQYXJlbnQ+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2xhc3NSZWYuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmNwcAppbmRleCA0YzEyNmU0NDhmNjcx
YTEzMjkzNmM4YjhlNTkxMzQ3MzQ3ODZlZmNlLi45MmRmNjM4ZTE1ZWU3NzJmOWJkYzEyNmMxMGY0
NzgwMWNiZjZjZGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2xh
c3NSZWYuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5jcHAK
QEAgLTE5MCw3ICsxOTAsNyBAQCBKU09iamVjdCogT3BhcXVlSlNDbGFzczo6cHJvdG90eXBlKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgICAgIHJldHVybiBwcm90b3R5cGU7CiAK
ICAgICAvLyBSZWN1cnNpdmUsIGJ1dCBzaG91bGQgYmUgZ29vZCBlbm91Z2ggZm9yIG91ciBwdXJw
b3NlcwotICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1
Y3RpYmxlT2JqZWN0Pjo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFj
a09iamVjdFN0cnVjdHVyZSgpLCBwcm90b3R5cGVDbGFzcywgJmpzQ2xhc3NEYXRhKTsgLy8gc2V0
IGpzQ2xhc3NEYXRhIGFzIHRoZSBvYmplY3QncyBwcml2YXRlIGRhdGEsIHNvIGl0IGNhbiBjbGVh
ciBvdXIgcmVmZXJlbmNlIG9uIGRlc3RydWN0aW9uCisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9
IEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD46OmNyZWF0ZShnbG9iYWxPYmplY3Qs
IGdsb2JhbE9iamVjdC0+Y2FsbGJhY2tPYmplY3RTdHJ1Y3R1cmUoKSwgcHJvdG90eXBlQ2xhc3Ms
ICZqc0NsYXNzRGF0YSk7IC8vIHNldCBqc0NsYXNzRGF0YSBhcyB0aGUgb2JqZWN0J3MgcHJpdmF0
ZSBkYXRhLCBzbyBpdCBjYW4gY2xlYXIgb3VyIHJlZmVyZW5jZSBvbiBkZXN0cnVjdGlvbgogICAg
IGlmIChwYXJlbnRDbGFzcykgewogICAgICAgICBpZiAoSlNPYmplY3QqIHBhcmVudFByb3RvdHlw
ZSA9IHBhcmVudENsYXNzLT5wcm90b3R5cGUoZ2xvYmFsT2JqZWN0KSkKICAgICAgICAgICAgIHBy
b3RvdHlwZS0+c2V0UHJvdG90eXBlRGlyZWN0KGdsb2JhbE9iamVjdC0+dm0oKSwgcGFyZW50UHJv
dG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKaW5kZXgg
YjRiZmVmZTA1ODc1NzVkOTFmNmJlMWI0MWExMTczZDVjMzZiNGVkYy4uZjdmOWRhYjNmMjhhZGMw
ZWFiYjJiZGU4YjI1MDY3NzJhZDI1ZmZjZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU09iamVjdFJlZi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U09iamVjdFJlZi5jcHAKQEAgLTk2LDcgKzk2LDcgQEAgSlNPYmplY3RSZWYgSlNPYmplY3RNYWtl
KEpTQ29udGV4dFJlZiBjdHgsIEpTQ2xhc3NSZWYganNDbGFzcywgdm9pZCogZGF0YSkKICAgICBp
ZiAoIWpzQ2xhc3MpCiAgICAgICAgIHJldHVybiB0b1JlZihjb25zdHJ1Y3RFbXB0eU9iamVjdChn
bG9iYWxPYmplY3QpKTsKIAotICAgIEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmpl
Y3Q+KiBvYmplY3QgPSBKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6Y3Jl
YXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja09iamVjdFN0cnVjdHVyZSgp
LCBqc0NsYXNzLCBkYXRhKTsKKyAgICBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+
KiBvYmplY3QgPSBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVhdGUoZ2xv
YmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPmNhbGxiYWNrT2JqZWN0U3RydWN0dXJlKCksIGpzQ2xh
c3MsIGRhdGEpOwogICAgIGlmIChKU09iamVjdCogcHJvdG90eXBlID0ganNDbGFzcy0+cHJvdG90
eXBlKGdsb2JhbE9iamVjdCkpCiAgICAgICAgIG9iamVjdC0+c2V0UHJvdG90eXBlRGlyZWN0KHZt
LCBwcm90b3R5cGUpOwogCkBAIC01NjcsOCArNTY3LDggQEAgdm9pZCogSlNPYmplY3RHZXRQcml2
YXRlKEpTT2JqZWN0UmVmIG9iamVjdCkKIAogICAgIGlmIChjbGFzc0luZm8tPmlzU3ViQ2xhc3NP
ZihKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6aW5mbygpKSkKICAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Kj4oanNPYmpl
Y3QpLT5nZXRQcml2YXRlKCk7Ci0gICAgaWYgKGNsYXNzSW5mby0+aXNTdWJDbGFzc09mKEpTQ2Fs
bGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjppbmZvKCkpKQotICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD4qPihq
c09iamVjdCktPmdldFByaXZhdGUoKTsKKyAgICBpZiAoY2xhc3NJbmZvLT5pc1N1YkNsYXNzT2Yo
SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6aW5mbygpKSkKKyAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4qPihqc09i
amVjdCktPmdldFByaXZhdGUoKTsKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAogICAgIGlmIChj
bGFzc0luZm8tPmlzU3ViQ2xhc3NPZihKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVj
dD46OmluZm8oKSkpCiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0
PEpTQVBJV3JhcHBlck9iamVjdD4qPihqc09iamVjdCktPmdldFByaXZhdGUoKTsKQEAgLTU5NCw4
ICs1OTQsOCBAQCBib29sIEpTT2JqZWN0U2V0UHJpdmF0ZShKU09iamVjdFJlZiBvYmplY3QsIHZv
aWQqIGRhdGEpCiAgICAgICAgIHN0YXRpY19jYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxP
YmplY3Q+Kj4oanNPYmplY3QpLT5zZXRQcml2YXRlKGRhdGEpOwogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9Ci0gICAgaWYgKGNsYXNzSW5mby0+aXNTdWJDbGFzc09mKEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjppbmZvKCkpKSB7Ci0gICAgICAgIHN0YXRpY19jYXN0
PEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Kj4oanNPYmplY3QpLT5zZXRQ
cml2YXRlKGRhdGEpOworICAgIGlmIChjbGFzc0luZm8tPmlzU3ViQ2xhc3NPZihKU0NhbGxiYWNr
T2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjppbmZvKCkpKSB7CisgICAgICAgIHN0YXRpY19jYXN0
PEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4qPihqc09iamVjdCktPnNldFByaXZh
dGUoZGF0YSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNpZiBKU0NfT0JKQ19BUElf
RU5BQkxFRApAQCAtNjI0LDggKzYyNCw4IEBAIEpTVmFsdWVSZWYgSlNPYmplY3RHZXRQcml2YXRl
UHJvcGVydHkoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBKU1N0CiAKICAg
ICBpZiAoanNPYmplY3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+
Pih2bSkpCiAgICAgICAgIHJlc3VsdCA9IGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFs
T2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZVByb3BlcnR5KG5hbWUpOwotICAgIGVsc2Ug
aWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2Jq
ZWN0Pj4odm0pKQotICAgICAgICByZXN1bHQgPSBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0Rl
c3RydWN0aWJsZU9iamVjdD4qPihqc09iamVjdCktPmdldFByaXZhdGVQcm9wZXJ0eShuYW1lKTsK
KyAgICBlbHNlIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU05vbkZp
bmFsT2JqZWN0Pj4odm0pKQorICAgICAgICByZXN1bHQgPSBqc0Nhc3Q8SlNDYWxsYmFja09iamVj
dDxKU05vbkZpbmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZVByb3BlcnR5KG5hbWUp
OwogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECiAgICAgZWxzZSBpZiAoanNPYmplY3QtPmluaGVy
aXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pj4odm0pKQogICAgICAgICBy
ZXN1bHQgPSBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Kj4oanNP
YmplY3QpLT5nZXRQcml2YXRlUHJvcGVydHkobmFtZSk7CkBAIC02NTAsOCArNjUwLDggQEAgYm9v
bCBKU09iamVjdFNldFByaXZhdGVQcm9wZXJ0eShKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJl
ZiBvYmplY3QsIEpTU3RyaW5nUmUKICAgICAgICAganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNH
bG9iYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5zZXRQcml2YXRlUHJvcGVydHkodm0sIG5hbWUsIGpz
VmFsdWUpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0gICAgaWYgKGpzT2JqZWN0LT5p
bmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pj4odm0pKSB7Ci0g
ICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pio+KGpz
T2JqZWN0KS0+c2V0UHJpdmF0ZVByb3BlcnR5KHZtLCBuYW1lLCBqc1ZhbHVlKTsKKyAgICBpZiAo
anNPYmplY3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4+KHZt
KSkgeworICAgICAgICBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pio+
KGpzT2JqZWN0KS0+c2V0UHJpdmF0ZVByb3BlcnR5KHZtLCBuYW1lLCBqc1ZhbHVlKTsKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECkBAIC02Nzks
OCArNjc5LDggQEAgYm9vbCBKU09iamVjdERlbGV0ZVByaXZhdGVQcm9wZXJ0eShKU0NvbnRleHRS
ZWYgY3R4LCBKU09iamVjdFJlZiBvYmplY3QsIEpTU3RyaW4KICAgICAgICAganNDYXN0PEpTQ2Fs
bGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5kZWxldGVQcml2YXRlUHJv
cGVydHkobmFtZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICBpZiAoanNPYmpl
Y3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Pih2bSkp
IHsKLSAgICAgICAganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+
Kj4oanNPYmplY3QpLT5kZWxldGVQcml2YXRlUHJvcGVydHkobmFtZSk7CisgICAgaWYgKGpzT2Jq
ZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Pih2bSkpIHsK
KyAgICAgICAganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4qPihqc09i
amVjdCktPmRlbGV0ZVByaXZhdGVQcm9wZXJ0eShuYW1lKTsKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU1ZhbHVlUmVmLmNwcAppbmRleCBmNWI2NTBlM2Q0MDdhMjZhNjU1MGM2NGZiZGU2NDMxNDFk
MmEzMGE1Li5mYjE2YzRkNTYzZGJkNzU2NmY5ZjBiMGMyZDliMmE3NWI3ZDI3NmQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5jcHAKQEAgLTIxMCw4ICsyMTAsOCBAQCBi
b29sIEpTVmFsdWVJc09iamVjdE9mQ2xhc3MoSlNDb250ZXh0UmVmIGN0eCwgSlNWYWx1ZVJlZiB2
YWx1ZSwgSlNDbGFzc1JlZiBqc0NsYQogCiAgICAgICAgIGlmIChvLT5pbmhlcml0czxKU0NhbGxi
YWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pj4odm0pKQogICAgICAgICAgICAgcmV0dXJuIGpzQ2Fz
dDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pio+KG8pLT5pbmhlcml0cyhqc0NsYXNz
KTsKLSAgICAgICAgaWYgKG8tPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGli
bGVPYmplY3Q+Pih2bSkpCi0gICAgICAgICAgICByZXR1cm4ganNDYXN0PEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Kj4obyktPmluaGVyaXRzKGpzQ2xhc3MpOworICAgICAg
ICBpZiAoby0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pj4odm0p
KQorICAgICAgICAgICAgcmV0dXJuIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxP
YmplY3Q+Kj4obyktPmluaGVyaXRzKGpzQ2xhc3MpOwogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVE
CiAgICAgICAgIGlmIChvLT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9i
amVjdD4+KHZtKSkKICAgICAgICAgICAgIHJldHVybiBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxK
U0FQSVdyYXBwZXJPYmplY3Q+Kj4obyktPmluaGVyaXRzKGpzQ2xhc3MpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5jcHAK
aW5kZXggZDJjNTM3YThhMDE0MWIyMmRkMzRiZjg5ODRhMzljNjMwZTllYmY0Ni4uMjNlMjUxZjY4
NDQyYzBlMWU4MjM1ZGNiMjM5YmY3MTQ1NGM0N2U5ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwCkBAIC02NCw3
ICs2NCw3IEBAIHZvaWQgSlNXZWFrT2JqZWN0TWFwU2V0KEpTQ29udGV4dFJlZiBjdHgsIEpTV2Vh
a09iamVjdE1hcFJlZiBtYXAsIHZvaWQqIGtleSwgSlNPCiAgICAgICAgIHJldHVybjsKICAgICBB
U1NFUlQob2JqLT5pbmhlcml0czxKU1Byb3h5Pih2bSkKICAgICAgICAgfHwgb2JqLT5pbmhlcml0
czxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pj4odm0pCi0gICAgICAgIHx8IG9iai0+
aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD4+KHZtKSk7Cisg
ICAgICAgIHx8IG9iai0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0
Pj4odm0pKTsKICAgICBtYXAtPm1hcCgpLnNldChrZXksIG9iaik7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3Qu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQVBJV3JhcHBlckdsb2JhbE9i
amVjdC5jcHAKaW5kZXggNmFlMTk0NWIyZmVjNDBkZmNjOGNiNzQ3YzI3Y2Y2ODA1MTA5YTFiMi4u
YjI4NjU0NWRmZWRjODkwYjdjMWQxYmUyN2Q4ODMxOTMyM2ZiNmY3OSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQVBJV3JhcHBlckdsb2JhbE9iamVjdC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQVBJV3JhcHBlckdsb2JhbE9i
amVjdC5jcHAKQEAgLTU4LDYgKzU4LDE5IEBAIHRlbXBsYXRlIDw+IGNvbnN0IENsYXNzSW5mbyBK
U0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdD46OnNfaW5mbyA9CiAKIHRl
bXBsYXRlPD4gY29uc3QgYm9vbCBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlckdsb2JhbE9i
amVjdD46Om5lZWRzRGVzdHJ1Y3Rpb24gPSBmYWxzZTsKIAordGVtcGxhdGUgPD4KK0lzb1N1YnNw
YWNlKiBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdD46OnN1YnNwYWNl
Rm9ySW1wbChWTSYgdm0sIFN1YnNwYWNlQWNjZXNzIG1vZGUpCit7CisgICAgc3dpdGNoIChtb2Rl
KSB7CisgICAgY2FzZSBTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkOgorICAgICAgICByZXR1
cm4gdm0uY2FsbGJhY2tBUElXcmFwcGVyR2xvYmFsT2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6
Ok9uTWFpblRocmVhZD4oKTsKKyAgICBjYXNlIFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk6
CisgICAgICAgIHJldHVybiB2bS5jYWxsYmFja0FQSVdyYXBwZXJHbG9iYWxPYmplY3RTcGFjZTxT
dWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5PigpOworICAgIH0KKyAgICBSRUxFQVNFX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiB0ZW1wbGF0ZSA8Pgog
U3RydWN0dXJlKiBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdD46OmNy
ZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90bykKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0FQSVdyYXBwZXJH
bG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0FQSVdyYXBw
ZXJHbG9iYWxPYmplY3QuaAppbmRleCBkNTRhOWVjZDBlZmFhZjBhNzllYTQyZTNmYjk3ZDYwNjA2
MjUyODRkLi42YTM0ODk5NDdiMmEzMDg1NzY0ZmFmZTFiODA1ZjE1ODA1OTAxYzA5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNBUElXcmFwcGVyR2xvYmFsT2Jq
ZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQVBJV3JhcHBlckds
b2JhbE9iamVjdC5oCkBAIC0zMyw3ICszMywxMCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3Mg
SlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0IDogcHVibGljIEpTR2xvYmFsT2JqZWN0IHsKIHB1Ymxp
YzoKLSAgICB0eXBlZGVmIEpTR2xvYmFsT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEpT
R2xvYmFsT2JqZWN0OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUsIFN1YnNwYWNlQWNjZXNzPgor
ICAgIHN0YXRpYyB2b2lkIHN1YnNwYWNlRm9yKFZNJikgeyBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOyB9CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiAgICAgc3RhdGljIHZv
aWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBKU0M6OlNsb3RWaXNpdG9yJik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggNDQxYjMw
NGE0ZGQzNmM3NGQyMjM0Mzc3Y2Q2MzYwMzFhZTcxMTIzYi4uZjU5YzdhYzAxM2U4ZDkyYWZkNmRh
MzJhNjhhY2M3ZTM2NmFhNDdkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNjcwLDcgKzY3MCw3IEBAIHZvaWQgSlNHbG9iYWxP
YmplY3Q6OmluaXQoVk0mIHZtKQogICAgICAgICB9KTsKICAgICBtX2NhbGxiYWNrT2JqZWN0U3Ry
dWN0dXJlLmluaXRMYXRlcigKICAgICAgICAgW10gKGNvbnN0IEluaXRpYWxpemVyPFN0cnVjdHVy
ZT4mIGluaXQpIHsKLSAgICAgICAgICAgIGluaXQuc2V0KEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0
cnVjdGlibGVPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoaW5pdC52bSwgaW5pdC5vd25lciwgaW5p
dC5vd25lci0+bV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKTsKKyAgICAgICAgICAgIGluaXQuc2V0
KEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD46OmNyZWF0ZVN0cnVjdHVyZShpbml0
LnZtLCBpbml0Lm93bmVyLCBpbml0Lm93bmVyLT5tX29iamVjdFByb3RvdHlwZS5nZXQoKSkpOwog
ICAgICAgICB9KTsKIAogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3Qu
Y3BwCmluZGV4IGM3NTA3MDVlMTJiMzE1M2JkMWZiMDdmOGY2ZTJjMzk2OWI2ZTk2ZDYuLmZhYTdl
ZDBlNjVkZDc0ZmYwOTQxYzE4MTZjNmFiYzUzNTk3N2NjYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3Qu
Y3BwCkBAIC0xMTksNyArMTE5LDcgQEAgdm9pZCBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0Ojpm
aW5pc2hDcmVhdGlvbihWTSYgdm0pCiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAg
IHNldFN5bWJvbFRhYmxlKHZtLCBTeW1ib2xUYWJsZTo6Y3JlYXRlKHZtKSk7CiAgICAgdm0uaGVh
cC5hZGRGaW5hbGl6ZXIodGhpcywgW10gKEpTQ2VsbCogY2VsbCkgewotICAgICAgICBzdGF0aWNf
Y2FzdDxKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0Kj4oY2VsbCktPmNsYXNzSW5mbygpLT5tZXRo
b2RUYWJsZS5kZXN0cm95KGNlbGwpOworICAgICAgICBzdGF0aWNfY2FzdDxKU1NlZ21lbnRlZFZh
cmlhYmxlT2JqZWN0Kj4oY2VsbCktPm1fY2xhc3NJbmZvLT5tZXRob2RUYWJsZS5kZXN0cm95KGNl
bGwpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmgKaW5kZXggMGExMjg0ODIyN2ZmYjE5
ZjcxMGU5MTJkNTUyYjlmOTA0NTU1MzY0MS4uNTM1ZmMzNDI3N2U2YzExZmYxNjdlNzYxMmUyOTI0
M2VjMjc0YTY4NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNT
ZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuaApAQCAtOTYsNyArOTYsNyBAQCBjbGFzcyBK
U1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IDogcHVibGljIEpTU3ltYm9sVGFibGVPYmplY3Qgewog
ICAgIAogICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CiAgICAgCi0gICAgY29uc3Qg
Q2xhc3NJbmZvKiBjbGFzc0luZm8oKSBjb25zdCB7IHJldHVybiBtX2NsYXNzSW5mbzsgfQorICAg
IGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvKFZNJikgY29uc3QgeyByZXR1cm4gbV9jbGFzc0lu
Zm87IH0KICAgICAKIHByb3RlY3RlZDoKICAgICBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0KFZN
JiwgU3RydWN0dXJlKiwgSlNTY29wZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3Bw
CmluZGV4IGE0ODE4ODIzYmRmN2U2YWRhODljZGZmNjk5MTQ4N2UzMzM1Yjg4YjUuLjRkZDUzNTc4
MzA0MTY4ZjkyOWJhMGQwNmEyNjk5YjdlMThkZTAwNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9WTS5jcHAKQEAgLTc4LDcgKzc4LDkgQEAKICNpbmNsdWRlICJJc29IZWFwQ2VsbFR5cGUu
aCIKICNpbmNsdWRlICJKSVRDb2RlLmgiCiAjaW5jbHVkZSAiSklUV29ya2xpc3QuaCIKKyNpbmNs
dWRlICJKU0FQSUdsb2JhbE9iamVjdC5oIgogI2luY2x1ZGUgIkpTQVBJVmFsdWVXcmFwcGVyLmgi
CisjaW5jbHVkZSAiSlNBUElXcmFwcGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgog
I2luY2x1ZGUgIkpTQXJyYXlCdWZmZXIuaCIKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3IuaCIKQEAgLTg2LDcgKzg4LDkgQEAKICNpbmNsdWRlICJKU0JpZ0ludC5oIgogI2luY2x1
ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRl
ICJKU0NhbGxiYWNrQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrRnVuY3Rpb24u
aCIKKyNpbmNsdWRlICJKU0NhbGxiYWNrT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNDYWxsZWUuaCIK
ICNpbmNsdWRlICJKU0N1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNE
ZXN0cnVjdGlibGVPYmplY3RIZWFwQ2VsbFR5cGUuaCIKQEAgLTEzMiw3ICsxMzYsNiBAQAogI2lu
Y2x1ZGUgIk5hdGl2ZUV4ZWN1dGFibGUuaCIKICNpbmNsdWRlICJOb2Rlcy5oIgogI2luY2x1ZGUg
Ik51bWJlck9iamVjdC5oIgotI2luY2x1ZGUgIk9iakNDYWxsYmFja0Z1bmN0aW9uLmgiCiAjaW5j
bHVkZSAiUGFyc2VyLmgiCiAjaW5jbHVkZSAiUHJlZGljdGlvbkZpbGVDcmVhdGluZ0Z1enplckFn
ZW50LmgiCiAjaW5jbHVkZSAiUHJvZmlsZXJEYXRhYmFzZS5oIgpAQCAtMTkzLDcgKzE5NiwxMiBA
QAogI2luY2x1ZGUgIlJlZ0V4cC5oIgogI2VuZGlmCiAKKyNpZiBKU0NfT0JKQ19BUElfRU5BQkxF
RAorI2luY2x1ZGUgIk9iakNDYWxsYmFja0Z1bmN0aW9uLmgiCisjZW5kaWYKKwogI2lmZGVmIEpT
Q19HTElCX0FQSV9FTkFCTEVECisjaW5jbHVkZSAiSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0Lmgi
CiAjaW5jbHVkZSAiSlNDQ2FsbGJhY2tGdW5jdGlvbi5oIgogI2VuZGlmCiAKQEAgLTI5Myw2ICsz
MDEsOCBAQCBWTTo6Vk0oVk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUgaGVhcFR5cGUpCiAgICAgLCBp
bW11dGFibGVCdXR0ZXJmbHlIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxIZWFwQ2VsbFR5cGU+KENl
bGxBdHRyaWJ1dGVzKERvZXNOb3ROZWVkRGVzdHJ1Y3Rpb24sIEhlYXBDZWxsOjpKU0NlbGxXaXRo
SW50ZXJpb3JQb2ludGVycykpKQogICAgICwgY2VsbEhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPEhl
YXBDZWxsVHlwZT4oQ2VsbEF0dHJpYnV0ZXMoRG9lc05vdE5lZWREZXN0cnVjdGlvbiwgSGVhcENl
bGw6OkpTQ2VsbCkpKQogICAgICwgZGVzdHJ1Y3RpYmxlQ2VsbEhlYXBDZWxsVHlwZShtYWtlVW5p
cXVlPEhlYXBDZWxsVHlwZT4oQ2VsbEF0dHJpYnV0ZXMoTmVlZHNEZXN0cnVjdGlvbiwgSGVhcENl
bGw6OkpTQ2VsbCkpKQorICAgICwgY2FsbGJhY2tDb25zdHJ1Y3RvckhlYXBDZWxsVHlwZShtYWtl
VW5pcXVlPElzb0hlYXBDZWxsVHlwZTxKU0NhbGxiYWNrQ29uc3RydWN0b3I+PigpKQorICAgICwg
Y2FsbGJhY2tPYmplY3RIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlND
YWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pj4+KCkpCiAgICAgLCBkYXRlSW5zdGFuY2VI
ZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8RGF0ZUluc3RhbmNlPj4oKSkK
ICAgICAsIGVycm9ySW5zdGFuY2VIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5
cGU8RXJyb3JJbnN0YW5jZT4+KCkpCiAgICAgLCBqc01vZHVsZVJlY29yZEhlYXBDZWxsVHlwZSht
YWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxKU01vZHVsZVJlY29yZD4+KCkpCkBAIC0zMDMsNiAr
MzEzLDcgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlKQogICAgICwg
d2Vha1NldEhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxKU1dlYWtTZXQ+
PigpKQogICAgICwgZGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SlNE
ZXN0cnVjdGlibGVPYmplY3RIZWFwQ2VsbFR5cGU+KCkpCiAjaWYgSlNDX09CSkNfQVBJX0VOQUJM
RUQKKyAgICAsIGFwaVdyYXBwZXJPYmplY3RIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFw
Q2VsbFR5cGU8SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Pj4oKSkKICAgICAs
IG9iakNDYWxsYmFja0Z1bmN0aW9uSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxU
eXBlPE9iakNDYWxsYmFja0Z1bmN0aW9uPj4oKSkKICNlbmRpZgogI2lmZGVmIEpTQ19HTElCX0FQ
SV9FTkFCTEVECkBAIC0xMzYxLDEyICsxMzcyLDE3IEBAIHZvaWQgVk06OmVuc3VyZVNoYWRvd0No
aWNrZW4oKQogICAgIH0KIAogCitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NM
T1coYXBpR2xvYmFsT2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQVBJR2xv
YmFsT2JqZWN0KQorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGFwaVZh
bHVlV3JhcHBlclNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0FQSVZhbHVlV3JhcHBl
cikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhhcnJheUJ1ZmZlclNw
YWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0FycmF5QnVmZmVyKQogRFlOQU1JQ19JU09f
U1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGFzeW5jR2VuZXJhdG9yU3BhY2UsIGNlbGxIZWFw
Q2VsbFR5cGUuZ2V0KCksIEpTQXN5bmNHZW5lcmF0b3IpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9E
RUZJTkVfTUVNQkVSX1NMT1coYmlnSW50T2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0
KCksIEJpZ0ludE9iamVjdCkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xP
Vyhib29sZWFuT2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEJvb2xlYW5PYmpl
Y3QpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYm91bmRGdW5jdGlv
blNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0JvdW5kRnVuY3Rpb24pIC8vIEhhc2g6
MHhkNzkxNmQ0MQorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGNhbGxi
YWNrQ29uc3RydWN0b3JTcGFjZSwgY2FsbGJhY2tDb25zdHJ1Y3RvckhlYXBDZWxsVHlwZS5nZXQo
KSwgSlNDYWxsYmFja0NvbnN0cnVjdG9yKQorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01F
TUJFUl9TTE9XKGNhbGxiYWNrR2xvYmFsT2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0
KCksIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+KQogRFlOQU1JQ19JU09fU1VCU1BB
Q0VfREVGSU5FX01FTUJFUl9TTE9XKGNhbGxiYWNrRnVuY3Rpb25TcGFjZSwgY2VsbEhlYXBDZWxs
VHlwZS5nZXQoKSwgSlNDYWxsYmFja0Z1bmN0aW9uKSAvLyBIYXNoOjB4ZTc2NDhlYmMKK0RZTkFN
SUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhjYWxsYmFja09iamVjdFNwYWNlLCBj
YWxsYmFja09iamVjdEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDYWxsYmFja09iamVjdDxKU05vbkZp
bmFsT2JqZWN0PikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhjdXN0
b21HZXR0ZXJTZXR0ZXJGdW5jdGlvblNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0N1
c3RvbUdldHRlclNldHRlckZ1bmN0aW9uKSAvLyBIYXNoOjB4MTgwOTEwMDAKIERZTkFNSUNfSVNP
X1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhkYXRhVmlld1NwYWNlLCBjZWxsSGVhcENlbGxU
eXBlLmdldCgpLCBKU0RhdGFWaWV3KQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJF
Ul9TTE9XKGVycm9ySW5zdGFuY2VTcGFjZSwgZXJyb3JJbnN0YW5jZUhlYXBDZWxsVHlwZS5nZXQo
KSwgRXJyb3JJbnN0YW5jZSkgLy8gSGFzaDoweDNmNDBkNGEKQEAgLTEzOTgsMTAgKzE0MTQsMTMg
QEAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKHdlYWtNYXBTcGFjZSwg
d2Vha01hcEhlYXBDZWxsVHlwZS5nZXQoKSwKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9N
RU1CRVJfU0xPVyh3ZWFrU2V0U3BhY2UsIHdlYWtTZXRIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTV2Vh
a1NldCkgLy8gSGFzaDoweDRjNzgxYjMwCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVN
QkVSX1NMT1cod2Vha09iamVjdFJlZlNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU1dl
YWtPYmplY3RSZWYpIC8vIEhhc2g6MHg4ZWM2OGYxZgogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVE
CitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYXBpV3JhcHBlck9iamVj
dFNwYWNlLCBhcGlXcmFwcGVyT2JqZWN0SGVhcENlbGxUeXBlLmdldCgpLCBKU0NhbGxiYWNrT2Jq
ZWN0PEpTQVBJV3JhcHBlck9iamVjdD4pCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVN
QkVSX1NMT1cob2JqQ0NhbGxiYWNrRnVuY3Rpb25TcGFjZSwgb2JqQ0NhbGxiYWNrRnVuY3Rpb25I
ZWFwQ2VsbFR5cGUuZ2V0KCksIE9iakNDYWxsYmFja0Z1bmN0aW9uKSAvLyBIYXNoOjB4MTBmNjEw
YjgKICNlbmRpZgogI2lmZGVmIEpTQ19HTElCX0FQSV9FTkFCTEVECitEWU5BTUlDX0lTT19TVUJT
UEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYXBpV3JhcHBlck9iamVjdFNwYWNlLCBhcGlXcmFwcGVy
T2JqZWN0SGVhcENlbGxUeXBlLmdldCgpLCBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9i
amVjdD4pCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coanNjQ2FsbGJh
Y2tGdW5jdGlvblNwYWNlLCBqc2NDYWxsYmFja0Z1bmN0aW9uSGVhcENlbGxUeXBlLmdldCgpLCBK
U0NDYWxsYmFja0Z1bmN0aW9uKQorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9T
TE9XKGNhbGxiYWNrQVBJV3JhcHBlckdsb2JhbE9iamVjdFNwYWNlLCBjZWxsSGVhcENlbGxUeXBl
LmdldCgpLCBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdD4pCiAjZW5k
aWYKICNpZiBFTkFCTEUoSU5UTCkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJf
U0xPVyhpbnRsQ29sbGF0b3JTcGFjZSwgaW50bENvbGxhdG9ySGVhcENlbGxUeXBlLmdldCgpLCBJ
bnRsQ29sbGF0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9W
TS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAppbmRleCBlZGRiZmM1NWVi
YjY4YmE3MDJhMjM3N2QzNDcwMmU4NWM2N2U0N2IwLi5jNmVkZDExYzMyYTIxZjM4ZTQxMzQ0MDll
MGM2YWQyZTNiY2RmYWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9WTS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKQEAgLTEyNiwx
MyArMTI2LDE2IEBAIGNsYXNzIEludGxDb2xsYXRvcjsKIGNsYXNzIEludGxEYXRlVGltZUZvcm1h
dDsKIGNsYXNzIEludGxOdW1iZXJGb3JtYXQ7CiBjbGFzcyBJbnRsUGx1cmFsUnVsZXM7CitjbGFz
cyBKU0FQSVdyYXBwZXJPYmplY3Q7CiBjbGFzcyBKU0NDYWxsYmFja0Z1bmN0aW9uOworY2xhc3Mg
SlNDYWxsYmFja0NvbnN0cnVjdG9yOwogY2xhc3MgSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlv
bjsKIGNsYXNzIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlOwogY2xhc3MgSlNHbG9i
YWxPYmplY3Q7CiBjbGFzcyBKU01vZHVsZU5hbWVzcGFjZU9iamVjdDsKIGNsYXNzIEpTTW9kdWxl
UmVjb3JkOwogY2xhc3MgSlNOYXRpdmVTdGRGdW5jdGlvbjsKK2NsYXNzIEpTTm9uRmluYWxPYmpl
Y3Q7CiBjbGFzcyBKU09iamVjdDsKIGNsYXNzIEpTUHJvbWlzZTsKIGNsYXNzIEpTUHJvcGVydHlO
YW1lRW51bWVyYXRvcjsKQEAgLTE4Miw2ICsxODUsNyBAQCBjbGFzcyBXZWJBc3NlbWJseUZ1bmN0
aW9uOwogY2xhc3MgV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQ7CiAKIHRlbXBsYXRlPHR5cGVuYW1l
IENlbGxUeXBlPiBjbGFzcyBJc29IZWFwQ2VsbFR5cGU7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBQYXJl
bnQ+IGNsYXNzIEpTQ2FsbGJhY2tPYmplY3Q7CiAKICNpZiBFTkFCTEUoRlRMX0pJVCkKIG5hbWVz
cGFjZSBGVEwgewpAQCAtMzU5LDYgKzM2Myw4IEBAIGNsYXNzIFZNIDogcHVibGljIFRocmVhZFNh
ZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFZNPiB7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPEhlYXBDZWxsVHlwZT4gaW1tdXRhYmxlQnV0dGVyZmx5SGVhcENlbGxU
eXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxIZWFwQ2VsbFR5cGU+IGNlbGxIZWFwQ2VsbFR5cGU7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPEhlYXBDZWxsVHlwZT4gZGVzdHJ1Y3RpYmxlQ2VsbEhlYXBD
ZWxsVHlwZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tD
b25zdHJ1Y3Rvcj4+IGNhbGxiYWNrQ29uc3RydWN0b3JIZWFwQ2VsbFR5cGU7CisgICAgc3RkOjp1
bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmpl
Y3Q+Pj4gY2FsbGJhY2tPYmplY3RIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPElz
b0hlYXBDZWxsVHlwZTxEYXRlSW5zdGFuY2U+PiBkYXRlSW5zdGFuY2VIZWFwQ2VsbFR5cGU7CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxFcnJvckluc3RhbmNlPj4gZXJyb3JJ
bnN0YW5jZUhlYXBDZWxsVHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBl
PEpTTW9kdWxlUmVjb3JkPj4ganNNb2R1bGVSZWNvcmRIZWFwQ2VsbFR5cGU7CkBAIC0zNjksNiAr
Mzc1LDcgQEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJs
aWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVh
cENlbGxUeXBlPEpTV2Vha1NldD4+IHdlYWtTZXRIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPEpTRGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlPiBkZXN0cnVjdGlibGVPYmpl
Y3RIZWFwQ2VsbFR5cGU7CiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0
Pj4+IGFwaVdyYXBwZXJPYmplY3RIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPElz
b0hlYXBDZWxsVHlwZTxPYmpDQ2FsbGJhY2tGdW5jdGlvbj4+IG9iakNDYWxsYmFja0Z1bmN0aW9u
SGVhcENlbGxUeXBlOwogI2VuZGlmCiAjaWZkZWYgSlNDX0dMSUJfQVBJX0VOQUJMRUQKQEAgLTQ1
OCwxNyArNDY1LDI1IEBAIGNsYXNzIFZNIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFZN
PiwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFZNPiB7CiAKIAogI2lmIEpTQ19PQkpDX0FQ
SV9FTkFCTEVECisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhcGlXcmFw
cGVyT2JqZWN0U3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihv
YmpDQ2FsbGJhY2tGdW5jdGlvblNwYWNlKQogI2VuZGlmCiAjaWZkZWYgSlNDX0dMSUJfQVBJX0VO
QUJMRUQKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFwaVdyYXBwZXJP
YmplY3RTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGpzY0Nh
bGxiYWNrRnVuY3Rpb25TcGFjZSkKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVN
QkVSKGNhbGxiYWNrQVBJV3JhcHBlckdsb2JhbE9iamVjdFNwYWNlKQogI2VuZGlmCisgICAgRFlO
QU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhcGlHbG9iYWxPYmplY3RTcGFjZSkKKyAg
ICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFwaVZhbHVlV3JhcHBlclNwYWNl
KQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXJyYXlCdWZmZXJTcGFj
ZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFzeW5jR2VuZXJhdG9y
U3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihiaWdJbnRPYmpl
Y3RTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGJvb2xlYW5P
YmplY3RTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGJvdW5k
RnVuY3Rpb25TcGFjZSkKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGNh
bGxiYWNrQ29uc3RydWN0b3JTcGFjZSkKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVf
TUVNQkVSKGNhbGxiYWNrR2xvYmFsT2JqZWN0U3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BB
Q0VfREVGSU5FX01FTUJFUihjYWxsYmFja0Z1bmN0aW9uU3BhY2UpCisgICAgRFlOQU1JQ19JU09f
U1VCU1BBQ0VfREVGSU5FX01FTUJFUihjYWxsYmFja09iamVjdFNwYWNlKQogICAgIERZTkFNSUNf
SVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoY3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb25TcGFj
ZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGRhdGFWaWV3U3BhY2Up
CiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihlcnJvckluc3RhbmNlU3Bh
Y2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9i
amVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5j
cHAKaW5kZXggNjBhMzRjZjliY2EwYmUzM2E2ZjkyMTY5NTUwZTk0MWMzZjZhZjIwMy4uNjM4Mzlk
MWM0NWE4YmU0Yzg4ZjQ0ODk5N2NiZWM3MmFmMzJkYTNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcApAQCAtMTQ5LDcgKzE0OSw3IEBA
IHZvaWQgSlNET01HbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogICAgIGFk
ZEJ1aWx0aW5HbG9iYWxzKHZtKTsKIAotICAgIFJFTEVBU0VfQVNTRVJUKGNsYXNzSW5mbygpKTsK
KyAgICBSRUxFQVNFX0FTU0VSVChjbGFzc0luZm8odm0pKTsKIH0KIAogdm9pZCBKU0RPTUdsb2Jh
bE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU09iamVjdCogdGhpc1ZhbHVlKQpAQCAt
MTU5LDcgKzE1OSw3IEBAIHZvaWQgSlNET01HbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSwgSlNPYmplY3QqIHRoaXNWYWx1ZSkKIAogICAgIGFkZEJ1aWx0aW5HbG9iYWxzKHZtKTsK
IAotICAgIFJFTEVBU0VfQVNTRVJUKGNsYXNzSW5mbygpKTsKKyAgICBSRUxFQVNFX0FTU0VSVChj
bGFzc0luZm8odm0pKTsKIH0KIAogU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogSlNET01HbG9iYWxP
YmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAKaW5kZXggMDU2YmRiZDJkZjFlM2YzYTQ0NmQxNzk5
YTMxMjlhNzM5ZjgwY2NjNS4uNzczNmQwY2ZkM2ZjNmM5Njg1NTUzZDJkNTYwYTg5OWFjZmM1NzM4
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuY3BwCkBAIC00
MSw3ICs0MSw3IEBAIFNUQVRJQ19BU1NFUlRfSVNfVFJJVklBTExZX0RFU1RSVUNUSUJMRShKU0RP
TU9iamVjdCk7CiBKU0RPTU9iamVjdDo6SlNET01PYmplY3QoSlNDOjpTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNDOjpKU0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogICAgIDogQmFzZShnbG9i
YWxPYmplY3Qudm0oKSwgc3RydWN0dXJlKQogewotICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgfHwgZ2xvYmFsT2JqZWN0LmNsYXNzSW5mbygpID09IEpTUmVtb3RlRE9NV2luZG93
OjppbmZvKCkpOworICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgfHwgZ2xvYmFs
T2JqZWN0LmNsYXNzSW5mbyhnbG9iYWxPYmplY3Qudm0oKSkgPT0gSlNSZW1vdGVET01XaW5kb3c6
OmluZm8oKSk7CiB9CiAKIEpTQzo6Q29tcGxldGVTdWJzcGFjZSogb3V0cHV0Q29uc3RyYWludFN1
YnNwYWNlRm9yKEpTQzo6Vk0mIHZtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNXaW5kb3dQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dp
bmRvd1Byb3h5LmNwcAppbmRleCA3YWM4Zjc5NDE0ZGVkZDBhNmQ2OTQ1ZDE0OGYyOGU4YmQyNzEz
NDY2Li5kYjcwMzFhY2RhYjNhZWM2Yjc3N2Q3NjgzMTU5NTZlNDNhM2YwYmJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dpbmRvd1Byb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dpbmRvd1Byb3h5LmNwcApAQCAtNzUsNyArNzUsNyBA
QCB2b2lkIEpTV2luZG93UHJveHk6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQogCiB2b2lkIEpTV2lu
ZG93UHJveHk6OnNldFdpbmRvdyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiB3aW5kb3cpCiB7
Ci0gICAgQVNTRVJUKHdpbmRvdy5jbGFzc0luZm8oKSA9PSBKU0RPTVdpbmRvdzo6aW5mbygpIHx8
IHdpbmRvdy5jbGFzc0luZm8oKSA9PSBKU1JlbW90ZURPTVdpbmRvdzo6aW5mbygpKTsKKyAgICBB
U1NFUlQod2luZG93LmNsYXNzSW5mbyh2bSkgPT0gSlNET01XaW5kb3c6OmluZm8oKSB8fCB3aW5k
b3cuY2xhc3NJbmZvKHZtKSA9PSBKU1JlbW90ZURPTVdpbmRvdzo6aW5mbygpKTsKICAgICBzZXRU
YXJnZXQodm0sICZ3aW5kb3cpOwogICAgIHN0cnVjdHVyZSh2bSktPnNldEdsb2JhbE9iamVjdCh2
bSwgJndpbmRvdyk7CiAgICAgR0NDb250cm9sbGVyOjpzaW5nbGV0b24oKS5nYXJiYWdlQ29sbGVj
dFNvb24oKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385356</attachid>
            <date>2019-12-10 23:07:10 -0800</date>
            <delta_ts>2019-12-10 23:07:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205097-20191210230709.patch</filename>
            <type>text/plain</type>
            <size>37165</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZTQ5YTFjMWM1ODU2ZmYxZGIyYjhhMGJmZTU0OGY1M2I3YTVjZWU1Li41ZGI2MDM0NDEzMTkzNjlk
NDRmYTE2NWJmNWNlYjU2MzlmYmM1YjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NyBAQAorMjAxOS0xMi0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFB1dCBhbGwgQVBJIHJlbGF0ZWQgSlMgY2VsbHMgaW50byBJc29T
dWJzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgVGhpcyBw
YXRjaCBwdXRzIEFQSSByZWxhdGVkIEpTIGNlbGxzIGludG8gSXNvU3Vic3BhY2UuCisKKyAgICAg
ICAgKiBBUEkvSlNBUElHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNBUElHbG9iYWxP
YmplY3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTQVBJR2xvYmFsT2JqZWN0
OjpjcmVhdGVTdHJ1Y3R1cmUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKU0FQSUdsb2JhbE9i
amVjdDo6SlNBUElHbG9iYWxPYmplY3QpOiBEZWxldGVkLgorICAgICAgICAqIEFQSS9KU0FQSVZh
bHVlV3JhcHBlci5oOgorICAgICAgICAqIEFQSS9KU0FQSVdyYXBwZXJPYmplY3QuaDoKKyAgICAg
ICAgKEpTQzo6SlNBUElXcmFwcGVyT2JqZWN0OjpzdWJzcGFjZUZvcik6CisgICAgICAgICogQVBJ
L0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tDb25z
dHJ1Y3Rvcjo6SlNDYWxsYmFja0NvbnN0cnVjdG9yKToKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFj
a0NvbnN0cnVjdG9yLmg6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwOgorICAg
ICAgICAoSlNDOjpKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVhdGVTdHJ1
Y3R1cmUpOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+
OjpzdWJzcGFjZUZvckltcGwpOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrT2JqZWN0PEpTR2xv
YmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09i
amVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwpOgorICAgICAgICAoSlND
OjpKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja09iamVjdC5oOgorICAgICAgICAq
IEFQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmg6CisgICAgICAgIChKU0M6OkpTQ2FsbGJh
Y2tPYmplY3Q8UGFyZW50Pjo6aW5pdCk6CisgICAgICAgICogQVBJL0pTQ2xhc3NSZWYuY3BwOgor
ICAgICAgICAoT3BhcXVlSlNDbGFzczo6cHJvdG90eXBlKToKKyAgICAgICAgKiBBUEkvSlNPYmpl
Y3RSZWYuY3BwOgorICAgICAgICAoSlNPYmplY3RNYWtlKToKKyAgICAgICAgKEpTT2JqZWN0R2V0
UHJpdmF0ZSk6CisgICAgICAgIChKU09iamVjdFNldFByaXZhdGUpOgorICAgICAgICAoSlNPYmpl
Y3RHZXRQcml2YXRlUHJvcGVydHkpOgorICAgICAgICAoSlNPYmplY3RTZXRQcml2YXRlUHJvcGVy
dHkpOgorICAgICAgICAoSlNPYmplY3REZWxldGVQcml2YXRlUHJvcGVydHkpOgorICAgICAgICAq
IEFQSS9KU1ZhbHVlUmVmLmNwcDoKKyAgICAgICAgKEpTVmFsdWVJc09iamVjdE9mQ2xhc3MpOgor
ICAgICAgICAqIEFQSS9KU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcDoKKyAgICAgICAgKiBB
UEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0Nh
bGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdD46OnN1YnNwYWNlRm9ySW1wbCk6
CisgICAgICAgICogQVBJL2dsaWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0Lmg6CisgICAgICAg
IChKU0M6OkpTQVBJV3JhcHBlckdsb2JhbE9iamVjdDo6c3Vic3BhY2VGb3IpOgorICAgICAgICAq
IHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVj
dDo6aW5pdCk6CisgICAgICAgICogcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNw
cDoKKyAgICAgICAgKEpTQzo6SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdDo6ZmluaXNoQ3JlYXRp
b24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5oOgorICAg
ICAgICAoSlNDOjpKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0OjpjbGFzc0luZm8gY29uc3QpOgor
ICAgICAgICAqIHJ1bnRpbWUvVk0uY3BwOgorICAgICAgICAoSlNDOjpWTTo6Vk0pOgorICAgICAg
ICAqIHJ1bnRpbWUvVk0uaDoKKwogMjAxOS0xMi0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lA
YXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIEFkaG9jbHkgY3JlYXRlZCBDYWxsTGlua0luZm8g
aW4gR2V0dGVyU2V0dGVyQWNjZXNzIHNob3VsZCBiZSBvd25lZCBieSBHQ0F3YXJlSklUU3R1YlJv
dXRpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBiYTE2YjQ0MGFkNDk3YWU1YTZmNGFjYjgxMmFjNzk2OWQxNzRm
YzczLi43OGJlNGRjNzMwNjhjOWQ3OTU3OGY0N2RlMWQyM2JlMDVlYTUzM2Y0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMTItMTAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFw
cGxlLmNvbT4KKworICAgICAgICBbSlNDXSBQdXQgYWxsIEFQSSByZWxhdGVkIEpTIGNlbGxzIGlu
dG8gSXNvU3Vic3BhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNTA5NworCisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgTGFtLgorCisgICAgICAg
ICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNET01HbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0RPTVdyYXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01PYmplY3Q6OkpTRE9N
T2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dpbmRvd1Byb3h5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTV2luZG93UHJveHk6OnNldFdpbmRvdyk6CisKIDIwMTktMTItMTAgIENh
dGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpeGVkIFBhdHRl
cm4uaCBjb21waWxlIGVycm9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQVBJR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJR2xv
YmFsT2JqZWN0LmgKaW5kZXggNGIzYmIxNWNkZjBhNWM0NmI0ZmU5NWRlYTZhYTA5ZTIwNmI0MTkx
ZS4uNjBmNmY2NmU2ZGM0ZTE1MmVlOGY1NjljNThmZGVkMzUwODVjMTQ0ZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSUdsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElHbG9iYWxPYmplY3QuaApAQCAtMzEsMTMgKzMxLDE5
IEBAIE9CSkNfQ0xBU1MgSlNTY3JpcHQ7CiAKIG5hbWVzcGFjZSBKU0MgewogCi1jbGFzcyBKU0FQ
SUdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0dsb2JhbE9iamVjdCB7CitjbGFzcyBKU0FQSUdsb2Jh
bE9iamVjdCBmaW5hbCA6IHB1YmxpYyBKU0dsb2JhbE9iamVjdCB7CiBwdWJsaWM6CiAgICAgdXNp
bmcgQmFzZSA9IEpTR2xvYmFsT2JqZWN0OwogCiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKICAg
ICBzdGF0aWMgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgc19nbG9iYWxPYmplY3RNZXRo
b2RUYWJsZTsKIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vz
cyBtb2RlPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIHZtLmFwaUdsb2JhbE9iamVjdFNwYWNlPG1vZGU+KCk7CisgICAg
fQorCiAgICAgc3RhdGljIEpTQVBJR2xvYmFsT2JqZWN0KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKICAgICB7CiAgICAgICAgIGF1dG8qIG9iamVjdCA9IG5ldyAoTm90TnVs
bCwgYWxsb2NhdGVDZWxsPEpTQVBJR2xvYmFsT2JqZWN0Pih2bS5oZWFwKSkgSlNBUElHbG9iYWxP
YmplY3Qodm0sIHN0cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQVBJVmFsdWVXcmFwcGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJ
VmFsdWVXcmFwcGVyLmgKaW5kZXggNDFmNTA5ZDM2NGFiYzg0NDNjNGU4MWU0NjA3MzFjNjE3OWQw
NDJkOS4uMWY3ODIyOWUwYzgwZGI0Y2Q2MzQ2MGZmNjIxMzM5NzAxNGRiZmQ5YyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVZhbHVlV3JhcHBlci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1ZVdyYXBwZXIuaApAQCAtMzIsOSArMzIs
MTUgQEAgbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBKU0FQSVZhbHVlV3JhcHBlciBmaW5hbCA6IHB1
YmxpYyBKU0NlbGwgewogICAgIGZyaWVuZCBKU1ZhbHVlIGpzQVBJVmFsdWVXcmFwcGVyKEpTR2xv
YmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsK
KyAgICB1c2luZyBCYXNlID0gSlNDZWxsOwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQg
U3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0
YWw7CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3MgbW9k
ZT4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7Cisg
ICAgICAgIHJldHVybiB2bS5hcGlWYWx1ZVdyYXBwZXJTcGFjZTxtb2RlPigpOworICAgIH0KKwog
ICAgIEpTVmFsdWUgdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlLmdldCgpOyB9CiAKICAg
ICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNBUElXcmFwcGVyT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQVBJV3JhcHBlck9iamVjdC5oCmluZGV4IGRkODc0ZGM2NWVlN2VhYTNjNTI0
ZmQwZjMyNGNiM2VhODcxN2ExYmMuLmYzYjk4ZGNhMTcyYWNkNDcwNzgyM2I4MjNhZWRhYWQ3YWM5
NzNmYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElXcmFwcGVy
T2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVdyYXBwZXJPYmpl
Y3QuaApAQCAtMzMsOSArMzMsMTIgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAgICAgCi1jbGFzcyBK
U0FQSVdyYXBwZXJPYmplY3QgOiBwdWJsaWMgSlNEZXN0cnVjdGlibGVPYmplY3QgeworY2xhc3Mg
SlNBUElXcmFwcGVyT2JqZWN0IDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogcHVibGljOgot
ICAgIHR5cGVkZWYgSlNEZXN0cnVjdGlibGVPYmplY3QgQmFzZTsKKyAgICB1c2luZyBCYXNlID0g
SlNOb25GaW5hbE9iamVjdDsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lLCBTdWJzcGFjZUFjY2Vz
cz4KKyAgICBzdGF0aWMgdm9pZCBzdWJzcGFjZUZvcihWTSYpIHsgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsgfQogICAgIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKICAgICBz
dGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIEpTQzo6U2xvdFZpc2l0b3ImKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9y
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNw
cAppbmRleCAwNzBkNzVkNThkYTE1NjgwODY5YTBmNThkNmFiNDRmMTIyYzUxMTliLi40OWY0Y2U3
NmVkZTFlYWU4ZWQwMmQ1ZjNmMWJmN2QwOTRmNzE5ZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuY3BwCkBAIC0zOSw3ICszOSw3
IEBAIG5hbWVzcGFjZSBKU0MgewogY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rv
cjo6c19pbmZvID0geyAiQ2FsbGJhY2tDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIG51bGxw
dHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja0NvbnN0cnVjdG9yKSB9
OwogCiBKU0NhbGxiYWNrQ29uc3RydWN0b3I6OkpTQ2FsbGJhY2tDb25zdHJ1Y3RvcihKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNDbGFzc1JlZiBq
c0NsYXNzLCBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yQ2FsbGJhY2sgY2FsbGJhY2spCi0gICAg
OiBKU0Rlc3RydWN0aWJsZU9iamVjdChnbG9iYWxPYmplY3QtPnZtKCksIHN0cnVjdHVyZSkKKyAg
ICA6IEJhc2UoZ2xvYmFsT2JqZWN0LT52bSgpLCBzdHJ1Y3R1cmUpCiAgICAgLCBtX2NsYXNzKGpz
Q2xhc3MpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgKaW5kZXggMjU5MjhmYmFmZGZj
Nzg2YTY0MmU2MTI4NGUxYzRlMzM2OTBiMjY3ZC4uZTU3MjU5NDAyMzZhOWEyZWEwOTQ2MDJiOTcx
MTQ4NzI2YjZhNmZmYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Nh
bGxiYWNrQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2Fs
bGJhY2tDb25zdHJ1Y3Rvci5oCkBAIC0yNiwxNSArMjYsMjEgQEAKICNpZm5kZWYgSlNDYWxsYmFj
a0NvbnN0cnVjdG9yX2gKICNkZWZpbmUgSlNDYWxsYmFja0NvbnN0cnVjdG9yX2gKIAotI2luY2x1
ZGUgIkpTRGVzdHJ1Y3RpYmxlT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNPYmplY3RSZWYuaCIKIAog
bmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIEpTQ2FsbGJhY2tDb25zdHJ1Y3RvciBmaW5hbCA6IHB1
YmxpYyBKU0Rlc3RydWN0aWJsZU9iamVjdCB7CitjbGFzcyBKU0NhbGxiYWNrQ29uc3RydWN0b3Ig
ZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBK
U0Rlc3RydWN0aWJsZU9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2Jq
ZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNl
OjpTdHJ1Y3R1cmVGbGFncyB8IEltcGxlbWVudHNIYXNJbnN0YW5jZSB8IEltcGxlbWVudHNEZWZh
dWx0SGFzSW5zdGFuY2U7CisgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIG5lZWRzRGVzdHJ1Y3Rp
b24gPSB0cnVlOworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNj
ZXNzIG1vZGU+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisg
ICAgeworICAgICAgICByZXR1cm4gdm0uY2FsbGJhY2tDb25zdHJ1Y3RvclNwYWNlPG1vZGU+KCk7
CisgICAgfQogCiAgICAgc3RhdGljIEpTQ2FsbGJhY2tDb25zdHJ1Y3RvciogY3JlYXRlKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0NsYXNzUmVm
IGNsYXNzUmVmLCBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yQ2FsbGJhY2sgY2FsbGJhY2spIAog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09i
amVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3Bw
CmluZGV4IGNiNjNmNDk2MzkwOGI3MWI5NWM0NTNkZGJlOGI2YTc0MTEwNjcxNGMuLjNlNWFiODUz
NTNiYzE2M2JkNzI2NDkxMGMyNzg1NjNjMzEzMDVkY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcApAQCAtMjgsMTYgKzI4LDE3IEBACiAjaW5j
bHVkZSAiSlNDYWxsYmFja09iamVjdC5oIgogCiAjaW5jbHVkZSAiSGVhcC5oIgorI2luY2x1ZGUg
IkpTQVBJV3JhcHBlck9iamVjdC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiAvLyBEZWZpbmUg
dGhlIHR3byB0eXBlcyBvZiBKU0NhbGxiYWNrT2JqZWN0cyB3ZSBzdXBwb3J0LgotdGVtcGxhdGUg
PD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+
OjpzX2luZm8gPSB7ICJDYWxsYmFja09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKK3RlbXBsYXRl
IDw+IGNvbnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Ojpz
X2luZm8gPSB7ICJDYWxsYmFja09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxw
dHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKIHRlbXBsYXRlIDw+
IGNvbnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6c19pbmZv
ID0geyAiQ2FsbGJhY2tHbG9iYWxPYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxs
cHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQ2FsbGJhY2tPYmplY3QpIH07CiAKLXRlbXBsYXRl
PD4gY29uc3QgYm9vbCBKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6bmVl
ZHNEZXN0cnVjdGlvbiA9IHRydWU7Cit0ZW1wbGF0ZTw+IGNvbnN0IGJvb2wgSlNDYWxsYmFja09i
amVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6bmVlZHNEZXN0cnVjdGlvbiA9IHRydWU7CiB0ZW1wbGF0
ZTw+IGNvbnN0IGJvb2wgSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46Om5lZWRzRGVz
dHJ1Y3Rpb24gPSBmYWxzZTsKIAogdGVtcGxhdGU8PgpAQCAtNDksNyArNTAsNyBAQCBKU0NhbGxi
YWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0PiogSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVj
dD46OmNyZWF0ZShWTSYgdgogfQogCiB0ZW1wbGF0ZSA8PgotU3RydWN0dXJlKiBKU0NhbGxiYWNr
T2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90bykKK1N0cnVjdHVyZSogSlND
YWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90bykKIHsgCiAgICAgcmV0
dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhP
YmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7IAogfQpAQCAtNjAsNCArNjEsNDMg
QEAgU3RydWN0dXJlKiBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6Y3JlYXRlU3Ry
dWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmoKICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdCwgcHJvdG8sIFR5cGVJbmZvKEdsb2JhbE9iamVjdFR5cGUsIFN0cnVj
dHVyZUZsYWdzKSwgaW5mbygpKTsgCiB9CiAKK3RlbXBsYXRlIDw+CitJc29TdWJzcGFjZSogSlND
YWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKFZNJiB2bSwg
U3Vic3BhY2VBY2Nlc3MgbW9kZSkKK3sKKyAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICBjYXNlIFN1
YnNwYWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ6CisgICAgICAgIHJldHVybiB2bS5jYWxsYmFja09i
amVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ+KCk7CisgICAgY2FzZSBTdWJz
cGFjZUFjY2Vzczo6Q29uY3VycmVudGx5OgorICAgICAgICByZXR1cm4gdm0uY2FsbGJhY2tPYmpl
Y3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5PigpOworICAgIH0KKyAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOworfQorCit0ZW1w
bGF0ZSA8PgorSXNvU3Vic3BhY2UqIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Ojpz
dWJzcGFjZUZvckltcGwoVk0mIHZtLCBTdWJzcGFjZUFjY2VzcyBtb2RlKQoreworICAgIHN3aXRj
aCAobW9kZSkgeworICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZDoKKyAgICAg
ICAgcmV0dXJuIHZtLmNhbGxiYWNrR2xvYmFsT2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6Ok9u
TWFpblRocmVhZD4oKTsKKyAgICBjYXNlIFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk6Cisg
ICAgICAgIHJldHVybiB2bS5jYWxsYmFja0dsb2JhbE9iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNz
OjpDb25jdXJyZW50bHk+KCk7CisgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3RlbXBsYXRlIDw+CitJc29TdWJzcGFjZSog
SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwoVk0m
IHZtLCBTdWJzcGFjZUFjY2VzcyBtb2RlKQoreworICAgIHN3aXRjaCAobW9kZSkgeworICAgIGNh
c2UgU3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZDoKKyAgICAgICAgcmV0dXJuIHZtLmFwaVdy
YXBwZXJPYmplY3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkPigpOworICAgIGNh
c2UgU3Vic3BhY2VBY2Nlc3M6OkNvbmN1cnJlbnRseToKKyAgICAgICAgcmV0dXJuIHZtLmFwaVdy
YXBwZXJPYmplY3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5PigpOworICAgIH0K
KyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Nh
bGxiYWNrT2JqZWN0LmgKaW5kZXggNGY1ZjRiNmY1MzUxZjM4NDY0NDdmMmMwMGU2NzljMzVlOGEw
NGFiOC4uMDM0YjM1N2MwNzM4ZTM0OTEyNTg4NThkNzA2OTg5ZmVmY2I0ODMzZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmgKQEAgLTEzMSw3ICsxMzEs
NyBAQCBjbGFzcyBKU0NhbGxiYWNrT2JqZWN0IGZpbmFsIDogcHVibGljIFBhcmVudCB7CiAgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogCiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBQYXJlbnQg
QmFzZTsKKyAgICB1c2luZyBCYXNlID0gUGFyZW50OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5z
aWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFByb2hpYml0c1By
b3BlcnR5Q2FjaGluZyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEludGVyY2VwdHNH
ZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5MZW5ndGhJc05vdFplcm8gfCBJbXBsZW1l
bnRzSGFzSW5zdGFuY2UgfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzIHwgT3ZlcnJpZGVzR2V0
Q2FsbERhdGE7CiAgICAgc3RhdGljX2Fzc2VydCghKFN0cnVjdHVyZUZsYWdzICYgSW1wbGVtZW50
c0RlZmF1bHRIYXNJbnN0YW5jZSksICJ1c2luZyBjdXN0b21IYXNJbnN0YW5jZSIpOwogCkBAIC0x
NTMsNiArMTUzLDEyIEBAIGNsYXNzIEpTQ2FsbGJhY2tPYmplY3QgZmluYWwgOiBwdWJsaWMgUGFy
ZW50IHsKICAgICAgICAgc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdCo+KGNlbGwpLT5KU0Nh
bGxiYWNrT2JqZWN0Ojp+SlNDYWxsYmFja09iamVjdCgpOwogICAgIH0KIAorICAgIHRlbXBsYXRl
PHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2VzcyBtb2RlPgorICAgIHN0YXRpYyBJc29T
dWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN1YnNw
YWNlRm9ySW1wbCh2bSwgbW9kZSk7CisgICAgfQorCiAgICAgdm9pZCBzZXRQcml2YXRlKHZvaWQq
IGRhdGEpOwogICAgIHZvaWQqIGdldFByaXZhdGUoKTsKIApAQCAtMTg0LDYgKzE5MCw3IEBAIGNs
YXNzIEpTQ2FsbGJhY2tPYmplY3QgZmluYWwgOiBwdWJsaWMgUGFyZW50IHsKICAgICB1c2luZyBQ
YXJlbnQ6Om1ldGhvZFRhYmxlOwogCiBwcml2YXRlOgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSog
c3Vic3BhY2VGb3JJbXBsKFZNJiwgU3Vic3BhY2VBY2Nlc3MpOwogICAgIHN0YXRpYyBTdHJpbmcg
Y2xhc3NOYW1lKGNvbnN0IEpTT2JqZWN0KiwgVk0mKTsKICAgICBzdGF0aWMgU3RyaW5nIHRvU3Ry
aW5nTmFtZShjb25zdCBKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0Kik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKaW5k
ZXggYTAyOTk1MjVkNThmOTQ5ZTFhZjlhMGQ0MTNjZWYyOTc5NWE4NGFlMi4uOGU3OTYyYzgwOTRj
ZTVkYzlkOWExYTU0ZjY5MjdkNGYyMzg3MTg3MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKQEAgLTEyNSw3ICsxMjUs
NyBAQCB2b2lkIEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6aW5pdChKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQogICAgICAgICBpbml0aWFsaXplKHRvUmVmKGdsb2JhbE9iamVjdCksIHRv
UmVmKGpzQ2FzdDxKU09iamVjdCo+KHRoaXMpKSk7CiAgICAgfQogICAgIAotICAgIG1fY2xhc3NJ
bmZvID0gdGhpcy0+Y2xhc3NJbmZvKCk7CisgICAgbV9jbGFzc0luZm8gPSB0aGlzLT5jbGFzc0lu
Zm8oZ2V0Vk0oZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBQYXJlbnQ+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2xhc3NSZWYuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmNwcAppbmRleCA0YzEyNmU0NDhmNjcx
YTEzMjkzNmM4YjhlNTkxMzQ3MzQ3ODZlZmNlLi45MmRmNjM4ZTE1ZWU3NzJmOWJkYzEyNmMxMGY0
NzgwMWNiZjZjZGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2xh
c3NSZWYuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5jcHAK
QEAgLTE5MCw3ICsxOTAsNyBAQCBKU09iamVjdCogT3BhcXVlSlNDbGFzczo6cHJvdG90eXBlKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgICAgIHJldHVybiBwcm90b3R5cGU7CiAK
ICAgICAvLyBSZWN1cnNpdmUsIGJ1dCBzaG91bGQgYmUgZ29vZCBlbm91Z2ggZm9yIG91ciBwdXJw
b3NlcwotICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1
Y3RpYmxlT2JqZWN0Pjo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFj
a09iamVjdFN0cnVjdHVyZSgpLCBwcm90b3R5cGVDbGFzcywgJmpzQ2xhc3NEYXRhKTsgLy8gc2V0
IGpzQ2xhc3NEYXRhIGFzIHRoZSBvYmplY3QncyBwcml2YXRlIGRhdGEsIHNvIGl0IGNhbiBjbGVh
ciBvdXIgcmVmZXJlbmNlIG9uIGRlc3RydWN0aW9uCisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9
IEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD46OmNyZWF0ZShnbG9iYWxPYmplY3Qs
IGdsb2JhbE9iamVjdC0+Y2FsbGJhY2tPYmplY3RTdHJ1Y3R1cmUoKSwgcHJvdG90eXBlQ2xhc3Ms
ICZqc0NsYXNzRGF0YSk7IC8vIHNldCBqc0NsYXNzRGF0YSBhcyB0aGUgb2JqZWN0J3MgcHJpdmF0
ZSBkYXRhLCBzbyBpdCBjYW4gY2xlYXIgb3VyIHJlZmVyZW5jZSBvbiBkZXN0cnVjdGlvbgogICAg
IGlmIChwYXJlbnRDbGFzcykgewogICAgICAgICBpZiAoSlNPYmplY3QqIHBhcmVudFByb3RvdHlw
ZSA9IHBhcmVudENsYXNzLT5wcm90b3R5cGUoZ2xvYmFsT2JqZWN0KSkKICAgICAgICAgICAgIHBy
b3RvdHlwZS0+c2V0UHJvdG90eXBlRGlyZWN0KGdsb2JhbE9iamVjdC0+dm0oKSwgcGFyZW50UHJv
dG90eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKaW5kZXgg
YjRiZmVmZTA1ODc1NzVkOTFmNmJlMWI0MWExMTczZDVjMzZiNGVkYy4uZjdmOWRhYjNmMjhhZGMw
ZWFiYjJiZGU4YjI1MDY3NzJhZDI1ZmZjZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU09iamVjdFJlZi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U09iamVjdFJlZi5jcHAKQEAgLTk2LDcgKzk2LDcgQEAgSlNPYmplY3RSZWYgSlNPYmplY3RNYWtl
KEpTQ29udGV4dFJlZiBjdHgsIEpTQ2xhc3NSZWYganNDbGFzcywgdm9pZCogZGF0YSkKICAgICBp
ZiAoIWpzQ2xhc3MpCiAgICAgICAgIHJldHVybiB0b1JlZihjb25zdHJ1Y3RFbXB0eU9iamVjdChn
bG9iYWxPYmplY3QpKTsKIAotICAgIEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmpl
Y3Q+KiBvYmplY3QgPSBKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6Y3Jl
YXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja09iamVjdFN0cnVjdHVyZSgp
LCBqc0NsYXNzLCBkYXRhKTsKKyAgICBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+
KiBvYmplY3QgPSBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVhdGUoZ2xv
YmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPmNhbGxiYWNrT2JqZWN0U3RydWN0dXJlKCksIGpzQ2xh
c3MsIGRhdGEpOwogICAgIGlmIChKU09iamVjdCogcHJvdG90eXBlID0ganNDbGFzcy0+cHJvdG90
eXBlKGdsb2JhbE9iamVjdCkpCiAgICAgICAgIG9iamVjdC0+c2V0UHJvdG90eXBlRGlyZWN0KHZt
LCBwcm90b3R5cGUpOwogCkBAIC01NjcsOCArNTY3LDggQEAgdm9pZCogSlNPYmplY3RHZXRQcml2
YXRlKEpTT2JqZWN0UmVmIG9iamVjdCkKIAogICAgIGlmIChjbGFzc0luZm8tPmlzU3ViQ2xhc3NP
ZihKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6aW5mbygpKSkKICAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Kj4oanNPYmpl
Y3QpLT5nZXRQcml2YXRlKCk7Ci0gICAgaWYgKGNsYXNzSW5mby0+aXNTdWJDbGFzc09mKEpTQ2Fs
bGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjppbmZvKCkpKQotICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD4qPihq
c09iamVjdCktPmdldFByaXZhdGUoKTsKKyAgICBpZiAoY2xhc3NJbmZvLT5pc1N1YkNsYXNzT2Yo
SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6aW5mbygpKSkKKyAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4qPihqc09i
amVjdCktPmdldFByaXZhdGUoKTsKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAogICAgIGlmIChj
bGFzc0luZm8tPmlzU3ViQ2xhc3NPZihKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVj
dD46OmluZm8oKSkpCiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0
PEpTQVBJV3JhcHBlck9iamVjdD4qPihqc09iamVjdCktPmdldFByaXZhdGUoKTsKQEAgLTU5NCw4
ICs1OTQsOCBAQCBib29sIEpTT2JqZWN0U2V0UHJpdmF0ZShKU09iamVjdFJlZiBvYmplY3QsIHZv
aWQqIGRhdGEpCiAgICAgICAgIHN0YXRpY19jYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxP
YmplY3Q+Kj4oanNPYmplY3QpLT5zZXRQcml2YXRlKGRhdGEpOwogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9Ci0gICAgaWYgKGNsYXNzSW5mby0+aXNTdWJDbGFzc09mKEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjppbmZvKCkpKSB7Ci0gICAgICAgIHN0YXRpY19jYXN0
PEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Kj4oanNPYmplY3QpLT5zZXRQ
cml2YXRlKGRhdGEpOworICAgIGlmIChjbGFzc0luZm8tPmlzU3ViQ2xhc3NPZihKU0NhbGxiYWNr
T2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjppbmZvKCkpKSB7CisgICAgICAgIHN0YXRpY19jYXN0
PEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4qPihqc09iamVjdCktPnNldFByaXZh
dGUoZGF0YSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNpZiBKU0NfT0JKQ19BUElf
RU5BQkxFRApAQCAtNjI0LDggKzYyNCw4IEBAIEpTVmFsdWVSZWYgSlNPYmplY3RHZXRQcml2YXRl
UHJvcGVydHkoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBKU1N0CiAKICAg
ICBpZiAoanNPYmplY3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+
Pih2bSkpCiAgICAgICAgIHJlc3VsdCA9IGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFs
T2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZVByb3BlcnR5KG5hbWUpOwotICAgIGVsc2Ug
aWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2Jq
ZWN0Pj4odm0pKQotICAgICAgICByZXN1bHQgPSBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0Rl
c3RydWN0aWJsZU9iamVjdD4qPihqc09iamVjdCktPmdldFByaXZhdGVQcm9wZXJ0eShuYW1lKTsK
KyAgICBlbHNlIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU05vbkZp
bmFsT2JqZWN0Pj4odm0pKQorICAgICAgICByZXN1bHQgPSBqc0Nhc3Q8SlNDYWxsYmFja09iamVj
dDxKU05vbkZpbmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZVByb3BlcnR5KG5hbWUp
OwogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECiAgICAgZWxzZSBpZiAoanNPYmplY3QtPmluaGVy
aXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pj4odm0pKQogICAgICAgICBy
ZXN1bHQgPSBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Kj4oanNP
YmplY3QpLT5nZXRQcml2YXRlUHJvcGVydHkobmFtZSk7CkBAIC02NTAsOCArNjUwLDggQEAgYm9v
bCBKU09iamVjdFNldFByaXZhdGVQcm9wZXJ0eShKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJl
ZiBvYmplY3QsIEpTU3RyaW5nUmUKICAgICAgICAganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNH
bG9iYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5zZXRQcml2YXRlUHJvcGVydHkodm0sIG5hbWUsIGpz
VmFsdWUpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0gICAgaWYgKGpzT2JqZWN0LT5p
bmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pj4odm0pKSB7Ci0g
ICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pio+KGpz
T2JqZWN0KS0+c2V0UHJpdmF0ZVByb3BlcnR5KHZtLCBuYW1lLCBqc1ZhbHVlKTsKKyAgICBpZiAo
anNPYmplY3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4+KHZt
KSkgeworICAgICAgICBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pio+
KGpzT2JqZWN0KS0+c2V0UHJpdmF0ZVByb3BlcnR5KHZtLCBuYW1lLCBqc1ZhbHVlKTsKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECkBAIC02Nzks
OCArNjc5LDggQEAgYm9vbCBKU09iamVjdERlbGV0ZVByaXZhdGVQcm9wZXJ0eShKU0NvbnRleHRS
ZWYgY3R4LCBKU09iamVjdFJlZiBvYmplY3QsIEpTU3RyaW4KICAgICAgICAganNDYXN0PEpTQ2Fs
bGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5kZWxldGVQcml2YXRlUHJv
cGVydHkobmFtZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICBpZiAoanNPYmpl
Y3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Pih2bSkp
IHsKLSAgICAgICAganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+
Kj4oanNPYmplY3QpLT5kZWxldGVQcml2YXRlUHJvcGVydHkobmFtZSk7CisgICAgaWYgKGpzT2Jq
ZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Pih2bSkpIHsK
KyAgICAgICAganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4qPihqc09i
amVjdCktPmRlbGV0ZVByaXZhdGVQcm9wZXJ0eShuYW1lKTsKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU1ZhbHVlUmVmLmNwcAppbmRleCBmNWI2NTBlM2Q0MDdhMjZhNjU1MGM2NGZiZGU2NDMxNDFk
MmEzMGE1Li5mYjE2YzRkNTYzZGJkNzU2NmY5ZjBiMGMyZDliMmE3NWI3ZDI3NmQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5jcHAKQEAgLTIxMCw4ICsyMTAsOCBAQCBi
b29sIEpTVmFsdWVJc09iamVjdE9mQ2xhc3MoSlNDb250ZXh0UmVmIGN0eCwgSlNWYWx1ZVJlZiB2
YWx1ZSwgSlNDbGFzc1JlZiBqc0NsYQogCiAgICAgICAgIGlmIChvLT5pbmhlcml0czxKU0NhbGxi
YWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pj4odm0pKQogICAgICAgICAgICAgcmV0dXJuIGpzQ2Fz
dDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pio+KG8pLT5pbmhlcml0cyhqc0NsYXNz
KTsKLSAgICAgICAgaWYgKG8tPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGli
bGVPYmplY3Q+Pih2bSkpCi0gICAgICAgICAgICByZXR1cm4ganNDYXN0PEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Kj4obyktPmluaGVyaXRzKGpzQ2xhc3MpOworICAgICAg
ICBpZiAoby0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pj4odm0p
KQorICAgICAgICAgICAgcmV0dXJuIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxP
YmplY3Q+Kj4obyktPmluaGVyaXRzKGpzQ2xhc3MpOwogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVE
CiAgICAgICAgIGlmIChvLT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9i
amVjdD4+KHZtKSkKICAgICAgICAgICAgIHJldHVybiBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxK
U0FQSVdyYXBwZXJPYmplY3Q+Kj4obyktPmluaGVyaXRzKGpzQ2xhc3MpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5jcHAK
aW5kZXggZDJjNTM3YThhMDE0MWIyMmRkMzRiZjg5ODRhMzljNjMwZTllYmY0Ni4uMjNlMjUxZjY4
NDQyYzBlMWU4MjM1ZGNiMjM5YmY3MTQ1NGM0N2U5ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTV2Vha09iamVjdE1hcFJlZlByaXZhdGUuY3BwCkBAIC02NCw3
ICs2NCw3IEBAIHZvaWQgSlNXZWFrT2JqZWN0TWFwU2V0KEpTQ29udGV4dFJlZiBjdHgsIEpTV2Vh
a09iamVjdE1hcFJlZiBtYXAsIHZvaWQqIGtleSwgSlNPCiAgICAgICAgIHJldHVybjsKICAgICBB
U1NFUlQob2JqLT5pbmhlcml0czxKU1Byb3h5Pih2bSkKICAgICAgICAgfHwgb2JqLT5pbmhlcml0
czxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pj4odm0pCi0gICAgICAgIHx8IG9iai0+
aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD4+KHZtKSk7Cisg
ICAgICAgIHx8IG9iai0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0
Pj4odm0pKTsKICAgICBtYXAtPm1hcCgpLnNldChrZXksIG9iaik7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3Qu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQVBJV3JhcHBlckdsb2JhbE9i
amVjdC5jcHAKaW5kZXggNmFlMTk0NWIyZmVjNDBkZmNjOGNiNzQ3YzI3Y2Y2ODA1MTA5YTFiMi4u
YjI4NjU0NWRmZWRjODkwYjdjMWQxYmUyN2Q4ODMxOTMyM2ZiNmY3OSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQVBJV3JhcHBlckdsb2JhbE9iamVjdC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQVBJV3JhcHBlckdsb2JhbE9i
amVjdC5jcHAKQEAgLTU4LDYgKzU4LDE5IEBAIHRlbXBsYXRlIDw+IGNvbnN0IENsYXNzSW5mbyBK
U0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdD46OnNfaW5mbyA9CiAKIHRl
bXBsYXRlPD4gY29uc3QgYm9vbCBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlckdsb2JhbE9i
amVjdD46Om5lZWRzRGVzdHJ1Y3Rpb24gPSBmYWxzZTsKIAordGVtcGxhdGUgPD4KK0lzb1N1YnNw
YWNlKiBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdD46OnN1YnNwYWNl
Rm9ySW1wbChWTSYgdm0sIFN1YnNwYWNlQWNjZXNzIG1vZGUpCit7CisgICAgc3dpdGNoIChtb2Rl
KSB7CisgICAgY2FzZSBTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkOgorICAgICAgICByZXR1
cm4gdm0uY2FsbGJhY2tBUElXcmFwcGVyR2xvYmFsT2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6
Ok9uTWFpblRocmVhZD4oKTsKKyAgICBjYXNlIFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk6
CisgICAgICAgIHJldHVybiB2bS5jYWxsYmFja0FQSVdyYXBwZXJHbG9iYWxPYmplY3RTcGFjZTxT
dWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5PigpOworICAgIH0KKyAgICBSRUxFQVNFX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiB0ZW1wbGF0ZSA8Pgog
U3RydWN0dXJlKiBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdD46OmNy
ZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90bykKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0FQSVdyYXBwZXJH
bG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0FQSVdyYXBw
ZXJHbG9iYWxPYmplY3QuaAppbmRleCBkNTRhOWVjZDBlZmFhZjBhNzllYTQyZTNmYjk3ZDYwNjA2
MjUyODRkLi42YTM0ODk5NDdiMmEzMDg1NzY0ZmFmZTFiODA1ZjE1ODA1OTAxYzA5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNBUElXcmFwcGVyR2xvYmFsT2Jq
ZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQVBJV3JhcHBlckds
b2JhbE9iamVjdC5oCkBAIC0zMyw3ICszMywxMCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3Mg
SlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0IDogcHVibGljIEpTR2xvYmFsT2JqZWN0IHsKIHB1Ymxp
YzoKLSAgICB0eXBlZGVmIEpTR2xvYmFsT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEpT
R2xvYmFsT2JqZWN0OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUsIFN1YnNwYWNlQWNjZXNzPgor
ICAgIHN0YXRpYyB2b2lkIHN1YnNwYWNlRm9yKFZNJikgeyBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOyB9CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiAgICAgc3RhdGljIHZv
aWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBKU0M6OlNsb3RWaXNpdG9yJik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggNDQxYjMw
NGE0ZGQzNmM3NGQyMjM0Mzc3Y2Q2MzYwMzFhZTcxMTIzYi4uZjU5YzdhYzAxM2U4ZDkyYWZkNmRh
MzJhNjhhY2M3ZTM2NmFhNDdkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNjcwLDcgKzY3MCw3IEBAIHZvaWQgSlNHbG9iYWxP
YmplY3Q6OmluaXQoVk0mIHZtKQogICAgICAgICB9KTsKICAgICBtX2NhbGxiYWNrT2JqZWN0U3Ry
dWN0dXJlLmluaXRMYXRlcigKICAgICAgICAgW10gKGNvbnN0IEluaXRpYWxpemVyPFN0cnVjdHVy
ZT4mIGluaXQpIHsKLSAgICAgICAgICAgIGluaXQuc2V0KEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0
cnVjdGlibGVPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoaW5pdC52bSwgaW5pdC5vd25lciwgaW5p
dC5vd25lci0+bV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKTsKKyAgICAgICAgICAgIGluaXQuc2V0
KEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD46OmNyZWF0ZVN0cnVjdHVyZShpbml0
LnZtLCBpbml0Lm93bmVyLCBpbml0Lm93bmVyLT5tX29iamVjdFByb3RvdHlwZS5nZXQoKSkpOwog
ICAgICAgICB9KTsKIAogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3Qu
Y3BwCmluZGV4IGM3NTA3MDVlMTJiMzE1M2JkMWZiMDdmOGY2ZTJjMzk2OWI2ZTk2ZDYuLmZhYTdl
ZDBlNjVkZDc0ZmYwOTQxYzE4MTZjNmFiYzUzNTk3N2NjYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3Qu
Y3BwCkBAIC0xMTksNyArMTE5LDcgQEAgdm9pZCBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0Ojpm
aW5pc2hDcmVhdGlvbihWTSYgdm0pCiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAg
IHNldFN5bWJvbFRhYmxlKHZtLCBTeW1ib2xUYWJsZTo6Y3JlYXRlKHZtKSk7CiAgICAgdm0uaGVh
cC5hZGRGaW5hbGl6ZXIodGhpcywgW10gKEpTQ2VsbCogY2VsbCkgewotICAgICAgICBzdGF0aWNf
Y2FzdDxKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0Kj4oY2VsbCktPmNsYXNzSW5mbygpLT5tZXRo
b2RUYWJsZS5kZXN0cm95KGNlbGwpOworICAgICAgICBzdGF0aWNfY2FzdDxKU1NlZ21lbnRlZFZh
cmlhYmxlT2JqZWN0Kj4oY2VsbCktPm1fY2xhc3NJbmZvLT5tZXRob2RUYWJsZS5kZXN0cm95KGNl
bGwpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmgKaW5kZXggMGExMjg0ODIyN2ZmYjE5
ZjcxMGU5MTJkNTUyYjlmOTA0NTU1MzY0MS4uNTM1ZmMzNDI3N2U2YzExZmYxNjdlNzYxMmUyOTI0
M2VjMjc0YTY4NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNT
ZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuaApAQCAtOTYsNyArOTYsNyBAQCBjbGFzcyBK
U1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IDogcHVibGljIEpTU3ltYm9sVGFibGVPYmplY3Qgewog
ICAgIAogICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CiAgICAgCi0gICAgY29uc3Qg
Q2xhc3NJbmZvKiBjbGFzc0luZm8oKSBjb25zdCB7IHJldHVybiBtX2NsYXNzSW5mbzsgfQorICAg
IGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvKFZNJikgY29uc3QgeyByZXR1cm4gbV9jbGFzc0lu
Zm87IH0KICAgICAKIHByb3RlY3RlZDoKICAgICBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0KFZN
JiwgU3RydWN0dXJlKiwgSlNTY29wZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3Bw
CmluZGV4IGE0ODE4ODIzYmRmN2U2YWRhODljZGZmNjk5MTQ4N2UzMzM1Yjg4YjUuLmMyNTY2NmJm
NzVkZTBlNmE4YjA5MzdlYTdmZTMxZmQxNzk4NDZmNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9WTS5jcHAKQEAgLTc4LDcgKzc4LDkgQEAKICNpbmNsdWRlICJJc29IZWFwQ2VsbFR5cGUu
aCIKICNpbmNsdWRlICJKSVRDb2RlLmgiCiAjaW5jbHVkZSAiSklUV29ya2xpc3QuaCIKKyNpbmNs
dWRlICJKU0FQSUdsb2JhbE9iamVjdC5oIgogI2luY2x1ZGUgIkpTQVBJVmFsdWVXcmFwcGVyLmgi
CisjaW5jbHVkZSAiSlNBUElXcmFwcGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgog
I2luY2x1ZGUgIkpTQXJyYXlCdWZmZXIuaCIKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3IuaCIKQEAgLTg2LDcgKzg4LDkgQEAKICNpbmNsdWRlICJKU0JpZ0ludC5oIgogI2luY2x1
ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRl
ICJKU0NhbGxiYWNrQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrRnVuY3Rpb24u
aCIKKyNpbmNsdWRlICJKU0NhbGxiYWNrT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNDYWxsZWUuaCIK
ICNpbmNsdWRlICJKU0N1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNE
ZXN0cnVjdGlibGVPYmplY3RIZWFwQ2VsbFR5cGUuaCIKQEAgLTEzMiw3ICsxMzYsNiBAQAogI2lu
Y2x1ZGUgIk5hdGl2ZUV4ZWN1dGFibGUuaCIKICNpbmNsdWRlICJOb2Rlcy5oIgogI2luY2x1ZGUg
Ik51bWJlck9iamVjdC5oIgotI2luY2x1ZGUgIk9iakNDYWxsYmFja0Z1bmN0aW9uLmgiCiAjaW5j
bHVkZSAiUGFyc2VyLmgiCiAjaW5jbHVkZSAiUHJlZGljdGlvbkZpbGVDcmVhdGluZ0Z1enplckFn
ZW50LmgiCiAjaW5jbHVkZSAiUHJvZmlsZXJEYXRhYmFzZS5oIgpAQCAtMTkzLDcgKzE5NiwxMiBA
QAogI2luY2x1ZGUgIlJlZ0V4cC5oIgogI2VuZGlmCiAKKyNpZiBKU0NfT0JKQ19BUElfRU5BQkxF
RAorI2luY2x1ZGUgIk9iakNDYWxsYmFja0Z1bmN0aW9uLmgiCisjZW5kaWYKKwogI2lmZGVmIEpT
Q19HTElCX0FQSV9FTkFCTEVECisjaW5jbHVkZSAiSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0Lmgi
CiAjaW5jbHVkZSAiSlNDQ2FsbGJhY2tGdW5jdGlvbi5oIgogI2VuZGlmCiAKQEAgLTI5Myw2ICsz
MDEsOCBAQCBWTTo6Vk0oVk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUgaGVhcFR5cGUpCiAgICAgLCBp
bW11dGFibGVCdXR0ZXJmbHlIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxIZWFwQ2VsbFR5cGU+KENl
bGxBdHRyaWJ1dGVzKERvZXNOb3ROZWVkRGVzdHJ1Y3Rpb24sIEhlYXBDZWxsOjpKU0NlbGxXaXRo
SW50ZXJpb3JQb2ludGVycykpKQogICAgICwgY2VsbEhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPEhl
YXBDZWxsVHlwZT4oQ2VsbEF0dHJpYnV0ZXMoRG9lc05vdE5lZWREZXN0cnVjdGlvbiwgSGVhcENl
bGw6OkpTQ2VsbCkpKQogICAgICwgZGVzdHJ1Y3RpYmxlQ2VsbEhlYXBDZWxsVHlwZShtYWtlVW5p
cXVlPEhlYXBDZWxsVHlwZT4oQ2VsbEF0dHJpYnV0ZXMoTmVlZHNEZXN0cnVjdGlvbiwgSGVhcENl
bGw6OkpTQ2VsbCkpKQorICAgICwgY2FsbGJhY2tDb25zdHJ1Y3RvckhlYXBDZWxsVHlwZShtYWtl
VW5pcXVlPElzb0hlYXBDZWxsVHlwZTxKU0NhbGxiYWNrQ29uc3RydWN0b3I+PigpKQorICAgICwg
Y2FsbGJhY2tPYmplY3RIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlND
YWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pj4+KCkpCiAgICAgLCBkYXRlSW5zdGFuY2VI
ZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8RGF0ZUluc3RhbmNlPj4oKSkK
ICAgICAsIGVycm9ySW5zdGFuY2VIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5
cGU8RXJyb3JJbnN0YW5jZT4+KCkpCiAgICAgLCBqc01vZHVsZVJlY29yZEhlYXBDZWxsVHlwZSht
YWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxKU01vZHVsZVJlY29yZD4+KCkpCkBAIC0zMDMsOSAr
MzEzLDExIEBAIFZNOjpWTShWTVR5cGUgdm1UeXBlLCBIZWFwVHlwZSBoZWFwVHlwZSkKICAgICAs
IHdlYWtTZXRIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNXZWFrU2V0
Pj4oKSkKICAgICAsIGRlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPEpT
RGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlPigpKQogI2lmIEpTQ19PQkpDX0FQSV9FTkFC
TEVECisgICAgLCBhcGlXcmFwcGVyT2JqZWN0SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVh
cENlbGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pj4+KCkpCiAgICAg
LCBvYmpDQ2FsbGJhY2tGdW5jdGlvbkhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxs
VHlwZTxPYmpDQ2FsbGJhY2tGdW5jdGlvbj4+KCkpCiAjZW5kaWYKICNpZmRlZiBKU0NfR0xJQl9B
UElfRU5BQkxFRAorICAgICwgYXBpV3JhcHBlck9iamVjdEhlYXBDZWxsVHlwZShtYWtlVW5pcXVl
PElzb0hlYXBDZWxsVHlwZTxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4+Pigp
KQogICAgICwganNjQ2FsbGJhY2tGdW5jdGlvbkhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hl
YXBDZWxsVHlwZTxKU0NDYWxsYmFja0Z1bmN0aW9uPj4oKSkKICNlbmRpZgogI2lmIEVOQUJMRShJ
TlRMKQpAQCAtMTM2MSwxMiArMTM3MywxNyBAQCB2b2lkIFZNOjplbnN1cmVTaGFkb3dDaGlja2Vu
KCkKICAgICB9CiAKIAorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGFw
aUdsb2JhbE9iamVjdFNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0FQSUdsb2JhbE9i
amVjdCkKK0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhhcGlWYWx1ZVdy
YXBwZXJTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNBUElWYWx1ZVdyYXBwZXIpCiBE
WU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYXJyYXlCdWZmZXJTcGFjZSwg
Y2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNBcnJheUJ1ZmZlcikKIERZTkFNSUNfSVNPX1NVQlNQ
QUNFX0RFRklORV9NRU1CRVJfU0xPVyhhc3luY0dlbmVyYXRvclNwYWNlLCBjZWxsSGVhcENlbGxU
eXBlLmdldCgpLCBKU0FzeW5jR2VuZXJhdG9yKQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5F
X01FTUJFUl9TTE9XKGJpZ0ludE9iamVjdFNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBC
aWdJbnRPYmplY3QpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYm9v
bGVhbk9iamVjdFNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBCb29sZWFuT2JqZWN0KQog
RFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGJvdW5kRnVuY3Rpb25TcGFj
ZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNCb3VuZEZ1bmN0aW9uKSAvLyBIYXNoOjB4ZDc5
MTZkNDEKK0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhjYWxsYmFja0Nv
bnN0cnVjdG9yU3BhY2UsIGNhbGxiYWNrQ29uc3RydWN0b3JIZWFwQ2VsbFR5cGUuZ2V0KCksIEpT
Q2FsbGJhY2tDb25zdHJ1Y3RvcikKK0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJf
U0xPVyhjYWxsYmFja0dsb2JhbE9iamVjdFNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBK
U0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0PikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RF
RklORV9NRU1CRVJfU0xPVyhjYWxsYmFja0Z1bmN0aW9uU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUu
Z2V0KCksIEpTQ2FsbGJhY2tGdW5jdGlvbikgLy8gSGFzaDoweGU3NjQ4ZWJjCitEWU5BTUlDX0lT
T19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coY2FsbGJhY2tPYmplY3RTcGFjZSwgY2FsbGJh
Y2tPYmplY3RIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9i
amVjdD4pCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coY3VzdG9tR2V0
dGVyU2V0dGVyRnVuY3Rpb25TcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDdXN0b21H
ZXR0ZXJTZXR0ZXJGdW5jdGlvbikgLy8gSGFzaDoweDE4MDkxMDAwCiBEWU5BTUlDX0lTT19TVUJT
UEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coZGF0YVZpZXdTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5n
ZXQoKSwgSlNEYXRhVmlldykKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xP
VyhlcnJvckluc3RhbmNlU3BhY2UsIGVycm9ySW5zdGFuY2VIZWFwQ2VsbFR5cGUuZ2V0KCksIEVy
cm9ySW5zdGFuY2UpIC8vIEhhc2g6MHgzZjQwZDRhCkBAIC0xMzk4LDEwICsxNDE1LDEzIEBAIERZ
TkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyh3ZWFrTWFwU3BhY2UsIHdlYWtN
YXBIZWFwQ2VsbFR5cGUuZ2V0KCksCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVS
X1NMT1cod2Vha1NldFNwYWNlLCB3ZWFrU2V0SGVhcENlbGxUeXBlLmdldCgpLCBKU1dlYWtTZXQp
IC8vIEhhc2g6MHg0Yzc4MWIzMAogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9T
TE9XKHdlYWtPYmplY3RSZWZTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNXZWFrT2Jq
ZWN0UmVmKSAvLyBIYXNoOjB4OGVjNjhmMWYKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAorRFlO
QU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGFwaVdyYXBwZXJPYmplY3RTcGFj
ZSwgYXBpV3JhcHBlck9iamVjdEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDYWxsYmFja09iamVjdDxK
U0FQSVdyYXBwZXJPYmplY3Q+KQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9T
TE9XKG9iakNDYWxsYmFja0Z1bmN0aW9uU3BhY2UsIG9iakNDYWxsYmFja0Z1bmN0aW9uSGVhcENl
bGxUeXBlLmdldCgpLCBPYmpDQ2FsbGJhY2tGdW5jdGlvbikgLy8gSGFzaDoweDEwZjYxMGI4CiAj
ZW5kaWYKICNpZmRlZiBKU0NfR0xJQl9BUElfRU5BQkxFRAorRFlOQU1JQ19JU09fU1VCU1BBQ0Vf
REVGSU5FX01FTUJFUl9TTE9XKGFwaVdyYXBwZXJPYmplY3RTcGFjZSwgYXBpV3JhcHBlck9iamVj
dEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+
KQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGpzY0NhbGxiYWNrRnVu
Y3Rpb25TcGFjZSwganNjQ2FsbGJhY2tGdW5jdGlvbkhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDQ2Fs
bGJhY2tGdW5jdGlvbikKK0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhj
YWxsYmFja0FQSVdyYXBwZXJHbG9iYWxPYmplY3RTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQo
KSwgSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJHbG9iYWxPYmplY3Q+KQogI2VuZGlmCiAj
aWYgRU5BQkxFKElOVEwpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1co
aW50bENvbGxhdG9yU3BhY2UsIGludGxDb2xsYXRvckhlYXBDZWxsVHlwZS5nZXQoKSwgSW50bENv
bGxhdG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKaW5kZXggZWRkYmZjNTVlYmI2OGJh
NzAyYTIzNzdkMzQ3MDJlODVjNjdlNDdiMC4uYzEyNGZhYjE4Njk3YWQ4YTBiNzA5MDFjMDNlY2Fl
YTlmMDc2MTJlNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0u
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCkBAIC0xMjYsMTMgKzEy
NiwxNiBAQCBjbGFzcyBJbnRsQ29sbGF0b3I7CiBjbGFzcyBJbnRsRGF0ZVRpbWVGb3JtYXQ7CiBj
bGFzcyBJbnRsTnVtYmVyRm9ybWF0OwogY2xhc3MgSW50bFBsdXJhbFJ1bGVzOworY2xhc3MgSlNB
UElXcmFwcGVyT2JqZWN0OwogY2xhc3MgSlNDQ2FsbGJhY2tGdW5jdGlvbjsKK2NsYXNzIEpTQ2Fs
bGJhY2tDb25zdHJ1Y3RvcjsKIGNsYXNzIEpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb247CiBj
bGFzcyBKU0Rlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZTsKIGNsYXNzIEpTR2xvYmFsT2Jq
ZWN0OwogY2xhc3MgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3Q7CiBjbGFzcyBKU01vZHVsZVJlY29y
ZDsKIGNsYXNzIEpTTmF0aXZlU3RkRnVuY3Rpb247CitjbGFzcyBKU05vbkZpbmFsT2JqZWN0Owog
Y2xhc3MgSlNPYmplY3Q7CiBjbGFzcyBKU1Byb21pc2U7CiBjbGFzcyBKU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3I7CkBAIC0xODIsNiArMTg1LDcgQEAgY2xhc3MgV2ViQXNzZW1ibHlGdW5jdGlvbjsK
IGNsYXNzIFdlYkFzc2VtYmx5TW9kdWxlUmVjb3JkOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxs
VHlwZT4gY2xhc3MgSXNvSGVhcENlbGxUeXBlOwordGVtcGxhdGU8dHlwZW5hbWUgUGFyZW50PiBj
bGFzcyBKU0NhbGxiYWNrT2JqZWN0OwogCiAjaWYgRU5BQkxFKEZUTF9KSVQpCiBuYW1lc3BhY2Ug
RlRMIHsKQEAgLTM1OSw2ICszNjMsOCBAQCBjbGFzcyBWTSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVm
Q291bnRlZDxWTT4sIHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxWTT4gewogICAgIHN0ZDo6
dW5pcXVlX3B0cjxIZWFwQ2VsbFR5cGU+IGltbXV0YWJsZUJ1dHRlcmZseUhlYXBDZWxsVHlwZTsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8SGVhcENlbGxUeXBlPiBjZWxsSGVhcENlbGxUeXBlOwogICAg
IHN0ZDo6dW5pcXVlX3B0cjxIZWFwQ2VsbFR5cGU+IGRlc3RydWN0aWJsZUNlbGxIZWFwQ2VsbFR5
cGU7CisgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxKU0NhbGxiYWNrQ29uc3Ry
dWN0b3I+PiBjYWxsYmFja0NvbnN0cnVjdG9ySGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVl
X3B0cjxJc29IZWFwQ2VsbFR5cGU8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pj4+
IGNhbGxiYWNrT2JqZWN0SGVhcENlbGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFw
Q2VsbFR5cGU8RGF0ZUluc3RhbmNlPj4gZGF0ZUluc3RhbmNlSGVhcENlbGxUeXBlOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8RXJyb3JJbnN0YW5jZT4+IGVycm9ySW5zdGFu
Y2VIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxKU01v
ZHVsZVJlY29yZD4+IGpzTW9kdWxlUmVjb3JkSGVhcENlbGxUeXBlOwpAQCAtMzY5LDkgKzM3NSwx
MSBAQCBjbGFzcyBWTSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWTT4sIHB1YmxpYyBE
b3VibHlMaW5rZWRMaXN0Tm9kZTxWTT4gewogICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2Vs
bFR5cGU8SlNXZWFrU2V0Pj4gd2Vha1NldEhlYXBDZWxsVHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8SlNEZXN0cnVjdGlibGVPYmplY3RIZWFwQ2VsbFR5cGU+IGRlc3RydWN0aWJsZU9iamVjdEhl
YXBDZWxsVHlwZTsKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAorICAgIHN0ZDo6dW5pcXVlX3B0
cjxJc29IZWFwQ2VsbFR5cGU8SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Pj4g
YXBpV3JhcHBlck9iamVjdEhlYXBDZWxsVHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVh
cENlbGxUeXBlPE9iakNDYWxsYmFja0Z1bmN0aW9uPj4gb2JqQ0NhbGxiYWNrRnVuY3Rpb25IZWFw
Q2VsbFR5cGU7CiAjZW5kaWYKICNpZmRlZiBKU0NfR0xJQl9BUElfRU5BQkxFRAorICAgIHN0ZDo6
dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJP
YmplY3Q+Pj4gYXBpV3JhcHBlck9iamVjdEhlYXBDZWxsVHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8SXNvSGVhcENlbGxUeXBlPEpTQ0NhbGxiYWNrRnVuY3Rpb24+PiBqc2NDYWxsYmFja0Z1bmN0
aW9uSGVhcENlbGxUeXBlOwogI2VuZGlmCiAjaWYgRU5BQkxFKElOVEwpCkBAIC00NTgsMTcgKzQ2
NiwyNSBAQCBjbGFzcyBWTSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWTT4sIHB1Ymxp
YyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxWTT4gewogCiAKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxF
RAorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXBpV3JhcHBlck9iamVj
dFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIob2JqQ0NhbGxi
YWNrRnVuY3Rpb25TcGFjZSkKICNlbmRpZgogI2lmZGVmIEpTQ19HTElCX0FQSV9FTkFCTEVECisg
ICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhcGlXcmFwcGVyT2JqZWN0U3Bh
Y2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihqc2NDYWxsYmFja0Z1
bmN0aW9uU3BhY2UpCisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihjYWxs
YmFja0FQSVdyYXBwZXJHbG9iYWxPYmplY3RTcGFjZSkKICNlbmRpZgorICAgIERZTkFNSUNfSVNP
X1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXBpR2xvYmFsT2JqZWN0U3BhY2UpCisgICAgRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhcGlWYWx1ZVdyYXBwZXJTcGFjZSkKICAgICBE
WU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFycmF5QnVmZmVyU3BhY2UpCiAgICAg
RFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhc3luY0dlbmVyYXRvclNwYWNlKQog
ICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYmlnSW50T2JqZWN0U3BhY2Up
CiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihib29sZWFuT2JqZWN0U3Bh
Y2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihib3VuZEZ1bmN0aW9u
U3BhY2UpCisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihjYWxsYmFja0Nv
bnN0cnVjdG9yU3BhY2UpCisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihj
YWxsYmFja0dsb2JhbE9iamVjdFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklO
RV9NRU1CRVIoY2FsbGJhY2tGdW5jdGlvblNwYWNlKQorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNF
X0RFRklORV9NRU1CRVIoY2FsbGJhY2tPYmplY3RTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJT
UEFDRV9ERUZJTkVfTUVNQkVSKGN1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uU3BhY2UpCiAgICAg
RFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihkYXRhVmlld1NwYWNlKQogICAgIERZ
TkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoZXJyb3JJbnN0YW5jZVNwYWNlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCmluZGV4
IDYwYTM0Y2Y5YmNhMGJlMzNhNmY5MjE2OTU1MGU5NDFjM2Y2YWYyMDMuLjYzODM5ZDFjNDVhOGJl
NGM4OGY0NDg5OTdjYmVjNzJhZjMyZGEzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKQEAgLTE0OSw3ICsxNDksNyBAQCB2b2lkIEpT
RE9NR2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKICAgICBhZGRCdWlsdGlu
R2xvYmFscyh2bSk7CiAKLSAgICBSRUxFQVNFX0FTU0VSVChjbGFzc0luZm8oKSk7CisgICAgUkVM
RUFTRV9BU1NFUlQoY2xhc3NJbmZvKHZtKSk7CiB9CiAKIHZvaWQgSlNET01HbG9iYWxPYmplY3Q6
OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIHRoaXNWYWx1ZSkKQEAgLTE1OSw3ICsx
NTksNyBAQCB2b2lkIEpTRE9NR2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpT
T2JqZWN0KiB0aGlzVmFsdWUpCiAKICAgICBhZGRCdWlsdGluR2xvYmFscyh2bSk7CiAKLSAgICBS
RUxFQVNFX0FTU0VSVChjbGFzc0luZm8oKSk7CisgICAgUkVMRUFTRV9BU1NFUlQoY2xhc3NJbmZv
KHZtKSk7CiB9CiAKIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIEpTRE9NR2xvYmFsT2JqZWN0Ojpz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdyYXBwZXIuY3BwCmluZGV4IDA1NmJkYmQyZGYxZTNmM2E0NDZkMTc5OWEzMTI5YTcz
OWY4MGNjYzUuLjc3MzZkMGNmZDNmYzZjOTY4NTU1M2QyZDU2MGE4OTlhY2ZjNTczODEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcApAQCAtNDEsNyArNDEs
NyBAQCBTVEFUSUNfQVNTRVJUX0lTX1RSSVZJQUxMWV9ERVNUUlVDVElCTEUoSlNET01PYmplY3Qp
OwogSlNET01PYmplY3Q6OkpTRE9NT2JqZWN0KEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpT
Qzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKICAgICA6IEJhc2UoZ2xvYmFsT2JqZWN0
LnZtKCksIHN0cnVjdHVyZSkKIHsKLSAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
IHx8IGdsb2JhbE9iamVjdC5jbGFzc0luZm8oKSA9PSBKU1JlbW90ZURPTVdpbmRvdzo6aW5mbygp
KTsKKyAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIHx8IGdsb2JhbE9iamVjdC5j
bGFzc0luZm8oZ2xvYmFsT2JqZWN0LnZtKCkpID09IEpTUmVtb3RlRE9NV2luZG93OjppbmZvKCkp
OwogfQogCiBKU0M6OkNvbXBsZXRlU3Vic3BhY2UqIG91dHB1dENvbnN0cmFpbnRTdWJzcGFjZUZv
cihKU0M6OlZNJiB2bSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
V2luZG93UHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXaW5kb3dQcm94
eS5jcHAKaW5kZXggN2FjOGY3OTQxNGRlZGQwYTZkNjk0NWQxNDhmMjhlOGJkMjcxMzQ2Ni4uZGI3
MDMxYWNkYWIzYWVjNmI3NzdkNzY4MzE1OTU2ZTQzYTNmMGJiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXaW5kb3dQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNXaW5kb3dQcm94eS5jcHAKQEAgLTc1LDcgKzc1LDcgQEAgdm9pZCBK
U1dpbmRvd1Byb3h5OjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKIAogdm9pZCBKU1dpbmRvd1Byb3h5
OjpzZXRXaW5kb3coVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgd2luZG93KQogewotICAgIEFT
U0VSVCh3aW5kb3cuY2xhc3NJbmZvKCkgPT0gSlNET01XaW5kb3c6OmluZm8oKSB8fCB3aW5kb3cu
Y2xhc3NJbmZvKCkgPT0gSlNSZW1vdGVET01XaW5kb3c6OmluZm8oKSk7CisgICAgQVNTRVJUKHdp
bmRvdy5jbGFzc0luZm8odm0pID09IEpTRE9NV2luZG93OjppbmZvKCkgfHwgd2luZG93LmNsYXNz
SW5mbyh2bSkgPT0gSlNSZW1vdGVET01XaW5kb3c6OmluZm8oKSk7CiAgICAgc2V0VGFyZ2V0KHZt
LCAmd2luZG93KTsKICAgICBzdHJ1Y3R1cmUodm0pLT5zZXRHbG9iYWxPYmplY3Qodm0sICZ3aW5k
b3cpOwogICAgIEdDQ29udHJvbGxlcjo6c2luZ2xldG9uKCkuZ2FyYmFnZUNvbGxlY3RTb29uKCk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385363</attachid>
            <date>2019-12-11 01:32:37 -0800</date>
            <delta_ts>2019-12-11 01:32:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205097-20191211013236.patch</filename>
            <type>text/plain</type>
            <size>37232</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZTQ5YTFjMWM1ODU2ZmYxZGIyYjhhMGJmZTU0OGY1M2I3YTVjZWU1Li5mNDQzY2VhOWQ4ZGZiNTg0
YTZkODg2MWY3NDBmYjUxOGRkNjdhNzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NyBAQAorMjAxOS0xMi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFB1dCBhbGwgQVBJIHJlbGF0ZWQgSlMgY2VsbHMgaW50byBJc29T
dWJzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgVGhpcyBw
YXRjaCBwdXRzIEFQSSByZWxhdGVkIEpTIGNlbGxzIGludG8gSXNvU3Vic3BhY2UuCisKKyAgICAg
ICAgKiBBUEkvSlNBUElHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNBUElHbG9iYWxP
YmplY3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTQVBJR2xvYmFsT2JqZWN0
OjpjcmVhdGVTdHJ1Y3R1cmUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKU0FQSUdsb2JhbE9i
amVjdDo6SlNBUElHbG9iYWxPYmplY3QpOiBEZWxldGVkLgorICAgICAgICAqIEFQSS9KU0FQSVZh
bHVlV3JhcHBlci5oOgorICAgICAgICAqIEFQSS9KU0FQSVdyYXBwZXJPYmplY3QuaDoKKyAgICAg
ICAgKEpTQzo6SlNBUElXcmFwcGVyT2JqZWN0OjpzdWJzcGFjZUZvcik6CisgICAgICAgICogQVBJ
L0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tDb25z
dHJ1Y3Rvcjo6SlNDYWxsYmFja0NvbnN0cnVjdG9yKToKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFj
a0NvbnN0cnVjdG9yLmg6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwOgorICAg
ICAgICAoSlNDOjpKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVhdGVTdHJ1
Y3R1cmUpOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+
OjpzdWJzcGFjZUZvckltcGwpOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrT2JqZWN0PEpTR2xv
YmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09i
amVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwpOgorICAgICAgICAoSlND
OjpKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja09iamVjdC5oOgorICAgICAgICAq
IEFQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmg6CisgICAgICAgIChKU0M6OkpTQ2FsbGJh
Y2tPYmplY3Q8UGFyZW50Pjo6aW5pdCk6CisgICAgICAgICogQVBJL0pTQ2xhc3NSZWYuY3BwOgor
ICAgICAgICAoT3BhcXVlSlNDbGFzczo6cHJvdG90eXBlKToKKyAgICAgICAgKiBBUEkvSlNPYmpl
Y3RSZWYuY3BwOgorICAgICAgICAoSlNPYmplY3RNYWtlKToKKyAgICAgICAgKEpTT2JqZWN0R2V0
UHJpdmF0ZSk6CisgICAgICAgIChKU09iamVjdFNldFByaXZhdGUpOgorICAgICAgICAoSlNPYmpl
Y3RHZXRQcml2YXRlUHJvcGVydHkpOgorICAgICAgICAoSlNPYmplY3RTZXRQcml2YXRlUHJvcGVy
dHkpOgorICAgICAgICAoSlNPYmplY3REZWxldGVQcml2YXRlUHJvcGVydHkpOgorICAgICAgICAq
IEFQSS9KU1ZhbHVlUmVmLmNwcDoKKyAgICAgICAgKEpTVmFsdWVJc09iamVjdE9mQ2xhc3MpOgor
ICAgICAgICAqIEFQSS9KU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNwcDoKKyAgICAgICAgKiBB
UEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0Nh
bGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdD46OnN1YnNwYWNlRm9ySW1wbCk6
CisgICAgICAgICogQVBJL2dsaWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0Lmg6CisgICAgICAg
IChKU0M6OkpTQVBJV3JhcHBlckdsb2JhbE9iamVjdDo6c3Vic3BhY2VGb3IpOgorICAgICAgICAq
IHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVj
dDo6aW5pdCk6CisgICAgICAgICogcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmNw
cDoKKyAgICAgICAgKEpTQzo6SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdDo6ZmluaXNoQ3JlYXRp
b24pOgorICAgICAgICAqIHJ1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5oOgorICAg
ICAgICAoSlNDOjpKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0OjpjbGFzc0luZm8gY29uc3QpOgor
ICAgICAgICAqIHJ1bnRpbWUvVk0uY3BwOgorICAgICAgICAoSlNDOjpWTTo6Vk0pOgorICAgICAg
ICAqIHJ1bnRpbWUvVk0uaDoKKwogMjAxOS0xMi0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lA
YXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIEFkaG9jbHkgY3JlYXRlZCBDYWxsTGlua0luZm8g
aW4gR2V0dGVyU2V0dGVyQWNjZXNzIHNob3VsZCBiZSBvd25lZCBieSBHQ0F3YXJlSklUU3R1YlJv
dXRpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBiYTE2YjQ0MGFkNDk3YWU1YTZmNGFjYjgxMmFjNzk2OWQxNzRm
YzczLi5iNDg3NjhkYjY0OGIzNzBmZWNlNzdlMDkyOWI2YjdiZDJjNjQ3MjU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMTItMTEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFw
cGxlLmNvbT4KKworICAgICAgICBbSlNDXSBQdXQgYWxsIEFQSSByZWxhdGVkIEpTIGNlbGxzIGlu
dG8gSXNvU3Vic3BhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNTA5NworCisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgTGFtLgorCisgICAgICAg
ICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNET01HbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0RPTVdyYXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01PYmplY3Q6OkpTRE9N
T2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dpbmRvd1Byb3h5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTV2luZG93UHJveHk6OnNldFdpbmRvdyk6CisKIDIwMTktMTItMTAgIENh
dGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpeGVkIFBhdHRl
cm4uaCBjb21waWxlIGVycm9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQVBJR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJR2xv
YmFsT2JqZWN0LmgKaW5kZXggNGIzYmIxNWNkZjBhNWM0NmI0ZmU5NWRlYTZhYTA5ZTIwNmI0MTkx
ZS4uNjBmNmY2NmU2ZGM0ZTE1MmVlOGY1NjljNThmZGVkMzUwODVjMTQ0ZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSUdsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElHbG9iYWxPYmplY3QuaApAQCAtMzEsMTMgKzMxLDE5
IEBAIE9CSkNfQ0xBU1MgSlNTY3JpcHQ7CiAKIG5hbWVzcGFjZSBKU0MgewogCi1jbGFzcyBKU0FQ
SUdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0dsb2JhbE9iamVjdCB7CitjbGFzcyBKU0FQSUdsb2Jh
bE9iamVjdCBmaW5hbCA6IHB1YmxpYyBKU0dsb2JhbE9iamVjdCB7CiBwdWJsaWM6CiAgICAgdXNp
bmcgQmFzZSA9IEpTR2xvYmFsT2JqZWN0OwogCiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKICAg
ICBzdGF0aWMgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgc19nbG9iYWxPYmplY3RNZXRo
b2RUYWJsZTsKIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vz
cyBtb2RlPgorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIHZtLmFwaUdsb2JhbE9iamVjdFNwYWNlPG1vZGU+KCk7CisgICAg
fQorCiAgICAgc3RhdGljIEpTQVBJR2xvYmFsT2JqZWN0KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKICAgICB7CiAgICAgICAgIGF1dG8qIG9iamVjdCA9IG5ldyAoTm90TnVs
bCwgYWxsb2NhdGVDZWxsPEpTQVBJR2xvYmFsT2JqZWN0Pih2bS5oZWFwKSkgSlNBUElHbG9iYWxP
YmplY3Qodm0sIHN0cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQVBJVmFsdWVXcmFwcGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJ
VmFsdWVXcmFwcGVyLmgKaW5kZXggNDFmNTA5ZDM2NGFiYzg0NDNjNGU4MWU0NjA3MzFjNjE3OWQw
NDJkOS4uMWY3ODIyOWUwYzgwZGI0Y2Q2MzQ2MGZmNjIxMzM5NzAxNGRiZmQ5YyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVZhbHVlV3JhcHBlci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1ZVdyYXBwZXIuaApAQCAtMzIsOSArMzIs
MTUgQEAgbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBKU0FQSVZhbHVlV3JhcHBlciBmaW5hbCA6IHB1
YmxpYyBKU0NlbGwgewogICAgIGZyaWVuZCBKU1ZhbHVlIGpzQVBJVmFsdWVXcmFwcGVyKEpTR2xv
YmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsK
KyAgICB1c2luZyBCYXNlID0gSlNDZWxsOwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQg
U3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0
YWw7CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3MgbW9k
ZT4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7Cisg
ICAgICAgIHJldHVybiB2bS5hcGlWYWx1ZVdyYXBwZXJTcGFjZTxtb2RlPigpOworICAgIH0KKwog
ICAgIEpTVmFsdWUgdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlLmdldCgpOyB9CiAKICAg
ICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNBUElXcmFwcGVyT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQVBJV3JhcHBlck9iamVjdC5oCmluZGV4IGRkODc0ZGM2NWVlN2VhYTNjNTI0
ZmQwZjMyNGNiM2VhODcxN2ExYmMuLmYzYjk4ZGNhMTcyYWNkNDcwNzgyM2I4MjNhZWRhYWQ3YWM5
NzNmYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElXcmFwcGVy
T2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVdyYXBwZXJPYmpl
Y3QuaApAQCAtMzMsOSArMzMsMTIgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAgICAgCi1jbGFzcyBK
U0FQSVdyYXBwZXJPYmplY3QgOiBwdWJsaWMgSlNEZXN0cnVjdGlibGVPYmplY3QgeworY2xhc3Mg
SlNBUElXcmFwcGVyT2JqZWN0IDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogcHVibGljOgot
ICAgIHR5cGVkZWYgSlNEZXN0cnVjdGlibGVPYmplY3QgQmFzZTsKKyAgICB1c2luZyBCYXNlID0g
SlNOb25GaW5hbE9iamVjdDsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lLCBTdWJzcGFjZUFjY2Vz
cz4KKyAgICBzdGF0aWMgdm9pZCBzdWJzcGFjZUZvcihWTSYpIHsgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsgfQogICAgIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKICAgICBz
dGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIEpTQzo6U2xvdFZpc2l0b3ImKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9y
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNw
cAppbmRleCAwNzBkNzVkNThkYTE1NjgwODY5YTBmNThkNmFiNDRmMTIyYzUxMTliLi40OWY0Y2U3
NmVkZTFlYWU4ZWQwMmQ1ZjNmMWJmN2QwOTRmNzE5ZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuY3BwCkBAIC0zOSw3ICszOSw3
IEBAIG5hbWVzcGFjZSBKU0MgewogY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rv
cjo6c19pbmZvID0geyAiQ2FsbGJhY2tDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIG51bGxw
dHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja0NvbnN0cnVjdG9yKSB9
OwogCiBKU0NhbGxiYWNrQ29uc3RydWN0b3I6OkpTQ2FsbGJhY2tDb25zdHJ1Y3RvcihKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNDbGFzc1JlZiBq
c0NsYXNzLCBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yQ2FsbGJhY2sgY2FsbGJhY2spCi0gICAg
OiBKU0Rlc3RydWN0aWJsZU9iamVjdChnbG9iYWxPYmplY3QtPnZtKCksIHN0cnVjdHVyZSkKKyAg
ICA6IEJhc2UoZ2xvYmFsT2JqZWN0LT52bSgpLCBzdHJ1Y3R1cmUpCiAgICAgLCBtX2NsYXNzKGpz
Q2xhc3MpCiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgKaW5kZXggMjU5MjhmYmFmZGZj
Nzg2YTY0MmU2MTI4NGUxYzRlMzM2OTBiMjY3ZC4uZTU3MjU5NDAyMzZhOWEyZWEwOTQ2MDJiOTcx
MTQ4NzI2YjZhNmZmYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Nh
bGxiYWNrQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2Fs
bGJhY2tDb25zdHJ1Y3Rvci5oCkBAIC0yNiwxNSArMjYsMjEgQEAKICNpZm5kZWYgSlNDYWxsYmFj
a0NvbnN0cnVjdG9yX2gKICNkZWZpbmUgSlNDYWxsYmFja0NvbnN0cnVjdG9yX2gKIAotI2luY2x1
ZGUgIkpTRGVzdHJ1Y3RpYmxlT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNPYmplY3RSZWYuaCIKIAog
bmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIEpTQ2FsbGJhY2tDb25zdHJ1Y3RvciBmaW5hbCA6IHB1
YmxpYyBKU0Rlc3RydWN0aWJsZU9iamVjdCB7CitjbGFzcyBKU0NhbGxiYWNrQ29uc3RydWN0b3Ig
ZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBK
U0Rlc3RydWN0aWJsZU9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2Jq
ZWN0OwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNl
OjpTdHJ1Y3R1cmVGbGFncyB8IEltcGxlbWVudHNIYXNJbnN0YW5jZSB8IEltcGxlbWVudHNEZWZh
dWx0SGFzSW5zdGFuY2U7CisgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIG5lZWRzRGVzdHJ1Y3Rp
b24gPSB0cnVlOworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNj
ZXNzIG1vZGU+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisg
ICAgeworICAgICAgICByZXR1cm4gdm0uY2FsbGJhY2tDb25zdHJ1Y3RvclNwYWNlPG1vZGU+KCk7
CisgICAgfQogCiAgICAgc3RhdGljIEpTQ2FsbGJhY2tDb25zdHJ1Y3RvciogY3JlYXRlKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0NsYXNzUmVm
IGNsYXNzUmVmLCBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yQ2FsbGJhY2sgY2FsbGJhY2spIAog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09i
amVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3Bw
CmluZGV4IGNiNjNmNDk2MzkwOGI3MWI5NWM0NTNkZGJlOGI2YTc0MTEwNjcxNGMuLjQ4Y2U0MDcz
ZGE5ZTA4ZmRhOTJmZDNiYWI5NGI1N2FkMzA4Y2ZhN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcApAQCAtMjgsMTYgKzI4LDE3IEBACiAjaW5j
bHVkZSAiSlNDYWxsYmFja09iamVjdC5oIgogCiAjaW5jbHVkZSAiSGVhcC5oIgorI2luY2x1ZGUg
IkpTQVBJV3JhcHBlck9iamVjdC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiAvLyBEZWZpbmUg
dGhlIHR3byB0eXBlcyBvZiBKU0NhbGxiYWNrT2JqZWN0cyB3ZSBzdXBwb3J0LgotdGVtcGxhdGUg
PD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+
OjpzX2luZm8gPSB7ICJDYWxsYmFja09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKK3RlbXBsYXRl
IDw+IGNvbnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Ojpz
X2luZm8gPSB7ICJDYWxsYmFja09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxw
dHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKIHRlbXBsYXRlIDw+
IGNvbnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6c19pbmZv
ID0geyAiQ2FsbGJhY2tHbG9iYWxPYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxs
cHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQ2FsbGJhY2tPYmplY3QpIH07CiAKLXRlbXBsYXRl
PD4gY29uc3QgYm9vbCBKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6bmVl
ZHNEZXN0cnVjdGlvbiA9IHRydWU7Cit0ZW1wbGF0ZTw+IGNvbnN0IGJvb2wgSlNDYWxsYmFja09i
amVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6bmVlZHNEZXN0cnVjdGlvbiA9IHRydWU7CiB0ZW1wbGF0
ZTw+IGNvbnN0IGJvb2wgSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46Om5lZWRzRGVz
dHJ1Y3Rpb24gPSBmYWxzZTsKIAogdGVtcGxhdGU8PgpAQCAtNDksNyArNTAsNyBAQCBKU0NhbGxi
YWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0PiogSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVj
dD46OmNyZWF0ZShWTSYgdgogfQogCiB0ZW1wbGF0ZSA8PgotU3RydWN0dXJlKiBKU0NhbGxiYWNr
T2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90bykKK1N0cnVjdHVyZSogSlND
YWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90bykKIHsgCiAgICAgcmV0
dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhP
YmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7IAogfQpAQCAtNjAsNCArNjEsNDUg
QEAgU3RydWN0dXJlKiBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6Y3JlYXRlU3Ry
dWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmoKICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdCwgcHJvdG8sIFR5cGVJbmZvKEdsb2JhbE9iamVjdFR5cGUsIFN0cnVj
dHVyZUZsYWdzKSwgaW5mbygpKTsgCiB9CiAKK3RlbXBsYXRlIDw+CitJc29TdWJzcGFjZSogSlND
YWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKFZNJiB2bSwg
U3Vic3BhY2VBY2Nlc3MgbW9kZSkKK3sKKyAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICBjYXNlIFN1
YnNwYWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ6CisgICAgICAgIHJldHVybiB2bS5jYWxsYmFja09i
amVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ+KCk7CisgICAgY2FzZSBTdWJz
cGFjZUFjY2Vzczo6Q29uY3VycmVudGx5OgorICAgICAgICByZXR1cm4gdm0uY2FsbGJhY2tPYmpl
Y3RTcGFjZTxTdWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5PigpOworICAgIH0KKyAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOworfQorCit0ZW1w
bGF0ZSA8PgorSXNvU3Vic3BhY2UqIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Ojpz
dWJzcGFjZUZvckltcGwoVk0mIHZtLCBTdWJzcGFjZUFjY2VzcyBtb2RlKQoreworICAgIHN3aXRj
aCAobW9kZSkgeworICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZDoKKyAgICAg
ICAgcmV0dXJuIHZtLmNhbGxiYWNrR2xvYmFsT2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6Ok9u
TWFpblRocmVhZD4oKTsKKyAgICBjYXNlIFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk6Cisg
ICAgICAgIHJldHVybiB2bS5jYWxsYmFja0dsb2JhbE9iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNz
OjpDb25jdXJyZW50bHk+KCk7CisgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKKyNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRCB8
fCBkZWZpbmVkKEpTQ19HTElCX0FQSV9FTkFCTEVEKQordGVtcGxhdGUgPD4KK0lzb1N1YnNwYWNl
KiBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD46OnN1YnNwYWNlRm9ySW1wbChW
TSYgdm0sIFN1YnNwYWNlQWNjZXNzIG1vZGUpCit7CisgICAgc3dpdGNoIChtb2RlKSB7CisgICAg
Y2FzZSBTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkOgorICAgICAgICByZXR1cm4gdm0uYXBp
V3JhcHBlck9iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ+KCk7CisgICAg
Y2FzZSBTdWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5OgorICAgICAgICByZXR1cm4gdm0uYXBp
V3JhcHBlck9iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk+KCk7CisgICAg
fQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG51bGxwdHI7
Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja09iamVjdC5oCmluZGV4IDRmNWY0YjZmNTM1MWYzODQ2NDQ3ZjJjMDBl
Njc5YzM1ZThhMDRhYjguLjAzNGIzNTdjMDczOGUzNDkxMjU4ODU4ZDcwNjk4OWZlZmNiNDgzM2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oCkBAIC0x
MzEsNyArMTMxLDcgQEAgY2xhc3MgSlNDYWxsYmFja09iamVjdCBmaW5hbCA6IHB1YmxpYyBQYXJl
bnQgewogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKIAogcHVibGljOgotICAgIHR5cGVk
ZWYgUGFyZW50IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IFBhcmVudDsKICAgICBzdGF0aWMgY29u
c3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBQ
cm9oaWJpdHNQcm9wZXJ0eUNhY2hpbmcgfCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBJ
bnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJv
IHwgSW1wbGVtZW50c0hhc0luc3RhbmNlIHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IE92
ZXJyaWRlc0dldENhbGxEYXRhOwogICAgIHN0YXRpY19hc3NlcnQoIShTdHJ1Y3R1cmVGbGFncyAm
IEltcGxlbWVudHNEZWZhdWx0SGFzSW5zdGFuY2UpLCAidXNpbmcgY3VzdG9tSGFzSW5zdGFuY2Ui
KTsKIApAQCAtMTUzLDYgKzE1MywxMiBAQCBjbGFzcyBKU0NhbGxiYWNrT2JqZWN0IGZpbmFsIDog
cHVibGljIFBhcmVudCB7CiAgICAgICAgIHN0YXRpY19jYXN0PEpTQ2FsbGJhY2tPYmplY3QqPihj
ZWxsKS0+SlNDYWxsYmFja09iamVjdDo6fkpTQ2FsbGJhY2tPYmplY3QoKTsKICAgICB9CiAKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3MgbW9kZT4KKyAgICBz
dGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIHJl
dHVybiBzdWJzcGFjZUZvckltcGwodm0sIG1vZGUpOworICAgIH0KKwogICAgIHZvaWQgc2V0UHJp
dmF0ZSh2b2lkKiBkYXRhKTsKICAgICB2b2lkKiBnZXRQcml2YXRlKCk7CiAKQEAgLTE4NCw2ICsx
OTAsNyBAQCBjbGFzcyBKU0NhbGxiYWNrT2JqZWN0IGZpbmFsIDogcHVibGljIFBhcmVudCB7CiAg
ICAgdXNpbmcgUGFyZW50OjptZXRob2RUYWJsZTsKIAogcHJpdmF0ZToKKyAgICBzdGF0aWMgSXNv
U3Vic3BhY2UqIHN1YnNwYWNlRm9ySW1wbChWTSYsIFN1YnNwYWNlQWNjZXNzKTsKICAgICBzdGF0
aWMgU3RyaW5nIGNsYXNzTmFtZShjb25zdCBKU09iamVjdCosIFZNJik7CiAgICAgc3RhdGljIFN0
cmluZyB0b1N0cmluZ05hbWUoY29uc3QgSlNPYmplY3QqLCBKU0dsb2JhbE9iamVjdCopOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5j
dGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0
aW9ucy5oCmluZGV4IGEwMjk5NTI1ZDU4Zjk0OWUxYWY5YTBkNDEzY2VmMjk3OTVhODRhZTIuLjhl
Nzk2MmM4MDk0Y2U1ZGM5ZDlhMWE1NGY2OTI3ZDRmMjM4NzE4NzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCkBAIC0x
MjUsNyArMTI1LDcgQEAgdm9pZCBKU0NhbGxiYWNrT2JqZWN0PFBhcmVudD46OmluaXQoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAgICAgaW5pdGlhbGl6ZSh0b1JlZihnbG9iYWxP
YmplY3QpLCB0b1JlZihqc0Nhc3Q8SlNPYmplY3QqPih0aGlzKSkpOwogICAgIH0KICAgICAKLSAg
ICBtX2NsYXNzSW5mbyA9IHRoaXMtPmNsYXNzSW5mbygpOworICAgIG1fY2xhc3NJbmZvID0gdGhp
cy0+Y2xhc3NJbmZvKGdldFZNKGdsb2JhbE9iamVjdCkpOwogfQogCiB0ZW1wbGF0ZSA8Y2xhc3Mg
UGFyZW50PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVm
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5jcHAKaW5kZXggNGMx
MjZlNDQ4ZjY3MWExMzI5MzZjOGI4ZTU5MTM0NzM0Nzg2ZWZjZS4uOTJkZjYzOGUxNWVlNzcyZjli
ZGMxMjZjMTBmNDc4MDFjYmY2Y2RhMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NsYXNzUmVmLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2xh
c3NSZWYuY3BwCkBAIC0xOTAsNyArMTkwLDcgQEAgSlNPYmplY3QqIE9wYXF1ZUpTQ2xhc3M6OnBy
b3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgICAgICByZXR1cm4gcHJv
dG90eXBlOwogCiAgICAgLy8gUmVjdXJzaXZlLCBidXQgc2hvdWxkIGJlIGdvb2QgZW5vdWdoIGZv
ciBvdXIgcHVycG9zZXMKLSAgICBKU09iamVjdCogcHJvdG90eXBlID0gSlNDYWxsYmFja09iamVj
dDxKU0Rlc3RydWN0aWJsZU9iamVjdD46OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVj
dC0+Y2FsbGJhY2tPYmplY3RTdHJ1Y3R1cmUoKSwgcHJvdG90eXBlQ2xhc3MsICZqc0NsYXNzRGF0
YSk7IC8vIHNldCBqc0NsYXNzRGF0YSBhcyB0aGUgb2JqZWN0J3MgcHJpdmF0ZSBkYXRhLCBzbyBp
dCBjYW4gY2xlYXIgb3VyIHJlZmVyZW5jZSBvbiBkZXN0cnVjdGlvbgorICAgIEpTT2JqZWN0KiBw
cm90b3R5cGUgPSBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVhdGUoZ2xv
YmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPmNhbGxiYWNrT2JqZWN0U3RydWN0dXJlKCksIHByb3Rv
dHlwZUNsYXNzLCAmanNDbGFzc0RhdGEpOyAvLyBzZXQganNDbGFzc0RhdGEgYXMgdGhlIG9iamVj
dCdzIHByaXZhdGUgZGF0YSwgc28gaXQgY2FuIGNsZWFyIG91ciByZWZlcmVuY2Ugb24gZGVzdHJ1
Y3Rpb24KICAgICBpZiAocGFyZW50Q2xhc3MpIHsKICAgICAgICAgaWYgKEpTT2JqZWN0KiBwYXJl
bnRQcm90b3R5cGUgPSBwYXJlbnRDbGFzcy0+cHJvdG90eXBlKGdsb2JhbE9iamVjdCkpCiAgICAg
ICAgICAgICBwcm90b3R5cGUtPnNldFByb3RvdHlwZURpcmVjdChnbG9iYWxPYmplY3QtPnZtKCks
IHBhcmVudFByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTT2JqZWN0UmVmLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYu
Y3BwCmluZGV4IGI0YmZlZmUwNTg3NTc1ZDkxZjZiZTFiNDFhMTE3M2Q1YzM2YjRlZGMuLmY3Zjlk
YWIzZjI4YWRjMGVhYmIyYmRlOGIyNTA2NzcyYWQyNWZmY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwCkBAIC05Niw3ICs5Niw3IEBAIEpTT2JqZWN0UmVmIEpT
T2JqZWN0TWFrZShKU0NvbnRleHRSZWYgY3R4LCBKU0NsYXNzUmVmIGpzQ2xhc3MsIHZvaWQqIGRh
dGEpCiAgICAgaWYgKCFqc0NsYXNzKQogICAgICAgICByZXR1cm4gdG9SZWYoY29uc3RydWN0RW1w
dHlPYmplY3QoZ2xvYmFsT2JqZWN0KSk7CiAKLSAgICBKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1
Y3RpYmxlT2JqZWN0Piogb2JqZWN0ID0gSlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9i
amVjdD46OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+Y2FsbGJhY2tPYmplY3RT
dHJ1Y3R1cmUoKSwganNDbGFzcywgZGF0YSk7CisgICAgSlNDYWxsYmFja09iamVjdDxKU05vbkZp
bmFsT2JqZWN0Piogb2JqZWN0ID0gSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6
Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja09iamVjdFN0cnVjdHVy
ZSgpLCBqc0NsYXNzLCBkYXRhKTsKICAgICBpZiAoSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzQ2xh
c3MtPnByb3RvdHlwZShnbG9iYWxPYmplY3QpKQogICAgICAgICBvYmplY3QtPnNldFByb3RvdHlw
ZURpcmVjdCh2bSwgcHJvdG90eXBlKTsKIApAQCAtNTY3LDggKzU2Nyw4IEBAIHZvaWQqIEpTT2Jq
ZWN0R2V0UHJpdmF0ZShKU09iamVjdFJlZiBvYmplY3QpCiAKICAgICBpZiAoY2xhc3NJbmZvLT5p
c1N1YkNsYXNzT2YoSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46OmluZm8oKSkpCiAg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0
Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZSgpOwotICAgIGlmIChjbGFzc0luZm8tPmlzU3ViQ2xh
c3NPZihKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6aW5mbygpKSkKLSAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVP
YmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2YXRlKCk7CisgICAgaWYgKGNsYXNzSW5mby0+aXNT
dWJDbGFzc09mKEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD46OmluZm8oKSkpCisg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmpl
Y3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2YXRlKCk7CiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQK
ICAgICBpZiAoY2xhc3NJbmZvLT5pc1N1YkNsYXNzT2YoSlNDYWxsYmFja09iamVjdDxKU0FQSVdy
YXBwZXJPYmplY3Q+OjppbmZvKCkpKQogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNDYWxs
YmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2YXRlKCk7
CkBAIC01OTQsOCArNTk0LDggQEAgYm9vbCBKU09iamVjdFNldFByaXZhdGUoSlNPYmplY3RSZWYg
b2JqZWN0LCB2b2lkKiBkYXRhKQogICAgICAgICBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0
PEpTR2xvYmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+c2V0UHJpdmF0ZShkYXRhKTsKICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfQotICAgIGlmIChjbGFzc0luZm8tPmlzU3ViQ2xhc3NPZihKU0Nh
bGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6aW5mbygpKSkgewotICAgICAgICBz
dGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pio+KGpzT2Jq
ZWN0KS0+c2V0UHJpdmF0ZShkYXRhKTsKKyAgICBpZiAoY2xhc3NJbmZvLT5pc1N1YkNsYXNzT2Yo
SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6aW5mbygpKSkgeworICAgICAgICBz
dGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Kj4oanNPYmplY3Qp
LT5zZXRQcml2YXRlKGRhdGEpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAjaWYgSlND
X09CSkNfQVBJX0VOQUJMRUQKQEAgLTYyNCw4ICs2MjQsOCBAQCBKU1ZhbHVlUmVmIEpTT2JqZWN0
R2V0UHJpdmF0ZVByb3BlcnR5KEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwg
SlNTdAogCiAgICAgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTR2xv
YmFsT2JqZWN0Pj4odm0pKQogICAgICAgICByZXN1bHQgPSBqc0Nhc3Q8SlNDYWxsYmFja09iamVj
dDxKU0dsb2JhbE9iamVjdD4qPihqc09iamVjdCktPmdldFByaXZhdGVQcm9wZXJ0eShuYW1lKTsK
LSAgICBlbHNlIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0Rlc3Ry
dWN0aWJsZU9iamVjdD4+KHZtKSkKLSAgICAgICAgcmVzdWx0ID0ganNDYXN0PEpTQ2FsbGJhY2tP
YmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2YXRlUHJvcGVy
dHkobmFtZSk7CisgICAgZWxzZSBpZiAoanNPYmplY3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNOb25GaW5hbE9iamVjdD4+KHZtKSkKKyAgICAgICAgcmVzdWx0ID0ganNDYXN0PEpTQ2Fs
bGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4qPihqc09iamVjdCktPmdldFByaXZhdGVQcm9w
ZXJ0eShuYW1lKTsKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRAogICAgIGVsc2UgaWYgKGpzT2Jq
ZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4+KHZtKSkK
ICAgICAgICAgcmVzdWx0ID0ganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2Jq
ZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZVByb3BlcnR5KG5hbWUpOwpAQCAtNjUwLDggKzY1
MCw4IEBAIGJvb2wgSlNPYmplY3RTZXRQcml2YXRlUHJvcGVydHkoSlNDb250ZXh0UmVmIGN0eCwg
SlNPYmplY3RSZWYgb2JqZWN0LCBKU1N0cmluZ1JlCiAgICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNr
T2JqZWN0PEpTR2xvYmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+c2V0UHJpdmF0ZVByb3BlcnR5KHZt
LCBuYW1lLCBqc1ZhbHVlKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIGlmIChq
c09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD4+
KHZtKSkgewotICAgICAgICBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9i
amVjdD4qPihqc09iamVjdCktPnNldFByaXZhdGVQcm9wZXJ0eSh2bSwgbmFtZSwganNWYWx1ZSk7
CisgICAgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxP
YmplY3Q+Pih2bSkpIHsKKyAgICAgICAganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5h
bE9iamVjdD4qPihqc09iamVjdCktPnNldFByaXZhdGVQcm9wZXJ0eSh2bSwgbmFtZSwganNWYWx1
ZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNpZiBKU0NfT0JKQ19BUElfRU5BQkxF
RApAQCAtNjc5LDggKzY3OSw4IEBAIGJvb2wgSlNPYmplY3REZWxldGVQcml2YXRlUHJvcGVydHko
SlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBKU1N0cmluCiAgICAgICAgIGpz
Q2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+ZGVsZXRl
UHJpdmF0ZVByb3BlcnR5KG5hbWUpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0gICAg
aWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2Jq
ZWN0Pj4odm0pKSB7Ci0gICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3Rp
YmxlT2JqZWN0Pio+KGpzT2JqZWN0KS0+ZGVsZXRlUHJpdmF0ZVByb3BlcnR5KG5hbWUpOworICAg
IGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0
Pj4odm0pKSB7CisgICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmpl
Y3Q+Kj4oanNPYmplY3QpLT5kZWxldGVQcml2YXRlUHJvcGVydHkobmFtZSk7CiAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgIH0KICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5jcHAKaW5kZXggZjViNjUwZTNkNDA3YTI2YTY1NTBjNjRm
YmRlNjQzMTQxZDJhMzBhNS4uZmIxNmM0ZDU2M2RiZDc1NjZmOWYwYjBjMmQ5YjJhNzViN2QyNzZk
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuY3BwCkBAIC0yMTAsOCAr
MjEwLDggQEAgYm9vbCBKU1ZhbHVlSXNPYmplY3RPZkNsYXNzKEpTQ29udGV4dFJlZiBjdHgsIEpT
VmFsdWVSZWYgdmFsdWUsIEpTQ2xhc3NSZWYganNDbGEKIAogICAgICAgICBpZiAoby0+aW5oZXJp
dHM8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4+KHZtKSkKICAgICAgICAgICAgIHJl
dHVybiBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4qPihvKS0+aW5oZXJp
dHMoanNDbGFzcyk7Ci0gICAgICAgIGlmIChvLT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpT
RGVzdHJ1Y3RpYmxlT2JqZWN0Pj4odm0pKQotICAgICAgICAgICAgcmV0dXJuIGpzQ2FzdDxKU0Nh
bGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pio+KG8pLT5pbmhlcml0cyhqc0NsYXNz
KTsKKyAgICAgICAgaWYgKG8tPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9i
amVjdD4+KHZtKSkKKyAgICAgICAgICAgIHJldHVybiBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxK
U05vbkZpbmFsT2JqZWN0Pio+KG8pLT5pbmhlcml0cyhqc0NsYXNzKTsKICNpZiBKU0NfT0JKQ19B
UElfRU5BQkxFRAogICAgICAgICBpZiAoby0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0FQ
SVdyYXBwZXJPYmplY3Q+Pih2bSkpCiAgICAgICAgICAgICByZXR1cm4ganNDYXN0PEpTQ2FsbGJh
Y2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pio+KG8pLT5pbmhlcml0cyhqc0NsYXNzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFwUmVmUHJp
dmF0ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTV2Vha09iamVjdE1hcFJlZlBy
aXZhdGUuY3BwCmluZGV4IGQyYzUzN2E4YTAxNDFiMjJkZDM0YmY4OTg0YTM5YzYzMGU5ZWJmNDYu
LjIzZTI1MWY2ODQ0MmMwZTFlODIzNWRjYjIzOWJmNzE0NTRjNDdlOWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFwUmVmUHJpdmF0ZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtPYmplY3RNYXBSZWZQcml2YXRlLmNw
cApAQCAtNjQsNyArNjQsNyBAQCB2b2lkIEpTV2Vha09iamVjdE1hcFNldChKU0NvbnRleHRSZWYg
Y3R4LCBKU1dlYWtPYmplY3RNYXBSZWYgbWFwLCB2b2lkKiBrZXksIEpTTwogICAgICAgICByZXR1
cm47CiAgICAgQVNTRVJUKG9iai0+aW5oZXJpdHM8SlNQcm94eT4odm0pCiAgICAgICAgIHx8IG9i
ai0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4+KHZtKQotICAgICAg
ICB8fCBvYmotPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+
Pih2bSkpOworICAgICAgICB8fCBvYmotPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25G
aW5hbE9iamVjdD4+KHZtKSk7CiAgICAgbWFwLT5tYXAoKS5zZXQoa2V5LCBvYmopOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNBUElXcmFwcGVyR2xv
YmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0FQSVdyYXBw
ZXJHbG9iYWxPYmplY3QuY3BwCmluZGV4IDZhZTE5NDViMmZlYzQwZGZjYzhjYjc0N2MyN2NmNjgw
NTEwOWExYjIuLmIyODY1NDVkZmVkYzg5MGI3YzFkMWJlMjdkODgzMTkzMjNmYjZmNzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0FQSVdyYXBwZXJHbG9iYWxP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0FQSVdyYXBw
ZXJHbG9iYWxPYmplY3QuY3BwCkBAIC01OCw2ICs1OCwxOSBAQCB0ZW1wbGF0ZSA8PiBjb25zdCBD
bGFzc0luZm8gSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJHbG9iYWxPYmplY3Q+OjpzX2lu
Zm8gPQogCiB0ZW1wbGF0ZTw+IGNvbnN0IGJvb2wgSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBw
ZXJHbG9iYWxPYmplY3Q+OjpuZWVkc0Rlc3RydWN0aW9uID0gZmFsc2U7CiAKK3RlbXBsYXRlIDw+
CitJc29TdWJzcGFjZSogSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJHbG9iYWxPYmplY3Q+
OjpzdWJzcGFjZUZvckltcGwoVk0mIHZtLCBTdWJzcGFjZUFjY2VzcyBtb2RlKQoreworICAgIHN3
aXRjaCAobW9kZSkgeworICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZDoKKyAg
ICAgICAgcmV0dXJuIHZtLmNhbGxiYWNrQVBJV3JhcHBlckdsb2JhbE9iamVjdFNwYWNlPFN1YnNw
YWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ+KCk7CisgICAgY2FzZSBTdWJzcGFjZUFjY2Vzczo6Q29u
Y3VycmVudGx5OgorICAgICAgICByZXR1cm4gdm0uY2FsbGJhY2tBUElXcmFwcGVyR2xvYmFsT2Jq
ZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6OkNvbmN1cnJlbnRseT4oKTsKKyAgICB9CisgICAgUkVM
RUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogdGVt
cGxhdGUgPD4KIFN0cnVjdHVyZSogSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJHbG9iYWxP
YmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUg
cHJvdG8pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNB
UElXcmFwcGVyR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIv
SlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmgKaW5kZXggZDU0YTllY2QwZWZhYWYwYTc5ZWE0MmUz
ZmI5N2Q2MDYwNjI1Mjg0ZC4uNmEzNDg5OTQ3YjJhMzA4NTc2NGZhZmUxYjgwNWYxNTgwNTkwMWMw
OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQVBJV3JhcHBl
ckdsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0FQ
SVdyYXBwZXJHbG9iYWxPYmplY3QuaApAQCAtMzMsNyArMzMsMTAgQEAgbmFtZXNwYWNlIEpTQyB7
CiAKIGNsYXNzIEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdCA6IHB1YmxpYyBKU0dsb2JhbE9iamVj
dCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU0dsb2JhbE9iamVjdCBCYXNlOworICAgIHVzaW5n
IEJhc2UgPSBKU0dsb2JhbE9iamVjdDsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lLCBTdWJzcGFj
ZUFjY2Vzcz4KKyAgICBzdGF0aWMgdm9pZCBzdWJzcGFjZUZvcihWTSYpIHsgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsgfQogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwogICAg
IHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgSlNDOjpTbG90VmlzaXRvciYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmlu
ZGV4IDQ0MWIzMDRhNGRkMzZjNzRkMjIzNDM3N2NkNjM2MDMxYWU3MTEyM2IuLmY1OWM3YWMwMTNl
OGQ5MmFmZDZkYTMyYTY4YWNjN2UzNjZhYTQ3ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTY3MCw3ICs2NzAsNyBAQCB2b2lk
IEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICAgICAgfSk7CiAgICAgbV9jYWxsYmFj
a09iamVjdFN0cnVjdHVyZS5pbml0TGF0ZXIoCiAgICAgICAgIFtdIChjb25zdCBJbml0aWFsaXpl
cjxTdHJ1Y3R1cmU+JiBpbml0KSB7Ci0gICAgICAgICAgICBpbml0LnNldChKU0NhbGxiYWNrT2Jq
ZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKGluaXQudm0sIGluaXQu
b3duZXIsIGluaXQub3duZXItPm1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSk7CisgICAgICAgICAg
ICBpbml0LnNldChKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVhdGVTdHJ1
Y3R1cmUoaW5pdC52bSwgaW5pdC5vd25lciwgaW5pdC5vd25lci0+bV9vYmplY3RQcm90b3R5cGUu
Z2V0KCkpKTsKICAgICAgICAgfSk7CiAKICNpZiBKU0NfT0JKQ19BUElfRU5BQkxFRApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9i
amVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlh
YmxlT2JqZWN0LmNwcAppbmRleCBjNzUwNzA1ZTEyYjMxNTNiZDFmYjA3ZjhmNmUyYzM5NjliNmU5
NmQ2Li5mYWE3ZWQwZTY1ZGQ3NGZmMDk0MWMxODE2YzZhYmM1MzU5NzdjY2JjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlh
YmxlT2JqZWN0LmNwcApAQCAtMTE5LDcgKzExOSw3IEBAIHZvaWQgSlNTZWdtZW50ZWRWYXJpYWJs
ZU9iamVjdDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9u
KHZtKTsKICAgICBzZXRTeW1ib2xUYWJsZSh2bSwgU3ltYm9sVGFibGU6OmNyZWF0ZSh2bSkpOwog
ICAgIHZtLmhlYXAuYWRkRmluYWxpemVyKHRoaXMsIFtdIChKU0NlbGwqIGNlbGwpIHsKLSAgICAg
ICAgc3RhdGljX2Nhc3Q8SlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCo+KGNlbGwpLT5jbGFzc0lu
Zm8oKS0+bWV0aG9kVGFibGUuZGVzdHJveShjZWxsKTsKKyAgICAgICAgc3RhdGljX2Nhc3Q8SlNT
ZWdtZW50ZWRWYXJpYWJsZU9iamVjdCo+KGNlbGwpLT5tX2NsYXNzSW5mby0+bWV0aG9kVGFibGUu
ZGVzdHJveShjZWxsKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5oCmluZGV4IDBhMTI4
NDgyMjdmZmIxOWY3MTBlOTEyZDU1MmI5ZjkwNDU1NTM2NDEuLjUzNWZjMzQyNzdlNmMxMWZmMTY3
ZTc2MTJlMjkyNDNlYzI3NGE2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0LmgKQEAgLTk2LDcgKzk2LDcg
QEAgY2xhc3MgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCA6IHB1YmxpYyBKU1N5bWJvbFRhYmxl
T2JqZWN0IHsKICAgICAKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwogICAgIAot
ICAgIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc0lu
Zm87IH0KKyAgICBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbyhWTSYpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3NJbmZvOyB9CiAgICAgCiBwcm90ZWN0ZWQ6CiAgICAgSlNTZWdtZW50ZWRWYXJpYWJs
ZU9iamVjdChWTSYsIFN0cnVjdHVyZSosIEpTU2NvcGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNLmNwcAppbmRleCBhNDgxODgyM2JkZjdlNmFkYTg5Y2RmZjY5OTE0ODdlMzMzNWI4OGI1
Li5jMjU2NjZiZjc1ZGUwZTZhOGIwOTM3ZWE3ZmUzMWZkMTc5ODQ2ZjQxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVk0uY3BwCkBAIC03OCw3ICs3OCw5IEBACiAjaW5jbHVkZSAiSXNvSGVh
cENlbGxUeXBlLmgiCiAjaW5jbHVkZSAiSklUQ29kZS5oIgogI2luY2x1ZGUgIkpJVFdvcmtsaXN0
LmgiCisjaW5jbHVkZSAiSlNBUElHbG9iYWxPYmplY3QuaCIKICNpbmNsdWRlICJKU0FQSVZhbHVl
V3JhcHBlci5oIgorI2luY2x1ZGUgIkpTQVBJV3JhcHBlck9iamVjdC5oIgogI2luY2x1ZGUgIkpT
QXJyYXkuaCIKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1
ZmZlckNvbnN0cnVjdG9yLmgiCkBAIC04Niw3ICs4OCw5IEBACiAjaW5jbHVkZSAiSlNCaWdJbnQu
aCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
CisjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFj
a0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNDYWxsYmFja09iamVjdC5oIgogI2luY2x1ZGUgIkpT
Q2FsbGVlLmgiCiAjaW5jbHVkZSAiSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbi5oIgogI2lu
Y2x1ZGUgIkpTRGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlLmgiCkBAIC0xMzIsNyArMTM2
LDYgQEAKICNpbmNsdWRlICJOYXRpdmVFeGVjdXRhYmxlLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIK
ICNpbmNsdWRlICJOdW1iZXJPYmplY3QuaCIKLSNpbmNsdWRlICJPYmpDQ2FsbGJhY2tGdW5jdGlv
bi5oIgogI2luY2x1ZGUgIlBhcnNlci5oIgogI2luY2x1ZGUgIlByZWRpY3Rpb25GaWxlQ3JlYXRp
bmdGdXp6ZXJBZ2VudC5oIgogI2luY2x1ZGUgIlByb2ZpbGVyRGF0YWJhc2UuaCIKQEAgLTE5Myw3
ICsxOTYsMTIgQEAKICNpbmNsdWRlICJSZWdFeHAuaCIKICNlbmRpZgogCisjaWYgSlNDX09CSkNf
QVBJX0VOQUJMRUQKKyNpbmNsdWRlICJPYmpDQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2VuZGlmCisK
ICNpZmRlZiBKU0NfR0xJQl9BUElfRU5BQkxFRAorI2luY2x1ZGUgIkpTQVBJV3JhcHBlckdsb2Jh
bE9iamVjdC5oIgogI2luY2x1ZGUgIkpTQ0NhbGxiYWNrRnVuY3Rpb24uaCIKICNlbmRpZgogCkBA
IC0yOTMsNiArMzAxLDggQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBl
KQogICAgICwgaW1tdXRhYmxlQnV0dGVyZmx5SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SGVhcENl
bGxUeXBlPihDZWxsQXR0cmlidXRlcyhEb2VzTm90TmVlZERlc3RydWN0aW9uLCBIZWFwQ2VsbDo6
SlNDZWxsV2l0aEludGVyaW9yUG9pbnRlcnMpKSkKICAgICAsIGNlbGxIZWFwQ2VsbFR5cGUobWFr
ZVVuaXF1ZTxIZWFwQ2VsbFR5cGU+KENlbGxBdHRyaWJ1dGVzKERvZXNOb3ROZWVkRGVzdHJ1Y3Rp
b24sIEhlYXBDZWxsOjpKU0NlbGwpKSkKICAgICAsIGRlc3RydWN0aWJsZUNlbGxIZWFwQ2VsbFR5
cGUobWFrZVVuaXF1ZTxIZWFwQ2VsbFR5cGU+KENlbGxBdHRyaWJ1dGVzKE5lZWRzRGVzdHJ1Y3Rp
b24sIEhlYXBDZWxsOjpKU0NlbGwpKSkKKyAgICAsIGNhbGxiYWNrQ29uc3RydWN0b3JIZWFwQ2Vs
bFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNDYWxsYmFja0NvbnN0cnVjdG9yPj4o
KSkKKyAgICAsIGNhbGxiYWNrT2JqZWN0SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENl
bGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4+PigpKQogICAgICwgZGF0
ZUluc3RhbmNlSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPERhdGVJbnN0
YW5jZT4+KCkpCiAgICAgLCBlcnJvckluc3RhbmNlSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNv
SGVhcENlbGxUeXBlPEVycm9ySW5zdGFuY2U+PigpKQogICAgICwganNNb2R1bGVSZWNvcmRIZWFw
Q2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNNb2R1bGVSZWNvcmQ+PigpKQpA
QCAtMzAzLDkgKzMxMywxMSBAQCBWTTo6Vk0oVk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUgaGVhcFR5
cGUpCiAgICAgLCB3ZWFrU2V0SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBl
PEpTV2Vha1NldD4+KCkpCiAgICAgLCBkZXN0cnVjdGlibGVPYmplY3RIZWFwQ2VsbFR5cGUobWFr
ZVVuaXF1ZTxKU0Rlc3RydWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZT4oKSkKICNpZiBKU0NfT0JK
Q19BUElfRU5BQkxFRAorICAgICwgYXBpV3JhcHBlck9iamVjdEhlYXBDZWxsVHlwZShtYWtlVW5p
cXVlPElzb0hlYXBDZWxsVHlwZTxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4+
PigpKQogICAgICwgb2JqQ0NhbGxiYWNrRnVuY3Rpb25IZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJ
c29IZWFwQ2VsbFR5cGU8T2JqQ0NhbGxiYWNrRnVuY3Rpb24+PigpKQogI2VuZGlmCiAjaWZkZWYg
SlNDX0dMSUJfQVBJX0VOQUJMRUQKKyAgICAsIGFwaVdyYXBwZXJPYmplY3RIZWFwQ2VsbFR5cGUo
bWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJP
YmplY3Q+Pj4oKSkKICAgICAsIGpzY0NhbGxiYWNrRnVuY3Rpb25IZWFwQ2VsbFR5cGUobWFrZVVu
aXF1ZTxJc29IZWFwQ2VsbFR5cGU8SlNDQ2FsbGJhY2tGdW5jdGlvbj4+KCkpCiAjZW5kaWYKICNp
ZiBFTkFCTEUoSU5UTCkKQEAgLTEzNjEsMTIgKzEzNzMsMTcgQEAgdm9pZCBWTTo6ZW5zdXJlU2hh
ZG93Q2hpY2tlbigpCiAgICAgfQogCiAKK0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1C
RVJfU0xPVyhhcGlHbG9iYWxPYmplY3RTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNB
UElHbG9iYWxPYmplY3QpCitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1co
YXBpVmFsdWVXcmFwcGVyU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQVBJVmFsdWVX
cmFwcGVyKQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGFycmF5QnVm
ZmVyU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQXJyYXlCdWZmZXIpCiBEWU5BTUlD
X0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYXN5bmNHZW5lcmF0b3JTcGFjZSwgY2Vs
bEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNBc3luY0dlbmVyYXRvcikKIERZTkFNSUNfSVNPX1NVQlNQ
QUNFX0RFRklORV9NRU1CRVJfU0xPVyhiaWdJbnRPYmplY3RTcGFjZSwgY2VsbEhlYXBDZWxsVHlw
ZS5nZXQoKSwgQmlnSW50T2JqZWN0KQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJF
Ul9TTE9XKGJvb2xlYW5PYmplY3RTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgQm9vbGVh
bk9iamVjdCkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhib3VuZEZ1
bmN0aW9uU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQm91bmRGdW5jdGlvbikgLy8g
SGFzaDoweGQ3OTE2ZDQxCitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1co
Y2FsbGJhY2tDb25zdHJ1Y3RvclNwYWNlLCBjYWxsYmFja0NvbnN0cnVjdG9ySGVhcENlbGxUeXBl
LmdldCgpLCBKU0NhbGxiYWNrQ29uc3RydWN0b3IpCitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJ
TkVfTUVNQkVSX1NMT1coY2FsbGJhY2tHbG9iYWxPYmplY3RTcGFjZSwgY2VsbEhlYXBDZWxsVHlw
ZS5nZXQoKSwgSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4pCiBEWU5BTUlDX0lTT19T
VUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coY2FsbGJhY2tGdW5jdGlvblNwYWNlLCBjZWxsSGVh
cENlbGxUeXBlLmdldCgpLCBKU0NhbGxiYWNrRnVuY3Rpb24pIC8vIEhhc2g6MHhlNzY0OGViYwor
RFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGNhbGxiYWNrT2JqZWN0U3Bh
Y2UsIGNhbGxiYWNrT2JqZWN0SGVhcENlbGxUeXBlLmdldCgpLCBKU0NhbGxiYWNrT2JqZWN0PEpT
Tm9uRmluYWxPYmplY3Q+KQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9X
KGN1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCks
IEpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb24pIC8vIEhhc2g6MHgxODA5MTAwMAogRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGRhdGFWaWV3U3BhY2UsIGNlbGxIZWFw
Q2VsbFR5cGUuZ2V0KCksIEpTRGF0YVZpZXcpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVf
TUVNQkVSX1NMT1coZXJyb3JJbnN0YW5jZVNwYWNlLCBlcnJvckluc3RhbmNlSGVhcENlbGxUeXBl
LmdldCgpLCBFcnJvckluc3RhbmNlKSAvLyBIYXNoOjB4M2Y0MGQ0YQpAQCAtMTM5OCwxMCArMTQx
NSwxMyBAQCBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1cod2Vha01hcFNw
YWNlLCB3ZWFrTWFwSGVhcENlbGxUeXBlLmdldCgpLAogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVG
SU5FX01FTUJFUl9TTE9XKHdlYWtTZXRTcGFjZSwgd2Vha1NldEhlYXBDZWxsVHlwZS5nZXQoKSwg
SlNXZWFrU2V0KSAvLyBIYXNoOjB4NGM3ODFiMzAKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklO
RV9NRU1CRVJfU0xPVyh3ZWFrT2JqZWN0UmVmU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCks
IEpTV2Vha09iamVjdFJlZikgLy8gSGFzaDoweDhlYzY4ZjFmCiAjaWYgSlNDX09CSkNfQVBJX0VO
QUJMRUQKK0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhhcGlXcmFwcGVy
T2JqZWN0U3BhY2UsIGFwaVdyYXBwZXJPYmplY3RIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQ2FsbGJh
Y2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0PikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklO
RV9NRU1CRVJfU0xPVyhvYmpDQ2FsbGJhY2tGdW5jdGlvblNwYWNlLCBvYmpDQ2FsbGJhY2tGdW5j
dGlvbkhlYXBDZWxsVHlwZS5nZXQoKSwgT2JqQ0NhbGxiYWNrRnVuY3Rpb24pIC8vIEhhc2g6MHgx
MGY2MTBiOAogI2VuZGlmCiAjaWZkZWYgSlNDX0dMSUJfQVBJX0VOQUJMRUQKK0RZTkFNSUNfSVNP
X1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhhcGlXcmFwcGVyT2JqZWN0U3BhY2UsIGFwaVdy
YXBwZXJPYmplY3RIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFw
cGVyT2JqZWN0PikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhqc2ND
YWxsYmFja0Z1bmN0aW9uU3BhY2UsIGpzY0NhbGxiYWNrRnVuY3Rpb25IZWFwQ2VsbFR5cGUuZ2V0
KCksIEpTQ0NhbGxiYWNrRnVuY3Rpb24pCitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVN
QkVSX1NMT1coY2FsbGJhY2tBUElXcmFwcGVyR2xvYmFsT2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2Vs
bFR5cGUuZ2V0KCksIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0PikK
ICNlbmRpZgogI2lmIEVOQUJMRShJTlRMKQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01F
TUJFUl9TTE9XKGludGxDb2xsYXRvclNwYWNlLCBpbnRsQ29sbGF0b3JIZWFwQ2VsbFR5cGUuZ2V0
KCksIEludGxDb2xsYXRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCmluZGV4IGVkZGJm
YzU1ZWJiNjhiYTcwMmEyMzc3ZDM0NzAyZTg1YzY3ZTQ3YjAuLmMxMjRmYWIxODY5N2FkOGEwYjcw
OTAxYzAzZWNhZWE5ZjA3NjEyZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1ZNLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApAQCAt
MTI2LDEzICsxMjYsMTYgQEAgY2xhc3MgSW50bENvbGxhdG9yOwogY2xhc3MgSW50bERhdGVUaW1l
Rm9ybWF0OwogY2xhc3MgSW50bE51bWJlckZvcm1hdDsKIGNsYXNzIEludGxQbHVyYWxSdWxlczsK
K2NsYXNzIEpTQVBJV3JhcHBlck9iamVjdDsKIGNsYXNzIEpTQ0NhbGxiYWNrRnVuY3Rpb247Citj
bGFzcyBKU0NhbGxiYWNrQ29uc3RydWN0b3I7CiBjbGFzcyBKU0N1c3RvbUdldHRlclNldHRlckZ1
bmN0aW9uOwogY2xhc3MgSlNEZXN0cnVjdGlibGVPYmplY3RIZWFwQ2VsbFR5cGU7CiBjbGFzcyBK
U0dsb2JhbE9iamVjdDsKIGNsYXNzIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0OwogY2xhc3MgSlNN
b2R1bGVSZWNvcmQ7CiBjbGFzcyBKU05hdGl2ZVN0ZEZ1bmN0aW9uOworY2xhc3MgSlNOb25GaW5h
bE9iamVjdDsKIGNsYXNzIEpTT2JqZWN0OwogY2xhc3MgSlNQcm9taXNlOwogY2xhc3MgSlNQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yOwpAQCAtMTgyLDYgKzE4NSw3IEBAIGNsYXNzIFdlYkFzc2VtYmx5
RnVuY3Rpb247CiBjbGFzcyBXZWJBc3NlbWJseU1vZHVsZVJlY29yZDsKIAogdGVtcGxhdGU8dHlw
ZW5hbWUgQ2VsbFR5cGU+IGNsYXNzIElzb0hlYXBDZWxsVHlwZTsKK3RlbXBsYXRlPHR5cGVuYW1l
IFBhcmVudD4gY2xhc3MgSlNDYWxsYmFja09iamVjdDsKIAogI2lmIEVOQUJMRShGVExfSklUKQog
bmFtZXNwYWNlIEZUTCB7CkBAIC0zNTksNiArMzYzLDggQEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8SGVhcENlbGxUeXBlPiBpbW11dGFibGVCdXR0ZXJmbHlIZWFw
Q2VsbFR5cGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEhlYXBDZWxsVHlwZT4gY2VsbEhlYXBDZWxs
VHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SGVhcENlbGxUeXBlPiBkZXN0cnVjdGlibGVDZWxs
SGVhcENlbGxUeXBlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8SlNDYWxs
YmFja0NvbnN0cnVjdG9yPj4gY2FsbGJhY2tDb25zdHJ1Y3RvckhlYXBDZWxsVHlwZTsKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5h
bE9iamVjdD4+PiBjYWxsYmFja09iamVjdEhlYXBDZWxsVHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8SXNvSGVhcENlbGxUeXBlPERhdGVJbnN0YW5jZT4+IGRhdGVJbnN0YW5jZUhlYXBDZWxsVHlw
ZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEVycm9ySW5zdGFuY2U+PiBl
cnJvckluc3RhbmNlSGVhcENlbGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2Vs
bFR5cGU8SlNNb2R1bGVSZWNvcmQ+PiBqc01vZHVsZVJlY29yZEhlYXBDZWxsVHlwZTsKQEAgLTM2
OSw5ICszNzUsMTEgQEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+
LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
SXNvSGVhcENlbGxUeXBlPEpTV2Vha1NldD4+IHdlYWtTZXRIZWFwQ2VsbFR5cGU7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPEpTRGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlPiBkZXN0cnVjdGli
bGVPYmplY3RIZWFwQ2VsbFR5cGU7CiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVy
T2JqZWN0Pj4+IGFwaVdyYXBwZXJPYmplY3RIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlxdWVf
cHRyPElzb0hlYXBDZWxsVHlwZTxPYmpDQ2FsbGJhY2tGdW5jdGlvbj4+IG9iakNDYWxsYmFja0Z1
bmN0aW9uSGVhcENlbGxUeXBlOwogI2VuZGlmCiAjaWZkZWYgSlNDX0dMSUJfQVBJX0VOQUJMRUQK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNB
UElXcmFwcGVyT2JqZWN0Pj4+IGFwaVdyYXBwZXJPYmplY3RIZWFwQ2VsbFR5cGU7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxKU0NDYWxsYmFja0Z1bmN0aW9uPj4ganNjQ2Fs
bGJhY2tGdW5jdGlvbkhlYXBDZWxsVHlwZTsKICNlbmRpZgogI2lmIEVOQUJMRShJTlRMKQpAQCAt
NDU4LDE3ICs0NjYsMjUgQEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsKIAogCiAjaWYgSlNDX09CSkNf
QVBJX0VOQUJMRUQKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFwaVdy
YXBwZXJPYmplY3RTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVS
KG9iakNDYWxsYmFja0Z1bmN0aW9uU3BhY2UpCiAjZW5kaWYKICNpZmRlZiBKU0NfR0xJQl9BUElf
RU5BQkxFRAorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXBpV3JhcHBl
ck9iamVjdFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoanNj
Q2FsbGJhY2tGdW5jdGlvblNwYWNlKQorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9N
RU1CRVIoY2FsbGJhY2tBUElXcmFwcGVyR2xvYmFsT2JqZWN0U3BhY2UpCiAjZW5kaWYKKyAgICBE
WU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFwaUdsb2JhbE9iamVjdFNwYWNlKQor
ICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXBpVmFsdWVXcmFwcGVyU3Bh
Y2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhcnJheUJ1ZmZlclNw
YWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXN5bmNHZW5lcmF0
b3JTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGJpZ0ludE9i
amVjdFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYm9vbGVh
bk9iamVjdFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYm91
bmRGdW5jdGlvblNwYWNlKQorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIo
Y2FsbGJhY2tDb25zdHJ1Y3RvclNwYWNlKQorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklO
RV9NRU1CRVIoY2FsbGJhY2tHbG9iYWxPYmplY3RTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJT
UEFDRV9ERUZJTkVfTUVNQkVSKGNhbGxiYWNrRnVuY3Rpb25TcGFjZSkKKyAgICBEWU5BTUlDX0lT
T19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGNhbGxiYWNrT2JqZWN0U3BhY2UpCiAgICAgRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihjdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvblNw
YWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoZGF0YVZpZXdTcGFj
ZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGVycm9ySW5zdGFuY2VT
cGFjZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0
LmNwcAppbmRleCA2MGEzNGNmOWJjYTBiZTMzYTZmOTIxNjk1NTBlOTQxYzNmNmFmMjAzLi42Mzgz
OWQxYzQ1YThiZTRjODhmNDQ4OTk3Y2JlYzcyYWYzMmRhM2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCkBAIC0xNDksNyArMTQ5LDcg
QEAgdm9pZCBKU0RPTUdsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiAgICAg
YWRkQnVpbHRpbkdsb2JhbHModm0pOwogCi0gICAgUkVMRUFTRV9BU1NFUlQoY2xhc3NJbmZvKCkp
OworICAgIFJFTEVBU0VfQVNTRVJUKGNsYXNzSW5mbyh2bSkpOwogfQogCiB2b2lkIEpTRE9NR2xv
YmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiB0aGlzVmFsdWUpCkBA
IC0xNTksNyArMTU5LDcgQEAgdm9pZCBKU0RPTUdsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24o
Vk0mIHZtLCBKU09iamVjdCogdGhpc1ZhbHVlKQogCiAgICAgYWRkQnVpbHRpbkdsb2JhbHModm0p
OwogCi0gICAgUkVMRUFTRV9BU1NFUlQoY2xhc3NJbmZvKCkpOworICAgIFJFTEVBU0VfQVNTRVJU
KGNsYXNzSW5mbyh2bSkpOwogfQogCiBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBKU0RPTUdsb2Jh
bE9iamVjdDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcAppbmRleCAwNTZiZGJkMmRmMWUzZjNhNDQ2ZDE3
OTlhMzEyOWE3MzlmODBjY2M1Li43NzM2ZDBjZmQzZmM2Yzk2ODU1NTNkMmQ1NjBhODk5YWNmYzU3
MzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAKQEAg
LTQxLDcgKzQxLDcgQEAgU1RBVElDX0FTU0VSVF9JU19UUklWSUFMTFlfREVTVFJVQ1RJQkxFKEpT
RE9NT2JqZWN0KTsKIEpTRE9NT2JqZWN0OjpKU0RPTU9iamVjdChKU0M6OlN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiAgICAgOiBCYXNlKGds
b2JhbE9iamVjdC52bSgpLCBzdHJ1Y3R1cmUpCiB7Ci0gICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSB8fCBnbG9iYWxPYmplY3QuY2xhc3NJbmZvKCkgPT0gSlNSZW1vdGVET01XaW5k
b3c6OmluZm8oKSk7CisgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSB8fCBnbG9i
YWxPYmplY3QuY2xhc3NJbmZvKGdsb2JhbE9iamVjdC52bSgpKSA9PSBKU1JlbW90ZURPTVdpbmRv
dzo6aW5mbygpKTsKIH0KIAogSlNDOjpDb21wbGV0ZVN1YnNwYWNlKiBvdXRwdXRDb25zdHJhaW50
U3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1dpbmRvd1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
V2luZG93UHJveHkuY3BwCmluZGV4IDdhYzhmNzk0MTRkZWRkMGE2ZDY5NDVkMTQ4ZjI4ZThiZDI3
MTM0NjYuLmRiNzAzMWFjZGFiM2FlYzZiNzc3ZDc2ODMxNTk1NmU0M2EzZjBiYmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2luZG93UHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2luZG93UHJveHkuY3BwCkBAIC03NSw3ICs3NSw3
IEBAIHZvaWQgSlNXaW5kb3dQcm94eTo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCiAKIHZvaWQgSlNX
aW5kb3dQcm94eTo6c2V0V2luZG93KFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIHdpbmRvdykK
IHsKLSAgICBBU1NFUlQod2luZG93LmNsYXNzSW5mbygpID09IEpTRE9NV2luZG93OjppbmZvKCkg
fHwgd2luZG93LmNsYXNzSW5mbygpID09IEpTUmVtb3RlRE9NV2luZG93OjppbmZvKCkpOworICAg
IEFTU0VSVCh3aW5kb3cuY2xhc3NJbmZvKHZtKSA9PSBKU0RPTVdpbmRvdzo6aW5mbygpIHx8IHdp
bmRvdy5jbGFzc0luZm8odm0pID09IEpTUmVtb3RlRE9NV2luZG93OjppbmZvKCkpOwogICAgIHNl
dFRhcmdldCh2bSwgJndpbmRvdyk7CiAgICAgc3RydWN0dXJlKHZtKS0+c2V0R2xvYmFsT2JqZWN0
KHZtLCAmd2luZG93KTsKICAgICBHQ0NvbnRyb2xsZXI6OnNpbmdsZXRvbigpLmdhcmJhZ2VDb2xs
ZWN0U29vbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385364</attachid>
            <date>2019-12-11 01:35:20 -0800</date>
            <delta_ts>2019-12-11 01:35:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205097-20191211013519.patch</filename>
            <type>text/plain</type>
            <size>38979</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZTQ5YTFjMWM1ODU2ZmYxZGIyYjhhMGJmZTU0OGY1M2I3YTVjZWU1Li40NWFiYzBkNDdhYTAyOGQ2
ZDE3MTM4ZjJiMmVkZmY1ZjUyNzM0NTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MCBAQAorMjAxOS0xMi0xMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFB1dCBhbGwgQVBJIHJlbGF0ZWQgSlMgY2VsbHMgaW50byBJc29T
dWJzcGFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA1MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgVGhpcyBw
YXRjaCBwdXRzIEFQSSByZWxhdGVkIEpTIGNlbGxzIGludG8gSXNvU3Vic3BhY2UuCisKKyAgICAg
ICAgKiBBUEkvSlNBUElHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNBUElHbG9iYWxP
YmplY3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTQVBJR2xvYmFsT2JqZWN0
OjpjcmVhdGVTdHJ1Y3R1cmUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKU0FQSUdsb2JhbE9i
amVjdDo6SlNBUElHbG9iYWxPYmplY3QpOiBEZWxldGVkLgorICAgICAgICAqIEFQSS9KU0FQSVZh
bHVlV3JhcHBlci5oOgorICAgICAgICAqIEFQSS9KU0FQSVdyYXBwZXJPYmplY3QuaDoKKyAgICAg
ICAgKEpTQzo6SlNBUElXcmFwcGVyT2JqZWN0OjpzdWJzcGFjZUZvcik6CisgICAgICAgICogQVBJ
L0pTQVBJV3JhcHBlck9iamVjdC5tbToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxK
U0FQSVdyYXBwZXJPYmplY3Q+OjpzdWJzcGFjZUZvckltcGwpOgorICAgICAgICAqIEFQSS9KU0Nh
bGxiYWNrQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NhbGxiYWNrQ29uc3RydWN0
b3I6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcik6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tDb25z
dHJ1Y3Rvci5oOgorICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcDoKKyAgICAgICAg
KEpTQzo6SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJl
KToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6c3Vi
c3BhY2VGb3JJbXBsKToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9i
amVjdD46OnN1YnNwYWNlRm9ySW1wbCk6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tPYmplY3Q8
SlNEZXN0cnVjdGlibGVPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUpOiBEZWxldGVkLgorICAgICAg
ICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0Lmg6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmpl
Y3RGdW5jdGlvbnMuaDoKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxQYXJlbnQ+Ojpp
bml0KToKKyAgICAgICAgKiBBUEkvSlNDbGFzc1JlZi5jcHA6CisgICAgICAgIChPcGFxdWVKU0Ns
YXNzOjpwcm90b3R5cGUpOgorICAgICAgICAqIEFQSS9KU09iamVjdFJlZi5jcHA6CisgICAgICAg
IChKU09iamVjdE1ha2UpOgorICAgICAgICAoSlNPYmplY3RHZXRQcml2YXRlKToKKyAgICAgICAg
KEpTT2JqZWN0U2V0UHJpdmF0ZSk6CisgICAgICAgIChKU09iamVjdEdldFByaXZhdGVQcm9wZXJ0
eSk6CisgICAgICAgIChKU09iamVjdFNldFByaXZhdGVQcm9wZXJ0eSk6CisgICAgICAgIChKU09i
amVjdERlbGV0ZVByaXZhdGVQcm9wZXJ0eSk6CisgICAgICAgICogQVBJL0pTVmFsdWVSZWYuY3Bw
OgorICAgICAgICAoSlNWYWx1ZUlzT2JqZWN0T2ZDbGFzcyk6CisgICAgICAgICogQVBJL0pTV2Vh
a09iamVjdE1hcFJlZlByaXZhdGUuY3BwOgorICAgICAgICAqIEFQSS9nbGliL0pTQVBJV3JhcHBl
ckdsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tPYmplY3Q8SlNBUElX
cmFwcGVyR2xvYmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKToKKyAgICAgICAgKiBBUEkvZ2xp
Yi9KU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNBUElXcmFwcGVy
R2xvYmFsT2JqZWN0OjpzdWJzcGFjZUZvcik6CisgICAgICAgICogQVBJL2dsaWIvSlNBUElXcmFw
cGVyT2JqZWN0R0xpYi5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tPYmplY3Q8SlNBUElX
cmFwcGVyT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKToKKyAgICAgICAgKiBydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5jcHA6CisgICAgICAgIChK
U0M6OkpTU2VnbWVudGVkVmFyaWFibGVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAg
KiBydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNT
ZWdtZW50ZWRWYXJpYWJsZU9iamVjdDo6Y2xhc3NJbmZvIGNvbnN0KToKKyAgICAgICAgKiBydW50
aW1lL1ZNLmNwcDoKKyAgICAgICAgKEpTQzo6Vk06OlZNKToKKyAgICAgICAgKiBydW50aW1lL1ZN
Lmg6CisKIDIwMTktMTItMTAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbSlNDXSBBZGhvY2x5IGNyZWF0ZWQgQ2FsbExpbmtJbmZvIGluIEdldHRlclNldHRl
ckFjY2VzcyBzaG91bGQgYmUgb3duZWQgYnkgR0NBd2FyZUpJVFN0dWJSb3V0aW5lCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggYmExNmI0NDBhZDQ5N2FlNWE2ZjRhY2I4MTJhYzc5NjlkMTc0ZmM3My4uYjQ4NzY4ZGI2
NDhiMzcwZmVjZTc3ZTA5MjliNmI3YmQyYzY0NzI1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE5LTEyLTExICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAg
ICAgICAgW0pTQ10gUHV0IGFsbCBBUEkgcmVsYXRlZCBKUyBjZWxscyBpbnRvIElzb1N1YnNwYWNl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwOTcK
KworICAgICAgICBSZXZpZXdlZCBieSBNYXJrIExhbS4KKworICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2Jq
ZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XcmFwcGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NT2JqZWN0OjpKU0RPTU9iamVjdCk6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNXaW5kb3dQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U1dpbmRvd1Byb3h5OjpzZXRXaW5kb3cpOgorCiAyMDE5LTEyLTEwICBDYXRoaWUgQ2hlbiAgPGNh
dGhpZWNoZW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXhlZCBQYXR0ZXJuLmggY29tcGlsZSBl
cnJvcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSUdsb2JhbE9i
amVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSUdsb2JhbE9iamVjdC5oCmlu
ZGV4IDRiM2JiMTVjZGYwYTVjNDZiNGZlOTVkZWE2YWEwOWUyMDZiNDE5MWUuLjYwZjZmNjZlNmRj
NGUxNTJlZThmNTY5YzU4ZmRlZDM1MDg1YzE0NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvSlNBUElHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTQVBJR2xvYmFsT2JqZWN0LmgKQEAgLTMxLDEzICszMSwxOSBAQCBPQkpDX0NMQVNT
IEpTU2NyaXB0OwogCiBuYW1lc3BhY2UgSlNDIHsKIAotY2xhc3MgSlNBUElHbG9iYWxPYmplY3Qg
OiBwdWJsaWMgSlNHbG9iYWxPYmplY3QgeworY2xhc3MgSlNBUElHbG9iYWxPYmplY3QgZmluYWwg
OiBwdWJsaWMgSlNHbG9iYWxPYmplY3QgewogcHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBKU0ds
b2JhbE9iamVjdDsKIAogICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAgICAgc3RhdGljIGNvbnN0
IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlIHNfZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGU7CiAKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3MgbW9kZT4KKyAgICBz
dGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKKyAgICB7CisgICAgICAgIHJl
dHVybiB2bS5hcGlHbG9iYWxPYmplY3RTcGFjZTxtb2RlPigpOworICAgIH0KKwogICAgIHN0YXRp
YyBKU0FQSUdsb2JhbE9iamVjdCogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
CiAgICAgewogICAgICAgICBhdXRvKiBvYmplY3QgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxKU0FQSUdsb2JhbE9iamVjdD4odm0uaGVhcCkpIEpTQVBJR2xvYmFsT2JqZWN0KHZtLCBzdHJ1
Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVZhbHVl
V3JhcHBlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQSVZhbHVlV3JhcHBlci5o
CmluZGV4IDQxZjUwOWQzNjRhYmM4NDQzYzRlODFlNDYwNzMxYzYxNzlkMDQyZDkuLjFmNzgyMjll
MGM4MGRiNGNkNjM0NjBmZjYyMTMzOTcwMTRkYmZkOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNBUElWYWx1ZVdyYXBwZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQVBJVmFsdWVXcmFwcGVyLmgKQEAgLTMyLDkgKzMyLDE1IEBAIG5hbWVzcGFj
ZSBKU0MgewogY2xhc3MgSlNBUElWYWx1ZVdyYXBwZXIgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsK
ICAgICBmcmllbmQgSlNWYWx1ZSBqc0FQSVZhbHVlV3JhcHBlcihKU0dsb2JhbE9iamVjdCosIEpT
VmFsdWUpOwogcHVibGljOgotICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CisgICAgdXNpbmcgQmFz
ZSA9IEpTQ2VsbDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdz
ID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogCisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzIG1vZGU+CisgICAgc3RhdGlj
IElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgeworICAgICAgICByZXR1cm4g
dm0uYXBpVmFsdWVXcmFwcGVyU3BhY2U8bW9kZT4oKTsKKyAgICB9CisKICAgICBKU1ZhbHVlIHZh
bHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZS5nZXQoKTsgfQogCiAgICAgc3RhdGljIFN0cnVj
dHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNWYWx1ZSBwcm90b3R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQVBJV3JhcHBlck9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0FQ
SVdyYXBwZXJPYmplY3QuaAppbmRleCBkZDg3NGRjNjVlZTdlYWEzYzUyNGZkMGYzMjRjYjNlYTg3
MTdhMWJjLi5mM2I5OGRjYTE3MmFjZDQ3MDc4MjNiODIzYWVkYWFkN2FjOTczZmE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJV3JhcHBlck9iamVjdC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElXcmFwcGVyT2JqZWN0LmgKQEAgLTMzLDkg
KzMzLDEyIEBACiAKIG5hbWVzcGFjZSBKU0MgewogICAgIAotY2xhc3MgSlNBUElXcmFwcGVyT2Jq
ZWN0IDogcHVibGljIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IHsKK2NsYXNzIEpTQVBJV3JhcHBlck9i
amVjdCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpT
RGVzdHJ1Y3RpYmxlT2JqZWN0IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmpl
Y3Q7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGlj
IHZvaWQgc3Vic3BhY2VGb3IoVk0mKSB7IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0K
ICAgICAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiAgICAgc3RhdGljIHZvaWQgdmlz
aXRDaGlsZHJlbihKU0NlbGwqLCBKU0M6OlNsb3RWaXNpdG9yJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQVBJV3JhcHBlck9iamVjdC5tbSBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNBUElXcmFwcGVyT2JqZWN0Lm1tCmluZGV4IDU4Yjc0ZTcyYjkxM2Rj
ODdjMjNkNDJjODJjY2NiYWY4M2YxYzI1ZDMuLjBiMjIwNTc2N2UwYzg5ZDQ0OWY2N2YxZTkwOWQx
YmJhZTY3ZmM5ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElX
cmFwcGVyT2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNBUElXcmFw
cGVyT2JqZWN0Lm1tCkBAIC0xMDUsNiArMTA1LDE5IEBAIHZvaWQgSlNBUElXcmFwcGVyT2JqZWN0
Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgSlNDOjpTbG90VmlzaXRvciYgdmlzaXRvcikK
ICAgICAgICAgc2NhbkV4dGVybmFsT2JqZWN0R3JhcGgodmlzaXRvci52bSgpLCB2aXNpdG9yLCB3
cmFwcGVkT2JqZWN0KTsKIH0KIAordGVtcGxhdGUgPD4KK0lzb1N1YnNwYWNlKiBKU0NhbGxiYWNr
T2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD46OnN1YnNwYWNlRm9ySW1wbChWTSYgdm0sIFN1YnNw
YWNlQWNjZXNzIG1vZGUpCit7CisgICAgc3dpdGNoIChtb2RlKSB7CisgICAgY2FzZSBTdWJzcGFj
ZUFjY2Vzczo6T25NYWluVGhyZWFkOgorICAgICAgICByZXR1cm4gdm0uYXBpV3JhcHBlck9iamVj
dFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ+KCk7CisgICAgY2FzZSBTdWJzcGFj
ZUFjY2Vzczo6Q29uY3VycmVudGx5OgorICAgICAgICByZXR1cm4gdm0uYXBpV3JhcHBlck9iamVj
dFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk+KCk7CisgICAgfQorICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIEpTQwogCiAjZW5kaWYgLy8gSlNDX09CSkNfQVBJX0VOQUJMRUQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcAppbmRl
eCAwNzBkNzVkNThkYTE1NjgwODY5YTBmNThkNmFiNDRmMTIyYzUxMTliLi40OWY0Y2U3NmVkZTFl
YWU4ZWQwMmQ1ZjNmMWJmN2QwOTRmNzE5ZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuY3BwCkBAIC0zOSw3ICszOSw3IEBAIG5h
bWVzcGFjZSBKU0MgewogY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcjo6c19p
bmZvID0geyAiQ2FsbGJhY2tDb25zdHJ1Y3RvciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja0NvbnN0cnVjdG9yKSB9OwogCiBK
U0NhbGxiYWNrQ29uc3RydWN0b3I6OkpTQ2FsbGJhY2tDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNDbGFzc1JlZiBqc0NsYXNz
LCBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yQ2FsbGJhY2sgY2FsbGJhY2spCi0gICAgOiBKU0Rl
c3RydWN0aWJsZU9iamVjdChnbG9iYWxPYmplY3QtPnZtKCksIHN0cnVjdHVyZSkKKyAgICA6IEJh
c2UoZ2xvYmFsT2JqZWN0LT52bSgpLCBzdHJ1Y3R1cmUpCiAgICAgLCBtX2NsYXNzKGpzQ2xhc3Mp
CiAgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgKaW5kZXggMjU5MjhmYmFmZGZjNzg2YTY0
MmU2MTI4NGUxYzRlMzM2OTBiMjY3ZC4uZTU3MjU5NDAyMzZhOWEyZWEwOTQ2MDJiOTcxMTQ4NzI2
YjZhNmZmYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNr
Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tD
b25zdHJ1Y3Rvci5oCkBAIC0yNiwxNSArMjYsMjEgQEAKICNpZm5kZWYgSlNDYWxsYmFja0NvbnN0
cnVjdG9yX2gKICNkZWZpbmUgSlNDYWxsYmFja0NvbnN0cnVjdG9yX2gKIAotI2luY2x1ZGUgIkpT
RGVzdHJ1Y3RpYmxlT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNPYmplY3RSZWYuaCIKIAogbmFtZXNw
YWNlIEpTQyB7CiAKLWNsYXNzIEpTQ2FsbGJhY2tDb25zdHJ1Y3RvciBmaW5hbCA6IHB1YmxpYyBK
U0Rlc3RydWN0aWJsZU9iamVjdCB7CitjbGFzcyBKU0NhbGxiYWNrQ29uc3RydWN0b3IgZmluYWwg
OiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBKU0Rlc3Ry
dWN0aWJsZU9iamVjdCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0Owog
ICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1
Y3R1cmVGbGFncyB8IEltcGxlbWVudHNIYXNJbnN0YW5jZSB8IEltcGxlbWVudHNEZWZhdWx0SGFz
SW5zdGFuY2U7CisgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIG5lZWRzRGVzdHJ1Y3Rpb24gPSB0
cnVlOworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzIG1v
ZGU+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgewor
ICAgICAgICByZXR1cm4gdm0uY2FsbGJhY2tDb25zdHJ1Y3RvclNwYWNlPG1vZGU+KCk7CisgICAg
fQogCiAgICAgc3RhdGljIEpTQ2FsbGJhY2tDb25zdHJ1Y3RvciogY3JlYXRlKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0NsYXNzUmVmIGNsYXNz
UmVmLCBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yQ2FsbGJhY2sgY2FsbGJhY2spIAogICAgIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwCmluZGV4
IGNiNjNmNDk2MzkwOGI3MWI5NWM0NTNkZGJlOGI2YTc0MTEwNjcxNGMuLjBiOWU1MjA2MDQ5MmUw
Y2RkYjE4MzkzMDgxZWRhOWI1ZjI3YmUwNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcApAQCAtMjgsMTYgKzI4LDE3IEBACiAjaW5jbHVkZSAi
SlNDYWxsYmFja09iamVjdC5oIgogCiAjaW5jbHVkZSAiSGVhcC5oIgorI2luY2x1ZGUgIkpTQVBJ
V3JhcHBlck9iamVjdC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiAvLyBEZWZpbmUgdGhlIHR3
byB0eXBlcyBvZiBKU0NhbGxiYWNrT2JqZWN0cyB3ZSBzdXBwb3J0LgotdGVtcGxhdGUgPD4gY29u
c3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjpzX2lu
Zm8gPSB7ICJDYWxsYmFja09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIs
IENSRUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKK3RlbXBsYXRlIDw+IGNv
bnN0IENsYXNzSW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpzX2luZm8g
PSB7ICJDYWxsYmFja09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENS
RUFURV9NRVRIT0RfVEFCTEUoSlNDYWxsYmFja09iamVjdCkgfTsKIHRlbXBsYXRlIDw+IGNvbnN0
IENsYXNzSW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6c19pbmZvID0geyAi
Q2FsbGJhY2tHbG9iYWxPYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBD
UkVBVEVfTUVUSE9EX1RBQkxFKEpTQ2FsbGJhY2tPYmplY3QpIH07CiAKLXRlbXBsYXRlPD4gY29u
c3QgYm9vbCBKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6bmVlZHNEZXN0
cnVjdGlvbiA9IHRydWU7Cit0ZW1wbGF0ZTw+IGNvbnN0IGJvb2wgSlNDYWxsYmFja09iamVjdDxK
U05vbkZpbmFsT2JqZWN0Pjo6bmVlZHNEZXN0cnVjdGlvbiA9IHRydWU7CiB0ZW1wbGF0ZTw+IGNv
bnN0IGJvb2wgSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46Om5lZWRzRGVzdHJ1Y3Rp
b24gPSBmYWxzZTsKIAogdGVtcGxhdGU8PgpAQCAtNDksNyArNTAsNyBAQCBKU0NhbGxiYWNrT2Jq
ZWN0PEpTR2xvYmFsT2JqZWN0PiogSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD46OmNy
ZWF0ZShWTSYgdgogfQogCiB0ZW1wbGF0ZSA8PgotU3RydWN0dXJlKiBKU0NhbGxiYWNrT2JqZWN0
PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90bykKK1N0cnVjdHVyZSogSlNDYWxsYmFj
a09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90bykKIHsgCiAgICAgcmV0dXJuIFN0
cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhPYmplY3RU
eXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7IAogfQpAQCAtNjAsNCArNjEsMzAgQEAgU3Ry
dWN0dXJlKiBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJl
KFZNJiB2bSwgSlNHbG9iYWxPYmoKICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdCwgcHJvdG8sIFR5cGVJbmZvKEdsb2JhbE9iamVjdFR5cGUsIFN0cnVjdHVyZUZs
YWdzKSwgaW5mbygpKTsgCiB9CiAKK3RlbXBsYXRlIDw+CitJc29TdWJzcGFjZSogSlNDYWxsYmFj
a09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKFZNJiB2bSwgU3Vic3Bh
Y2VBY2Nlc3MgbW9kZSkKK3sKKyAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICBjYXNlIFN1YnNwYWNl
QWNjZXNzOjpPbk1haW5UaHJlYWQ6CisgICAgICAgIHJldHVybiB2bS5jYWxsYmFja09iamVjdFNw
YWNlPFN1YnNwYWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ+KCk7CisgICAgY2FzZSBTdWJzcGFjZUFj
Y2Vzczo6Q29uY3VycmVudGx5OgorICAgICAgICByZXR1cm4gdm0uY2FsbGJhY2tPYmplY3RTcGFj
ZTxTdWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5PigpOworICAgIH0KKyAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOworfQorCit0ZW1wbGF0ZSA8
PgorSXNvU3Vic3BhY2UqIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+OjpzdWJzcGFj
ZUZvckltcGwoVk0mIHZtLCBTdWJzcGFjZUFjY2VzcyBtb2RlKQoreworICAgIHN3aXRjaCAobW9k
ZSkgeworICAgIGNhc2UgU3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRocmVhZDoKKyAgICAgICAgcmV0
dXJuIHZtLmNhbGxiYWNrR2xvYmFsT2JqZWN0U3BhY2U8U3Vic3BhY2VBY2Nlc3M6Ok9uTWFpblRo
cmVhZD4oKTsKKyAgICBjYXNlIFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk6CisgICAgICAg
IHJldHVybiB2bS5jYWxsYmFja0dsb2JhbE9iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpDb25j
dXJyZW50bHk+KCk7CisgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAppbmRleCA0ZjVmNGI2ZjUzNTFmMzg0
NjQ0N2YyYzAwZTY3OWMzNWU4YTA0YWI4Li4wMzRiMzU3YzA3MzhlMzQ5MTI1ODg1OGQ3MDY5ODlm
ZWZjYjQ4MzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJh
Y2tPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmpl
Y3QuaApAQCAtMTMxLDcgKzEzMSw3IEBAIGNsYXNzIEpTQ2FsbGJhY2tPYmplY3QgZmluYWwgOiBw
dWJsaWMgUGFyZW50IHsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CiAKIHB1YmxpYzoK
LSAgICB0eXBlZGVmIFBhcmVudCBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBQYXJlbnQ7CiAgICAg
c3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVy
ZUZsYWdzIHwgUHJvaGliaXRzUHJvcGVydHlDYWNoaW5nIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVy
dHlTbG90IHwgSW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0
aElzTm90WmVybyB8IEltcGxlbWVudHNIYXNJbnN0YW5jZSB8IE92ZXJyaWRlc0dldFByb3BlcnR5
TmFtZXMgfCBPdmVycmlkZXNHZXRDYWxsRGF0YTsKICAgICBzdGF0aWNfYXNzZXJ0KCEoU3RydWN0
dXJlRmxhZ3MgJiBJbXBsZW1lbnRzRGVmYXVsdEhhc0luc3RhbmNlKSwgInVzaW5nIGN1c3RvbUhh
c0luc3RhbmNlIik7CiAKQEAgLTE1Myw2ICsxNTMsMTIgQEAgY2xhc3MgSlNDYWxsYmFja09iamVj
dCBmaW5hbCA6IHB1YmxpYyBQYXJlbnQgewogICAgICAgICBzdGF0aWNfY2FzdDxKU0NhbGxiYWNr
T2JqZWN0Kj4oY2VsbCktPkpTQ2FsbGJhY2tPYmplY3Q6On5KU0NhbGxiYWNrT2JqZWN0KCk7CiAg
ICAgfQogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzIG1v
ZGU+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCisgICAgewor
ICAgICAgICByZXR1cm4gc3Vic3BhY2VGb3JJbXBsKHZtLCBtb2RlKTsKKyAgICB9CisKICAgICB2
b2lkIHNldFByaXZhdGUodm9pZCogZGF0YSk7CiAgICAgdm9pZCogZ2V0UHJpdmF0ZSgpOwogCkBA
IC0xODQsNiArMTkwLDcgQEAgY2xhc3MgSlNDYWxsYmFja09iamVjdCBmaW5hbCA6IHB1YmxpYyBQ
YXJlbnQgewogICAgIHVzaW5nIFBhcmVudDo6bWV0aG9kVGFibGU7CiAKIHByaXZhdGU6CisgICAg
c3RhdGljIElzb1N1YnNwYWNlKiBzdWJzcGFjZUZvckltcGwoVk0mLCBTdWJzcGFjZUFjY2Vzcyk7
CiAgICAgc3RhdGljIFN0cmluZyBjbGFzc05hbWUoY29uc3QgSlNPYmplY3QqLCBWTSYpOwogICAg
IHN0YXRpYyBTdHJpbmcgdG9TdHJpbmdOYW1lKGNvbnN0IEpTT2JqZWN0KiwgSlNHbG9iYWxPYmpl
Y3QqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNr
T2JqZWN0RnVuY3Rpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tP
YmplY3RGdW5jdGlvbnMuaAppbmRleCBhMDI5OTUyNWQ1OGY5NDllMWFmOWEwZDQxM2NlZjI5Nzk1
YTg0YWUyLi44ZTc5NjJjODA5NGNlNWRjOWQ5YTFhNTRmNjkyN2Q0ZjIzODcxODcxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlv
bnMuaApAQCAtMTI1LDcgKzEyNSw3IEBAIHZvaWQgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+Ojpp
bml0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgICAgIGluaXRpYWxpemUodG9S
ZWYoZ2xvYmFsT2JqZWN0KSwgdG9SZWYoanNDYXN0PEpTT2JqZWN0Kj4odGhpcykpKTsKICAgICB9
CiAgICAgCi0gICAgbV9jbGFzc0luZm8gPSB0aGlzLT5jbGFzc0luZm8oKTsKKyAgICBtX2NsYXNz
SW5mbyA9IHRoaXMtPmNsYXNzSW5mbyhnZXRWTShnbG9iYWxPYmplY3QpKTsKIH0KIAogdGVtcGxh
dGUgPGNsYXNzIFBhcmVudD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDbGFzc1JlZi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2xhc3NSZWYuY3Bw
CmluZGV4IDRjMTI2ZTQ0OGY2NzFhMTMyOTM2YzhiOGU1OTEzNDczNDc4NmVmY2UuLjkyZGY2Mzhl
MTVlZTc3MmY5YmRjMTI2YzEwZjQ3ODAxY2JmNmNkYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NsYXNzUmVmLmNwcApAQCAtMTkwLDcgKzE5MCw3IEBAIEpTT2JqZWN0KiBPcGFxdWVK
U0NsYXNzOjpwcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAgICAg
cmV0dXJuIHByb3RvdHlwZTsKIAogICAgIC8vIFJlY3Vyc2l2ZSwgYnV0IHNob3VsZCBiZSBnb29k
IGVub3VnaCBmb3Igb3VyIHB1cnBvc2VzCi0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IEpTQ2Fs
bGJhY2tPYmplY3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBn
bG9iYWxPYmplY3QtPmNhbGxiYWNrT2JqZWN0U3RydWN0dXJlKCksIHByb3RvdHlwZUNsYXNzLCAm
anNDbGFzc0RhdGEpOyAvLyBzZXQganNDbGFzc0RhdGEgYXMgdGhlIG9iamVjdCdzIHByaXZhdGUg
ZGF0YSwgc28gaXQgY2FuIGNsZWFyIG91ciByZWZlcmVuY2Ugb24gZGVzdHJ1Y3Rpb24KKyAgICBK
U09iamVjdCogcHJvdG90eXBlID0gSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6
Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja09iamVjdFN0cnVjdHVy
ZSgpLCBwcm90b3R5cGVDbGFzcywgJmpzQ2xhc3NEYXRhKTsgLy8gc2V0IGpzQ2xhc3NEYXRhIGFz
IHRoZSBvYmplY3QncyBwcml2YXRlIGRhdGEsIHNvIGl0IGNhbiBjbGVhciBvdXIgcmVmZXJlbmNl
IG9uIGRlc3RydWN0aW9uCiAgICAgaWYgKHBhcmVudENsYXNzKSB7CiAgICAgICAgIGlmIChKU09i
amVjdCogcGFyZW50UHJvdG90eXBlID0gcGFyZW50Q2xhc3MtPnByb3RvdHlwZShnbG9iYWxPYmpl
Y3QpKQogICAgICAgICAgICAgcHJvdG90eXBlLT5zZXRQcm90b3R5cGVEaXJlY3QoZ2xvYmFsT2Jq
ZWN0LT52bSgpLCBwYXJlbnRQcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
T2JqZWN0UmVmLmNwcAppbmRleCBiNGJmZWZlMDU4NzU3NWQ5MWY2YmUxYjQxYTExNzNkNWMzNmI0
ZWRjLi5mN2Y5ZGFiM2YyOGFkYzBlYWJiMmJkZThiMjUwNjc3MmFkMjVmZmNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcApAQCAtOTYsNyArOTYsNyBAQCBKU09i
amVjdFJlZiBKU09iamVjdE1ha2UoSlNDb250ZXh0UmVmIGN0eCwgSlNDbGFzc1JlZiBqc0NsYXNz
LCB2b2lkKiBkYXRhKQogICAgIGlmICghanNDbGFzcykKICAgICAgICAgcmV0dXJuIHRvUmVmKGNv
bnN0cnVjdEVtcHR5T2JqZWN0KGdsb2JhbE9iamVjdCkpOwogCi0gICAgSlNDYWxsYmFja09iamVj
dDxKU0Rlc3RydWN0aWJsZU9iamVjdD4qIG9iamVjdCA9IEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0
cnVjdGlibGVPYmplY3Q+OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPmNhbGxi
YWNrT2JqZWN0U3RydWN0dXJlKCksIGpzQ2xhc3MsIGRhdGEpOworICAgIEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNOb25GaW5hbE9iamVjdD4qIG9iamVjdCA9IEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5h
bE9iamVjdD46OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+Y2FsbGJhY2tPYmpl
Y3RTdHJ1Y3R1cmUoKSwganNDbGFzcywgZGF0YSk7CiAgICAgaWYgKEpTT2JqZWN0KiBwcm90b3R5
cGUgPSBqc0NsYXNzLT5wcm90b3R5cGUoZ2xvYmFsT2JqZWN0KSkKICAgICAgICAgb2JqZWN0LT5z
ZXRQcm90b3R5cGVEaXJlY3Qodm0sIHByb3RvdHlwZSk7CiAKQEAgLTU2Nyw4ICs1NjcsOCBAQCB2
b2lkKiBKU09iamVjdEdldFByaXZhdGUoSlNPYmplY3RSZWYgb2JqZWN0KQogCiAgICAgaWYgKGNs
YXNzSW5mby0+aXNTdWJDbGFzc09mKEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Ojpp
bmZvKCkpKQogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0ds
b2JhbE9iamVjdD4qPihqc09iamVjdCktPmdldFByaXZhdGUoKTsKLSAgICBpZiAoY2xhc3NJbmZv
LT5pc1N1YkNsYXNzT2YoSlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD46Omlu
Zm8oKSkpCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTRGVz
dHJ1Y3RpYmxlT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZSgpOworICAgIGlmIChjbGFz
c0luZm8tPmlzU3ViQ2xhc3NPZihKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Ojpp
bmZvKCkpKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU05v
bkZpbmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJpdmF0ZSgpOwogI2lmIEpTQ19PQkpDX0FQ
SV9FTkFCTEVECiAgICAgaWYgKGNsYXNzSW5mby0+aXNTdWJDbGFzc09mKEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNBUElXcmFwcGVyT2JqZWN0Pjo6aW5mbygpKSkKICAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0
UHJpdmF0ZSgpOwpAQCAtNTk0LDggKzU5NCw4IEBAIGJvb2wgSlNPYmplY3RTZXRQcml2YXRlKEpT
T2JqZWN0UmVmIG9iamVjdCwgdm9pZCogZGF0YSkKICAgICAgICAgc3RhdGljX2Nhc3Q8SlNDYWxs
YmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4qPihqc09iamVjdCktPnNldFByaXZhdGUoZGF0YSk7
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICBpZiAoY2xhc3NJbmZvLT5pc1N1YkNs
YXNzT2YoSlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD46OmluZm8oKSkpIHsK
LSAgICAgICAgc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVj
dD4qPihqc09iamVjdCktPnNldFByaXZhdGUoZGF0YSk7CisgICAgaWYgKGNsYXNzSW5mby0+aXNT
dWJDbGFzc09mKEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD46OmluZm8oKSkpIHsK
KyAgICAgICAgc3RhdGljX2Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pio+
KGpzT2JqZWN0KS0+c2V0UHJpdmF0ZShkYXRhKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECkBAIC02MjQsOCArNjI0LDggQEAgSlNWYWx1ZVJl
ZiBKU09iamVjdEdldFByaXZhdGVQcm9wZXJ0eShKU0NvbnRleHRSZWYgY3R4LCBKU09iamVjdFJl
ZiBvYmplY3QsIEpTU3QKIAogICAgIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09i
amVjdDxKU0dsb2JhbE9iamVjdD4+KHZtKSkKICAgICAgICAgcmVzdWx0ID0ganNDYXN0PEpTQ2Fs
bGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQcml2YXRlUHJvcGVy
dHkobmFtZSk7Ci0gICAgZWxzZSBpZiAoanNPYmplY3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmpl
Y3Q8SlNEZXN0cnVjdGlibGVPYmplY3Q+Pih2bSkpCi0gICAgICAgIHJlc3VsdCA9IGpzQ2FzdDxK
U0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3RpYmxlT2JqZWN0Pio+KGpzT2JqZWN0KS0+Z2V0UHJp
dmF0ZVByb3BlcnR5KG5hbWUpOworICAgIGVsc2UgaWYgKGpzT2JqZWN0LT5pbmhlcml0czxKU0Nh
bGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Pih2bSkpCisgICAgICAgIHJlc3VsdCA9IGpz
Q2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5nZXRQ
cml2YXRlUHJvcGVydHkobmFtZSk7CiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKICAgICBlbHNl
IGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmpl
Y3Q+Pih2bSkpCiAgICAgICAgIHJlc3VsdCA9IGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJ
V3JhcHBlck9iamVjdD4qPihqc09iamVjdCktPmdldFByaXZhdGVQcm9wZXJ0eShuYW1lKTsKQEAg
LTY1MCw4ICs2NTAsOCBAQCBib29sIEpTT2JqZWN0U2V0UHJpdmF0ZVByb3BlcnR5KEpTQ29udGV4
dFJlZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgSlNTdHJpbmdSZQogICAgICAgICBqc0Nhc3Q8
SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4qPihqc09iamVjdCktPnNldFByaXZhdGVQ
cm9wZXJ0eSh2bSwgbmFtZSwganNWYWx1ZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0K
LSAgICBpZiAoanNPYmplY3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0cnVjdGli
bGVPYmplY3Q+Pih2bSkpIHsKLSAgICAgICAganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNEZXN0
cnVjdGlibGVPYmplY3Q+Kj4oanNPYmplY3QpLT5zZXRQcml2YXRlUHJvcGVydHkodm0sIG5hbWUs
IGpzVmFsdWUpOworICAgIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxK
U05vbkZpbmFsT2JqZWN0Pj4odm0pKSB7CisgICAgICAgIGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0
PEpTTm9uRmluYWxPYmplY3Q+Kj4oanNPYmplY3QpLT5zZXRQcml2YXRlUHJvcGVydHkodm0sIG5h
bWUsIGpzVmFsdWUpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAjaWYgSlNDX09CSkNf
QVBJX0VOQUJMRUQKQEAgLTY3OSw4ICs2NzksOCBAQCBib29sIEpTT2JqZWN0RGVsZXRlUHJpdmF0
ZVByb3BlcnR5KEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgSlNTdHJpbgog
ICAgICAgICBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4qPihqc09iamVj
dCktPmRlbGV0ZVByaXZhdGVQcm9wZXJ0eShuYW1lKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQotICAgIGlmIChqc09iamVjdC0+aW5oZXJpdHM8SlNDYWxsYmFja09iamVjdDxKU0Rlc3Ry
dWN0aWJsZU9iamVjdD4+KHZtKSkgewotICAgICAgICBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxK
U0Rlc3RydWN0aWJsZU9iamVjdD4qPihqc09iamVjdCktPmRlbGV0ZVByaXZhdGVQcm9wZXJ0eShu
YW1lKTsKKyAgICBpZiAoanNPYmplY3QtPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25G
aW5hbE9iamVjdD4+KHZtKSkgeworICAgICAgICBqc0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU05v
bkZpbmFsT2JqZWN0Pio+KGpzT2JqZWN0KS0+ZGVsZXRlUHJpdmF0ZVByb3BlcnR5KG5hbWUpOwog
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuY3BwCmluZGV4IGY1YjY1MGUzZDQwN2Ey
NmE2NTUwYzY0ZmJkZTY0MzE0MWQyYTMwYTUuLmZiMTZjNGQ1NjNkYmQ3NTY2ZjlmMGIwYzJkOWIy
YTc1YjdkMjc2ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1
ZVJlZi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmNwcApA
QCAtMjEwLDggKzIxMCw4IEBAIGJvb2wgSlNWYWx1ZUlzT2JqZWN0T2ZDbGFzcyhKU0NvbnRleHRS
ZWYgY3R4LCBKU1ZhbHVlUmVmIHZhbHVlLCBKU0NsYXNzUmVmIGpzQ2xhCiAKICAgICAgICAgaWYg
KG8tPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Pih2bSkpCiAgICAg
ICAgICAgICByZXR1cm4ganNDYXN0PEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Kj4o
byktPmluaGVyaXRzKGpzQ2xhc3MpOwotICAgICAgICBpZiAoby0+aW5oZXJpdHM8SlNDYWxsYmFj
a09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD4+KHZtKSkKLSAgICAgICAgICAgIHJldHVybiBq
c0Nhc3Q8SlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9iamVjdD4qPihvKS0+aW5oZXJp
dHMoanNDbGFzcyk7CisgICAgICAgIGlmIChvLT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpT
Tm9uRmluYWxPYmplY3Q+Pih2bSkpCisgICAgICAgICAgICByZXR1cm4ganNDYXN0PEpTQ2FsbGJh
Y2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD4qPihvKS0+aW5oZXJpdHMoanNDbGFzcyk7CiAjaWYg
SlNDX09CSkNfQVBJX0VOQUJMRUQKICAgICAgICAgaWYgKG8tPmluaGVyaXRzPEpTQ2FsbGJhY2tP
YmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pj4odm0pKQogICAgICAgICAgICAgcmV0dXJuIGpzQ2Fz
dDxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4qPihvKS0+aW5oZXJpdHMoanND
bGFzcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTV2Vha09iamVj
dE1hcFJlZlByaXZhdGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtPYmpl
Y3RNYXBSZWZQcml2YXRlLmNwcAppbmRleCBkMmM1MzdhOGEwMTQxYjIyZGQzNGJmODk4NGEzOWM2
MzBlOWViZjQ2Li4yM2UyNTFmNjg0NDJjMGUxZTgyMzVkY2IyMzliZjcxNDU0YzQ3ZTlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTV2Vha09iamVjdE1hcFJlZlByaXZh
dGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXZWFrT2JqZWN0TWFwUmVm
UHJpdmF0ZS5jcHAKQEAgLTY0LDcgKzY0LDcgQEAgdm9pZCBKU1dlYWtPYmplY3RNYXBTZXQoSlND
b250ZXh0UmVmIGN0eCwgSlNXZWFrT2JqZWN0TWFwUmVmIG1hcCwgdm9pZCoga2V5LCBKU08KICAg
ICAgICAgcmV0dXJuOwogICAgIEFTU0VSVChvYmotPmluaGVyaXRzPEpTUHJveHk+KHZtKQogICAg
ICAgICB8fCBvYmotPmluaGVyaXRzPEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Pih2
bSkKLSAgICAgICAgfHwgb2JqLT5pbmhlcml0czxKU0NhbGxiYWNrT2JqZWN0PEpTRGVzdHJ1Y3Rp
YmxlT2JqZWN0Pj4odm0pKTsKKyAgICAgICAgfHwgb2JqLT5pbmhlcml0czxKU0NhbGxiYWNrT2Jq
ZWN0PEpTTm9uRmluYWxPYmplY3Q+Pih2bSkpOwogICAgIG1hcC0+bWFwKCkuc2V0KGtleSwgb2Jq
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQVBJ
V3JhcHBlckdsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIv
SlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmNwcAppbmRleCA2YWUxOTQ1YjJmZWM0MGRmY2M4Y2I3
NDdjMjdjZjY4MDUxMDlhMWIyLi5iMjg2NTQ1ZGZlZGM4OTBiN2MxZDFiZTI3ZDg4MzE5MzIzZmI2
Zjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNBUElXcmFw
cGVyR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIv
SlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgsNiArNTgsMTkgQEAgdGVtcGxhdGUg
PD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyR2xvYmFsT2Jq
ZWN0Pjo6c19pbmZvID0KIAogdGVtcGxhdGU8PiBjb25zdCBib29sIEpTQ2FsbGJhY2tPYmplY3Q8
SlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0Pjo6bmVlZHNEZXN0cnVjdGlvbiA9IGZhbHNlOwogCit0
ZW1wbGF0ZSA8PgorSXNvU3Vic3BhY2UqIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyR2xv
YmFsT2JqZWN0Pjo6c3Vic3BhY2VGb3JJbXBsKFZNJiB2bSwgU3Vic3BhY2VBY2Nlc3MgbW9kZSkK
K3sKKyAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICBjYXNlIFN1YnNwYWNlQWNjZXNzOjpPbk1haW5U
aHJlYWQ6CisgICAgICAgIHJldHVybiB2bS5jYWxsYmFja0FQSVdyYXBwZXJHbG9iYWxPYmplY3RT
cGFjZTxTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkPigpOworICAgIGNhc2UgU3Vic3BhY2VB
Y2Nlc3M6OkNvbmN1cnJlbnRseToKKyAgICAgICAgcmV0dXJuIHZtLmNhbGxiYWNrQVBJV3JhcHBl
ckdsb2JhbE9iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk+KCk7CisgICAg
fQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG51bGxwdHI7
Cit9CisKIHRlbXBsYXRlIDw+CiBTdHJ1Y3R1cmUqIEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFw
cGVyR2xvYmFsT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
LCBKU1ZhbHVlIHByb3RvKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9nbGliL0pTQVBJV3JhcHBlckdsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9nbGliL0pTQVBJV3JhcHBlckdsb2JhbE9iamVjdC5oCmluZGV4IGQ1NGE5ZWNkMGVmYWFm
MGE3OWVhNDJlM2ZiOTdkNjA2MDYyNTI4NGQuLjZhMzQ4OTk0N2IyYTMwODU3NjRmYWZlMWI4MDVm
MTU4MDU5MDFjMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9K
U0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L2dsaWIvSlNBUElXcmFwcGVyR2xvYmFsT2JqZWN0LmgKQEAgLTMzLDcgKzMzLDEwIEBAIG5hbWVz
cGFjZSBKU0MgewogCiBjbGFzcyBKU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QgOiBwdWJsaWMgSlNH
bG9iYWxPYmplY3QgewogcHVibGljOgotICAgIHR5cGVkZWYgSlNHbG9iYWxPYmplY3QgQmFzZTsK
KyAgICB1c2luZyBCYXNlID0gSlNHbG9iYWxPYmplY3Q7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIHZvaWQgc3Vic3BhY2VGb3IoVk0mKSB7IFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mKTsKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIEpTQzo6U2xvdFZp
c2l0b3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0FQ
SVdyYXBwZXJPYmplY3RHTGliLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9K
U0FQSVdyYXBwZXJPYmplY3RHTGliLmNwcAppbmRleCA4NjdmZDQyOGUyNzdmNDU4ZTdmYjhhOTgx
M2MzMjE4MzdmNzRhYzFjLi5lYTM0MTIzNjczYTEzM2MwMTkzOWFmNjU2Nzk4NzJhN2U3OTFkYTk4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNBUElXcmFwcGVy
T2JqZWN0R0xpYi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQVBJ
V3JhcHBlck9iamVjdEdMaWIuY3BwCkBAIC03MSw2ICs3MSwxOSBAQCB0ZW1wbGF0ZSA8PiBjb25z
dCBDbGFzc0luZm8gSlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+OjpzX2luZm8g
PSB7ICJKUwogCiB0ZW1wbGF0ZTw+IGNvbnN0IGJvb2wgSlNDYWxsYmFja09iamVjdDxKU0FQSVdy
YXBwZXJPYmplY3Q+OjpuZWVkc0Rlc3RydWN0aW9uID0gdHJ1ZTsKIAordGVtcGxhdGUgPD4KK0lz
b1N1YnNwYWNlKiBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD46OnN1YnNwYWNl
Rm9ySW1wbChWTSYgdm0sIFN1YnNwYWNlQWNjZXNzIG1vZGUpCit7CisgICAgc3dpdGNoIChtb2Rl
KSB7CisgICAgY2FzZSBTdWJzcGFjZUFjY2Vzczo6T25NYWluVGhyZWFkOgorICAgICAgICByZXR1
cm4gdm0uYXBpV3JhcHBlck9iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ+
KCk7CisgICAgY2FzZSBTdWJzcGFjZUFjY2Vzczo6Q29uY3VycmVudGx5OgorICAgICAgICByZXR1
cm4gdm0uYXBpV3JhcHBlck9iamVjdFNwYWNlPFN1YnNwYWNlQWNjZXNzOjpDb25jdXJyZW50bHk+
KCk7CisgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKIHRlbXBsYXRlIDw+CiBTdHJ1Y3R1cmUqIEpTQ2FsbGJhY2tPYmplY3Q8
SlNBUElXcmFwcGVyT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90bykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCA0NDFiMzA0YTRkZDM2Yzc0
ZDIyMzQzNzdjZDYzNjAzMWFlNzExMjNiLi5mNTljN2FjMDEzZThkOTJhZmQ2ZGEzMmE2OGFjYzdl
MzY2YWE0N2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuY3BwCkBAIC02NzAsNyArNjcwLDcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5p
dChWTSYgdm0pCiAgICAgICAgIH0pOwogICAgIG1fY2FsbGJhY2tPYmplY3RTdHJ1Y3R1cmUuaW5p
dExhdGVyKAogICAgICAgICBbXSAoY29uc3QgSW5pdGlhbGl6ZXI8U3RydWN0dXJlPiYgaW5pdCkg
ewotICAgICAgICAgICAgaW5pdC5zZXQoSlNDYWxsYmFja09iamVjdDxKU0Rlc3RydWN0aWJsZU9i
amVjdD46OmNyZWF0ZVN0cnVjdHVyZShpbml0LnZtLCBpbml0Lm93bmVyLCBpbml0Lm93bmVyLT5t
X29iamVjdFByb3RvdHlwZS5nZXQoKSkpOworICAgICAgICAgICAgaW5pdC5zZXQoSlNDYWxsYmFj
a09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKGluaXQudm0sIGluaXQu
b3duZXIsIGluaXQub3duZXItPm1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSk7CiAgICAgICAgIH0p
OwogCiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5jcHAKaW5kZXgg
Yzc1MDcwNWUxMmIzMTUzYmQxZmIwN2Y4ZjZlMmMzOTY5YjZlOTZkNi4uZmFhN2VkMGU2NWRkNzRm
ZjA5NDFjMTgxNmM2YWJjNTM1OTc3Y2NiYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5jcHAKQEAgLTEx
OSw3ICsxMTksNyBAQCB2b2lkIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3Q6OmZpbmlzaENyZWF0
aW9uKFZNJiB2bSkKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgc2V0U3ltYm9s
VGFibGUodm0sIFN5bWJvbFRhYmxlOjpjcmVhdGUodm0pKTsKICAgICB2bS5oZWFwLmFkZEZpbmFs
aXplcih0aGlzLCBbXSAoSlNDZWxsKiBjZWxsKSB7Ci0gICAgICAgIHN0YXRpY19jYXN0PEpTU2Vn
bWVudGVkVmFyaWFibGVPYmplY3QqPihjZWxsKS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxlLmRl
c3Ryb3koY2VsbCk7CisgICAgICAgIHN0YXRpY19jYXN0PEpTU2VnbWVudGVkVmFyaWFibGVPYmpl
Y3QqPihjZWxsKS0+bV9jbGFzc0luZm8tPm1ldGhvZFRhYmxlLmRlc3Ryb3koY2VsbCk7CiAgICAg
fSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2Vn
bWVudGVkVmFyaWFibGVPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
U2VnbWVudGVkVmFyaWFibGVPYmplY3QuaAppbmRleCAwYTEyODQ4MjI3ZmZiMTlmNzEwZTkxMmQ1
NTJiOWY5MDQ1NTUzNjQxLi41MzVmYzM0Mjc3ZTZjMTFmZjE2N2U3NjEyZTI5MjQzZWMyNzRhNjg0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NlZ21lbnRlZFZh
cmlhYmxlT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZWdt
ZW50ZWRWYXJpYWJsZU9iamVjdC5oCkBAIC05Niw3ICs5Niw3IEBAIGNsYXNzIEpTU2VnbWVudGVk
VmFyaWFibGVPYmplY3QgOiBwdWJsaWMgSlNTeW1ib2xUYWJsZU9iamVjdCB7CiAgICAgCiAgICAg
c3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKICAgICAKLSAgICBjb25zdCBDbGFzc0luZm8q
IGNsYXNzSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NJbmZvOyB9CisgICAgY29uc3QgQ2xh
c3NJbmZvKiBjbGFzc0luZm8oVk0mKSBjb25zdCB7IHJldHVybiBtX2NsYXNzSW5mbzsgfQogICAg
IAogcHJvdGVjdGVkOgogICAgIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QoVk0mLCBTdHJ1Y3R1
cmUqLCBKU1Njb3BlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9WTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKaW5kZXggYTQ4
MTg4MjNiZGY3ZTZhZGE4OWNkZmY2OTkxNDg3ZTMzMzViODhiNS4uYzI1NjY2YmY3NWRlMGU2YThi
MDkzN2VhN2ZlMzFmZDE3OTg0NmY0MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNw
cApAQCAtNzgsNyArNzgsOSBAQAogI2luY2x1ZGUgIklzb0hlYXBDZWxsVHlwZS5oIgogI2luY2x1
ZGUgIkpJVENvZGUuaCIKICNpbmNsdWRlICJKSVRXb3JrbGlzdC5oIgorI2luY2x1ZGUgIkpTQVBJ
R2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNBUElWYWx1ZVdyYXBwZXIuaCIKKyNpbmNsdWRl
ICJKU0FQSVdyYXBwZXJPYmplY3QuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVkZSAi
SlNBcnJheUJ1ZmZlci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgpA
QCAtODYsNyArODgsOSBAQAogI2luY2x1ZGUgIkpTQmlnSW50LmgiCiAjaW5jbHVkZSAiSlNCb3Vu
ZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTQ2FsbGJh
Y2tDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2luY2x1
ZGUgIkpTQ2FsbGJhY2tPYmplY3QuaCIKICNpbmNsdWRlICJKU0NhbGxlZS5oIgogI2luY2x1ZGUg
IkpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0Rlc3RydWN0aWJs
ZU9iamVjdEhlYXBDZWxsVHlwZS5oIgpAQCAtMTMyLDcgKzEzNiw2IEBACiAjaW5jbHVkZSAiTmF0
aXZlRXhlY3V0YWJsZS5oIgogI2luY2x1ZGUgIk5vZGVzLmgiCiAjaW5jbHVkZSAiTnVtYmVyT2Jq
ZWN0LmgiCi0jaW5jbHVkZSAiT2JqQ0NhbGxiYWNrRnVuY3Rpb24uaCIKICNpbmNsdWRlICJQYXJz
ZXIuaCIKICNpbmNsdWRlICJQcmVkaWN0aW9uRmlsZUNyZWF0aW5nRnV6emVyQWdlbnQuaCIKICNp
bmNsdWRlICJQcm9maWxlckRhdGFiYXNlLmgiCkBAIC0xOTMsNyArMTk2LDEyIEBACiAjaW5jbHVk
ZSAiUmVnRXhwLmgiCiAjZW5kaWYKIAorI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECisjaW5jbHVk
ZSAiT2JqQ0NhbGxiYWNrRnVuY3Rpb24uaCIKKyNlbmRpZgorCiAjaWZkZWYgSlNDX0dMSUJfQVBJ
X0VOQUJMRUQKKyNpbmNsdWRlICJKU0FQSVdyYXBwZXJHbG9iYWxPYmplY3QuaCIKICNpbmNsdWRl
ICJKU0NDYWxsYmFja0Z1bmN0aW9uLmgiCiAjZW5kaWYKIApAQCAtMjkzLDYgKzMwMSw4IEBAIFZN
OjpWTShWTVR5cGUgdm1UeXBlLCBIZWFwVHlwZSBoZWFwVHlwZSkKICAgICAsIGltbXV0YWJsZUJ1
dHRlcmZseUhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPEhlYXBDZWxsVHlwZT4oQ2VsbEF0dHJpYnV0
ZXMoRG9lc05vdE5lZWREZXN0cnVjdGlvbiwgSGVhcENlbGw6OkpTQ2VsbFdpdGhJbnRlcmlvclBv
aW50ZXJzKSkpCiAgICAgLCBjZWxsSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SGVhcENlbGxUeXBl
PihDZWxsQXR0cmlidXRlcyhEb2VzTm90TmVlZERlc3RydWN0aW9uLCBIZWFwQ2VsbDo6SlNDZWxs
KSkpCiAgICAgLCBkZXN0cnVjdGlibGVDZWxsSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SGVhcENl
bGxUeXBlPihDZWxsQXR0cmlidXRlcyhOZWVkc0Rlc3RydWN0aW9uLCBIZWFwQ2VsbDo6SlNDZWxs
KSkpCisgICAgLCBjYWxsYmFja0NvbnN0cnVjdG9ySGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNv
SGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcj4+KCkpCisgICAgLCBjYWxsYmFja09i
amVjdEhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxKU0NhbGxiYWNrT2Jq
ZWN0PEpTTm9uRmluYWxPYmplY3Q+Pj4oKSkKICAgICAsIGRhdGVJbnN0YW5jZUhlYXBDZWxsVHlw
ZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxEYXRlSW5zdGFuY2U+PigpKQogICAgICwgZXJy
b3JJbnN0YW5jZUhlYXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxFcnJvcklu
c3RhbmNlPj4oKSkKICAgICAsIGpzTW9kdWxlUmVjb3JkSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8
SXNvSGVhcENlbGxUeXBlPEpTTW9kdWxlUmVjb3JkPj4oKSkKQEAgLTMwMyw5ICszMTMsMTEgQEAg
Vk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlKQogICAgICwgd2Vha1NldEhl
YXBDZWxsVHlwZShtYWtlVW5pcXVlPElzb0hlYXBDZWxsVHlwZTxKU1dlYWtTZXQ+PigpKQogICAg
ICwgZGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SlNEZXN0cnVjdGli
bGVPYmplY3RIZWFwQ2VsbFR5cGU+KCkpCiAjaWYgSlNDX09CSkNfQVBJX0VOQUJMRUQKKyAgICAs
IGFwaVdyYXBwZXJPYmplY3RIZWFwQ2VsbFR5cGUobWFrZVVuaXF1ZTxJc29IZWFwQ2VsbFR5cGU8
SlNDYWxsYmFja09iamVjdDxKU0FQSVdyYXBwZXJPYmplY3Q+Pj4oKSkKICAgICAsIG9iakNDYWxs
YmFja0Z1bmN0aW9uSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBlPE9iakND
YWxsYmFja0Z1bmN0aW9uPj4oKSkKICNlbmRpZgogI2lmZGVmIEpTQ19HTElCX0FQSV9FTkFCTEVE
CisgICAgLCBhcGlXcmFwcGVyT2JqZWN0SGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENl
bGxUeXBlPEpTQ2FsbGJhY2tPYmplY3Q8SlNBUElXcmFwcGVyT2JqZWN0Pj4+KCkpCiAgICAgLCBq
c2NDYWxsYmFja0Z1bmN0aW9uSGVhcENlbGxUeXBlKG1ha2VVbmlxdWU8SXNvSGVhcENlbGxUeXBl
PEpTQ0NhbGxiYWNrRnVuY3Rpb24+PigpKQogI2VuZGlmCiAjaWYgRU5BQkxFKElOVEwpCkBAIC0x
MzYxLDEyICsxMzczLDE3IEBAIHZvaWQgVk06OmVuc3VyZVNoYWRvd0NoaWNrZW4oKQogICAgIH0K
IAogCitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYXBpR2xvYmFsT2Jq
ZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQVBJR2xvYmFsT2JqZWN0KQorRFlO
QU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGFwaVZhbHVlV3JhcHBlclNwYWNl
LCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0FQSVZhbHVlV3JhcHBlcikKIERZTkFNSUNfSVNP
X1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhhcnJheUJ1ZmZlclNwYWNlLCBjZWxsSGVhcENl
bGxUeXBlLmdldCgpLCBKU0FycmF5QnVmZmVyKQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5F
X01FTUJFUl9TTE9XKGFzeW5jR2VuZXJhdG9yU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCks
IEpTQXN5bmNHZW5lcmF0b3IpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NM
T1coYmlnSW50T2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEJpZ0ludE9iamVj
dCkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhib29sZWFuT2JqZWN0
U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEJvb2xlYW5PYmplY3QpCiBEWU5BTUlDX0lT
T19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYm91bmRGdW5jdGlvblNwYWNlLCBjZWxsSGVh
cENlbGxUeXBlLmdldCgpLCBKU0JvdW5kRnVuY3Rpb24pIC8vIEhhc2g6MHhkNzkxNmQ0MQorRFlO
QU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGNhbGxiYWNrQ29uc3RydWN0b3JT
cGFjZSwgY2FsbGJhY2tDb25zdHJ1Y3RvckhlYXBDZWxsVHlwZS5nZXQoKSwgSlNDYWxsYmFja0Nv
bnN0cnVjdG9yKQorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGNhbGxi
YWNrR2xvYmFsT2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQ2FsbGJhY2tP
YmplY3Q8SlNHbG9iYWxPYmplY3Q+KQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJF
Ul9TTE9XKGNhbGxiYWNrRnVuY3Rpb25TcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlND
YWxsYmFja0Z1bmN0aW9uKSAvLyBIYXNoOjB4ZTc2NDhlYmMKK0RZTkFNSUNfSVNPX1NVQlNQQUNF
X0RFRklORV9NRU1CRVJfU0xPVyhjYWxsYmFja09iamVjdFNwYWNlLCBjYWxsYmFja09iamVjdEhl
YXBDZWxsVHlwZS5nZXQoKSwgSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0PikKIERZ
TkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhjdXN0b21HZXR0ZXJTZXR0ZXJG
dW5jdGlvblNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0N1c3RvbUdldHRlclNldHRl
ckZ1bmN0aW9uKSAvLyBIYXNoOjB4MTgwOTEwMDAKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklO
RV9NRU1CRVJfU0xPVyhkYXRhVmlld1NwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0Rh
dGFWaWV3KQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGVycm9ySW5z
dGFuY2VTcGFjZSwgZXJyb3JJbnN0YW5jZUhlYXBDZWxsVHlwZS5nZXQoKSwgRXJyb3JJbnN0YW5j
ZSkgLy8gSGFzaDoweDNmNDBkNGEKQEAgLTEzOTgsMTAgKzE0MTUsMTMgQEAgRFlOQU1JQ19JU09f
U1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKHdlYWtNYXBTcGFjZSwgd2Vha01hcEhlYXBDZWxs
VHlwZS5nZXQoKSwKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyh3ZWFr
U2V0U3BhY2UsIHdlYWtTZXRIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTV2Vha1NldCkgLy8gSGFzaDow
eDRjNzgxYjMwCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1cod2Vha09i
amVjdFJlZlNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU1dlYWtPYmplY3RSZWYpIC8v
IEhhc2g6MHg4ZWM2OGYxZgogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECitEWU5BTUlDX0lTT19T
VUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYXBpV3JhcHBlck9iamVjdFNwYWNlLCBhcGlXcmFw
cGVyT2JqZWN0SGVhcENlbGxUeXBlLmdldCgpLCBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBl
ck9iamVjdD4pCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1cob2JqQ0Nh
bGxiYWNrRnVuY3Rpb25TcGFjZSwgb2JqQ0NhbGxiYWNrRnVuY3Rpb25IZWFwQ2VsbFR5cGUuZ2V0
KCksIE9iakNDYWxsYmFja0Z1bmN0aW9uKSAvLyBIYXNoOjB4MTBmNjEwYjgKICNlbmRpZgogI2lm
ZGVmIEpTQ19HTElCX0FQSV9FTkFCTEVECitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVN
QkVSX1NMT1coYXBpV3JhcHBlck9iamVjdFNwYWNlLCBhcGlXcmFwcGVyT2JqZWN0SGVhcENlbGxU
eXBlLmdldCgpLCBKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4pCiBEWU5BTUlD
X0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coanNjQ2FsbGJhY2tGdW5jdGlvblNwYWNl
LCBqc2NDYWxsYmFja0Z1bmN0aW9uSGVhcENlbGxUeXBlLmdldCgpLCBKU0NDYWxsYmFja0Z1bmN0
aW9uKQorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGNhbGxiYWNrQVBJ
V3JhcHBlckdsb2JhbE9iamVjdFNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0NhbGxi
YWNrT2JqZWN0PEpTQVBJV3JhcHBlckdsb2JhbE9iamVjdD4pCiAjZW5kaWYKICNpZiBFTkFCTEUo
SU5UTCkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhpbnRsQ29sbGF0
b3JTcGFjZSwgaW50bENvbGxhdG9ySGVhcENlbGxUeXBlLmdldCgpLCBJbnRsQ29sbGF0b3IpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAppbmRleCBlZGRiZmM1NWViYjY4YmE3MDJhMjM3N2Qz
NDcwMmU4NWM2N2U0N2IwLi5jMTI0ZmFiMTg2OTdhZDhhMGI3MDkwMWMwM2VjYWVhOWYwNzYxMmU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKQEAgLTEyNiwxMyArMTI2LDE2IEBAIGNs
YXNzIEludGxDb2xsYXRvcjsKIGNsYXNzIEludGxEYXRlVGltZUZvcm1hdDsKIGNsYXNzIEludGxO
dW1iZXJGb3JtYXQ7CiBjbGFzcyBJbnRsUGx1cmFsUnVsZXM7CitjbGFzcyBKU0FQSVdyYXBwZXJP
YmplY3Q7CiBjbGFzcyBKU0NDYWxsYmFja0Z1bmN0aW9uOworY2xhc3MgSlNDYWxsYmFja0NvbnN0
cnVjdG9yOwogY2xhc3MgSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbjsKIGNsYXNzIEpTRGVz
dHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlOwogY2xhc3MgSlNHbG9iYWxPYmplY3Q7CiBjbGFz
cyBKU01vZHVsZU5hbWVzcGFjZU9iamVjdDsKIGNsYXNzIEpTTW9kdWxlUmVjb3JkOwogY2xhc3Mg
SlNOYXRpdmVTdGRGdW5jdGlvbjsKK2NsYXNzIEpTTm9uRmluYWxPYmplY3Q7CiBjbGFzcyBKU09i
amVjdDsKIGNsYXNzIEpTUHJvbWlzZTsKIGNsYXNzIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjsK
QEAgLTE4Miw2ICsxODUsNyBAQCBjbGFzcyBXZWJBc3NlbWJseUZ1bmN0aW9uOwogY2xhc3MgV2Vi
QXNzZW1ibHlNb2R1bGVSZWNvcmQ7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlPiBjbGFz
cyBJc29IZWFwQ2VsbFR5cGU7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBQYXJlbnQ+IGNsYXNzIEpTQ2Fs
bGJhY2tPYmplY3Q7CiAKICNpZiBFTkFCTEUoRlRMX0pJVCkKIG5hbWVzcGFjZSBGVEwgewpAQCAt
MzU5LDYgKzM2Myw4IEBAIGNsYXNzIFZNIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFZN
PiwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFZNPiB7CiAgICAgc3RkOjp1bmlxdWVfcHRy
PEhlYXBDZWxsVHlwZT4gaW1tdXRhYmxlQnV0dGVyZmx5SGVhcENlbGxUeXBlOwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxIZWFwQ2VsbFR5cGU+IGNlbGxIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPEhlYXBDZWxsVHlwZT4gZGVzdHJ1Y3RpYmxlQ2VsbEhlYXBDZWxsVHlwZTsKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcj4+IGNh
bGxiYWNrQ29uc3RydWN0b3JIZWFwQ2VsbFR5cGU7CisgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hl
YXBDZWxsVHlwZTxKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+Pj4gY2FsbGJhY2tP
YmplY3RIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxE
YXRlSW5zdGFuY2U+PiBkYXRlSW5zdGFuY2VIZWFwQ2VsbFR5cGU7CiAgICAgc3RkOjp1bmlxdWVf
cHRyPElzb0hlYXBDZWxsVHlwZTxFcnJvckluc3RhbmNlPj4gZXJyb3JJbnN0YW5jZUhlYXBDZWxs
VHlwZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SXNvSGVhcENlbGxUeXBlPEpTTW9kdWxlUmVjb3Jk
Pj4ganNNb2R1bGVSZWNvcmRIZWFwQ2VsbFR5cGU7CkBAIC0zNjksOSArMzc1LDExIEBAIGNsYXNz
IFZNIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxpbmtl
ZExpc3ROb2RlPFZNPiB7CiAgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBDZWxsVHlwZTxKU1dl
YWtTZXQ+PiB3ZWFrU2V0SGVhcENlbGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxKU0Rlc3Ry
dWN0aWJsZU9iamVjdEhlYXBDZWxsVHlwZT4gZGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBl
OwogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECisgICAgc3RkOjp1bmlxdWVfcHRyPElzb0hlYXBD
ZWxsVHlwZTxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4+PiBhcGlXcmFwcGVy
T2JqZWN0SGVhcENlbGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFwQ2VsbFR5cGU8
T2JqQ0NhbGxiYWNrRnVuY3Rpb24+PiBvYmpDQ2FsbGJhY2tGdW5jdGlvbkhlYXBDZWxsVHlwZTsK
ICNlbmRpZgogI2lmZGVmIEpTQ19HTElCX0FQSV9FTkFCTEVECisgICAgc3RkOjp1bmlxdWVfcHRy
PElzb0hlYXBDZWxsVHlwZTxKU0NhbGxiYWNrT2JqZWN0PEpTQVBJV3JhcHBlck9iamVjdD4+PiBh
cGlXcmFwcGVyT2JqZWN0SGVhcENlbGxUeXBlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJc29IZWFw
Q2VsbFR5cGU8SlNDQ2FsbGJhY2tGdW5jdGlvbj4+IGpzY0NhbGxiYWNrRnVuY3Rpb25IZWFwQ2Vs
bFR5cGU7CiAjZW5kaWYKICNpZiBFTkFCTEUoSU5UTCkKQEAgLTQ1OCwxNyArNDY2LDI1IEBAIGNs
YXNzIFZNIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxp
bmtlZExpc3ROb2RlPFZNPiB7CiAKIAogI2lmIEpTQ19PQkpDX0FQSV9FTkFCTEVECisgICAgRFlO
QU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhcGlXcmFwcGVyT2JqZWN0U3BhY2UpCiAg
ICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihvYmpDQ2FsbGJhY2tGdW5jdGlv
blNwYWNlKQogI2VuZGlmCiAjaWZkZWYgSlNDX0dMSUJfQVBJX0VOQUJMRUQKKyAgICBEWU5BTUlD
X0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFwaVdyYXBwZXJPYmplY3RTcGFjZSkKICAgICBE
WU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGpzY0NhbGxiYWNrRnVuY3Rpb25TcGFj
ZSkKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGNhbGxiYWNrQVBJV3Jh
cHBlckdsb2JhbE9iamVjdFNwYWNlKQogI2VuZGlmCisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0Vf
REVGSU5FX01FTUJFUihhcGlHbG9iYWxPYmplY3RTcGFjZSkKKyAgICBEWU5BTUlDX0lTT19TVUJT
UEFDRV9ERUZJTkVfTUVNQkVSKGFwaVZhbHVlV3JhcHBlclNwYWNlKQogICAgIERZTkFNSUNfSVNP
X1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXJyYXlCdWZmZXJTcGFjZSkKICAgICBEWU5BTUlDX0lT
T19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFzeW5jR2VuZXJhdG9yU3BhY2UpCiAgICAgRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihiaWdJbnRPYmplY3RTcGFjZSkKICAgICBEWU5B
TUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGJvb2xlYW5PYmplY3RTcGFjZSkKICAgICBE
WU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGJvdW5kRnVuY3Rpb25TcGFjZSkKKyAg
ICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGNhbGxiYWNrQ29uc3RydWN0b3JT
cGFjZSkKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGNhbGxiYWNrR2xv
YmFsT2JqZWN0U3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihj
YWxsYmFja0Z1bmN0aW9uU3BhY2UpCisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01F
TUJFUihjYWxsYmFja09iamVjdFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklO
RV9NRU1CRVIoY3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb25TcGFjZSkKICAgICBEWU5BTUlDX0lT
T19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGRhdGFWaWV3U3BhY2UpCiAgICAgRFlOQU1JQ19JU09f
U1VCU1BBQ0VfREVGSU5FX01FTUJFUihlcnJvckluc3RhbmNlU3BhY2UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKaW5kZXggNjBhMzRjZjli
Y2EwYmUzM2E2ZjkyMTY5NTUwZTk0MWMzZjZhZjIwMy4uNjM4MzlkMWM0NWE4YmU0Yzg4ZjQ0ODk5
N2NiZWM3MmFmMzJkYTNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01HbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NR2xvYmFsT2JqZWN0LmNwcApAQCAtMTQ5LDcgKzE0OSw3IEBAIHZvaWQgSlNET01HbG9iYWxP
YmplY3Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogICAgIGFkZEJ1aWx0aW5HbG9iYWxzKHZt
KTsKIAotICAgIFJFTEVBU0VfQVNTRVJUKGNsYXNzSW5mbygpKTsKKyAgICBSRUxFQVNFX0FTU0VS
VChjbGFzc0luZm8odm0pKTsKIH0KIAogdm9pZCBKU0RPTUdsb2JhbE9iamVjdDo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBKU09iamVjdCogdGhpc1ZhbHVlKQpAQCAtMTU5LDcgKzE1OSw3IEBAIHZv
aWQgSlNET01HbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIHRo
aXNWYWx1ZSkKIAogICAgIGFkZEJ1aWx0aW5HbG9iYWxzKHZtKTsKIAotICAgIFJFTEVBU0VfQVNT
RVJUKGNsYXNzSW5mbygpKTsKKyAgICBSRUxFQVNFX0FTU0VSVChjbGFzc0luZm8odm0pKTsKIH0K
IAogU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogSlNET01HbG9iYWxPYmplY3Q6OnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XcmFwcGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3Jh
cHBlci5jcHAKaW5kZXggMDU2YmRiZDJkZjFlM2YzYTQ0NmQxNzk5YTMxMjlhNzM5ZjgwY2NjNS4u
NzczNmQwY2ZkM2ZjNmM5Njg1NTUzZDJkNTYwYTg5OWFjZmM1NzM4MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuY3BwCkBAIC00MSw3ICs0MSw3IEBAIFNUQVRJ
Q19BU1NFUlRfSVNfVFJJVklBTExZX0RFU1RSVUNUSUJMRShKU0RPTU9iamVjdCk7CiBKU0RPTU9i
amVjdDo6SlNET01PYmplY3QoSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNDOjpKU0dsb2Jh
bE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogICAgIDogQmFzZShnbG9iYWxPYmplY3Qudm0oKSwgc3Ry
dWN0dXJlKQogewotICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgfHwgZ2xvYmFs
T2JqZWN0LmNsYXNzSW5mbygpID09IEpTUmVtb3RlRE9NV2luZG93OjppbmZvKCkpOworICAgIEFT
U0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgfHwgZ2xvYmFsT2JqZWN0LmNsYXNzSW5mbyhn
bG9iYWxPYmplY3Qudm0oKSkgPT0gSlNSZW1vdGVET01XaW5kb3c6OmluZm8oKSk7CiB9CiAKIEpT
Qzo6Q29tcGxldGVTdWJzcGFjZSogb3V0cHV0Q29uc3RyYWludFN1YnNwYWNlRm9yKEpTQzo6Vk0m
IHZtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXaW5kb3dQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dpbmRvd1Byb3h5LmNwcAppbmRl
eCA3YWM4Zjc5NDE0ZGVkZDBhNmQ2OTQ1ZDE0OGYyOGU4YmQyNzEzNDY2Li5kYjcwMzFhY2RhYjNh
ZWM2Yjc3N2Q3NjgzMTU5NTZlNDNhM2YwYmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1dpbmRvd1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1dpbmRvd1Byb3h5LmNwcApAQCAtNzUsNyArNzUsNyBAQCB2b2lkIEpTV2luZG93UHJv
eHk6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQogCiB2b2lkIEpTV2luZG93UHJveHk6OnNldFdpbmRv
dyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiB3aW5kb3cpCiB7Ci0gICAgQVNTRVJUKHdpbmRv
dy5jbGFzc0luZm8oKSA9PSBKU0RPTVdpbmRvdzo6aW5mbygpIHx8IHdpbmRvdy5jbGFzc0luZm8o
KSA9PSBKU1JlbW90ZURPTVdpbmRvdzo6aW5mbygpKTsKKyAgICBBU1NFUlQod2luZG93LmNsYXNz
SW5mbyh2bSkgPT0gSlNET01XaW5kb3c6OmluZm8oKSB8fCB3aW5kb3cuY2xhc3NJbmZvKHZtKSA9
PSBKU1JlbW90ZURPTVdpbmRvdzo6aW5mbygpKTsKICAgICBzZXRUYXJnZXQodm0sICZ3aW5kb3cp
OwogICAgIHN0cnVjdHVyZSh2bSktPnNldEdsb2JhbE9iamVjdCh2bSwgJndpbmRvdyk7CiAgICAg
R0NDb250cm9sbGVyOjpzaW5nbGV0b24oKS5nYXJiYWdlQ29sbGVjdFNvb24oKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>