<?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>185226</bug_id>
          
          <creation_ts>2018-05-02 16:03:44 -0700</creation_ts>
          <short_desc>Remove the prototype caching for get_by_id in the LLInt</short_desc>
          <delta_ts>2018-08-31 10:13:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>185564</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hyungseok.han</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1419911</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-05-02 16:03:44 -0700</bug_when>
    <thetext>Remove the prototype caching for get_by_id in the LLInt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419917</commentid>
    <comment_count>1</comment_count>
      <attachid>339363</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-05-02 16:10:52 -0700</bug_when>
    <thetext>Created attachment 339363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420208</commentid>
    <comment_count>2</comment_count>
      <attachid>339424</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-05-03 10:28:23 -0700</bug_when>
    <thetext>Created attachment 339424
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420211</commentid>
    <comment_count>3</comment_count>
      <attachid>339424</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-05-03 10:36:47 -0700</bug_when>
    <thetext>Comment on attachment 339424
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420214</commentid>
    <comment_count>4</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-05-03 10:40:02 -0700</bug_when>
    <thetext>rdar://problem/39104634</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420235</commentid>
    <comment_count>5</comment_count>
      <attachid>339424</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-03 11:18:41 -0700</bug_when>
    <thetext>Comment on attachment 339424
Patch

Clearing flags on attachment: 339424

Committed r231316: &lt;https://trac.webkit.org/changeset/231316&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420236</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-03 11:18:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420452</commentid>
    <comment_count>7</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-05-03 17:04:16 -0700</bug_when>
    <thetext>32-bit fix in https://trac.webkit.org/r231332.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423256</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-11 14:13:24 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 185564</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430630</commentid>
    <comment_count>9</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-06-06 16:54:52 -0700</bug_when>
    <thetext>We are not gonna do this since it turns out this matters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455573</commentid>
    <comment_count>10</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-08-30 22:43:14 -0700</bug_when>
    <thetext>*** Bug 187754 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455735</commentid>
    <comment_count>11</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-08-31 10:13:08 -0700</bug_when>
    <thetext>For the record, ...

(In reply to Keith Miller from comment #9)
&gt; We are not gonna do this since it turns out this matters.

... means this patch was rolled out in https://bugs.webkit.org/show_bug.cgi?id=185564, i.e. r231719: &lt;https://trac.webkit.org/changeset/231719&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339363</attachid>
            <date>2018-05-02 16:10:52 -0700</date>
            <delta_ts>2018-05-03 10:28:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185226-20180502161051.patch</filename>
            <type>text/plain</type>
            <size>35081</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ODczOWY1MGQyMmY4NTY5OGUzMjIxYjc3YmY0NDdjYjRjZTJhZTBiLi4xNGNiYTAzZDJlOTQ4MDky
MGFhZTE4ZjUwMWNmNjgzNmVkMGYyOGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0OCBAQAorMjAxOC0wNS0wMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBSZW1vdmUgdGhlIHByb3RvdHlwZSBjYWNoaW5nIGZvciBnZXRfYnlf
aWQgaW4gdGhlIExMSW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xODUyMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGVyZSBpcyBubyBldmlkZW5jZSB0aGF0IHRoaXMgaXMgYWN0dWFsbHkgYSBzcGVl
ZHVwIGFuZCB3ZSBrZWVwCisgICAgICAgIGdldHRpbmcgYnVncyB3aXRoIGl0LiBBdCB0aGlzIHBv
aW50IGl0IHNlZW1zIGxpa2Ugd2Ugc2hvdWxkIGp1c3QKKyAgICAgICAgcmVtb3ZlIHRoaXMgY29k
ZS4KKworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVEdW1w
ZXIuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUR1bXBlcjxCbG9jaz46OnByaW50R2V0QnlJ
ZE9wKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVEdW1wZXI8QmxvY2s+OjpwcmludEdldEJ5SWRD
YWNoZVN0YXR1cyk6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlRHVtcGVyPEJsb2NrPjo6ZHVtcEJ5
dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbjoKKyAgICAgICAg
KiBieXRlY29kZS9CeXRlY29kZVVzZURlZi5oOgorICAgICAgICAoSlNDOjpjb21wdXRlVXNlc0Zv
ckJ5dGVjb2RlT2Zmc2V0KToKKyAgICAgICAgKEpTQzo6Y29tcHV0ZURlZnNGb3JCeXRlY29kZU9m
ZnNldCk6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6
Q29kZUJsb2NrOjpmaW5hbGl6ZUxMSW50SW5saW5lQ2FjaGVzKToKKyAgICAgICAgKiBieXRlY29k
ZS9Db2RlQmxvY2suaDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpsbGludEdldEJ5SWRXYXRj
aHBvaW50TWFwKTogRGVsZXRlZC4KKyAgICAgICAgKiBieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNw
cDoKKyAgICAgICAgKEpTQzo6R2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludCk6CisgICAg
ICAgICogYnl0ZWNvZGUvTExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBv
aW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBieXRlY29kZS9MTEludFByb3RvdHlwZUxvYWRB
ZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBieXRlY29t
cGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVy
YXRvcjo6ZW1pdEdldEJ5SWQpOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAg
ICAqIGRmZy9ERkdDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNhcGFiaWxp
dHlMZXZlbCk6CisgICAgICAgICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJp
dmF0ZUNvbXBpbGVNYWluUGFzcyk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVT
bG93Q2FzZXMpOgorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAg
KEpTQzo6TExJbnQ6OkxMSU5UX1NMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKEpTQzo6TExJbnQ6
OnNldHVwR2V0QnlJZFByb3RvdHlwZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBsbGludC9M
b3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206CisgICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisKIDIwMTgtMDQt
MzAgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgTW92
ZSB0aGUgTWF5QmVQcm90b3R5cGUgSlNDZWxsIGhlYWRlciBiaXQgdG8gSW5saW5lVHlwZUZsYWdz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDk0NDM1ZDhhZTU3M2JhZWRmZmIxZjZh
ZDk1ZGQwY2UwMjI1YjVlNzMuLmM1MzRkNjFkOWNkYjFhMmU3MjkwYjRmMjExMjM3YjkxYmYzM2Qw
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDM1LDcgKzEwMzUsNiBAQAog
CQk1M0Y0MEU5NTFENUE3QUVGMDA5OUExQjYgLyogV2FzbU1vZHVsZVBhcnNlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTNGNDBFOTQxRDVBN0FFRjAw
OTlBMUI2IC8qIFdhc21Nb2R1bGVQYXJzZXIuaCAqLzsgfTsKIAkJNTNGNkJGNkQxQzNGMDYwQTAw
RjQxRTVEIC8qIEludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTNGNkJGNkMxQzNGMDYwQTAwRjQx
RTVEIC8qIEludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUzRjhEMjAwMUU4Mzg3RDQwMEQy
MTExNiAvKiBXYXNtQkJRUGxhbklubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUzRjhEMUZGMUU4Mzg3RDQwMEQyMTExNiAvKiBXYXNtQkJRUGxh
bklubGluZXMuaCAqLzsgfTsKLQkJNTNGQTJBRTExQ0YzN0YzRjAwMjI3MTFEIC8qIExMSW50UHJv
dG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTNGQTJBRTAxQ0YzN0YzRjAwMjI3MTFEIC8q
IExMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUzRkQwNEQ0MUQ3QUIy
OTEwMDMyODdEMyAvKiBXYXNtQ2FsbGluZ0NvbnZlbnRpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzRkQwNEQyMUQ3QUIxODcwMDMyODdEMyAvKiBX
YXNtQ2FsbGluZ0NvbnZlbnRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1M0ZGN0Y5OTFEQkZDRDkwMDBBMjZDQ0MgLyogV2FzbVZhbGlkYXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1M0ZGN0Y5
ODFEQkZDRDkwMDBBMjZDQ0MgLyogV2FzbVZhbGlkYXRlLmggKi87IH07CiAJCTVCNzBDRkRFMURC
NjlFNjYwMEVDMjNGOSAvKiBKU0FzeW5jRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVCNzBDRkQ4MURCNjlFNUMwMEVDMjNGOSAvKiBKU0Fz
eW5jRnVuY3Rpb24uaCAqLzsgfTsKQEAgLTM0NTgsOCArMzQ1Nyw2IEBACiAJCTUzRjQwRTk2MUQ1
QTdCRUMwMDk5QTFCNiAvKiBXYXNtTW9kdWxlUGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdhc21Nb2R1bGVQYXJzZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1M0Y2QkY2QzFDM0YwNjBBMDBGNDFFNUQgLyogSW50ZXJuYWxGdW5jdGlv
bkFsbG9jYXRpb25Qcm9maWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElu
dGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1M0Y4RDFGRjFFODM4N0Q0MDBEMjExMTYgLyogV2FzbUJCUVBsYW5JbmxpbmVzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdhc21CQlFQbGFuSW5saW5lcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1M0ZBMkFFMDFDRjM3RjNGMDAyMjcxMUQgLyog
TExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0
dXJlV2F0Y2hwb2ludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1M0ZBMkFFMjFD
RjM4MDM5MDAyMjcxMUQgLyogTExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRj
aHBvaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExMSW50UHJv
dG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUzRkQwNEQxMUQ3QUIxODcwMDMyODdEMyAvKiBXYXNtQ2FsbGluZ0Nv
bnZlbnRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2FzbUNh
bGxpbmdDb252ZW50aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTNGRDA0
RDIxRDdBQjE4NzAwMzI4N0QzIC8qIFdhc21DYWxsaW5nQ29udmVudGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXYXNtQ2FsbGluZ0NvbnZlbnRpb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTNGRjdGOTgxREJGQ0Q5MDAwQTI2Q0NDIC8qIFdhc21WYWxp
ZGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXYXNtVmFsaWRhdGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY2NzAsNiArNjY2Nyw3IEBACiAJCQkJODY1
QTMwRjAxMzUwMDdFMTAwQ0RCNDlFIC8qIEpTQ0pTVmFsdWVJbmxpbmVzLmggKi8sCiAJCQkJRkUy
QjBCNjgxRkQwRDI5NzAwNzVEQTVGIC8qIEpTQ1BvaXNvbi5jcHAgKi8sCiAJCQkJRkUyQjBCNzAx
RkQ4QzQ2MzAwNzVEQTVGIC8qIEpTQ1BvaXNvbi5oICovLAorCQkJCUZFNzQ5N0U1MjA5MDAxQjAw
MDAzNTY1QiAvKiBKU0NQdHJUYWcuaCAqLywKIAkJCQk3MkFBRjdDQjFEMEQzMThCMDA1RTYwQkUg
LyogSlNDdXN0b21HZXR0ZXJTZXR0ZXJGdW5jdGlvbi5jcHAgKi8sCiAJCQkJNzJBQUY3Q0MxRDBE
MzE4QjAwNUU2MEJFIC8qIEpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rpb24uaCAqLywKIAkJCQkw
RjJCNjZCRDE3QjZCNUFCMDBBN0FFM0YgLyogSlNEYXRhVmlldy5jcHAgKi8sCkBAIC02NzU1LDcg
KzY3NTMsNiBAQAogCQkJCTJBMDVBQkQ0MTk2MURGMjQwMDM0MTc1MCAvKiBKU1Byb3BlcnR5TmFt
ZUVudW1lcmF0b3IuaCAqLywKIAkJCQk4NjI1NTNDRTE2MTM2QUE1MDA5RjE3RDAgLyogSlNQcm94
eS5jcHAgKi8sCiAJCQkJODYyNTUzQ0YxNjEzNkFBNTAwOUYxN0QwIC8qIEpTUHJveHkuaCAqLywK
LQkJCQlGRTc0OTdFNTIwOTAwMUIwMDAwMzU2NUIgLyogSlNDUHRyVGFnLmggKi8sCiAJCQkJNTM0
NjM4NzIxRTcwRDAxNTAwRjEyQUMxIC8qIEpTUnVuTG9vcFRpbWVyLmNwcCAqLywKIAkJCQk1MzQ2
Mzg3MDFFNzBDRjNEMDBGMTJBQzEgLyogSlNSdW5Mb29wVGltZXIuaCAqLywKIAkJCQkxNDg3NEFF
MTE1RUJERTRBMDAyRTM1ODcgLyogSlNTY29wZS5jcHAgKi8sCkBAIC03NjM0LDggKzc2MzEsNiBA
QAogCQkJCTBGQjU0Njc4MTRGNUM0NjgwMDJDMjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVlUHJvZmls
ZS5jcHAgKi8sCiAJCQkJMEZCNTQ2NzYxNEY1OUFEMTAwMkMyOTg5IC8qIExhenlPcGVyYW5kVmFs
dWVQcm9maWxlLmggKi8sCiAJCQkJMEYwRkM0NTgxNEJEMTVGMTAwQjgxMTU0IC8qIExMSW50Q2Fs
bExpbmtJbmZvLmggKi8sCi0JCQkJNTNGQTJBRTIxQ0YzODAzOTAwMjI3MTFEIC8qIExMSW50UHJv
dG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5jcHAgKi8sCi0JCQkJNTNGQTJB
RTAxQ0YzN0YzRjAwMjI3MTFEIC8qIExMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJl
V2F0Y2hwb2ludC5oICovLAogCQkJCTBGQjU0NjdDMTRGNUNGRDMwMDJDMjk4OSAvKiBNZXRob2RP
ZkdldHRpbmdBVmFsdWVQcm9maWxlLmNwcCAqLywKIAkJCQkwRkI1NDY3QTE0RjVDN0Q0MDAyQzI5
ODkgLyogTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5oICovLAogCQkJCTIwRUNCMTVFRkM1
MjQ2MjRCQzJGMDJENSAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcCAqLywKQEAgLTkw
MDAsNiArODk5NSw3IEBACiAJCQkJQTVEMkU2NjUxOTVFMTc0MDAwQTUxOEU3IC8qIEpTQ29udGV4
dFJlZkludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDhDRDFEODEwOENGOTAyMDA4MTYz
QzYgLyogSlNDb250ZXh0UmVmUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkUyQjBCNzMx
RkQ5RUY3MDAwNzVEQTVGIC8qIEpTQ1BvaXNvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkU3NDk3
RTYyMDkwMDFCMTAwMDM1NjVCIC8qIEpTQ1B0clRhZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTcy
MDI4QjgxNzk3NjAxRTAwOTgwMjhDIC8qIEpTQ1Rlc3RSdW5uZXJVdGlscy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNzJBQUY3Q0UxRDBEMzFCMzAwNUU2MEJFIC8qIEpTQ3VzdG9tR2V0dGVyU2V0dGVy
RnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkI2NkVDMTdCNkI1QUIwMEE3QUUzRiAv
KiBKU0RhdGFWaWV3LmggaW4gSGVhZGVycyAqLywKQEAgLTkwNzUsNyArOTA3MSw2IEBACiAJCQkJ
N0MwMDhDREIxODcxMjRCQjAwOTU1QzI0IC8qIEpTUHJvbWlzZURlZmVycmVkLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk3QzE4NEUxRjE3QkVFMjJFMDA3Q0I2M0EgLyogSlNQcm9taXNlUHJvdG90eXBl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5OTZCNzMxRjFCREEwOEVGMDAzMzFCODQgLyogSlNQcm9t
aXNlUHJvdG90eXBlLmx1dC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRkU3NDk3RTYyMDkwMDFCMTAw
MDM1NjVCIC8qIEpTQ1B0clRhZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkEwNUFCRDYxOTYxREYy
NDAwMzQxNzUwIC8qIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODYyNTUzRDIxNjEzNkUxQTAwOUYxN0QwIC8qIEpTUHJveHkuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE1NTJDMzgwMUFEREI4RkUwMDEzOTcyNiAvKiBKU1JlbW90ZUluc3BlY3Rvci5oIGluIEhl
YWRlcnMgKi8sCkBAIC05MTY0LDcgKzkxNTksNiBAQAogCQkJCTBGNDY4MENCMTRCQkIxNzIwMEJG
RTI3MiAvKiBMTEludE9mZmxpbmVBc21Db25maWcuaCBpbiBIZWFkZXJzICovLAogCQkJCUZFRDI4
N0IyMTVFQzlBNTcwMERBODE2MSAvKiBMTEludE9wY29kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NzlDRkM2RjAxQzMzQjEwMDAwQzc2OEVBIC8qIExMSW50UENSYW5nZXMuaCBpbiBIZWFkZXJzICov
LAotCQkJCTUzRkEyQUUxMUNGMzdGM0YwMDIyNzExRCAvKiBMTEludFByb3RvdHlwZUxvYWRBZGFw
dGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDY4MEE1MTRC
QTdGOEQwMEJGRTI3MiAvKiBMTEludFNsb3dQYXRocy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYw
QjgzOUQxNEJDRjQ2NjAwODg1QjRGIC8qIExMSW50VGh1bmtzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRjc1QTA2MTIwMEQyNjE4MDAzOEUyQ0YgLyogTG9jYWxBbGxvY2F0b3IuaCBpbiBIZWFkZXJz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0IGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CmluZGV4IGViNDY3ZWE5ODEzOWRmYmNhZDkw
MjFlZTE4MTIxOTI5MDZlNTFiMzUuLjRjMzVlZDY2ODhiYTE2M2ViOGU2MjYyMzViMDcxN2RiZmM3
Y2U1NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQKQEAgLTIyNSw3ICsyMjUsNiBAQCBi
eXRlY29kZS9JbmxpbmVDYWxsRnJhbWUuY3BwCiBieXRlY29kZS9JbmxpbmVDYWxsRnJhbWVTZXQu
Y3BwCiBieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmNwcAogYnl0ZWNvZGUvSnVt
cFRhYmxlLmNwcAotYnl0ZWNvZGUvTExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVX
YXRjaHBvaW50LmNwcAogYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuY3BwCiBieXRl
Y29kZS9NZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUvTW9kdWxlTmFt
ZXNwYWNlQWNjZXNzQ2FzZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9CeXRlY29kZUR1bXBlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQnl0ZWNvZGVEdW1wZXIuY3BwCmluZGV4IGFiZTlhOGEyODJlZGY0ZTc4YTQ2MzgzMGYzNTBi
NzZmOThkMGY1MGYuLjZlNTM0ZTdiYTYwYzY0YWJkMTdmZDAzOTVmZThlYWRmY2YzODNlZjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUR1bXBlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlRHVtcGVyLmNw
cApAQCAtMzc3LDEyICszNzcsNiBAQCB2b2lkIEJ5dGVjb2RlRHVtcGVyPEJsb2NrPjo6cHJpbnRH
ZXRCeUlkT3AoUHJpbnRTdHJlYW0mIG91dCwgaW50IGxvY2F0aW9uLCBjb25zdAogICAgIGNhc2Ug
b3BfZ2V0X2J5X2lkOgogICAgICAgICBvcCA9ICJnZXRfYnlfaWQiOwogICAgICAgICBicmVhazsK
LSAgICBjYXNlIG9wX2dldF9ieV9pZF9wcm90b19sb2FkOgotICAgICAgICBvcCA9ICJnZXRfYnlf
aWRfcHJvdG9fbG9hZCI7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX3Vu
c2V0OgotICAgICAgICBvcCA9ICJnZXRfYnlfaWRfdW5zZXQiOwotICAgICAgICBicmVhazsKICAg
ICBjYXNlIG9wX2dldF9hcnJheV9sZW5ndGg6CiAgICAgICAgIG9wID0gImFycmF5X2xlbmd0aCI7
CiAgICAgICAgIGJyZWFrOwpAQCAtMzk3LDcgKzM5MSw3IEBAIHZvaWQgQnl0ZWNvZGVEdW1wZXI8
QmxvY2s+OjpwcmludEdldEJ5SWRPcChQcmludFN0cmVhbSYgb3V0LCBpbnQgbG9jYXRpb24sIGNv
bnN0CiAgICAgaW50IGlkMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwogICAgIHByaW50TG9jYXRpb25B
bmRPcChvdXQsIGxvY2F0aW9uLCBpdCwgb3ApOwogICAgIG91dC5wcmludGYoIiVzLCAlcywgJXMi
LCByZWdpc3Rlck5hbWUocjApLmRhdGEoKSwgcmVnaXN0ZXJOYW1lKHIxKS5kYXRhKCksIGlkTmFt
ZShpZDAsIGlkZW50aWZpZXIoaWQwKSkuZGF0YSgpKTsKLSAgICBpdCArPSA0OyAvLyBJbmNyZW1l
bnQgdXAgdG8gdGhlIHZhbHVlIHByb2ZpbGVyLgorICAgIGl0ICs9IDM7IC8vIEluY3JlbWVudCB1
cCB0byB0aGUgdmFsdWUgcHJvZmlsZXIuCiB9CiAKIHN0YXRpYyB2b2lkIGR1bXBTdHJ1Y3R1cmUo
UHJpbnRTdHJlYW0mIG91dCwgY29uc3QgY2hhciogbmFtZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IGNvbnN0IElkZW50aWZpZXImIGlkZW50KQpAQCAtNDQyLDggKzQzNiw2IEBAIHZvaWQgQnl0ZWNv
ZGVEdW1wZXI8QmxvY2s+OjpwcmludEdldEJ5SWRDYWNoZVN0YXR1cyhQcmludFN0cmVhbSYgb3V0
LCBpbnQgbG9jYXRpCiAgICAgICAgIG91dC5wcmludGYoIiBsbGludCgiKTsKICAgICAgICAgZHVt
cFN0cnVjdHVyZShvdXQsICJzdHJ1Y3QiLCBzdHJ1Y3R1cmUsIGlkZW50KTsKICAgICAgICAgb3V0
LnByaW50ZigiKSIpOwotICAgICAgICBpZiAoSW50ZXJwcmV0ZXI6OmdldE9wY29kZUlEKGluc3Ry
dWN0aW9uWzBdKSA9PSBvcF9nZXRfYnlfaWRfcHJvdG9fbG9hZCkKLSAgICAgICAgICAgIG91dC5w
cmludGYoIiBwcm90byglcCkiLCBnZXRQb2ludGVyKGluc3RydWN0aW9uWzZdKSk7CiAgICAgfQog
CiAjaWYgRU5BQkxFKEpJVCkKQEAgLTEwMzgsOCArMTAzMCw2IEBAIHZvaWQgQnl0ZWNvZGVEdW1w
ZXI8QmxvY2s+OjpkdW1wQnl0ZWNvZGUoUHJpbnRTdHJlYW0mIG91dCwgY29uc3QgdHlwZW5hbWUg
QmxvY2s6CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIG9wX2dldF9ieV9pZDoKLSAg
ICBjYXNlIG9wX2dldF9ieV9pZF9wcm90b19sb2FkOgotICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX3Vu
c2V0OgogICAgIGNhc2Ugb3BfZ2V0X2FycmF5X2xlbmd0aDogewogICAgICAgICBwcmludEdldEJ5
SWRPcChvdXQsIGxvY2F0aW9uLCBpdCk7CiAgICAgICAgIHByaW50R2V0QnlJZENhY2hlU3RhdHVz
KG91dCwgbG9jYXRpb24sIHN0dWJJbmZvcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KaW5kZXggNTYyOGRmNWI0NjIxNjNlYjI5NjMyMWZl
ODU4ZDAzYjZkOWY3NmU1NS4uMDA0NmM2ZWY5N2IyZmZlM2ZmNzMxNGQ2NzVmMWUwMGIyNDllZGRk
OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlz
dC5qc29uCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3Qu
anNvbgpAQCAtODEsMTAgKzgxLDggQEAKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2lzX2Z1
bmN0aW9uIiwgImxlbmd0aCIgOiAzIH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9pc19j
ZWxsX3dpdGhfdHlwZSIsICJsZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAi
b3BfaW4iLCAibGVuZ3RoIiA6IDUgfSwKLSAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2dldF9h
cnJheV9sZW5ndGgiLCAibGVuZ3RoIiA6IDkgfSwKLSAgICAgICAgICAgIHsgIm5hbWUiIDogIm9w
X2dldF9ieV9pZCIsICJsZW5ndGgiIDogOSAgfSwKLSAgICAgICAgICAgIHsgIm5hbWUiIDogIm9w
X2dldF9ieV9pZF9wcm90b19sb2FkIiwgImxlbmd0aCIgOiA5IH0sCi0gICAgICAgICAgICB7ICJu
YW1lIiA6ICJvcF9nZXRfYnlfaWRfdW5zZXQiLCAibGVuZ3RoIiA6IDkgfSwKKyAgICAgICAgICAg
IHsgIm5hbWUiIDogIm9wX2dldF9hcnJheV9sZW5ndGgiLCAibGVuZ3RoIiA6IDggfSwKKyAgICAg
ICAgICAgIHsgIm5hbWUiIDogIm9wX2dldF9ieV9pZCIsICJsZW5ndGgiIDogOCAgfSwKICAgICAg
ICAgICAgIHsgIm5hbWUiIDogIm9wX2dldF9ieV9pZF93aXRoX3RoaXMiLCAibGVuZ3RoIiA6IDYg
fSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2dldF9ieV92YWxfd2l0aF90aGlzIiwgImxl
bmd0aCIgOiA2IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9nZXRfYnlfaWRfZGlyZWN0
IiwgImxlbmd0aCIgOiA3ICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Qnl0ZWNvZGVVc2VEZWYuaAppbmRleCA3MDFkMzZjZmFjNDUxYjNjODgyMzU2NjFhMTA1NzE3MjAz
NTgwZGRmLi4xNWI5NTJhYmM0MTY2MWJlNjdhOTRjNzUxOWQ2Mjg5Y2NhZjZiMjRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaApAQCAtMTgy
LDggKzE4Miw2IEBAIHZvaWQgY29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldChCbG9jayogY29k
ZUJsb2NrLCBPcGNvZGVJRCBvcGNvZGVJRCwgSW5zdHJ1Y3RpCiAgICAgY2FzZSBvcF90b19wcmlt
aXRpdmU6CiAgICAgY2FzZSBvcF90cnlfZ2V0X2J5X2lkOgogICAgIGNhc2Ugb3BfZ2V0X2J5X2lk
OgotICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX3Byb3RvX2xvYWQ6Ci0gICAgY2FzZSBvcF9nZXRfYnlf
aWRfdW5zZXQ6CiAgICAgY2FzZSBvcF9nZXRfYnlfaWRfZGlyZWN0OgogICAgIGNhc2Ugb3BfZ2V0
X2FycmF5X2xlbmd0aDoKICAgICBjYXNlIG9wX3R5cGVvZjoKQEAgLTQzNCw4ICs0MzIsNiBAQCB2
b2lkIGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQmxvY2sqIGNvZGVCbG9jaywgT3Bjb2Rl
SUQgb3Bjb2RlSUQsIEluc3RydWN0aQogICAgIGNhc2Ugb3BfY29uc3RydWN0OgogICAgIGNhc2Ug
b3BfdHJ5X2dldF9ieV9pZDoKICAgICBjYXNlIG9wX2dldF9ieV9pZDoKLSAgICBjYXNlIG9wX2dl
dF9ieV9pZF9wcm90b19sb2FkOgotICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX3Vuc2V0OgogICAgIGNh
c2Ugb3BfZ2V0X2J5X2lkX2RpcmVjdDoKICAgICBjYXNlIG9wX2dldF9ieV9pZF93aXRoX3RoaXM6
CiAgICAgY2FzZSBvcF9nZXRfYnlfdmFsX3dpdGhfdGhpczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXggY2Y2Njg0Y2E4MjkwMjAzODg5MDRlZDhm
Yzg2ZWE1MjI2MTM4Y2RiOS4uNzQ1MDM3YTI2MDM2NmE3NjJjMmJlZTk3NjcxYmFkNjM1YjFlZGQ0
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAg
LTY1LDcgKzY1LDYgQEAKICNpbmNsdWRlICJKU1RlbXBsYXRlT2JqZWN0RGVzY3JpcHRvci5oIgog
I2luY2x1ZGUgIkxMSW50RGF0YS5oIgogI2luY2x1ZGUgIkxMSW50RW50cnlwb2ludC5oIgotI2lu
Y2x1ZGUgIkxMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oIgog
I2luY2x1ZGUgIkxvd0xldmVsSW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJNb2R1bGVQcm9ncmFt
Q29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiT2JqZWN0QWxsb2NhdGlvblByb2ZpbGVJbmxpbmVzLmgi
CkBAIC0xMjQzLDkgKzEyNDIsNyBAQCB2b2lkIENvZGVCbG9jazo6ZmluYWxpemVMTEludElubGlu
ZUNhY2hlcygpCiAgICAgZm9yIChzaXplX3Qgc2l6ZSA9IHByb3BlcnR5QWNjZXNzSW5zdHJ1Y3Rp
b25zLnNpemUoKSwgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKICAgICAgICAgSW5zdHJ1Y3Rpb24q
IGN1ckluc3RydWN0aW9uID0gJmluc3RydWN0aW9ucygpW3Byb3BlcnR5QWNjZXNzSW5zdHJ1Y3Rp
b25zW2ldXTsKICAgICAgICAgc3dpdGNoIChJbnRlcnByZXRlcjo6Z2V0T3Bjb2RlSUQoY3VySW5z
dHJ1Y3Rpb25bMF0pKSB7Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkOgotICAgICAgICBjYXNl
IG9wX2dldF9ieV9pZF9wcm90b19sb2FkOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF91bnNl
dDogeworICAgICAgICBjYXNlIG9wX2dldF9ieV9pZDogewogICAgICAgICAgICAgU3RydWN0dXJl
SUQgb2xkU3RydWN0dXJlSUQgPSBjdXJJbnN0cnVjdGlvbls0XS51LnN0cnVjdHVyZUlEOwogICAg
ICAgICAgICAgaWYgKCFvbGRTdHJ1Y3R1cmVJRCB8fCBIZWFwOjppc01hcmtlZCh2bS5oZWFwLnN0
cnVjdHVyZUlEVGFibGUoKS5nZXQob2xkU3RydWN0dXJlSUQpKSkKICAgICAgICAgICAgICAgICBi
cmVhazsKQEAgLTEzMzksMTIgKzEzMzYsNiBAQCB2b2lkIENvZGVCbG9jazo6ZmluYWxpemVMTElu
dElubGluZUNhY2hlcygpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICAvLyBXZSBjYW4ndCBqdXN0
IHJlbW92ZSBhbGwgdGhlIHNldHMgd2hlbiB3ZSBjbGVhciB0aGUgY2FjaGVzIHNpbmNlIHdlIG1p
Z2h0IGhhdmUgY3JlYXRlZCBhIHdhdGNocG9pbnQgc2V0Ci0gICAgLy8gdGhlbiBjbGVhcmVkIHRo
ZSBjYWNoZSB3aXRob3V0IEdDaW5nIGluIGJldHdlZW4uCi0gICAgbV9sbGludEdldEJ5SWRXYXRj
aHBvaW50TWFwLnJlbW92ZUlmKFtdKGNvbnN0IFN0cnVjdHVyZVdhdGNocG9pbnRNYXA6OktleVZh
bHVlUGFpclR5cGUmIHBhaXIpIC0+IGJvb2wgewotICAgICAgICByZXR1cm4gIUhlYXA6OmlzTWFy
a2VkKHBhaXIua2V5KTsKLSAgICB9KTsKLQogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBt
X2xsaW50Q2FsbExpbmtJbmZvcy5zaXplKCk7ICsraSkgewogICAgICAgICBpZiAobV9sbGludENh
bGxMaW5rSW5mb3NbaV0uaXNMaW5rZWQoKSAmJiAhSGVhcDo6aXNNYXJrZWQobV9sbGludENhbGxM
aW5rSW5mb3NbaV0uY2FsbGVlLmdldCgpKSkgewogICAgICAgICAgICAgaWYgKE9wdGlvbnM6OnZl
cmJvc2VPU1IoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaApp
bmRleCBlMzMyYTA4MjBiYTVkM2E2NTUxNzdiMTAwYjUyN2ZiYjA5MzE2M2Q4Li44NjcyM2FiY2Jj
MmYzN2IwODU2ODM2YjcyMDc0NTQyNjkzMzUwNzBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC01NCw3ICs1NCw2IEBACiAjaW5jbHVkZSAiSlNHbG9i
YWxPYmplY3QuaCIKICNpbmNsdWRlICJKdW1wVGFibGUuaCIKICNpbmNsdWRlICJMTEludENhbGxM
aW5rSW5mby5oIgotI2luY2x1ZGUgIkxMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJl
V2F0Y2hwb2ludC5oIgogI2luY2x1ZGUgIkxhenlPcGVyYW5kVmFsdWVQcm9maWxlLmgiCiAjaW5j
bHVkZSAiTW9kdWxlUHJvZ3JhbUV4ZWN1dGFibGUuaCIKICNpbmNsdWRlICJPYmplY3RBbGxvY2F0
aW9uUHJvZmlsZS5oIgpAQCAtNjI3LDkgKzYyNiw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IG1fbGxpbnRFeGVjdXRlQ291bnRlcjsKICAgICB9CiAKLSAgICB0eXBlZGVmIEhhc2hNYXA8U3Ry
dWN0dXJlKiwgQmFnPExMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2lu
dD4+IFN0cnVjdHVyZVdhdGNocG9pbnRNYXA7Ci0gICAgU3RydWN0dXJlV2F0Y2hwb2ludE1hcCYg
bGxpbnRHZXRCeUlkV2F0Y2hwb2ludE1hcCgpIHsgcmV0dXJuIG1fbGxpbnRHZXRCeUlkV2F0Y2hw
b2ludE1hcDsgfQotCiAgICAgLy8gRnVuY3Rpb25zIGZvciBjb250cm9sbGluZyB3aGVuIHRpZXJl
ZCBjb21waWxhdGlvbiBraWNrcyBpbi4gVGhpcwogICAgIC8vIGNvbnRyb2xzIGJvdGggd2hlbiB0
aGUgb3B0aW1pemluZyBjb21waWxlciBpcyBpbnZva2VkIGFuZCB3aGVuIE9TUgogICAgIC8vIGVu
dHJ5IGhhcHBlbnMuIFR3byB0cmlnZ2VycyBleGlzdDogdGhlIGxvb3AgdHJpZ2dlciBhbmQgdGhl
IHJldHVybgpAQCAtOTc0LDcgKzk3MCw2IEBAIHByaXZhdGU6CiAKICAgICBSZWZDb3VudGVkQXJy
YXk8TExJbnRDYWxsTGlua0luZm8+IG1fbGxpbnRDYWxsTGlua0luZm9zOwogICAgIFNlbnRpbmVs
TGlua2VkTGlzdDxMTEludENhbGxMaW5rSW5mbywgQmFzaWNSYXdTZW50aW5lbE5vZGU8TExJbnRD
YWxsTGlua0luZm8+PiBtX2luY29taW5nTExJbnRDYWxsczsKLSAgICBTdHJ1Y3R1cmVXYXRjaHBv
aW50TWFwIG1fbGxpbnRHZXRCeUlkV2F0Y2hwb2ludE1hcDsKICAgICBQb2lzb25lZFJlZlB0cjxD
b2RlQmxvY2tQb2lzb24sIEpJVENvZGU+IG1faml0Q29kZTsKICNpZiBFTkFCTEUoSklUKQogICAg
IHN0ZDo6dW5pcXVlX3B0cjxSZWdpc3RlckF0T2Zmc2V0TGlzdD4gbV9jYWxsZWVTYXZlUmVnaXN0
ZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRT
dGF0dXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMu
Y3BwCmluZGV4IDA0YTM3NjdkNTUxMTA0NjQyYTY3YjM2MTI2NGFiZGM0NjE5M2MxOTMuLjlmY2Rl
NTUxYjEyMDJlOGQ5YTg1NTE4OGZjNTYyODU3MjIzOGE3YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKQEAgLTEwNCwxMSArMTA0LDcg
QEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRnJvbUxMSW50KENvZGVCbG9j
ayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQKICAgICB9CiAKICAgICBjYXNlIG9wX2dldF9hcnJh
eV9sZW5ndGg6Ci0gICAgY2FzZSBvcF90cnlfZ2V0X2J5X2lkOgotICAgIGNhc2Ugb3BfZ2V0X2J5
X2lkX3Byb3RvX2xvYWQ6Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfdW5zZXQ6IHsKLSAgICAgICAg
Ly8gRklYTUU6IFdlIHNob3VsZCBub3QganVzdCBiYWlsIGlmIHdlIHNlZSBhIHRyeV9nZXRfYnlf
aWQgb3IgYSBnZXRfYnlfaWRfcHJvdG9fbG9hZC4KLSAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODAzOQorICAgIGNhc2Ugb3BfdHJ5X2dldF9ieV9p
ZDogewogICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhOb0luZm9ybWF0aW9uLCBmYWxzZSk7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTExJ
bnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9MTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVy
ZVdhdGNocG9pbnQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNmNjMjJkNTE1
MGRmOGVjZGI4YmI4YTM1YzVhY2QyYzU3ZjcxZTUwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9MTElu
dFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuY3BwCisrKyAvZGV2L251
bGwKQEAgLTEsNjAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNi0yMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkxMSW50UHJvdG90
eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oIgotCi0jaW5jbHVkZSAiQ29kZUJs
b2NrLmgiCi0jaW5jbHVkZSAiSW5zdHJ1Y3Rpb24uaCIKLSNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
Ci0KLW5hbWVzcGFjZSBKU0MgewotCi1MTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVy
ZVdhdGNocG9pbnQ6OkxMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2lu
dChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiYga2V5LCBJbnN0cnVjdGlvbiogZ2V0QnlJ
ZEluc3RydWN0aW9uKQotICAgIDogbV9rZXkoa2V5KQotICAgICwgbV9nZXRCeUlkSW5zdHJ1Y3Rp
b24oZ2V0QnlJZEluc3RydWN0aW9uKQotewotICAgIFJFTEVBU0VfQVNTRVJUKGtleS53YXRjaGlu
Z1JlcXVpcmVzU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnQoKSk7Ci0gICAgUkVMRUFTRV9B
U1NFUlQoIWtleS53YXRjaGluZ1JlcXVpcmVzUmVwbGFjZW1lbnRXYXRjaHBvaW50KCkpOwotfQot
Ci12b2lkIExMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludDo6aW5z
dGFsbCgpCi17Ci0gICAgUkVMRUFTRV9BU1NFUlQobV9rZXkuaXNXYXRjaGFibGUoKSk7Ci0KLSAg
ICBtX2tleS5vYmplY3QoKS0+c3RydWN0dXJlKCktPmFkZFRyYW5zaXRpb25XYXRjaHBvaW50KHRo
aXMpOwotfQotCi12b2lkIExMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hw
b2ludDo6ZmlyZUludGVybmFsKGNvbnN0IEZpcmVEZXRhaWwmKQotewotICAgIGlmIChtX2tleS5p
c1dhdGNoYWJsZShQcm9wZXJ0eUNvbmRpdGlvbjo6RW5zdXJlV2F0Y2hhYmlsaXR5KSkgewotICAg
ICAgICBpbnN0YWxsKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBDb2RlQmxvY2s6
OmNsZWFyTExJbnRHZXRCeUlkQ2FjaGUobV9nZXRCeUlkSW5zdHJ1Y3Rpb24pOwotfQotCi19IC8v
IG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9MTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9MTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVj
dHVyZVdhdGNocG9pbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGE3M2M2Yzc5
ZDdmZDM1NDY1OGVjNmEzOWNhYTQwZDFhMDQzMDU4ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTExJ
bnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmgKKysrIC9kZXYvbnVs
bApAQCAtMSw0OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJJbnN0cnVjdGlvbi5oIgotI2luY2x1
ZGUgIk9iamVjdFByb3BlcnR5Q29uZGl0aW9uLmgiCi0jaW5jbHVkZSAiV2F0Y2hwb2ludC5oIgot
Ci1uYW1lc3BhY2UgSlNDIHsKLQotY2xhc3MgTExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1
Y3R1cmVXYXRjaHBvaW50IDogcHVibGljIFdhdGNocG9pbnQgewotcHVibGljOgotICAgIExMSW50
UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludChjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvbiYsIEluc3RydWN0aW9uKik7Ci0KLSAgICB2b2lkIGluc3RhbGwoKTsKLQot
cHJvdGVjdGVkOgotICAgIHZvaWQgZmlyZUludGVybmFsKGNvbnN0IEZpcmVEZXRhaWwmKSBvdmVy
cmlkZTsKLQotcHJpdmF0ZToKLSAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiBtX2tleTsKLSAg
ICBJbnN0cnVjdGlvbiogbV9nZXRCeUlkSW5zdHJ1Y3Rpb247Ci19OwotCi19IC8vIG5hbWVzcGFj
ZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggZDFkNDE5MmE4ZmYzYjlhM2M3MDhlOTQ0Y2I5ZGM0
MTVlY2NiOTFjZC4uNjgzOTUyMTU2YTIwMTM2ZjBlMjI4NzI5YmU5ZTUxMTJiMmYwYmEwMSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5jcHAKQEAgLTI3MDMsNyArMjcwMyw2IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2Rl
R2VuZXJhdG9yOjplbWl0R2V0QnlJZChSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIGJhc2Us
IGNvCiAgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKDApOwogICAgIGluc3RydWN0aW9ucygpLmFw
cGVuZCgwKTsKICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoMCk7Ci0gICAgaW5zdHJ1Y3Rpb25z
KCkuYXBwZW5kKE9wdGlvbnM6OnByb3RvdHlwZUhpdENvdW50Rm9yTExJbnRDYWNoaW5nKCkpOwog
ICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChwcm9maWxlKTsKICAgICByZXR1cm4gZHN0OwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRl
eCA2NjEzMmZhYTBkMGM5YTFiYTU0OTBlZWQwNmNkNmU2NTNlMmJmYzE1Li45ZWYwYzM2ZmU4Mjk2
ZDM1NWYyZGVmMzcyNjVkYjI0ODUwNGY4YmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAtNTEyMCw4ICs1MTIwLDYgQEAgdm9pZCBC
eXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgY2FzZSBv
cF9nZXRfYnlfaWRfZGlyZWN0OgogICAgICAgICBjYXNlIG9wX3RyeV9nZXRfYnlfaWQ6CiAgICAg
ICAgIGNhc2Ugb3BfZ2V0X2J5X2lkOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF9wcm90b19s
b2FkOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF91bnNldDoKICAgICAgICAgY2FzZSBvcF9n
ZXRfYXJyYXlfbGVuZ3RoOiB7CiAgICAgICAgICAgICBTcGVjdWxhdGVkVHlwZSBwcmVkaWN0aW9u
ID0gZ2V0UHJlZGljdGlvbigpOwogICAgICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKaW5kZXggNWNlZTY1YjY4NDNlY2E1MDg4ZWQxYTlh
OTEwOTRmMzQwNTdhYWE0NC4uZGI4NGU5NmYzOGQ0ZTFjMDdhOWI4MDU1ODRlNDIxMzgyM2ExMzM5
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcApA
QCAtMTY0LDggKzE2NCw2IEBAIENhcGFiaWxpdHlMZXZlbCBjYXBhYmlsaXR5TGV2ZWwoT3Bjb2Rl
SUQgb3Bjb2RlSUQsIENvZGVCbG9jayogY29kZUJsb2NrLCBJbnN0cnVjCiAgICAgY2FzZSBvcF9w
dXRfYnlfdmFsX2RpcmVjdDoKICAgICBjYXNlIG9wX3RyeV9nZXRfYnlfaWQ6CiAgICAgY2FzZSBv
cF9nZXRfYnlfaWQ6Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfcHJvdG9fbG9hZDoKLSAgICBjYXNl
IG9wX2dldF9ieV9pZF91bnNldDoKICAgICBjYXNlIG9wX2dldF9ieV9pZF93aXRoX3RoaXM6CiAg
ICAgY2FzZSBvcF9nZXRfYnlfaWRfZGlyZWN0OgogICAgIGNhc2Ugb3BfZ2V0X2J5X3ZhbF93aXRo
X3RoaXM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggOWRhZjZiOTQ4NjE1YTMxYzU0
OTlhMmUxMmY5Mjk0M2IxZDRkMGY5My4uNWQ0NjFhYmY1YjlmOGExNzEzODkyMzJjMmM1YWViYmRk
ZDI4OTVhNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMzMwLDggKzMzMCw2IEBA
IHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9w
X2JlbG93ZXEpCiAgICAgICAgIERFRklORV9PUChvcF90cnlfZ2V0X2J5X2lkKQogICAgICAgICBj
YXNlIG9wX2dldF9hcnJheV9sZW5ndGg6Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX3Byb3Rv
X2xvYWQ6Ci0gICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX3Vuc2V0OgogICAgICAgICBERUZJTkVf
T1Aob3BfZ2V0X2J5X2lkKQogICAgICAgICBERUZJTkVfT1Aob3BfZ2V0X2J5X2lkX3dpdGhfdGhp
cykKICAgICAgICAgREVGSU5FX09QKG9wX2dldF9ieV9pZF9kaXJlY3QpCkBAIC01MDksOCArNTA3
LDYgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlU2xvd0Nhc2VzKCkKICAgICAgICAgREVGSU5F
X1NMT1dDQVNFX09QKG9wX2VxKQogICAgICAgICBERUZJTkVfU0xPV0NBU0VfT1Aob3BfdHJ5X2dl
dF9ieV9pZCkKICAgICAgICAgY2FzZSBvcF9nZXRfYXJyYXlfbGVuZ3RoOgotICAgICAgICBjYXNl
IG9wX2dldF9ieV9pZF9wcm90b19sb2FkOgotICAgICAgICBjYXNlIG9wX2dldF9ieV9pZF91bnNl
dDoKICAgICAgICAgREVGSU5FX1NMT1dDQVNFX09QKG9wX2dldF9ieV9pZCkKICAgICAgICAgREVG
SU5FX1NMT1dDQVNFX09QKG9wX2dldF9ieV9pZF93aXRoX3RoaXMpCiAgICAgICAgIERFRklORV9T
TE9XQ0FTRV9PUChvcF9nZXRfYnlfaWRfZGlyZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKaW5kZXggODhiY2JjOThkOWZjNTJkZjE2ZmY4NGFh
YmFhNGVhMmM5ZTY3MTAyNS4uODE3ZTZjOTMwYjEyY2ExZjFkNGZlNmUyNDI0YzBlN2QxZTQwMDFk
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhz
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3Bw
CkBAIC02NDEsNjMgKzY0MSw2IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9nZXRf
YnlfaWRfZGlyZWN0KQogICAgIExMSU5UX1JFVFVSTl9QUk9GSUxFRChvcF9nZXRfYnlfaWRfZGly
ZWN0LCByZXN1bHQpOwogfQogCi0KLXN0YXRpYyB2b2lkIHNldHVwR2V0QnlJZFByb3RvdHlwZUNh
Y2hlKEV4ZWNTdGF0ZSogZXhlYywgVk0mIHZtLCBJbnN0cnVjdGlvbiogcGMsIEpTQ2VsbCogYmFz
ZUNlbGwsIFByb3BlcnR5U2xvdCYgc2xvdCwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQpCi17Ci0g
ICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKLSAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IGJhc2VDZWxsLT5zdHJ1Y3R1cmUoKTsKLQotICAgIGlmIChzdHJ1Y3R1
cmUtPnR5cGVJbmZvKCkucHJvaGliaXRzUHJvcGVydHlDYWNoaW5nKCkpCi0gICAgICAgIHJldHVy
bjsKLSAgICAKLSAgICBpZiAoc3RydWN0dXJlLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50
KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgp
KSB7Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc0JlZW5GbGF0dGVuZWRCZWZvcmUoKSkKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFyeVN0
cnVjdHVyZSh2bSwganNDYXN0PEpTT2JqZWN0Kj4oYmFzZUNlbGwpKTsKLSAgICB9Ci0KLSAgICBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBjb25kaXRpb25zOwotICAgIGlmIChzbG90LmlzVW5z
ZXQoKSkKLSAgICAgICAgY29uZGl0aW9ucyA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5
TWlzcyh2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7Ci0gICAg
ZWxzZQotICAgICAgICBjb25kaXRpb25zID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBl
UHJvcGVydHlIaXQodm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNl
KCksIGlkZW50LmltcGwoKSk7Ci0KLSAgICBpZiAoIWNvbmRpdGlvbnMuaXNWYWxpZCgpKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBpbnZhbGlkT2Zmc2V0
OwotICAgIENvZGVCbG9jazo6U3RydWN0dXJlV2F0Y2hwb2ludE1hcCYgd2F0Y2hwb2ludE1hcCA9
IGNvZGVCbG9jay0+bGxpbnRHZXRCeUlkV2F0Y2hwb2ludE1hcCgpOwotICAgIGF1dG8gcmVzdWx0
ID0gd2F0Y2hwb2ludE1hcC5hZGQoc3RydWN0dXJlLCBCYWc8TExJbnRQcm90b3R5cGVMb2FkQWRh
cHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50PigpKTsKLSAgICBmb3IgKE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uIGNvbmRpdGlvbiA6IGNvbmRpdGlvbnMpIHsKLSAgICAgICAgaWYgKCFjb25kaXRpb24u
aXNXYXRjaGFibGUoKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKGNvbmRpdGlv
bi5jb25kaXRpb24oKS5raW5kKCkgPT0gUHJvcGVydHlDb25kaXRpb246OlByZXNlbmNlKQotICAg
ICAgICAgICAgb2Zmc2V0ID0gY29uZGl0aW9uLmNvbmRpdGlvbigpLm9mZnNldCgpOwotICAgICAg
ICByZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmFkZChjb25kaXRpb24sIHBjKS0+aW5zdGFsbCgpOwot
ICAgIH0KLSAgICBBU1NFUlQoKG9mZnNldCA9PSBpbnZhbGlkT2Zmc2V0KSA9PSBzbG90LmlzVW5z
ZXQoKSk7Ci0KLSAgICBDb25jdXJyZW50SlNMb2NrZXIgbG9ja2VyKGNvZGVCbG9jay0+bV9sb2Nr
KTsKLQotICAgIGlmIChzbG90LmlzVW5zZXQoKSkgewotICAgICAgICBwY1swXS51Lm9wY29kZSA9
IExMSW50OjpnZXRPcGNvZGUob3BfZ2V0X2J5X2lkX3Vuc2V0KTsKLSAgICAgICAgcGNbNF0udS5z
dHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+aWQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAg
ICBBU1NFUlQoc2xvdC5pc1ZhbHVlKCkpOwotCi0gICAgcGNbMF0udS5vcGNvZGUgPSBMTEludDo6
Z2V0T3Bjb2RlKG9wX2dldF9ieV9pZF9wcm90b19sb2FkKTsKLSAgICBwY1s0XS51LnN0cnVjdHVy
ZUlEID0gc3RydWN0dXJlLT5pZCgpOwotICAgIHBjWzVdLnUub3BlcmFuZCA9IG9mZnNldDsKLSAg
ICAvLyBXZSBrbm93IHRoYXQgdGhpcyBwb2ludGVyIHdpbGwgcmVtYWluIHZhbGlkIGJlY2F1c2Ug
aXQgd2lsbCBiZSBjbGVhcmVkIGJ5IGVpdGhlciBhIHdhdGNocG9pbnQgZmlyZSBvcgotICAgIC8v
IGR1cmluZyBHQyB3aGVuIHdlIGNsZWFyIHRoZSBMTEludCBjYWNoZXMuCi0gICAgcGNbNl0udS5w
b2ludGVyID0gc2xvdC5zbG90QmFzZSgpOwotfQotCi0KIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNs
b3dfcGF0aF9nZXRfYnlfaWQpCiB7CiAgICAgTExJTlRfQkVHSU4oKTsKQEAgLTcxOCw5ICs2NjEs
NyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfZ2V0X2J5X2lkKQogICAgICAgICAg
ICAgU3RydWN0dXJlSUQgb2xkU3RydWN0dXJlSUQgPSBwY1s0XS51LnN0cnVjdHVyZUlEOwogICAg
ICAgICAgICAgaWYgKG9sZFN0cnVjdHVyZUlEKSB7CiAgICAgICAgICAgICAgICAgYXV0byBvcGNv
ZGUgPSBJbnRlcnByZXRlcjo6Z2V0T3Bjb2RlSUQocGNbMF0pOwotICAgICAgICAgICAgICAgIGlm
IChvcGNvZGUgPT0gb3BfZ2V0X2J5X2lkCi0gICAgICAgICAgICAgICAgICAgIHx8IG9wY29kZSA9
PSBvcF9nZXRfYnlfaWRfdW5zZXQKLSAgICAgICAgICAgICAgICAgICAgfHwgb3Bjb2RlID09IG9w
X2dldF9ieV9pZF9wcm90b19sb2FkKSB7CisgICAgICAgICAgICAgICAgaWYgKG9wY29kZSA9PSBv
cF9nZXRfYnlfaWQpIHsKICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlKiBhID0gdm0uaGVh
cC5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0KG9sZFN0cnVjdHVyZUlEKTsKICAgICAgICAgICAgICAg
ICAgICAgU3RydWN0dXJlKiBiID0gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUodm0pOwog
CkBAIC03MzksOSArNjgwLDYgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX2dldF9i
eV9pZCkKICAgICAgICAgICAgIHBjWzBdLnUub3Bjb2RlID0gTExJbnQ6OmdldE9wY29kZShvcF9n
ZXRfYnlfaWQpOwogICAgICAgICAgICAgcGNbNF0udS5wb2ludGVyID0gbnVsbHB0cjsgLy8gb2xk
IHN0cnVjdHVyZQogICAgICAgICAgICAgcGNbNV0udS5wb2ludGVyID0gbnVsbHB0cjsgLy8gb2Zm
c2V0Ci0KLSAgICAgICAgICAgIC8vIFByZXZlbnQgdGhlIHByb3RvdHlwZSBjYWNoZSBmcm9tIGV2
ZXIgaGFwcGVuaW5nLgotICAgICAgICAgICAgcGNbN10udS5vcGVyYW5kID0gMDsKICAgICAgICAg
CiAgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5wcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxl
KCkKICAgICAgICAgICAgICAgICAmJiAhc3RydWN0dXJlLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRj
aHBvaW50KCkpIHsKQEAgLTc1MiwxMSArNjkwLDYgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xv
d19wYXRoX2dldF9ieV9pZCkKICAgICAgICAgICAgICAgICBwY1s0XS51LnN0cnVjdHVyZUlEID0g
c3RydWN0dXJlLT5pZCgpOwogICAgICAgICAgICAgICAgIHBjWzVdLnUub3BlcmFuZCA9IHNsb3Qu
Y2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSBpZiAoVU5MSUtF
TFkocGNbN10udS5vcGVyYW5kICYmIChzbG90LmlzVmFsdWUoKSB8fCBzbG90LmlzVW5zZXQoKSkp
KSB7Ci0gICAgICAgICAgICBBU1NFUlQoc2xvdC5zbG90QmFzZSgpICE9IGJhc2VWYWx1ZSk7Ci0K
LSAgICAgICAgICAgIGlmICghKC0tcGNbN10udS5vcGVyYW5kKSkKLSAgICAgICAgICAgICAgICBz
ZXR1cEdldEJ5SWRQcm90b3R5cGVDYWNoZShleGVjLCB2bSwgcGMsIGJhc2VDZWxsLCBzbG90LCBp
ZGVudCk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKCFMTElOVF9BTFdBWVNfQUNDRVNTX1NM
T1cKICAgICAgICAgJiYgaXNKU0FycmF5KGJhc2VWYWx1ZSkKQEAgLTc2NSw5ICs2OTgsNiBAQCBM
TElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfZ2V0X2J5X2lkKQogICAgICAgICBBcnJheVBy
b2ZpbGUqIGFycmF5UHJvZmlsZSA9IGNvZGVCbG9jay0+Z2V0T3JBZGRBcnJheVByb2ZpbGUoY29k
ZUJsb2NrLT5ieXRlY29kZU9mZnNldChwYykpOwogICAgICAgICBhcnJheVByb2ZpbGUtPm9ic2Vy
dmVTdHJ1Y3R1cmUoYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKSk7CiAgICAgICAgIHBj
WzRdLnUuYXJyYXlQcm9maWxlID0gYXJyYXlQcm9maWxlOwotCi0gICAgICAgIC8vIFByZXZlbnQg
dGhlIHByb3RvdHlwZSBjYWNoZSBmcm9tIGV2ZXIgaGFwcGVuaW5nLgotICAgICAgICBwY1s3XS51
Lm9wZXJhbmQgPSAwOwogICAgIH0KIAogICAgIHBjW09QQ09ERV9MRU5HVEgob3BfZ2V0X2J5X2lk
KSAtIDFdLnUucHJvZmlsZS0+bV9idWNrZXRzWzBdID0gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjMyXzY0LmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyMzJfNjQuYXNtCmluZGV4IGQ1MWI2ZDE0YzAwZmFkNjhkODQ3NzBmM2MwM2JlYjg4NjQ2
ZjI3OTEuLjUxYmY3YTljMTJiNzM5MmZjNDczYjU3MzI5ZWJiOTYwYjY4MGQxYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQu
YXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
MzJfNjQuYXNtCkBAIC0xNDI4LDQzICsxNDI4LDYgQEAgX2xsaW50X29wX2dldF9ieV9pZDoKICAg
ICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2J5X2lkX2xlbmd0aCkKIAogCi1fbGxpbnRfb3Bf
Z2V0X2J5X2lkX3Byb3RvX2xvYWQ6Ci0gICAgdHJhY2VFeGVjdXRpb24oKQotICAgIGxvYWRpIDhb
UENdLCB0MAotICAgIGxvYWRpIDE2W1BDXSwgdDEKLSAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxl
UGF5bG9hZCh0MCwgQ2VsbFRhZywgdDMsIC5vcEdldEJ5SWRQcm90b1Nsb3cpCi0gICAgbG9hZGkg
MjBbUENdLCB0MgotICAgIGJpbmVxIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0M10sIHQxLCAub3BH
ZXRCeUlkUHJvdG9TbG93Ci0gICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNiwgdDMpCi0gICAgbG9h
ZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldCh0MiwgdDMsIHQwLCB0MSkKLSAgICBsb2FkaSA0W1BD
XSwgdDIKLSAgICBzdG9yZWkgdDAsIFRhZ09mZnNldFtjZnIsIHQyLCA4XQotICAgIHN0b3JlaSB0
MSwgUGF5bG9hZE9mZnNldFtjZnIsIHQyLCA4XQotICAgIHZhbHVlUHJvZmlsZSh0MCwgdDEsIDMy
LCB0MikKLSAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2J5X2lkX3Byb3RvX2xvYWRfbGVu
Z3RoKQotCi0ub3BHZXRCeUlkUHJvdG9TbG93OgotICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xv
d19wYXRoX2dldF9ieV9pZCkKLSAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2J5X2lkX3By
b3RvX2xvYWRfbGVuZ3RoKQotCi0KLV9sbGludF9vcF9nZXRfYnlfaWRfdW5zZXQ6Ci0gICAgdHJh
Y2VFeGVjdXRpb24oKQotICAgIGxvYWRpIDhbUENdLCB0MAotICAgIGxvYWRpIDE2W1BDXSwgdDEK
LSAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZCh0MCwgQ2VsbFRhZywgdDMsIC5vcEdl
dEJ5SWRVbnNldFNsb3cpCi0gICAgYmluZXEgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QzXSwgdDEs
IC5vcEdldEJ5SWRVbnNldFNsb3cKLSAgICBsb2FkaSA0W1BDXSwgdDIKLSAgICBzdG9yZWkgVW5k
ZWZpbmVkVGFnLCBUYWdPZmZzZXRbY2ZyLCB0MiwgOF0KLSAgICBzdG9yZWkgMCwgUGF5bG9hZE9m
ZnNldFtjZnIsIHQyLCA4XQotICAgIHZhbHVlUHJvZmlsZShVbmRlZmluZWRUYWcsIDAsIDMyLCB0
MikKLSAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2J5X2lkX3Vuc2V0X2xlbmd0aCkKLQot
Lm9wR2V0QnlJZFVuc2V0U2xvdzoKLSAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9n
ZXRfYnlfaWQpCi0gICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9ieV9pZF91bnNldF9sZW5n
dGgpCi0KLQogX2xsaW50X29wX2dldF9hcnJheV9sZW5ndGg6CiAgICAgdHJhY2VFeGVjdXRpb24o
KQogICAgIGxvYWRpIDhbUENdLCB0MApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQppbmRleCA2MjY5ODlkNTI2ZmFlYjAyYTg1
YjIwZTk1ZDZkY2I5NjhhYmIwYWQwLi43ZDJhOThkZTFlMmM2NWI2NmRkNGNmNzkxMjE5NTU1YWQ4
ZWVmM2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbQpAQCAtMTM0Miw3ICsxMzQyLDcgQEAgX2xsaW50X29wX2dldF9i
eV9pZDoKICAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDIpCiAgICAgbG9hZFByb3BlcnR5
QXRWYXJpYWJsZU9mZnNldCh0MSwgdDMsIHQwKQogICAgIHN0b3JlcSB0MCwgW2NmciwgdDIsIDhd
Ci0gICAgdmFsdWVQcm9maWxlKHQwLCA4LCB0MSkKKyAgICB2YWx1ZVByb2ZpbGUodDAsIGNvbnN0
ZXhwciAob3BfZ2V0X2J5X2lkX2xlbmd0aCAtIDEpLCB0MSkKICAgICBkaXNwYXRjaChjb25zdGV4
cHIgb3BfZ2V0X2J5X2lkX2xlbmd0aCkKIAogLm9wR2V0QnlJZFNsb3c6CkBAIC0xMzUwLDQzICsx
MzUwLDYgQEAgX2xsaW50X29wX2dldF9ieV9pZDoKICAgICBkaXNwYXRjaChjb25zdGV4cHIgb3Bf
Z2V0X2J5X2lkX2xlbmd0aCkKIAogCi1fbGxpbnRfb3BfZ2V0X2J5X2lkX3Byb3RvX2xvYWQ6Ci0g
ICAgdHJhY2VFeGVjdXRpb24oKQotICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkKLSAg
ICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbCh0MCwgdDMsIC5vcEdldEJ5SWRQcm90b1Nsb3cp
Ci0gICAgbG9hZGkgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QzXSwgdDEKLSAgICBsb2FkaXNGcm9t
SW5zdHJ1Y3Rpb24oNCwgdDIpCi0gICAgYmluZXEgdDIsIHQxLCAub3BHZXRCeUlkUHJvdG9TbG93
Ci0gICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDUsIHQxKQotICAgIGxvYWRwRnJvbUluc3RydWN0
aW9uKDYsIHQzKQotICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MikKLSAgICBsb2FkUHJv
cGVydHlBdFZhcmlhYmxlT2Zmc2V0KHQxLCB0MywgdDApCi0gICAgc3RvcmVxIHQwLCBbY2ZyLCB0
MiwgOF0KLSAgICB2YWx1ZVByb2ZpbGUodDAsIDgsIHQxKQotICAgIGRpc3BhdGNoKGNvbnN0ZXhw
ciBvcF9nZXRfYnlfaWRfcHJvdG9fbG9hZF9sZW5ndGgpCi0KLS5vcEdldEJ5SWRQcm90b1Nsb3c6
Ci0gICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfZ2V0X2J5X2lkKQotICAgIGRpc3Bh
dGNoKGNvbnN0ZXhwciBvcF9nZXRfYnlfaWRfcHJvdG9fbG9hZF9sZW5ndGgpCi0KLQotX2xsaW50
X29wX2dldF9ieV9pZF91bnNldDoKLSAgICB0cmFjZUV4ZWN1dGlvbigpCi0gICAgbG9hZGlzRnJv
bUluc3RydWN0aW9uKDIsIHQwKQotICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsKHQwLCB0
MywgLm9wR2V0QnlJZFVuc2V0U2xvdykKLSAgICBsb2FkaSBKU0NlbGw6Om1fc3RydWN0dXJlSURb
dDNdLCB0MQotICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0MikKLSAgICBiaW5lcSB0Miwg
dDEsIC5vcEdldEJ5SWRVbnNldFNsb3cKLSAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDIp
Ci0gICAgc3RvcmVxIFZhbHVlVW5kZWZpbmVkLCBbY2ZyLCB0MiwgOF0KLSAgICB2YWx1ZVByb2Zp
bGUoVmFsdWVVbmRlZmluZWQsIDgsIHQxKQotICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRf
YnlfaWRfdW5zZXRfbGVuZ3RoKQotCi0ub3BHZXRCeUlkVW5zZXRTbG93OgotICAgIGNhbGxTbG93
UGF0aChfbGxpbnRfc2xvd19wYXRoX2dldF9ieV9pZCkKLSAgICBkaXNwYXRjaChjb25zdGV4cHIg
b3BfZ2V0X2J5X2lkX3Vuc2V0X2xlbmd0aCkKLQotCiBfbGxpbnRfb3BfZ2V0X2FycmF5X2xlbmd0
aDoKICAgICB0cmFjZUV4ZWN1dGlvbigpCiAgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQw
KQpAQCAtMTQwMSw3ICsxMzY0LDcgQEAgX2xsaW50X29wX2dldF9hcnJheV9sZW5ndGg6CiAgICAg
bG9hZGkgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMu
cHVibGljTGVuZ3RoW3QwXSwgdDAKICAgICBiaWx0IHQwLCAwLCAub3BHZXRBcnJheUxlbmd0aFNs
b3cKICAgICBvcnEgdGFnVHlwZU51bWJlciwgdDAKLSAgICB2YWx1ZVByb2ZpbGUodDAsIDgsIHQy
KQorICAgIHZhbHVlUHJvZmlsZSh0MCwgY29uc3RleHByIChvcF9nZXRfYXJyYXlfbGVuZ3RoX2xl
bmd0aCAtIDEpLCB0MikKICAgICBzdG9yZXEgdDAsIFtjZnIsIHQxLCA4XQogICAgIGRpc3BhdGNo
KGNvbnN0ZXhwciBvcF9nZXRfYXJyYXlfbGVuZ3RoX2xlbmd0aCkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvT3B0aW9ucy5oCmluZGV4IDVkZmM4YWE2MDJhZWFkYWYxMDM5OTI0YjBkOWYz
MzcyNDNiOTg4ZDguLjBlMmVjOTVlMDczMTljM2YxYmRmM2U1M2YxMDNlYjgwMGQ4YTU1MGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKQEAgLTQ1Miw4ICs0NTIsNiBA
QCBjb25zdGV4cHIgYm9vbCBlbmFibGVJbnRsUGx1cmFsUnVsZXMgPSBmYWxzZTsKICAgICBcCiAg
ICAgdihib29sLCB1c2VJQ1N0YXRzLCBmYWxzZSwgTm9ybWFsLCBudWxscHRyKSBcCiAgICAgXAot
ICAgIHYodW5zaWduZWQsIHByb3RvdHlwZUhpdENvdW50Rm9yTExJbnRDYWNoaW5nLCAyLCBOb3Jt
YWwsICJOdW1iZXIgb2YgcHJvdG90eXBlIHByb3BlcnR5IGhpdHMgYmVmb3JlIGNhY2hpbmcgYSBw
cm90b3R5cGUgaW4gdGhlIExMSW50LiBBIGNvdW50IG9mIDAgbWVhbnMgbmV2ZXIgY2FjaGUuIikg
XAotICAgIFwKICAgICB2KGJvb2wsIGR1bXBDb21waWxlZFJlZ0V4cFBhdHRlcm5zLCBmYWxzZSwg
Tm9ybWFsLCBudWxscHRyKSBcCiAgICAgXAogICAgIHYoYm9vbCwgZHVtcE1vZHVsZVJlY29yZCwg
ZmFsc2UsIE5vcm1hbCwgbnVsbHB0cikgXAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339424</attachid>
            <date>2018-05-03 10:28:23 -0700</date>
            <delta_ts>2018-05-03 11:18:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185226-20180503102823.patch</filename>
            <type>text/plain</type>
            <size>35736</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ODczOWY1MGQyMmY4NTY5OGUzMjIxYjc3YmY0NDdjYjRjZTJhZTBiLi5iOGZkNzY1MmZlYTgyOWRm
MWE4NTA1NWQxYWFjMmY1MjMzNGI3MTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0OSBAQAorMjAxOC0wNS0wMyAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBSZW1vdmUgdGhlIHByb3RvdHlwZSBjYWNoaW5nIGZvciBnZXRfYnlf
aWQgaW4gdGhlIExMSW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xODUyMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGVyZSBpcyBubyBldmlkZW5jZSB0aGF0IHRoaXMgaXMgYWN0dWFsbHkgYSBzcGVl
ZHVwIGFuZCB3ZSBrZWVwCisgICAgICAgIGdldHRpbmcgYnVncyB3aXRoIGl0LiBBdCB0aGlzIHBv
aW50IGl0IHNlZW1zIGxpa2Ugd2Ugc2hvdWxkIGp1c3QKKyAgICAgICAgcmVtb3ZlIHRoaXMgY29k
ZS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEphdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVEdW1wZXIuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29k
ZUR1bXBlcjxCbG9jaz46OnByaW50R2V0QnlJZE9wKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVE
dW1wZXI8QmxvY2s+OjpwcmludEdldEJ5SWRDYWNoZVN0YXR1cyk6CisgICAgICAgIChKU0M6OkJ5
dGVjb2RlRHVtcGVyPEJsb2NrPjo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29kZS9C
eXRlY29kZUxpc3QuanNvbjoKKyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZVVzZURlZi5oOgor
ICAgICAgICAoSlNDOjpjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KToKKyAgICAgICAgKEpT
Qzo6Y29tcHV0ZURlZnNGb3JCeXRlY29kZU9mZnNldCk6CisgICAgICAgICogYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpmaW5hbGl6ZUxMSW50SW5saW5l
Q2FjaGVzKToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suaDoKKyAgICAgICAgKEpTQzo6
Q29kZUJsb2NrOjpsbGludEdldEJ5SWRXYXRjaHBvaW50TWFwKTogRGVsZXRlZC4KKyAgICAgICAg
KiBieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcDoKKyAgICAgICAgKEpTQzo6R2V0QnlJZFN0YXR1
czo6Y29tcHV0ZUZyb21MTEludCk6CisgICAgICAgICogYnl0ZWNvZGUvTExJbnRQcm90b3R5cGVM
b2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBi
eXRlY29kZS9MTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaDog
UmVtb3ZlZC4KKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgor
ICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdEdldEJ5SWQpOgorICAgICAgICAq
IGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQ
YXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBhYmlsaXRpZXMuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OmNhcGFiaWxpdHlMZXZlbCk6CisgICAgICAgICogaml0L0pJVC5j
cHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6CisgICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVTbG93Q2FzZXMpOgorICAgICAgICAqIGxsaW50L0xM
SW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKEpTQzo6TExJbnQ6OkxMSU5UX1NMT1dfUEFUSF9E
RUNMKToKKyAgICAgICAgKEpTQzo6TExJbnQ6OnNldHVwR2V0QnlJZFByb3RvdHlwZUNhY2hlKTog
RGVsZXRlZC4KKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgor
ICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206CisgICAgICAgICogcnVu
dGltZS9PcHRpb25zLmg6CisKIDIwMTgtMDQtMzAgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSB0aGUgTWF5QmVQcm90b3R5cGUgSlNDZWxsIGhl
YWRlciBiaXQgdG8gSW5saW5lVHlwZUZsYWdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggZmRkNWY2ZjE2ZTJjYjE4NzdhNzQ2M2NlMThiMTIwNmEzM2NjNGRiZS4uZjVjNmM3
NjM1OWY0NjE4MjFmMmZkMDY4MjM1OTE4MDdkOWVmMzVlNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtNDQ4LDcgKzQ0OCw2IEBAIHNldChKYXZhU2NyaXB0Q29yZV9QUklW
QVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9j
YXRpb25Qcm9maWxlLmgKICAgICBieXRlY29kZS9KdW1wVGFibGUuaAogICAgIGJ5dGVjb2RlL0xM
SW50Q2FsbExpbmtJbmZvLmgKLSAgICBieXRlY29kZS9MTEludFByb3RvdHlwZUxvYWRBZGFwdGl2
ZVN0cnVjdHVyZVdhdGNocG9pbnQuaAogICAgIGJ5dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9m
aWxlLmgKICAgICBieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCiAgICAgYnl0ZWNv
ZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb24uaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCA5NDQzNWQ4YWU1NzNiYWVkZmZiMWY2YWQ5NWRkMGNlMDIyNWI1ZTczLi5jNTM0ZDYxZDlj
ZGIxYTJlNzI5MGI0ZjIxMTIzN2I5MWJmMzNkMGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMTAzNSw3ICsxMDM1LDYgQEAKIAkJNTNGNDBFOTUxRDVBN0FFRjAwOTlBMUI2IC8q
IFdhc21Nb2R1bGVQYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUzRjQwRTk0MUQ1QTdBRUYwMDk5QTFCNiAvKiBXYXNtTW9kdWxlUGFyc2VyLmgg
Ki87IH07CiAJCTUzRjZCRjZEMUMzRjA2MEEwMEY0MUU1RCAvKiBJbnRlcm5hbEZ1bmN0aW9uQWxs
b2NhdGlvblByb2ZpbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUzRjZCRjZDMUMzRjA2MEEwMEY0MUU1RCAvKiBJbnRlcm5hbEZ1bmN0aW9uQWxsb2Nh
dGlvblByb2ZpbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk1M0Y4RDIwMDFFODM4N0Q0MDBEMjExMTYgLyogV2FzbUJCUVBsYW5JbmxpbmVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1M0Y4RDFGRjFF
ODM4N0Q0MDBEMjExMTYgLyogV2FzbUJCUVBsYW5JbmxpbmVzLmggKi87IH07Ci0JCTUzRkEyQUUx
MUNGMzdGM0YwMDIyNzExRCAvKiBMTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdh
dGNocG9pbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUzRkEyQUUwMUNGMzdGM0YwMDIyNzExRCAvKiBMTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0
cnVjdHVyZVdhdGNocG9pbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk1M0ZEMDRENDFEN0FCMjkxMDAzMjg3RDMgLyogV2FzbUNhbGxpbmdDb252
ZW50aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
M0ZEMDREMjFEN0FCMTg3MDAzMjg3RDMgLyogV2FzbUNhbGxpbmdDb252ZW50aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTNGRjdGOTkxREJG
Q0Q5MDAwQTI2Q0NDIC8qIFdhc21WYWxpZGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTNGRjdGOTgxREJGQ0Q5MDAwQTI2Q0NDIC8qIFdhc21WYWxp
ZGF0ZS5oICovOyB9OwogCQk1QjcwQ0ZERTFEQjY5RTY2MDBFQzIzRjkgLyogSlNBc3luY0Z1bmN0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Qjcw
Q0ZEODFEQjY5RTVDMDBFQzIzRjkgLyogSlNBc3luY0Z1bmN0aW9uLmggKi87IH07CkBAIC0zNDU4
LDggKzM0NTcsNiBAQAogCQk1M0Y0MEU5NjFENUE3QkVDMDA5OUExQjYgLyogV2FzbU1vZHVsZVBh
cnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXYXNtTW9kdWxl
UGFyc2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTNGNkJGNkMxQzNGMDYw
QTAwRjQxRTVEIC8qIEludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2Zp
bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTNGOEQxRkYxRTgzODdENDAwRDIx
MTE2IC8qIFdhc21CQlFQbGFuSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXYXNtQkJRUGxhbklubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
NTNGQTJBRTAxQ0YzN0YzRjAwMjI3MTFEIC8qIExMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3Ry
dWN0dXJlV2F0Y2hwb2ludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMTElu
dFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNTNGQTJBRTIxQ0YzODAzOTAwMjI3MTFEIC8qIExMSW50UHJvdG90
eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBMTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdh
dGNocG9pbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1M0ZEMDREMTFEN0FC
MTg3MDAzMjg3RDMgLyogV2FzbUNhbGxpbmdDb252ZW50aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdhc21DYWxsaW5nQ29udmVudGlvbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUzRkQwNEQyMUQ3QUIxODcwMDMyODdEMyAvKiBXYXNtQ2Fs
bGluZ0NvbnZlbnRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2FzbUNh
bGxpbmdDb252ZW50aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUzRkY3Rjk4
MURCRkNEOTAwMEEyNkNDQyAvKiBXYXNtVmFsaWRhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2FzbVZhbGlkYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC02NjcwLDYgKzY2NjcsNyBAQAogCQkJCTg2NUEzMEYwMTM1MDA3RTEwMENEQjQ5RSAvKiBKU0NK
U1ZhbHVlSW5saW5lcy5oICovLAogCQkJCUZFMkIwQjY4MUZEMEQyOTcwMDc1REE1RiAvKiBKU0NQ
b2lzb24uY3BwICovLAogCQkJCUZFMkIwQjcwMUZEOEM0NjMwMDc1REE1RiAvKiBKU0NQb2lzb24u
aCAqLywKKwkJCQlGRTc0OTdFNTIwOTAwMUIwMDAwMzU2NUIgLyogSlNDUHRyVGFnLmggKi8sCiAJ
CQkJNzJBQUY3Q0IxRDBEMzE4QjAwNUU2MEJFIC8qIEpTQ3VzdG9tR2V0dGVyU2V0dGVyRnVuY3Rp
b24uY3BwICovLAogCQkJCTcyQUFGN0NDMUQwRDMxOEIwMDVFNjBCRSAvKiBKU0N1c3RvbUdldHRl
clNldHRlckZ1bmN0aW9uLmggKi8sCiAJCQkJMEYyQjY2QkQxN0I2QjVBQjAwQTdBRTNGIC8qIEpT
RGF0YVZpZXcuY3BwICovLApAQCAtNjc1NSw3ICs2NzUzLDYgQEAKIAkJCQkyQTA1QUJENDE5NjFE
RjI0MDAzNDE3NTAgLyogSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmggKi8sCiAJCQkJODYyNTUz
Q0UxNjEzNkFBNTAwOUYxN0QwIC8qIEpTUHJveHkuY3BwICovLAogCQkJCTg2MjU1M0NGMTYxMzZB
QTUwMDlGMTdEMCAvKiBKU1Byb3h5LmggKi8sCi0JCQkJRkU3NDk3RTUyMDkwMDFCMDAwMDM1NjVC
IC8qIEpTQ1B0clRhZy5oICovLAogCQkJCTUzNDYzODcyMUU3MEQwMTUwMEYxMkFDMSAvKiBKU1J1
bkxvb3BUaW1lci5jcHAgKi8sCiAJCQkJNTM0NjM4NzAxRTcwQ0YzRDAwRjEyQUMxIC8qIEpTUnVu
TG9vcFRpbWVyLmggKi8sCiAJCQkJMTQ4NzRBRTExNUVCREU0QTAwMkUzNTg3IC8qIEpTU2NvcGUu
Y3BwICovLApAQCAtNzYzNCw4ICs3NjMxLDYgQEAKIAkJCQkwRkI1NDY3ODE0RjVDNDY4MDAyQzI5
ODkgLyogTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuY3BwICovLAogCQkJCTBGQjU0Njc2MTRGNTlB
RDEwMDJDMjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5oICovLAogCQkJCTBGMEZDNDU4
MTRCRDE1RjEwMEI4MTE1NCAvKiBMTEludENhbGxMaW5rSW5mby5oICovLAotCQkJCTUzRkEyQUUy
MUNGMzgwMzkwMDIyNzExRCAvKiBMTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdh
dGNocG9pbnQuY3BwICovLAotCQkJCTUzRkEyQUUwMUNGMzdGM0YwMDIyNzExRCAvKiBMTEludFBy
b3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaCAqLywKIAkJCQkwRkI1NDY3
QzE0RjVDRkQzMDAyQzI5ODkgLyogTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5jcHAgKi8s
CiAJCQkJMEZCNTQ2N0ExNEY1QzdENDAwMkMyOTg5IC8qIE1ldGhvZE9mR2V0dGluZ0FWYWx1ZVBy
b2ZpbGUuaCAqLywKIAkJCQkyMEVDQjE1RUZDNTI0NjI0QkMyRjAyRDUgLyogTW9kdWxlTmFtZXNw
YWNlQWNjZXNzQ2FzZS5jcHAgKi8sCkBAIC05MDAwLDYgKzg5OTUsNyBAQAogCQkJCUE1RDJFNjY1
MTk1RTE3NDAwMEE1MThFNyAvKiBKU0NvbnRleHRSZWZJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMTQ4Q0QxRDgxMDhDRjkwMjAwODE2M0M2IC8qIEpTQ29udGV4dFJlZlByaXZhdGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUZFMkIwQjczMUZEOUVGNzAwMDc1REE1RiAvKiBKU0NQb2lzb24u
aCBpbiBIZWFkZXJzICovLAorCQkJCUZFNzQ5N0U2MjA5MDAxQjEwMDAzNTY1QiAvKiBKU0NQdHJU
YWcuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3MjAyOEI4MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NU
ZXN0UnVubmVyVXRpbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTcyQUFGN0NFMUQwRDMxQjMwMDVF
NjBCRSAvKiBKU0N1c3RvbUdldHRlclNldHRlckZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRjJCNjZFQzE3QjZCNUFCMDBBN0FFM0YgLyogSlNEYXRhVmlldy5oIGluIEhlYWRlcnMgKi8s
CkBAIC05MDc1LDcgKzkwNzEsNiBAQAogCQkJCTdDMDA4Q0RCMTg3MTI0QkIwMDk1NUMyNCAvKiBK
U1Byb21pc2VEZWZlcnJlZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MxODRFMUYxN0JFRTIyRTAw
N0NCNjNBIC8qIEpTUHJvbWlzZVByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTk2Qjcz
MUYxQkRBMDhFRjAwMzMxQjg0IC8qIEpTUHJvbWlzZVByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJz
ICovLAotCQkJCUZFNzQ5N0U2MjA5MDAxQjEwMDAzNTY1QiAvKiBKU0NQdHJUYWcuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTJBMDVBQkQ2MTk2MURGMjQwMDM0MTc1MCAvKiBKU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2MjU1M0QyMTYxMzZFMUEwMDlGMTdEMCAv
KiBKU1Byb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTUyQzM4MDFBRERCOEZFMDAxMzk3MjYg
LyogSlNSZW1vdGVJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtOTE2NCw3ICs5MTU5LDYg
QEAKIAkJCQkwRjQ2ODBDQjE0QkJCMTcyMDBCRkUyNzIgLyogTExJbnRPZmZsaW5lQXNtQ29uZmln
LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRUQyODdCMjE1RUM5QTU3MDBEQTgxNjEgLyogTExJbnRP
cGNvZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTc5Q0ZDNkYwMUMzM0IxMDAwMEM3NjhFQSAvKiBM
TEludFBDUmFuZ2VzLmggaW4gSGVhZGVycyAqLywKLQkJCQk1M0ZBMkFFMTFDRjM3RjNGMDAyMjcx
MUQgLyogTExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQkwRjQ2ODBBNTE0QkE3RjhEMDBCRkUyNzIgLyogTExJbnRTbG93UGF0
aHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMEI4MzlEMTRCQ0Y0NjYwMDg4NUI0RiAvKiBMTElu
dFRodW5rcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY3NUEwNjEyMDBEMjYxODAwMzhFMkNGIC8q
IExvY2FsQWxsb2NhdG9yLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4
dAppbmRleCBlYjQ2N2VhOTgxMzlkZmJjYWQ5MDIxZWUxODEyMTkyOTA2ZTUxYjM1Li40YzM1ZWQ2
Njg4YmExNjNlYjhlNjI2MjM1YjA3MTdkYmZjN2NlNTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJj
ZXMudHh0CkBAIC0yMjUsNyArMjI1LDYgQEAgYnl0ZWNvZGUvSW5saW5lQ2FsbEZyYW1lLmNwcAog
Ynl0ZWNvZGUvSW5saW5lQ2FsbEZyYW1lU2V0LmNwcAogYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVy
QWNjZXNzQ2FzZS5jcHAKIGJ5dGVjb2RlL0p1bXBUYWJsZS5jcHAKLWJ5dGVjb2RlL0xMSW50UHJv
dG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5jcHAKIGJ5dGVjb2RlL0xhenlP
cGVyYW5kVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUvTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJv
ZmlsZS5jcHAKIGJ5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVEdW1wZXIuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlRHVtcGVyLmNwcAppbmRleCBh
YmU5YThhMjgyZWRmNGU3OGE0NjM4MzBmMzUwYjc2Zjk4ZDBmNTBmLi42ZTUzNGU3YmE2MGM2NGFi
ZDE3ZmQwMzk1ZmU4ZWFkZmNmMzgzZWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQnl0ZWNvZGVEdW1wZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9CeXRlY29kZUR1bXBlci5jcHAKQEAgLTM3NywxMiArMzc3LDYgQEAgdm9pZCBC
eXRlY29kZUR1bXBlcjxCbG9jaz46OnByaW50R2V0QnlJZE9wKFByaW50U3RyZWFtJiBvdXQsIGlu
dCBsb2NhdGlvbiwgY29uc3QKICAgICBjYXNlIG9wX2dldF9ieV9pZDoKICAgICAgICAgb3AgPSAi
Z2V0X2J5X2lkIjsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfcHJvdG9f
bG9hZDoKLSAgICAgICAgb3AgPSAiZ2V0X2J5X2lkX3Byb3RvX2xvYWQiOwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIG9wX2dldF9ieV9pZF91bnNldDoKLSAgICAgICAgb3AgPSAiZ2V0X2J5X2lk
X3Vuc2V0IjsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBvcF9nZXRfYXJyYXlfbGVuZ3RoOgog
ICAgICAgICBvcCA9ICJhcnJheV9sZW5ndGgiOwogICAgICAgICBicmVhazsKQEAgLTM5Nyw3ICsz
OTEsNyBAQCB2b2lkIEJ5dGVjb2RlRHVtcGVyPEJsb2NrPjo6cHJpbnRHZXRCeUlkT3AoUHJpbnRT
dHJlYW0mIG91dCwgaW50IGxvY2F0aW9uLCBjb25zdAogICAgIGludCBpZDAgPSAoKytpdCktPnUu
b3BlcmFuZDsKICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0LCBsb2NhdGlvbiwgaXQsIG9wKTsK
ICAgICBvdXQucHJpbnRmKCIlcywgJXMsICVzIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJl
Z2lzdGVyTmFtZShyMSkuZGF0YSgpLCBpZE5hbWUoaWQwLCBpZGVudGlmaWVyKGlkMCkpLmRhdGEo
KSk7Ci0gICAgaXQgKz0gNDsgLy8gSW5jcmVtZW50IHVwIHRvIHRoZSB2YWx1ZSBwcm9maWxlci4K
KyAgICBpdCArPSAzOyAvLyBJbmNyZW1lbnQgdXAgdG8gdGhlIHZhbHVlIHByb2ZpbGVyLgogfQog
CiBzdGF0aWMgdm9pZCBkdW1wU3RydWN0dXJlKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IGNoYXIq
IG5hbWUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCkKQEAg
LTQ0Miw4ICs0MzYsNiBAQCB2b2lkIEJ5dGVjb2RlRHVtcGVyPEJsb2NrPjo6cHJpbnRHZXRCeUlk
Q2FjaGVTdGF0dXMoUHJpbnRTdHJlYW0mIG91dCwgaW50IGxvY2F0aQogICAgICAgICBvdXQucHJp
bnRmKCIgbGxpbnQoIik7CiAgICAgICAgIGR1bXBTdHJ1Y3R1cmUob3V0LCAic3RydWN0Iiwgc3Ry
dWN0dXJlLCBpZGVudCk7CiAgICAgICAgIG91dC5wcmludGYoIikiKTsKLSAgICAgICAgaWYgKElu
dGVycHJldGVyOjpnZXRPcGNvZGVJRChpbnN0cnVjdGlvblswXSkgPT0gb3BfZ2V0X2J5X2lkX3By
b3RvX2xvYWQpCi0gICAgICAgICAgICBvdXQucHJpbnRmKCIgcHJvdG8oJXApIiwgZ2V0UG9pbnRl
cihpbnN0cnVjdGlvbls2XSkpOwogICAgIH0KIAogI2lmIEVOQUJMRShKSVQpCkBAIC0xMDM4LDgg
KzEwMzAsNiBAQCB2b2lkIEJ5dGVjb2RlRHVtcGVyPEJsb2NrPjo6ZHVtcEJ5dGVjb2RlKFByaW50
U3RyZWFtJiBvdXQsIGNvbnN0IHR5cGVuYW1lIEJsb2NrOgogICAgICAgICBicmVhazsKICAgICB9
CiAgICAgY2FzZSBvcF9nZXRfYnlfaWQ6Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfcHJvdG9fbG9h
ZDoKLSAgICBjYXNlIG9wX2dldF9ieV9pZF91bnNldDoKICAgICBjYXNlIG9wX2dldF9hcnJheV9s
ZW5ndGg6IHsKICAgICAgICAgcHJpbnRHZXRCeUlkT3Aob3V0LCBsb2NhdGlvbiwgaXQpOwogICAg
ICAgICBwcmludEdldEJ5SWRDYWNoZVN0YXR1cyhvdXQsIGxvY2F0aW9uLCBzdHViSW5mb3MpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5q
c29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCmlu
ZGV4IDU2MjhkZjViNDYyMTYzZWIyOTYzMjFmZTg1OGQwM2I2ZDlmNzZlNTUuLjAwNDZjNmVmOTdi
MmZmZTNmZjczMTRkNjc1ZjFlMDBiMjQ5ZWRkZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KQEAgLTgxLDEwICs4MSw4IEBACiAgICAg
ICAgICAgICB7ICJuYW1lIiA6ICJvcF9pc19mdW5jdGlvbiIsICJsZW5ndGgiIDogMyB9LAogICAg
ICAgICAgICAgeyAibmFtZSIgOiAib3BfaXNfY2VsbF93aXRoX3R5cGUiLCAibGVuZ3RoIiA6IDQg
fSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2luIiwgImxlbmd0aCIgOiA1IH0sCi0gICAg
ICAgICAgICB7ICJuYW1lIiA6ICJvcF9nZXRfYXJyYXlfbGVuZ3RoIiwgImxlbmd0aCIgOiA5IH0s
Ci0gICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9nZXRfYnlfaWQiLCAibGVuZ3RoIiA6IDkgIH0s
Ci0gICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9nZXRfYnlfaWRfcHJvdG9fbG9hZCIsICJsZW5n
dGgiIDogOSB9LAotICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfZ2V0X2J5X2lkX3Vuc2V0Iiwg
Imxlbmd0aCIgOiA5IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9nZXRfYXJyYXlfbGVu
Z3RoIiwgImxlbmd0aCIgOiA4IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9nZXRfYnlf
aWQiLCAibGVuZ3RoIiA6IDggIH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9nZXRfYnlf
aWRfd2l0aF90aGlzIiwgImxlbmd0aCIgOiA2IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJv
cF9nZXRfYnlfdmFsX3dpdGhfdGhpcyIsICJsZW5ndGgiIDogNiB9LAogICAgICAgICAgICAgeyAi
bmFtZSIgOiAib3BfZ2V0X2J5X2lkX2RpcmVjdCIsICJsZW5ndGgiIDogNyAgfSwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKaW5kZXggNzAxZDM2
Y2ZhYzQ1MWIzYzg4MjM1NjYxYTEwNTcxNzIwMzU4MGRkZi4uMTViOTUyYWJjNDE2NjFiZTY3YTk0
Yzc1MTlkNjI4OWNjYWY2YjI0YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0J5dGVjb2RlVXNlRGVmLmgKQEAgLTE4Miw4ICsxODIsNiBAQCB2b2lkIGNvbXB1dGVVc2Vz
Rm9yQnl0ZWNvZGVPZmZzZXQoQmxvY2sqIGNvZGVCbG9jaywgT3Bjb2RlSUQgb3Bjb2RlSUQsIElu
c3RydWN0aQogICAgIGNhc2Ugb3BfdG9fcHJpbWl0aXZlOgogICAgIGNhc2Ugb3BfdHJ5X2dldF9i
eV9pZDoKICAgICBjYXNlIG9wX2dldF9ieV9pZDoKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9wcm90
b19sb2FkOgotICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX3Vuc2V0OgogICAgIGNhc2Ugb3BfZ2V0X2J5
X2lkX2RpcmVjdDoKICAgICBjYXNlIG9wX2dldF9hcnJheV9sZW5ndGg6CiAgICAgY2FzZSBvcF90
eXBlb2Y6CkBAIC00MzQsOCArNDMyLDYgQEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zm
c2V0KEJsb2NrKiBjb2RlQmxvY2ssIE9wY29kZUlEIG9wY29kZUlELCBJbnN0cnVjdGkKICAgICBj
YXNlIG9wX2NvbnN0cnVjdDoKICAgICBjYXNlIG9wX3RyeV9nZXRfYnlfaWQ6CiAgICAgY2FzZSBv
cF9nZXRfYnlfaWQ6Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfcHJvdG9fbG9hZDoKLSAgICBjYXNl
IG9wX2dldF9ieV9pZF91bnNldDoKICAgICBjYXNlIG9wX2dldF9ieV9pZF9kaXJlY3Q6CiAgICAg
Y2FzZSBvcF9nZXRfYnlfaWRfd2l0aF90aGlzOgogICAgIGNhc2Ugb3BfZ2V0X2J5X3ZhbF93aXRo
X3RoaXM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmlu
ZGV4IGNmNjY4NGNhODI5MDIwMzg4OTA0ZWQ4ZmM4NmVhNTIyNjEzOGNkYjkuLjc0NTAzN2EyNjAz
NjZhNzYyYzJiZWU5NzY3MWJhZDYzNWIxZWRkNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC02NSw3ICs2NSw2IEBACiAjaW5jbHVkZSAiSlNU
ZW1wbGF0ZU9iamVjdERlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJMTEludERhdGEuaCIKICNpbmNs
dWRlICJMTEludEVudHJ5cG9pbnQuaCIKLSNpbmNsdWRlICJMTEludFByb3RvdHlwZUxvYWRBZGFw
dGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaCIKICNpbmNsdWRlICJMb3dMZXZlbEludGVycHJldGVy
LmgiCiAjaW5jbHVkZSAiTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5oIgogI2luY2x1ZGUgIk9iamVj
dEFsbG9jYXRpb25Qcm9maWxlSW5saW5lcy5oIgpAQCAtMTI0Myw5ICsxMjQyLDcgQEAgdm9pZCBD
b2RlQmxvY2s6OmZpbmFsaXplTExJbnRJbmxpbmVDYWNoZXMoKQogICAgIGZvciAoc2l6ZV90IHNp
emUgPSBwcm9wZXJ0eUFjY2Vzc0luc3RydWN0aW9ucy5zaXplKCksIGkgPSAwOyBpIDwgc2l6ZTsg
KytpKSB7CiAgICAgICAgIEluc3RydWN0aW9uKiBjdXJJbnN0cnVjdGlvbiA9ICZpbnN0cnVjdGlv
bnMoKVtwcm9wZXJ0eUFjY2Vzc0luc3RydWN0aW9uc1tpXV07CiAgICAgICAgIHN3aXRjaCAoSW50
ZXJwcmV0ZXI6OmdldE9wY29kZUlEKGN1ckluc3RydWN0aW9uWzBdKSkgewotICAgICAgICBjYXNl
IG9wX2dldF9ieV9pZDoKLSAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfcHJvdG9fbG9hZDoKLSAg
ICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfdW5zZXQ6IHsKKyAgICAgICAgY2FzZSBvcF9nZXRfYnlf
aWQ6IHsKICAgICAgICAgICAgIFN0cnVjdHVyZUlEIG9sZFN0cnVjdHVyZUlEID0gY3VySW5zdHJ1
Y3Rpb25bNF0udS5zdHJ1Y3R1cmVJRDsKICAgICAgICAgICAgIGlmICghb2xkU3RydWN0dXJlSUQg
fHwgSGVhcDo6aXNNYXJrZWQodm0uaGVhcC5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0KG9sZFN0cnVj
dHVyZUlEKSkpCiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xMzM5LDEyICsxMzM2LDYgQEAg
dm9pZCBDb2RlQmxvY2s6OmZpbmFsaXplTExJbnRJbmxpbmVDYWNoZXMoKQogICAgICAgICB9CiAg
ICAgfQogCi0gICAgLy8gV2UgY2FuJ3QganVzdCByZW1vdmUgYWxsIHRoZSBzZXRzIHdoZW4gd2Ug
Y2xlYXIgdGhlIGNhY2hlcyBzaW5jZSB3ZSBtaWdodCBoYXZlIGNyZWF0ZWQgYSB3YXRjaHBvaW50
IHNldAotICAgIC8vIHRoZW4gY2xlYXJlZCB0aGUgY2FjaGUgd2l0aG91dCBHQ2luZyBpbiBiZXR3
ZWVuLgotICAgIG1fbGxpbnRHZXRCeUlkV2F0Y2hwb2ludE1hcC5yZW1vdmVJZihbXShjb25zdCBT
dHJ1Y3R1cmVXYXRjaHBvaW50TWFwOjpLZXlWYWx1ZVBhaXJUeXBlJiBwYWlyKSAtPiBib29sIHsK
LSAgICAgICAgcmV0dXJuICFIZWFwOjppc01hcmtlZChwYWlyLmtleSk7Ci0gICAgfSk7Ci0KICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9sbGludENhbGxMaW5rSW5mb3Muc2l6ZSgpOyAr
K2kpIHsKICAgICAgICAgaWYgKG1fbGxpbnRDYWxsTGlua0luZm9zW2ldLmlzTGlua2VkKCkgJiYg
IUhlYXA6OmlzTWFya2VkKG1fbGxpbnRDYWxsTGlua0luZm9zW2ldLmNhbGxlZS5nZXQoKSkpIHsK
ICAgICAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NSKCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKaW5kZXggZTMzMmEwODIwYmE1ZDNhNjU1MTc3YjEw
MGI1MjdmYmIwOTMxNjNkOC4uODY3MjNhYmNiYzJmMzdiMDg1NjgzNmI3MjA3NDU0MjY5MzM1MDcw
YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaApAQCAtNTQs
NyArNTQsNiBAQAogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSnVtcFRh
YmxlLmgiCiAjaW5jbHVkZSAiTExJbnRDYWxsTGlua0luZm8uaCIKLSNpbmNsdWRlICJMTEludFBy
b3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaCIKICNpbmNsdWRlICJMYXp5
T3BlcmFuZFZhbHVlUHJvZmlsZS5oIgogI2luY2x1ZGUgIk1vZHVsZVByb2dyYW1FeGVjdXRhYmxl
LmgiCiAjaW5jbHVkZSAiT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaCIKQEAgLTYyNyw5ICs2MjYs
NiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX2xsaW50RXhlY3V0ZUNvdW50ZXI7CiAgICAg
fQogCi0gICAgdHlwZWRlZiBIYXNoTWFwPFN0cnVjdHVyZSosIEJhZzxMTEludFByb3RvdHlwZUxv
YWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ+PiBTdHJ1Y3R1cmVXYXRjaHBvaW50TWFwOwot
ICAgIFN0cnVjdHVyZVdhdGNocG9pbnRNYXAmIGxsaW50R2V0QnlJZFdhdGNocG9pbnRNYXAoKSB7
IHJldHVybiBtX2xsaW50R2V0QnlJZFdhdGNocG9pbnRNYXA7IH0KLQogICAgIC8vIEZ1bmN0aW9u
cyBmb3IgY29udHJvbGxpbmcgd2hlbiB0aWVyZWQgY29tcGlsYXRpb24ga2lja3MgaW4uIFRoaXMK
ICAgICAvLyBjb250cm9scyBib3RoIHdoZW4gdGhlIG9wdGltaXppbmcgY29tcGlsZXIgaXMgaW52
b2tlZCBhbmQgd2hlbiBPU1IKICAgICAvLyBlbnRyeSBoYXBwZW5zLiBUd28gdHJpZ2dlcnMgZXhp
c3Q6IHRoZSBsb29wIHRyaWdnZXIgYW5kIHRoZSByZXR1cm4KQEAgLTk3NCw3ICs5NzAsNiBAQCBw
cml2YXRlOgogCiAgICAgUmVmQ291bnRlZEFycmF5PExMSW50Q2FsbExpbmtJbmZvPiBtX2xsaW50
Q2FsbExpbmtJbmZvczsKICAgICBTZW50aW5lbExpbmtlZExpc3Q8TExJbnRDYWxsTGlua0luZm8s
IEJhc2ljUmF3U2VudGluZWxOb2RlPExMSW50Q2FsbExpbmtJbmZvPj4gbV9pbmNvbWluZ0xMSW50
Q2FsbHM7Ci0gICAgU3RydWN0dXJlV2F0Y2hwb2ludE1hcCBtX2xsaW50R2V0QnlJZFdhdGNocG9p
bnRNYXA7CiAgICAgUG9pc29uZWRSZWZQdHI8Q29kZUJsb2NrUG9pc29uLCBKSVRDb2RlPiBtX2pp
dENvZGU7CiAjaWYgRU5BQkxFKEpJVCkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVnaXN0ZXJBdE9m
ZnNldExpc3Q+IG1fY2FsbGVlU2F2ZVJlZ2lzdGVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAppbmRleCAwNGEzNzY3ZDU1MTEwNDY0MmE2
N2IzNjEyNjRhYmRjNDYxOTNjMTkzLi45ZmNkZTU1MWIxMjAyZThkOWE4NTUxODhmYzU2Mjg1NzIy
MzhhN2EyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJ
ZFN0YXR1cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRT
dGF0dXMuY3BwCkBAIC0xMDQsMTEgKzEwNCw3IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1
czo6Y29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIHVuc2lnbmVkCiAg
ICAgfQogCiAgICAgY2FzZSBvcF9nZXRfYXJyYXlfbGVuZ3RoOgotICAgIGNhc2Ugb3BfdHJ5X2dl
dF9ieV9pZDoKLSAgICBjYXNlIG9wX2dldF9ieV9pZF9wcm90b19sb2FkOgotICAgIGNhc2Ugb3Bf
Z2V0X2J5X2lkX3Vuc2V0OiB7Ci0gICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgbm90IGp1c3Qg
YmFpbCBpZiB3ZSBzZWUgYSB0cnlfZ2V0X2J5X2lkIG9yIGEgZ2V0X2J5X2lkX3Byb3RvX2xvYWQu
Ci0gICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgw
MzkKKyAgICBjYXNlIG9wX3RyeV9nZXRfYnlfaWQ6IHsKICAgICAgICAgcmV0dXJuIEdldEJ5SWRT
dGF0dXMoTm9JbmZvcm1hdGlvbiwgZmFsc2UpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0
dXJlV2F0Y2hwb2ludC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTExJbnRQ
cm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmNwcApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZDZjYzIyZDUxNTBkZjhlY2RiOGJiOGEzNWM1YWNkMmM1N2Y3MWU1
MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1
cmVXYXRjaHBvaW50LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTYtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJMTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNo
cG9pbnQuaCIKLQotI2luY2x1ZGUgIkNvZGVCbG9jay5oIgotI2luY2x1ZGUgIkluc3RydWN0aW9u
LmgiCi0jaW5jbHVkZSAiSlNDSW5saW5lcy5oIgotCi1uYW1lc3BhY2UgSlNDIHsKLQotTExJbnRQ
cm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OjpMTEludFByb3RvdHlwZUxv
YWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQoY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b24mIGtleSwgSW5zdHJ1Y3Rpb24qIGdldEJ5SWRJbnN0cnVjdGlvbikKLSAgICA6IG1fa2V5KGtl
eSkKLSAgICAsIG1fZ2V0QnlJZEluc3RydWN0aW9uKGdldEJ5SWRJbnN0cnVjdGlvbikKLXsKLSAg
ICBSRUxFQVNFX0FTU0VSVChrZXkud2F0Y2hpbmdSZXF1aXJlc1N0cnVjdHVyZVRyYW5zaXRpb25X
YXRjaHBvaW50KCkpOwotICAgIFJFTEVBU0VfQVNTRVJUKCFrZXkud2F0Y2hpbmdSZXF1aXJlc1Jl
cGxhY2VtZW50V2F0Y2hwb2ludCgpKTsKLX0KLQotdm9pZCBMTEludFByb3RvdHlwZUxvYWRBZGFw
dGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ6Omluc3RhbGwoKQotewotICAgIFJFTEVBU0VfQVNTRVJU
KG1fa2V5LmlzV2F0Y2hhYmxlKCkpOwotCi0gICAgbV9rZXkub2JqZWN0KCktPnN0cnVjdHVyZSgp
LT5hZGRUcmFuc2l0aW9uV2F0Y2hwb2ludCh0aGlzKTsKLX0KLQotdm9pZCBMTEludFByb3RvdHlw
ZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ6OmZpcmVJbnRlcm5hbChjb25zdCBGaXJl
RGV0YWlsJikKLXsKLSAgICBpZiAobV9rZXkuaXNXYXRjaGFibGUoUHJvcGVydHlDb25kaXRpb246
OkVuc3VyZVdhdGNoYWJpbGl0eSkpIHsKLSAgICAgICAgaW5zdGFsbCgpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotCi0gICAgQ29kZUJsb2NrOjpjbGVhckxMSW50R2V0QnlJZENhY2hlKG1fZ2V0
QnlJZEluc3RydWN0aW9uKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVT
dHJ1Y3R1cmVXYXRjaHBvaW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTExJ
bnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDhhNzNjNmM3OWQ3ZmQzNTQ2NThlYzZhMzljYWE0MGQxYTA0MzA1
OGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0
dXJlV2F0Y2hwb2ludC5oCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5j
bHVkZSAiSW5zdHJ1Y3Rpb24uaCIKLSNpbmNsdWRlICJPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5o
IgotI2luY2x1ZGUgIldhdGNocG9pbnQuaCIKLQotbmFtZXNwYWNlIEpTQyB7Ci0KLWNsYXNzIExM
SW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludCA6IHB1YmxpYyBXYXRj
aHBvaW50IHsKLXB1YmxpYzoKLSAgICBMTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVy
ZVdhdGNocG9pbnQoY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mLCBJbnN0cnVjdGlvbiop
OwotCi0gICAgdm9pZCBpbnN0YWxsKCk7Ci0KLXByb3RlY3RlZDoKLSAgICB2b2lkIGZpcmVJbnRl
cm5hbChjb25zdCBGaXJlRGV0YWlsJikgb3ZlcnJpZGU7Ci0KLXByaXZhdGU6Ci0gICAgT2JqZWN0
UHJvcGVydHlDb25kaXRpb24gbV9rZXk7Ci0gICAgSW5zdHJ1Y3Rpb24qIG1fZ2V0QnlJZEluc3Ry
dWN0aW9uOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IGQx
ZDQxOTJhOGZmM2I5YTNjNzA4ZTk0NGNiOWRjNDE1ZWNjYjkxY2QuLjY4Mzk1MjE1NmEyMDEzNmYw
ZTIyODcyOWJlOWU1MTEyYjJmMGJhMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0yNzAzLDcgKzI3
MDMsNiBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdEdldEJ5SWQoUmVnaXN0
ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBiYXNlLCBjbwogICAgIGluc3RydWN0aW9ucygpLmFwcGVu
ZCgwKTsKICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoMCk7CiAgICAgaW5zdHJ1Y3Rpb25zKCku
YXBwZW5kKDApOwotICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChPcHRpb25zOjpwcm90b3R5cGVI
aXRDb3VudEZvckxMSW50Q2FjaGluZygpKTsKICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQocHJv
ZmlsZSk7CiAgICAgcmV0dXJuIGRzdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggNjYxMzJmYWEwZDBjOWExYmE1NDkwZWVkMDZj
ZDZlNjUzZTJiZmMxNS4uOWVmMGMzNmZlODI5NmQzNTVmMmRlZjM3MjY1ZGIyNDg1MDRmOGJlNiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAK
QEAgLTUxMjAsOCArNTEyMCw2IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5z
aWduZWQgbGltaXQpCiAgICAgICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2RpcmVjdDoKICAgICAgICAg
Y2FzZSBvcF90cnlfZ2V0X2J5X2lkOgogICAgICAgICBjYXNlIG9wX2dldF9ieV9pZDoKLSAgICAg
ICAgY2FzZSBvcF9nZXRfYnlfaWRfcHJvdG9fbG9hZDoKLSAgICAgICAgY2FzZSBvcF9nZXRfYnlf
aWRfdW5zZXQ6CiAgICAgICAgIGNhc2Ugb3BfZ2V0X2FycmF5X2xlbmd0aDogewogICAgICAgICAg
ICAgU3BlY3VsYXRlZFR5cGUgcHJlZGljdGlvbiA9IGdldFByZWRpY3Rpb24oKTsKICAgICAgICAg
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRp
ZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCmlu
ZGV4IDVjZWU2NWI2ODQzZWNhNTA4OGVkMWE5YTkxMDk0ZjM0MDU3YWFhNDQuLmRiODRlOTZmMzhk
NGUxYzA3YTliODA1NTg0ZTQyMTM4MjNhMTMzOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKQEAgLTE2NCw4ICsxNjQsNiBAQCBDYXBhYmlsaXR5
TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNvZGVC
bG9jaywgSW5zdHJ1YwogICAgIGNhc2Ugb3BfcHV0X2J5X3ZhbF9kaXJlY3Q6CiAgICAgY2FzZSBv
cF90cnlfZ2V0X2J5X2lkOgogICAgIGNhc2Ugb3BfZ2V0X2J5X2lkOgotICAgIGNhc2Ugb3BfZ2V0
X2J5X2lkX3Byb3RvX2xvYWQ6Ci0gICAgY2FzZSBvcF9nZXRfYnlfaWRfdW5zZXQ6CiAgICAgY2Fz
ZSBvcF9nZXRfYnlfaWRfd2l0aF90aGlzOgogICAgIGNhc2Ugb3BfZ2V0X2J5X2lkX2RpcmVjdDoK
ICAgICBjYXNlIG9wX2dldF9ieV92YWxfd2l0aF90aGlzOgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQu
Y3BwCmluZGV4IDlkYWY2Yjk0ODYxNWEzMWM1NDk5YTJlMTJmOTI5NDNiMWQ0ZDBmOTMuLjVkNDYx
YWJmNWI5ZjhhMTcxMzg5MjMyYzJjNWFlYmJkZGQyODk1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVC5jcHAKQEAgLTMzMCw4ICszMzAsNiBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWlu
UGFzcygpCiAgICAgICAgIERFRklORV9PUChvcF9iZWxvd2VxKQogICAgICAgICBERUZJTkVfT1Ao
b3BfdHJ5X2dldF9ieV9pZCkKICAgICAgICAgY2FzZSBvcF9nZXRfYXJyYXlfbGVuZ3RoOgotICAg
ICAgICBjYXNlIG9wX2dldF9ieV9pZF9wcm90b19sb2FkOgotICAgICAgICBjYXNlIG9wX2dldF9i
eV9pZF91bnNldDoKICAgICAgICAgREVGSU5FX09QKG9wX2dldF9ieV9pZCkKICAgICAgICAgREVG
SU5FX09QKG9wX2dldF9ieV9pZF93aXRoX3RoaXMpCiAgICAgICAgIERFRklORV9PUChvcF9nZXRf
YnlfaWRfZGlyZWN0KQpAQCAtNTA5LDggKzUwNyw2IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGls
ZVNsb3dDYXNlcygpCiAgICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9lcSkKICAgICAgICAg
REVGSU5FX1NMT1dDQVNFX09QKG9wX3RyeV9nZXRfYnlfaWQpCiAgICAgICAgIGNhc2Ugb3BfZ2V0
X2FycmF5X2xlbmd0aDoKLSAgICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfcHJvdG9fbG9hZDoKLSAg
ICAgICAgY2FzZSBvcF9nZXRfYnlfaWRfdW5zZXQ6CiAgICAgICAgIERFRklORV9TTE9XQ0FTRV9P
UChvcF9nZXRfYnlfaWQpCiAgICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9nZXRfYnlfaWRf
d2l0aF90aGlzKQogICAgICAgICBERUZJTkVfU0xPV0NBU0VfT1Aob3BfZ2V0X2J5X2lkX2RpcmVj
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRo
cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCmlu
ZGV4IDg4YmNiYzk4ZDlmYzUyZGYxNmZmODRhYWJhYTRlYTJjOWU2NzEwMjUuLjgxN2U2YzkzMGIx
MmNhMWYxZDRmZTZlMjQyNGMwZTdkMWU0MDAxZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcApAQCAtNjQxLDYzICs2NDEsNiBAQCBMTElOVF9T
TE9XX1BBVEhfREVDTChzbG93X3BhdGhfZ2V0X2J5X2lkX2RpcmVjdCkKICAgICBMTElOVF9SRVRV
Uk5fUFJPRklMRUQob3BfZ2V0X2J5X2lkX2RpcmVjdCwgcmVzdWx0KTsKIH0KIAotCi1zdGF0aWMg
dm9pZCBzZXR1cEdldEJ5SWRQcm90b3R5cGVDYWNoZShFeGVjU3RhdGUqIGV4ZWMsIFZNJiB2bSwg
SW5zdHJ1Y3Rpb24qIHBjLCBKU0NlbGwqIGJhc2VDZWxsLCBQcm9wZXJ0eVNsb3QmIHNsb3QsIGNv
bnN0IElkZW50aWZpZXImIGlkZW50KQotewotICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhl
Yy0+Y29kZUJsb2NrKCk7Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlQ2VsbC0+c3Ry
dWN0dXJlKCk7Ci0KLSAgICBpZiAoc3RydWN0dXJlLT50eXBlSW5mbygpLnByb2hpYml0c1Byb3Bl
cnR5Q2FjaGluZygpKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgaWYgKHN0cnVjdHVyZS0+
bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBp
ZiAoc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSkgewotICAgICAgICBpZiAoc3RydWN0dXJlLT5o
YXNCZWVuRmxhdHRlbmVkQmVmb3JlKCkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHN0
cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGpzQ2FzdDxKU09iamVjdCo+
KGJhc2VDZWxsKSk7Ci0gICAgfQotCi0gICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgY29u
ZGl0aW9uczsKLSAgICBpZiAoc2xvdC5pc1Vuc2V0KCkpCi0gICAgICAgIGNvbmRpdGlvbnMgPSBn
ZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3Modm0sIGNvZGVCbG9jaywgZXhlYywgc3Ry
dWN0dXJlLCBpZGVudC5pbXBsKCkpOwotICAgIGVsc2UKLSAgICAgICAgY29uZGl0aW9ucyA9IGdl
bmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KHZtLCBjb2RlQmxvY2ssIGV4
ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLCBpZGVudC5pbXBsKCkpOwotCi0gICAgaWYg
KCFjb25kaXRpb25zLmlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0ID0gaW52YWxpZE9mZnNldDsKLSAgICBDb2RlQmxvY2s6OlN0cnVjdHVyZVdh
dGNocG9pbnRNYXAmIHdhdGNocG9pbnRNYXAgPSBjb2RlQmxvY2stPmxsaW50R2V0QnlJZFdhdGNo
cG9pbnRNYXAoKTsKLSAgICBhdXRvIHJlc3VsdCA9IHdhdGNocG9pbnRNYXAuYWRkKHN0cnVjdHVy
ZSwgQmFnPExMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludD4oKSk7
Ci0gICAgZm9yIChPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiBjb25kaXRpb24gOiBjb25kaXRpb25z
KSB7Ci0gICAgICAgIGlmICghY29uZGl0aW9uLmlzV2F0Y2hhYmxlKCkpCi0gICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIGlmIChjb25kaXRpb24uY29uZGl0aW9uKCkua2luZCgpID09IFByb3Bl
cnR5Q29uZGl0aW9uOjpQcmVzZW5jZSkKLSAgICAgICAgICAgIG9mZnNldCA9IGNvbmRpdGlvbi5j
b25kaXRpb24oKS5vZmZzZXQoKTsKLSAgICAgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5hZGQo
Y29uZGl0aW9uLCBwYyktPmluc3RhbGwoKTsKLSAgICB9Ci0gICAgQVNTRVJUKChvZmZzZXQgPT0g
aW52YWxpZE9mZnNldCkgPT0gc2xvdC5pc1Vuc2V0KCkpOwotCi0gICAgQ29uY3VycmVudEpTTG9j
a2VyIGxvY2tlcihjb2RlQmxvY2stPm1fbG9jayk7Ci0KLSAgICBpZiAoc2xvdC5pc1Vuc2V0KCkp
IHsKLSAgICAgICAgcGNbMF0udS5vcGNvZGUgPSBMTEludDo6Z2V0T3Bjb2RlKG9wX2dldF9ieV9p
ZF91bnNldCk7Ci0gICAgICAgIHBjWzRdLnUuc3RydWN0dXJlSUQgPSBzdHJ1Y3R1cmUtPmlkKCk7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgQVNTRVJUKHNsb3QuaXNWYWx1ZSgpKTsKLQot
ICAgIHBjWzBdLnUub3Bjb2RlID0gTExJbnQ6OmdldE9wY29kZShvcF9nZXRfYnlfaWRfcHJvdG9f
bG9hZCk7Ci0gICAgcGNbNF0udS5zdHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+aWQoKTsKLSAgICBw
Y1s1XS51Lm9wZXJhbmQgPSBvZmZzZXQ7Ci0gICAgLy8gV2Uga25vdyB0aGF0IHRoaXMgcG9pbnRl
ciB3aWxsIHJlbWFpbiB2YWxpZCBiZWNhdXNlIGl0IHdpbGwgYmUgY2xlYXJlZCBieSBlaXRoZXIg
YSB3YXRjaHBvaW50IGZpcmUgb3IKLSAgICAvLyBkdXJpbmcgR0Mgd2hlbiB3ZSBjbGVhciB0aGUg
TExJbnQgY2FjaGVzLgotICAgIHBjWzZdLnUucG9pbnRlciA9IHNsb3Quc2xvdEJhc2UoKTsKLX0K
LQotCiBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfZ2V0X2J5X2lkKQogewogICAgIExM
SU5UX0JFR0lOKCk7CkBAIC03MTgsOSArNjYxLDcgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xv
d19wYXRoX2dldF9ieV9pZCkKICAgICAgICAgICAgIFN0cnVjdHVyZUlEIG9sZFN0cnVjdHVyZUlE
ID0gcGNbNF0udS5zdHJ1Y3R1cmVJRDsKICAgICAgICAgICAgIGlmIChvbGRTdHJ1Y3R1cmVJRCkg
ewogICAgICAgICAgICAgICAgIGF1dG8gb3Bjb2RlID0gSW50ZXJwcmV0ZXI6OmdldE9wY29kZUlE
KHBjWzBdKTsKLSAgICAgICAgICAgICAgICBpZiAob3Bjb2RlID09IG9wX2dldF9ieV9pZAotICAg
ICAgICAgICAgICAgICAgICB8fCBvcGNvZGUgPT0gb3BfZ2V0X2J5X2lkX3Vuc2V0Ci0gICAgICAg
ICAgICAgICAgICAgIHx8IG9wY29kZSA9PSBvcF9nZXRfYnlfaWRfcHJvdG9fbG9hZCkgeworICAg
ICAgICAgICAgICAgIGlmIChvcGNvZGUgPT0gb3BfZ2V0X2J5X2lkKSB7CiAgICAgICAgICAgICAg
ICAgICAgIFN0cnVjdHVyZSogYSA9IHZtLmhlYXAuc3RydWN0dXJlSURUYWJsZSgpLmdldChvbGRT
dHJ1Y3R1cmVJRCk7CiAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGJhc2VWYWx1
ZS5hc0NlbGwoKS0+c3RydWN0dXJlKHZtKTsKIApAQCAtNzM5LDkgKzY4MCw2IEBAIExMSU5UX1NM
T1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9nZXRfYnlfaWQpCiAgICAgICAgICAgICBwY1swXS51Lm9w
Y29kZSA9IExMSW50OjpnZXRPcGNvZGUob3BfZ2V0X2J5X2lkKTsKICAgICAgICAgICAgIHBjWzRd
LnUucG9pbnRlciA9IG51bGxwdHI7IC8vIG9sZCBzdHJ1Y3R1cmUKICAgICAgICAgICAgIHBjWzVd
LnUucG9pbnRlciA9IG51bGxwdHI7IC8vIG9mZnNldAotCi0gICAgICAgICAgICAvLyBQcmV2ZW50
IHRoZSBwcm90b3R5cGUgY2FjaGUgZnJvbSBldmVyIGhhcHBlbmluZy4KLSAgICAgICAgICAgIHBj
WzddLnUub3BlcmFuZCA9IDA7CiAgICAgICAgIAogICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+
cHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpCiAgICAgICAgICAgICAgICAgJiYgIXN0cnVj
dHVyZS0+bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSB7CkBAIC03NTIsMTEgKzY5MCw2
IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9nZXRfYnlfaWQpCiAgICAgICAgICAg
ICAgICAgcGNbNF0udS5zdHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+aWQoKTsKICAgICAgICAgICAg
ICAgICBwY1s1XS51Lm9wZXJhbmQgPSBzbG90LmNhY2hlZE9mZnNldCgpOwogICAgICAgICAgICAg
fQotICAgICAgICB9IGVsc2UgaWYgKFVOTElLRUxZKHBjWzddLnUub3BlcmFuZCAmJiAoc2xvdC5p
c1ZhbHVlKCkgfHwgc2xvdC5pc1Vuc2V0KCkpKSkgewotICAgICAgICAgICAgQVNTRVJUKHNsb3Qu
c2xvdEJhc2UoKSAhPSBiYXNlVmFsdWUpOwotCi0gICAgICAgICAgICBpZiAoISgtLXBjWzddLnUu
b3BlcmFuZCkpCi0gICAgICAgICAgICAgICAgc2V0dXBHZXRCeUlkUHJvdG90eXBlQ2FjaGUoZXhl
Yywgdm0sIHBjLCBiYXNlQ2VsbCwgc2xvdCwgaWRlbnQpOwogICAgICAgICB9CiAgICAgfSBlbHNl
IGlmICghTExJTlRfQUxXQVlTX0FDQ0VTU19TTE9XCiAgICAgICAgICYmIGlzSlNBcnJheShiYXNl
VmFsdWUpCkBAIC03NjUsOSArNjk4LDYgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRo
X2dldF9ieV9pZCkKICAgICAgICAgQXJyYXlQcm9maWxlKiBhcnJheVByb2ZpbGUgPSBjb2RlQmxv
Y2stPmdldE9yQWRkQXJyYXlQcm9maWxlKGNvZGVCbG9jay0+Ynl0ZWNvZGVPZmZzZXQocGMpKTsK
ICAgICAgICAgYXJyYXlQcm9maWxlLT5vYnNlcnZlU3RydWN0dXJlKGJhc2VWYWx1ZS5hc0NlbGwo
KS0+c3RydWN0dXJlKCkpOwogICAgICAgICBwY1s0XS51LmFycmF5UHJvZmlsZSA9IGFycmF5UHJv
ZmlsZTsKLQotICAgICAgICAvLyBQcmV2ZW50IHRoZSBwcm90b3R5cGUgY2FjaGUgZnJvbSBldmVy
IGhhcHBlbmluZy4KLSAgICAgICAgcGNbN10udS5vcGVyYW5kID0gMDsKICAgICB9CiAKICAgICBw
Y1tPUENPREVfTEVOR1RIKG9wX2dldF9ieV9pZCkgLSAxXS51LnByb2ZpbGUtPm1fYnVja2V0c1sw
XSA9IEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20gYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQppbmRleCBkNTFiNmQx
NGMwMGZhZDY4ZDg0NzcwZjNjMDNiZWI4ODY0NmYyNzkxLi41MWJmN2E5YzEyYjczOTJmYzQ3M2I1
NzMyOWViYjk2MGI2ODBkMWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQpAQCAtMTQyOCw0MyArMTQyOCw2
IEBAIF9sbGludF9vcF9nZXRfYnlfaWQ6CiAgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9i
eV9pZF9sZW5ndGgpCiAKIAotX2xsaW50X29wX2dldF9ieV9pZF9wcm90b19sb2FkOgotICAgIHRy
YWNlRXhlY3V0aW9uKCkKLSAgICBsb2FkaSA4W1BDXSwgdDAKLSAgICBsb2FkaSAxNltQQ10sIHQx
Ci0gICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQodDAsIENlbGxUYWcsIHQzLCAub3BH
ZXRCeUlkUHJvdG9TbG93KQotICAgIGxvYWRpIDIwW1BDXSwgdDIKLSAgICBiaW5lcSBKU0NlbGw6
Om1fc3RydWN0dXJlSURbdDNdLCB0MSwgLm9wR2V0QnlJZFByb3RvU2xvdwotICAgIGxvYWRwRnJv
bUluc3RydWN0aW9uKDYsIHQzKQotICAgIGxvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXQodDIs
IHQzLCB0MCwgdDEpCi0gICAgbG9hZGkgNFtQQ10sIHQyCi0gICAgc3RvcmVpIHQwLCBUYWdPZmZz
ZXRbY2ZyLCB0MiwgOF0KLSAgICBzdG9yZWkgdDEsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MiwgOF0K
LSAgICB2YWx1ZVByb2ZpbGUodDAsIHQxLCAzMiwgdDIpCi0gICAgZGlzcGF0Y2goY29uc3RleHBy
IG9wX2dldF9ieV9pZF9wcm90b19sb2FkX2xlbmd0aCkKLQotLm9wR2V0QnlJZFByb3RvU2xvdzoK
LSAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9nZXRfYnlfaWQpCi0gICAgZGlzcGF0
Y2goY29uc3RleHByIG9wX2dldF9ieV9pZF9wcm90b19sb2FkX2xlbmd0aCkKLQotCi1fbGxpbnRf
b3BfZ2V0X2J5X2lkX3Vuc2V0OgotICAgIHRyYWNlRXhlY3V0aW9uKCkKLSAgICBsb2FkaSA4W1BD
XSwgdDAKLSAgICBsb2FkaSAxNltQQ10sIHQxCi0gICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBh
eWxvYWQodDAsIENlbGxUYWcsIHQzLCAub3BHZXRCeUlkVW5zZXRTbG93KQotICAgIGJpbmVxIEpT
Q2VsbDo6bV9zdHJ1Y3R1cmVJRFt0M10sIHQxLCAub3BHZXRCeUlkVW5zZXRTbG93Ci0gICAgbG9h
ZGkgNFtQQ10sIHQyCi0gICAgc3RvcmVpIFVuZGVmaW5lZFRhZywgVGFnT2Zmc2V0W2NmciwgdDIs
IDhdCi0gICAgc3RvcmVpIDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MiwgOF0KLSAgICB2YWx1ZVBy
b2ZpbGUoVW5kZWZpbmVkVGFnLCAwLCAzMiwgdDIpCi0gICAgZGlzcGF0Y2goY29uc3RleHByIG9w
X2dldF9ieV9pZF91bnNldF9sZW5ndGgpCi0KLS5vcEdldEJ5SWRVbnNldFNsb3c6Ci0gICAgY2Fs
bFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfZ2V0X2J5X2lkKQotICAgIGRpc3BhdGNoKGNvbnN0
ZXhwciBvcF9nZXRfYnlfaWRfdW5zZXRfbGVuZ3RoKQotCi0KIF9sbGludF9vcF9nZXRfYXJyYXlf
bGVuZ3RoOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKICAgICBsb2FkaSA4W1BDXSwgdDAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c20KaW5kZXggNjI2OTg5ZDUyNmZhZWIwMmE4NWIyMGU5NWQ2ZGNiOTY4YWJiMGFkMC4uN2QyYTk4
ZGUxZTJjNjViNjZkZDRjZjc5MTIxOTU1NWFkOGVlZjNiNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KQEAgLTEzNDIs
NyArMTM0Miw3IEBAIF9sbGludF9vcF9nZXRfYnlfaWQ6CiAgICAgbG9hZGlzRnJvbUluc3RydWN0
aW9uKDEsIHQyKQogICAgIGxvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXQodDEsIHQzLCB0MCkK
ICAgICBzdG9yZXEgdDAsIFtjZnIsIHQyLCA4XQotICAgIHZhbHVlUHJvZmlsZSh0MCwgOCwgdDEp
CisgICAgdmFsdWVQcm9maWxlKHQwLCBjb25zdGV4cHIgKG9wX2dldF9ieV9pZF9sZW5ndGggLSAx
KSwgdDEpCiAgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9ieV9pZF9sZW5ndGgpCiAKIC5v
cEdldEJ5SWRTbG93OgpAQCAtMTM1MCw0MyArMTM1MCw2IEBAIF9sbGludF9vcF9nZXRfYnlfaWQ6
CiAgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9ieV9pZF9sZW5ndGgpCiAKIAotX2xsaW50
X29wX2dldF9ieV9pZF9wcm90b19sb2FkOgotICAgIHRyYWNlRXhlY3V0aW9uKCkKLSAgICBsb2Fk
aXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDApCi0gICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGwo
dDAsIHQzLCAub3BHZXRCeUlkUHJvdG9TbG93KQotICAgIGxvYWRpIEpTQ2VsbDo6bV9zdHJ1Y3R1
cmVJRFt0M10sIHQxCi0gICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQyKQotICAgIGJpbmVx
IHQyLCB0MSwgLm9wR2V0QnlJZFByb3RvU2xvdwotICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig1
LCB0MSkKLSAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig2LCB0MykKLSAgICBsb2FkaXNGcm9tSW5z
dHJ1Y3Rpb24oMSwgdDIpCi0gICAgbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldCh0MSwgdDMs
IHQwKQotICAgIHN0b3JlcSB0MCwgW2NmciwgdDIsIDhdCi0gICAgdmFsdWVQcm9maWxlKHQwLCA4
LCB0MSkKLSAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2J5X2lkX3Byb3RvX2xvYWRfbGVu
Z3RoKQotCi0ub3BHZXRCeUlkUHJvdG9TbG93OgotICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xv
d19wYXRoX2dldF9ieV9pZCkKLSAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2J5X2lkX3By
b3RvX2xvYWRfbGVuZ3RoKQotCi0KLV9sbGludF9vcF9nZXRfYnlfaWRfdW5zZXQ6Ci0gICAgdHJh
Y2VFeGVjdXRpb24oKQotICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkKLSAgICBsb2Fk
Q29uc3RhbnRPclZhcmlhYmxlQ2VsbCh0MCwgdDMsIC5vcEdldEJ5SWRVbnNldFNsb3cpCi0gICAg
bG9hZGkgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QzXSwgdDEKLSAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oNCwgdDIpCi0gICAgYmluZXEgdDIsIHQxLCAub3BHZXRCeUlkVW5zZXRTbG93Ci0gICAg
bG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQyKQotICAgIHN0b3JlcSBWYWx1ZVVuZGVmaW5lZCwg
W2NmciwgdDIsIDhdCi0gICAgdmFsdWVQcm9maWxlKFZhbHVlVW5kZWZpbmVkLCA4LCB0MSkKLSAg
ICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2J5X2lkX3Vuc2V0X2xlbmd0aCkKLQotLm9wR2V0
QnlJZFVuc2V0U2xvdzoKLSAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9nZXRfYnlf
aWQpCi0gICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9ieV9pZF91bnNldF9sZW5ndGgpCi0K
LQogX2xsaW50X29wX2dldF9hcnJheV9sZW5ndGg6CiAgICAgdHJhY2VFeGVjdXRpb24oKQogICAg
IGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkKQEAgLTE0MDEsNyArMTM2NCw3IEBAIF9sbGlu
dF9vcF9nZXRfYXJyYXlfbGVuZ3RoOgogICAgIGxvYWRpIC1zaXplb2YgSW5kZXhpbmdIZWFkZXIg
KyBJbmRleGluZ0hlYWRlcjo6dS5sZW5ndGhzLnB1YmxpY0xlbmd0aFt0MF0sIHQwCiAgICAgYmls
dCB0MCwgMCwgLm9wR2V0QXJyYXlMZW5ndGhTbG93CiAgICAgb3JxIHRhZ1R5cGVOdW1iZXIsIHQw
Ci0gICAgdmFsdWVQcm9maWxlKHQwLCA4LCB0MikKKyAgICB2YWx1ZVByb2ZpbGUodDAsIGNvbnN0
ZXhwciAob3BfZ2V0X2FycmF5X2xlbmd0aF9sZW5ndGggLSAxKSwgdDIpCiAgICAgc3RvcmVxIHQw
LCBbY2ZyLCB0MSwgOF0KICAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2FycmF5X2xlbmd0
aF9sZW5ndGgpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09w
dGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAppbmRleCA1
ZGZjOGFhNjAyYWVhZGFmMTAzOTkyNGIwZDlmMzM3MjQzYjk4OGQ4Li4wZTJlYzk1ZTA3MzE5YzNm
MWJkZjNlNTNmMTAzZWI4MDBkOGE1NTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PcHRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T3B0aW9ucy5oCkBAIC00NTIsOCArNDUyLDYgQEAgY29uc3RleHByIGJvb2wgZW5hYmxlSW50bFBs
dXJhbFJ1bGVzID0gZmFsc2U7CiAgICAgXAogICAgIHYoYm9vbCwgdXNlSUNTdGF0cywgZmFsc2Us
IE5vcm1hbCwgbnVsbHB0cikgXAogICAgIFwKLSAgICB2KHVuc2lnbmVkLCBwcm90b3R5cGVIaXRD
b3VudEZvckxMSW50Q2FjaGluZywgMiwgTm9ybWFsLCAiTnVtYmVyIG9mIHByb3RvdHlwZSBwcm9w
ZXJ0eSBoaXRzIGJlZm9yZSBjYWNoaW5nIGEgcHJvdG90eXBlIGluIHRoZSBMTEludC4gQSBjb3Vu
dCBvZiAwIG1lYW5zIG5ldmVyIGNhY2hlLiIpIFwKLSAgICBcCiAgICAgdihib29sLCBkdW1wQ29t
cGlsZWRSZWdFeHBQYXR0ZXJucywgZmFsc2UsIE5vcm1hbCwgbnVsbHB0cikgXAogICAgIFwKICAg
ICB2KGJvb2wsIGR1bXBNb2R1bGVSZWNvcmQsIGZhbHNlLCBOb3JtYWwsIG51bGxwdHIpIFwK
</data>

          </attachment>
      

    </bug>

</bugzilla>