<?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>226176</bug_id>
          
          <creation_ts>2021-05-24 08:16:00 -0700</creation_ts>
          <short_desc>Drop CheckedLock / CheckedCondition aliases</short_desc>
          <delta_ts>2021-05-24 11:30:26 -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>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>226157</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>annulen</cc>
    
    <cc>apinheiro</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cfleizach</cc>
    
    <cc>cgarcia</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dino</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>hta</cc>
    
    <cc>jamesr</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>joepeck</cc>
    
    <cc>jsbell</cc>
    
    <cc>kangil.han</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>mark.lam</cc>
    
    <cc>menard</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>msaboff</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>samuel_white</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tommyw</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>toyoshim</cc>
    
    <cc>tzagallo</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yutak</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1763132</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-24 08:16:00 -0700</bug_when>
    <thetext>Drop CheckedLock / CheckedCondition aliases now that they are the default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763134</commentid>
    <comment_count>1</comment_count>
      <attachid>429532</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-24 08:19:27 -0700</bug_when>
    <thetext>Created attachment 429532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763139</commentid>
    <comment_count>2</comment_count>
      <attachid>429533</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-24 08:28:53 -0700</bug_when>
    <thetext>Created attachment 429533
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763197</commentid>
    <comment_count>3</comment_count>
      <attachid>429533</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-05-24 11:21:11 -0700</bug_when>
    <thetext>Comment on attachment 429533
Patch

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

&gt; Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:40
&gt; +#include &lt;wtf/Lock.h&gt;

Extra #include &lt;wtf/Lock.h&gt; I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763198</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-24 11:29:13 -0700</bug_when>
    <thetext>Committed r277958 (238085@main): &lt;https://commits.webkit.org/238085@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763199</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-24 11:29:50 -0700</bug_when>
    <thetext>(In reply to katherine_cheney from comment #3)
&gt; Comment on attachment 429533 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=429533&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:40
&gt; &gt; +#include &lt;wtf/Lock.h&gt;
&gt; 
&gt; Extra #include &lt;wtf/Lock.h&gt; I think.

Thanks for reviewing! You were right and I fixed it before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763200</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-24 11:30:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/78410657&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429532</attachid>
            <date>2021-05-24 08:19:27 -0700</date>
            <delta_ts>2021-05-24 08:28:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226176-20210524081926.patch</filename>
            <type>text/plain</type>
            <size>291158</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3OTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZTc4NDNmMmVjOTYxNDllMzQwOGVjNjJiMjNiOGZmYWVjMzE3NDdjLi5kYTViYzc0MDAyODM4YTUw
ODQwMTIwNWVlYWU4MTQ2M2Y2ZjBiMjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNzUgQEAKKzIwMjEtMDUtMjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
KworICAgICAgICBEcm9wIENoZWNrZWRMb2NrIC8gQ2hlY2tlZENvbmRpdGlvbiBhbGlhc2VzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYxNzYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIENoZWNr
ZWRMb2NrIC8gQ2hlY2tlZENvbmRpdGlvbiBhbGlhc2VzIG5vdyB0aGF0IHRoZXkgYXJlIHRoZSBk
ZWZhdWx0LgorCisgICAgICAgICogQVBJL0pTVmlydHVhbE1hY2hpbmUubW06CisgICAgICAgICog
QVBJL2dsaWIvSlNDVmlydHVhbE1hY2hpbmUuY3BwOgorICAgICAgICAqIGFzc2VtYmxlci9QZXJm
TG9nLmg6CisgICAgICAgICogYXNzZW1ibGVyL3Rlc3RtYXNtLmNwcDoKKyAgICAgICAgKiBieXRl
Y29kZS9TdHJ1Y3R1cmVTdHViSW5mby5oOgorICAgICAgICAqIGJ5dGVjb2RlL1N1cGVyU2FtcGxl
ci5jcHA6CisgICAgICAgICogZGZnL0RGR0NvbW1vbi5jcHA6CisgICAgICAgICogZGZnL0RGR0Nv
bW1vbkRhdGEuY3BwOgorICAgICAgICAqIGRmZy9ERkdQbGFuLmg6CisgICAgICAgICogZGZnL0RG
R1RocmVhZERhdGEuaDoKKyAgICAgICAgKiBkZmcvREZHV29ya2xpc3QuY3BwOgorICAgICAgICAo
SlNDOjpERkc6OldvcmtsaXN0OjpXb3JrbGlzdCk6CisgICAgICAgICogZGZnL0RGR1dvcmtsaXN0
Lmg6CisgICAgICAgICogZGlzYXNzZW1ibGVyL0Rpc2Fzc2VtYmxlci5jcHA6CisgICAgICAgICog
ZHluYmVuY2guY3BwOgorICAgICAgICAqIGhlYXAvQmxvY2tEaXJlY3RvcnkuY3BwOgorICAgICAg
ICAoSlNDOjpCbG9ja0RpcmVjdG9yeTo6cGFyYWxsZWxOb3RFbXB0eUJsb2NrU291cmNlKToKKyAg
ICAgICAgKiBoZWFwL0Jsb2NrRGlyZWN0b3J5Lmg6CisgICAgICAgIChKU0M6OkJsb2NrRGlyZWN0
b3J5OjpiaXR2ZWN0b3JMb2NrKToKKyAgICAgICAgKiBoZWFwL0NvZGVCbG9ja1NldC5oOgorICAg
ICAgICAoSlNDOjpDb2RlQmxvY2tTZXQ6OmdldExvY2spOgorICAgICAgICAqIGhlYXAvSGVhcC5j
cHA6CisgICAgICAgIChKU0M6OkhlYXA6OkhlYXApOgorICAgICAgICAqIGhlYXAvSGVhcC5oOgor
ICAgICAgICAqIGhlYXAvSXNvU3Vic3BhY2VQZXJWTS5oOgorICAgICAgICAqIGhlYXAvTWFya2Vk
U3BhY2UuaDoKKyAgICAgICAgKEpTQzo6TWFya2VkU3BhY2U6OmRpcmVjdG9yeUxvY2spOgorICAg
ICAgICAqIGhlYXAvTWFya2luZ0NvbnN0cmFpbnRTb2x2ZXIuaDoKKyAgICAgICAgKiBoZWFwL1Ns
b3RWaXNpdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U2xvdFZpc2l0b3I6OmRvbmF0ZUtub3duUGFy
YWxsZWwpOgorICAgICAgICAqIGhlYXAvU2xvdFZpc2l0b3IuaDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JDb25uZWN0aW9uQ2xpZW50Lmg6CisgICAg
ICAgICogaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0RW5kcG9p
bnQuaDoKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHA6CisgICAgICAgIChK
U0M6OkV4ZWN1dGFibGVBbGxvY2F0b3I6OmdldExvY2sgY29uc3QpOgorICAgICAgICAoSlNDOjpk
dW1wSklUTWVtb3J5KToKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oOgorICAg
ICAgICAoSlNDOjpFeGVjdXRhYmxlQWxsb2NhdG9yQmFzZTo6Z2V0TG9jayBjb25zdCk6CisgICAg
ICAgICogaml0L0pJVFdvcmtsaXN0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUV29ya2xpc3Q6OkpJ
VFdvcmtsaXN0KToKKyAgICAgICAgKiBqaXQvSklUV29ya2xpc3QuaDoKKyAgICAgICAgKiBqc2Mu
Y3BwOgorICAgICAgICAqIHByb2ZpbGVyL1Byb2ZpbGVyRGF0YWJhc2UuaDoKKyAgICAgICAgKiBy
dW50aW1lL0NvbmN1cnJlbnRKU0xvY2suaDoKKyAgICAgICAgKiBydW50aW1lL0RlZmVycmVkV29y
a1RpbWVyLmg6CisgICAgICAgICogcnVudGltZS9KU0xvY2suaDoKKyAgICAgICAgKiBydW50aW1l
L1NhbXBsaW5nUHJvZmlsZXIuY3BwOgorICAgICAgICAoSlNDOjpGcmFtZVdhbGtlcjo6RnJhbWVX
YWxrZXIpOgorICAgICAgICAoSlNDOjpDRnJhbWVXYWxrZXI6OkNGcmFtZVdhbGtlcik6CisgICAg
ICAgIChKU0M6OlNhbXBsaW5nUHJvZmlsZXI6OnRha2VTYW1wbGUpOgorICAgICAgICAqIHJ1bnRp
bWUvU2FtcGxpbmdQcm9maWxlci5oOgorICAgICAgICAoSlNDOjpTYW1wbGluZ1Byb2ZpbGVyOjpn
ZXRMb2NrKToKKyAgICAgICAgKiBydW50aW1lL1ZNLmg6CisgICAgICAgICogcnVudGltZS9WTVRy
YXBzLmNwcDoKKyAgICAgICAgKEpTQzo6Vk1UcmFwczo6aW52YWxpZGF0ZUNvZGVCbG9ja3NPblN0
YWNrKToKKyAgICAgICAgKEpTQzo6Vk1UcmFwczo6Vk1UcmFwcyk6CisgICAgICAgICogcnVudGlt
ZS9WTVRyYXBzLmg6CisgICAgICAgICogdG9vbHMvRnVuY3Rpb25PdmVycmlkZXMuaDoKKyAgICAg
ICAgKiB0b29scy9WTUluc3BlY3Rvci5jcHA6CisgICAgICAgIChKU0M6OmVuc3VyZUlzU2FmZVRv
TG9jayk6CisgICAgICAgICogdG9vbHMvVk1JbnNwZWN0b3IuaDoKKyAgICAgICAgKEpTQzo6Vk1J
bnNwZWN0b3I6OmdldExvY2spOgorICAgICAgICAqIHdhc20vV2FzbUNhbGxlZVJlZ2lzdHJ5Lmg6
CisgICAgICAgIChKU0M6Oldhc206OkNhbGxlZVJlZ2lzdHJ5OjpnZXRMb2NrKToKKyAgICAgICAg
KiB3YXNtL1dhc21QbGFuLmg6CisgICAgICAgICogd2FzbS9XYXNtU3RyZWFtaW5nQ29tcGlsZXIu
aDoKKyAgICAgICAgKiB3YXNtL1dhc21UaHVua3MuaDoKKyAgICAgICAgKiB3YXNtL1dhc21Xb3Jr
bGlzdC5jcHA6CisgICAgICAgIChKU0M6Oldhc206OldvcmtsaXN0OjpXb3JrbGlzdCk6CisgICAg
ICAgICogd2FzbS9XYXNtV29ya2xpc3QuaDoKKworMjAyMS0wNS0yMyAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgQ2hlY2tlZExvY2sgdGhlIGRlZmF1bHQg
TG9jaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2
MTU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgTWFrZSBD
aGVja2VkTG9jayB0aGUgZGVmYXVsdCBMb2NrIHNvIHRoYXQgd2UgZ2V0IG1vcmUgYmVuZWZpdHMg
ZnJvbSBDbGFuZworICAgICAgICBUaHJlYWQgU2FmZXR5IEFuYWx5c2lzLiBOb3RlIHRoYXQgQ2hl
Y2tlZExvY2sgMTAwJSByZWxpZXMgb24gdGhlIGV4aXN0aW5nCisgICAgICAgIExvY2sgaW1wbGVt
ZW50YXRpb24gYW5kIG1lcmVseSBhZGRzIHRoZSBjbGFuZyBhbm90YXRpb25zIGZvciB0aHJlYWQg
CisgICAgICAgIHNhZmV0eS4KKworICAgICAgICBUaGF0IHRoaXMgcGF0Y2ggZG9lcyBpczoKKyAg
ICAgICAgMS4gUmVuYW1lIHRoZSBMb2NrIGNsYXNzIHRvIFVuY2hlY2tlZExvY2sKKyAgICAgICAg
Mi4gUmVuYW1lIHRoZSBDaGVja2VkTG9jayBjbGFzcyB0byBMb2NrCisgICAgICAgIDMuIFJlbmFt
ZSB0aGUgQ29uZGl0aW9uIGNsYXNzIHRvIFVuY2hlY2tlZENvbmRpdGlvbgorICAgICAgICA0LiBS
ZW5hbWUgdGhlIENoZWNrZWRDb25kaXRpb24gY2xhc3MgdG8gQ29uZGl0aW9uCisgICAgICAgIDUu
IFVwZGF0ZSB0aGUgdHlwZXMgb2YgY2VydGFpbiB2YXJpYWJsZXMgZnJvbSBMb2NrIC8gQ29uZGl0
aW9uIHRvCisgICAgICAgICAgIFVuY2hlY2tlZExvY2sgLyBVbmNoZWNrZWRDb25kaXRpb24gaWYg
SSBnb3QgYSBidWlsZCBmYWlsdXJlLiBCdWlsZCAKKyAgICAgICAgICAgZmFpbHVyZXMgYXJlIHVz
dWFsbHkgY2F1c2VkIGJ5IHRoZSBmb2xsb3dpbmcgZmFjdHM6CisgICAgICAgICAgIC0gTG9ja2Vy
PENoZWNrZWRMb2NrPiBkb2Vzbid0IHN1YmNsYXNzIEFic3RyYWN0TG9ja2VyIHdoaWNoIGEgbG90
IG9mCisgICAgICAgICAgICAgSlNDIGNvZGUgcGFzc2VzIGFzIGFyZ3VtZW50CisgICAgICAgICAg
IC0gTG9ja2VyPENoZWNrZWRMb2NrPiBoYXMgbm8gbW92ZSBjb25zdHJ1Y3RvcgorICAgICAgICAg
ICAtIExvY2tlcjxDaGVja2VkTG9jaz4gY2Fubm90IGJlIGNvbnN0cnVjdGVkIGZyb20gYSBsb2Nr
IHBvaW50ZXIsIG9ubHkKKyAgICAgICAgICAgICBhIHJlZmVyZW5jZQorCisgICAgICAgIEZvciBu
b3csIENoZWNrZWRMb2NrIGFuZCBDaGVja2VkQ29uZGl0aW9uIHJlbWFpbiBhcyBhbGlhc2VzIHRv
IExvY2sgYW5kIAorICAgICAgICBDb25kaXRpb24sIGluIHRoZWlyIHJlc3BlY3RpdmUgQ2hlY2tl
ZExvY2suaCAvIENoZWNrZWRDb25kaXRpb24uaCBoZWFkZXJzLgorICAgICAgICBJIHdpbGwgZHJv
cCB0aGVtIGluIGEgZm9sbG93LXVwIHRvIHJlZHVjZSBwYXRjaCBzaXplLgorCisgICAgICAgIEkg
d2lsbCBhbHNvIGZvbGxvdy11cCB0byB0cnkgYW5kIGdldCByaWQgb2YgYXMgbXVjaCB1c2FnZSBv
ZiBVbmNoZWNrZWRMb2NrCisgICAgICAgIGFuZCBVbmNoZWNrZWRDb25kaXRpb24gYXMgcG9zc2li
bGUuIEkgZGlkIG5vdCB0cnkgdmVyeSBoYXJkIGluIHRoaXMgcGF0Y2gKKyAgICAgICAgdG8gcmVk
dWNlIHBhdGNoIHNpemUuIAorCisgICAgICAgICogYXNzZW1ibGVyL3Rlc3RtYXNtLmNwcDoKKyAg
ICAgICAgKiBkZmcvREZHQ29tbW9uLmNwcDoKKyAgICAgICAgKiBkZmcvREZHVGhyZWFkRGF0YS5o
OgorICAgICAgICAqIGRmZy9ERkdXb3JrbGlzdC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6V29y
a2xpc3Q6OldvcmtsaXN0KToKKyAgICAgICAgKiBkZmcvREZHV29ya2xpc3QuaDoKKyAgICAgICAg
KiBkeW5iZW5jaC5jcHA6CisgICAgICAgICogaGVhcC9CbG9ja0RpcmVjdG9yeS5oOgorICAgICAg
ICAoSlNDOjpCbG9ja0RpcmVjdG9yeTo6Yml0dmVjdG9yTG9jayk6CisgICAgICAgICogaGVhcC9D
b2RlQmxvY2tTZXQuaDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrU2V0OjpnZXRMb2NrKToKKyAg
ICAgICAgKiBoZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlNDOjpIZWFwOjpIZWFwKToKKyAgICAg
ICAgKiBoZWFwL0hlYXAuaDoKKyAgICAgICAgKiBoZWFwL01hcmtlZFNwYWNlLmg6CisgICAgICAg
IChKU0M6Ok1hcmtlZFNwYWNlOjpkaXJlY3RvcnlMb2NrKToKKyAgICAgICAgKiBoZWFwL01hcmtp
bmdDb25zdHJhaW50U29sdmVyLmg6CisgICAgICAgICogaGVhcC9TbG90VmlzaXRvci5jcHA6Cisg
ICAgICAgIChKU0M6OlNsb3RWaXNpdG9yOjpkb25hdGVLbm93blBhcmFsbGVsKToKKyAgICAgICAg
KiBoZWFwL1Nsb3RWaXNpdG9yLmg6CisgICAgICAgICogaml0L0V4ZWN1dGFibGVBbGxvY2F0b3Iu
Y3BwOgorICAgICAgICAoSlNDOjpFeGVjdXRhYmxlQWxsb2NhdG9yOjpnZXRMb2NrIGNvbnN0KToK
KyAgICAgICAgKEpTQzo6ZHVtcEpJVE1lbW9yeSk6CisgICAgICAgICogaml0L0V4ZWN1dGFibGVB
bGxvY2F0b3IuaDoKKyAgICAgICAgKEpTQzo6RXhlY3V0YWJsZUFsbG9jYXRvckJhc2U6OmdldExv
Y2sgY29uc3QpOgorICAgICAgICAqIGppdC9KSVRXb3JrbGlzdC5jcHA6CisgICAgICAgIChKU0M6
OkpJVFdvcmtsaXN0OjpKSVRXb3JrbGlzdCk6CisgICAgICAgICogaml0L0pJVFdvcmtsaXN0Lmg6
CisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKiBwcm9maWxlci9Qcm9maWxlckRhdGFiYXNl
Lmg6CisgICAgICAgICogcnVudGltZS9Db25jdXJyZW50SlNMb2NrLmg6CisgICAgICAgICogcnVu
dGltZS9EZWZlcnJlZFdvcmtUaW1lci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNMb2NrLmg6Cisg
ICAgICAgICogcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcDoKKyAgICAgICAgKEpTQzo6RnJh
bWVXYWxrZXI6OkZyYW1lV2Fsa2VyKToKKyAgICAgICAgKEpTQzo6Q0ZyYW1lV2Fsa2VyOjpDRnJh
bWVXYWxrZXIpOgorICAgICAgICAoSlNDOjpTYW1wbGluZ1Byb2ZpbGVyOjp0YWtlU2FtcGxlKToK
KyAgICAgICAgKiBydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuaDoKKyAgICAgICAgKEpTQzo6U2Ft
cGxpbmdQcm9maWxlcjo6Z2V0TG9jayk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAgICAg
ICAqIHJ1bnRpbWUvVk1UcmFwcy5jcHA6CisgICAgICAgIChKU0M6OlZNVHJhcHM6OmludmFsaWRh
dGVDb2RlQmxvY2tzT25TdGFjayk6CisgICAgICAgIChKU0M6OlZNVHJhcHM6OlZNVHJhcHMpOgor
ICAgICAgICAqIHJ1bnRpbWUvVk1UcmFwcy5oOgorICAgICAgICAqIHRvb2xzL0Z1bmN0aW9uT3Zl
cnJpZGVzLmg6CisgICAgICAgICogdG9vbHMvVk1JbnNwZWN0b3IuY3BwOgorICAgICAgICAoSlND
OjplbnN1cmVJc1NhZmVUb0xvY2spOgorICAgICAgICAqIHRvb2xzL1ZNSW5zcGVjdG9yLmg6Cisg
ICAgICAgIChKU0M6OlZNSW5zcGVjdG9yOjpnZXRMb2NrKToKKyAgICAgICAgKiB3YXNtL1dhc21D
YWxsZWVSZWdpc3RyeS5oOgorICAgICAgICAoSlNDOjpXYXNtOjpDYWxsZWVSZWdpc3RyeTo6Z2V0
TG9jayk6CisgICAgICAgICogd2FzbS9XYXNtUGxhbi5oOgorICAgICAgICAqIHdhc20vV2FzbVN0
cmVhbWluZ0NvbXBpbGVyLmg6CisgICAgICAgICogd2FzbS9XYXNtVGh1bmtzLmg6CisgICAgICAg
ICogd2FzbS9XYXNtV29ya2xpc3QuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpXb3JrbGlzdDo6
V29ya2xpc3QpOgorICAgICAgICAqIHdhc20vV2FzbVdvcmtsaXN0Lmg6CisKIDIwMjEtMDUtMjMg
IE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBFTkFCTEUo
TUFTTV9QUk9CRSkgZmxhZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291
cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggNWIxMTM5OWFmZDlkOTczNmU1OGY1MGE5YzE1ZTdhY2E0
ZWU4MzM0Yy4uYzI5NDVjNzYyOTQ1NWMzNjY1ZDFjMjk1OWZlNTc1ZDY0YzUyNTY5OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMzcgQEAKKzIwMjEtMDUtMjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBEcm9wIENoZWNrZWRMb2NrIC8gQ2hlY2tlZENvbmRpdGlvbiBhbGlhc2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYxNzYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIENo
ZWNrZWRMb2NrIC8gQ2hlY2tlZENvbmRpdGlvbiBhbGlhc2VzIG5vdyB0aGF0IHRoZXkgYXJlIHRo
ZSBkZWZhdWx0LgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogd3RmL0Fzc2VydGlvbnMuY3BwOgorICAgICAgICAqIHd0Zi9BdXRvbWF0aWNUaHJl
YWQuY3BwOgorICAgICAgICAoV1RGOjpBdXRvbWF0aWNUaHJlYWRDb25kaXRpb246OndhaXQpOgor
ICAgICAgICAoV1RGOjpBdXRvbWF0aWNUaHJlYWRDb25kaXRpb246OndhaXRGb3IpOgorICAgICAg
ICAoV1RGOjpBdXRvbWF0aWNUaHJlYWQ6OkF1dG9tYXRpY1RocmVhZCk6CisgICAgICAgICogd3Rm
L0F1dG9tYXRpY1RocmVhZC5oOgorICAgICAgICAqIHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiB3dGYvQ2hlY2tlZENvbmRpdGlvbi5oOiBSZW1vdmVkLgorICAgICAgICAqIHd0Zi9DaGVj
a2VkTG9jay5oOiBSZW1vdmVkLgorICAgICAgICAqIHd0Zi9Db25kaXRpb24uaDoKKyAgICAgICAg
KiB3dGYvQ3Jvc3NUaHJlYWRRdWV1ZS5oOgorICAgICAgICAqIHd0Zi9Dcm9zc1RocmVhZFRhc2tI
YW5kbGVyLmg6CisgICAgICAgICogd3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmNw
cDoKKyAgICAgICAgKiB3dGYvRmFzdE1hbGxvYy5jcHA6CisgICAgICAgICogd3RmL0ZvcndhcmQu
aDoKKyAgICAgICAgKiB3dGYvTGFuZ3VhZ2UuY3BwOgorICAgICAgICAqIHd0Zi9Mb2NrLmNwcDoK
KyAgICAgICAgKFdURjo6VW5jaGVja2VkTG9jazo6bG9ja1Nsb3cpOgorICAgICAgICAoV1RGOjpV
bmNoZWNrZWRMb2NrOjp1bmxvY2tTbG93KToKKyAgICAgICAgKFdURjo6VW5jaGVja2VkTG9jazo6
dW5sb2NrRmFpcmx5U2xvdyk6CisgICAgICAgIChXVEY6OlVuY2hlY2tlZExvY2s6OnNhZmVwb2lu
dFNsb3cpOgorICAgICAgICAqIHd0Zi9Mb2NrLmg6CisgICAgICAgIChXVEY6OldURl9BU1NFUlRT
X0FDUVVJUkVEX0xPQ0spOgorICAgICAgICAqIHd0Zi9Mb2dnZXIuY3BwOgorICAgICAgICAqIHd0
Zi9Mb2dnZXIuaDoKKyAgICAgICAgKFdURjo6TG9nZ2VyOjpXVEZfUkVUVVJOU19MT0NLKToKKyAg
ICAgICAgKiB3dGYvTWVzc2FnZVF1ZXVlLmg6CisgICAgICAgICogd3RmL01ldGFBbGxvY2F0b3Iu
Y3BwOgorICAgICAgICAoV1RGOjpNZXRhQWxsb2NhdG9yOjpyZWxlYXNlKToKKyAgICAgICAgKFdU
Rjo6TWV0YUFsbG9jYXRvcjo6TWV0YUFsbG9jYXRvcik6CisgICAgICAgIChXVEY6Ok1ldGFBbGxv
Y2F0b3I6OmFsbG9jYXRlKToKKyAgICAgICAgKFdURjo6TWV0YUFsbG9jYXRvcjo6Y3VycmVudFN0
YXRpc3RpY3MpOgorICAgICAgICAqIHd0Zi9NZXRhQWxsb2NhdG9yLmg6CisgICAgICAgICogd3Rm
L09TTG9nUHJpbnRTdHJlYW0uaDoKKyAgICAgICAgKiB3dGYvUGFyYWxsZWxIZWxwZXJQb29sLmNw
cDoKKyAgICAgICAgKFdURjo6UGFyYWxsZWxIZWxwZXJQb29sOjpQYXJhbGxlbEhlbHBlclBvb2wp
OgorICAgICAgICAqIHd0Zi9QYXJhbGxlbEhlbHBlclBvb2wuaDoKKyAgICAgICAgKiB3dGYvUGFy
YWxsZWxKb2JzR2VuZXJpYy5oOgorICAgICAgICAqIHd0Zi9QYXJhbGxlbFZlY3Rvckl0ZXJhdG9y
Lmg6CisgICAgICAgICogd3RmL1JlYWRXcml0ZUxvY2suaDoKKyAgICAgICAgKiB3dGYvUmVjdXJz
aXZlTG9ja0FkYXB0ZXIuaDoKKyAgICAgICAgKiB3dGYvUnVuTG9vcC5oOgorICAgICAgICAqIHd0
Zi9TeW5jaHJvbml6ZWRGaXhlZFF1ZXVlLmg6CisgICAgICAgICogd3RmL1RocmVhZGluZy5jcHA6
CisgICAgICAgIChXVEY6OlRocmVhZDo6YWxsVGhyZWFkc0xvY2spOgorICAgICAgICAqIHd0Zi9U
aHJlYWRpbmcuaDoKKyAgICAgICAgKiB3dGYvVGltaW5nU2NvcGUuY3BwOgorICAgICAgICAqIHd0
Zi9VUkwuY3BwOgorICAgICAgICAqIHd0Zi9XVEZTZW1hcGhvcmUuaDoKKyAgICAgICAgKiB3dGYv
V29ya1F1ZXVlLmNwcDoKKyAgICAgICAgKFdURjo6V29ya1F1ZXVlOjpjb25jdXJyZW50QXBwbHkp
OgorICAgICAgICAqIHd0Zi9Xb3JrZXJQb29sLmNwcDoKKyAgICAgICAgKFdURjo6V29ya2VyUG9v
bDo6V29ya2VyUG9vbCk6CisgICAgICAgICogd3RmL1dvcmtlclBvb2wuaDoKKyAgICAgICAgKiB3
dGYvY2YvTGFuZ3VhZ2VDRi5jcHA6CisgICAgICAgICogd3RmL3RleHQvQXRvbVN0cmluZ0ltcGwu
Y3BwOgorICAgICAgICAoV1RGOjpBdG9tU3RyaW5nVGFibGVMb2NrZXI6OkF0b21TdHJpbmdUYWJs
ZUxvY2tlcik6CisgICAgICAgICogd3RmL3RleHQvU3RyaW5nVmlldy5jcHA6CisgICAgICAgICog
d3RmL3RocmVhZHMvQmluYXJ5U2VtYXBob3JlLmg6CisgICAgICAgICogd3RmL3VuaWNvZGUvaWN1
L0NvbGxhdG9ySUNVLmNwcDoKKworMjAyMS0wNS0yMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgorCisgICAgICAgIE1ha2UgQ2hlY2tlZExvY2sgdGhlIGRlZmF1bHQgTG9jaworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MTU3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgTWFrZSBDaGVja2VkTG9j
ayB0aGUgZGVmYXVsdCBMb2NrIHNvIHRoYXQgd2UgZ2V0IG1vcmUgYmVuZWZpdHMgZnJvbSBDbGFu
ZworICAgICAgICBUaHJlYWQgU2FmZXR5IEFuYWx5c2lzLiBOb3RlIHRoYXQgQ2hlY2tlZExvY2sg
MTAwJSByZWxpZXMgb24gdGhlIGV4aXN0aW5nCisgICAgICAgIExvY2sgaW1wbGVtZW50YXRpb24g
YW5kIG1lcmVseSBhZGRzIHRoZSBjbGFuZyBhbm90YXRpb25zIGZvciB0aHJlYWQKKyAgICAgICAg
c2FmZXR5LgorCisgICAgICAgIFRoYXQgdGhpcyBwYXRjaCBkb2VzIGlzOgorICAgICAgICAxLiBS
ZW5hbWUgdGhlIExvY2sgY2xhc3MgdG8gVW5jaGVja2VkTG9jaworICAgICAgICAyLiBSZW5hbWUg
dGhlIENoZWNrZWRMb2NrIGNsYXNzIHRvIExvY2sKKyAgICAgICAgMy4gUmVuYW1lIHRoZSBDb25k
aXRpb24gY2xhc3MgdG8gVW5jaGVja2VkQ29uZGl0aW9uCisgICAgICAgIDQuIFJlbmFtZSB0aGUg
Q2hlY2tlZENvbmRpdGlvbiBjbGFzcyB0byBDb25kaXRpb24KKyAgICAgICAgNS4gVXBkYXRlIHRo
ZSB0eXBlcyBvZiBjZXJ0YWluIHZhcmlhYmxlcyBmcm9tIExvY2sgLyBDb25kaXRpb24gdG8KKyAg
ICAgICAgICAgVW5jaGVja2VkTG9jayAvIFVuY2hlY2tlZENvbmRpdGlvbiBpZiBJIGdvdCBhIGJ1
aWxkIGZhaWx1cmUuIEJ1aWxkCisgICAgICAgICAgIGZhaWx1cmVzIGFyZSB1c3VhbGx5IGNhdXNl
ZCBieSB0aGUgZm9sbG93aW5nIGZhY3RzOgorICAgICAgICAgICAtIExvY2tlcjxDaGVja2VkTG9j
az4gZG9lc24ndCBzdWJjbGFzcyBBYnN0cmFjdExvY2tlciB3aGljaCBhIGxvdCBvZgorICAgICAg
ICAgICAgIEpTQyBjb2RlIHBhc3NlcyBhcyBhcmd1bWVudAorICAgICAgICAgICAtIExvY2tlcjxD
aGVja2VkTG9jaz4gaGFzIG5vIG1vdmUgY29uc3RydWN0b3IKKyAgICAgICAgICAgLSBMb2NrZXI8
Q2hlY2tlZExvY2s+IGNhbm5vdCBiZSBjb25zdHJ1Y3RlZCBmcm9tIGEgbG9jayBwb2ludGVyLCBv
bmx5CisgICAgICAgICAgICAgYSByZWZlcmVuY2UKKyAgICAgICAgCisgICAgICAgIEZvciBub3cs
IENoZWNrZWRMb2NrIGFuZCBDaGVja2VkQ29uZGl0aW9uIHJlbWFpbiBhcyBhbGlhc2VzIHRvIExv
Y2sgYW5kCisgICAgICAgIENvbmRpdGlvbiwgaW4gdGhlaXIgcmVzcGVjdGl2ZSBDaGVja2VkTG9j
ay5oIC8gQ2hlY2tlZENvbmRpdGlvbi5oIGhlYWRlcnMuCisgICAgICAgIEkgd2lsbCBkcm9wIHRo
ZW0gaW4gYSBmb2xsb3ctdXAgdG8gcmVkdWNlIHBhdGNoIHNpemUuCisKKyAgICAgICAgSSB3aWxs
IGFsc28gZm9sbG93LXVwIHRvIHRyeSBhbmQgZ2V0IHJpZCBvZiBhcyBtdWNoIHVzYWdlIG9mIFVu
Y2hlY2tlZExvY2sKKyAgICAgICAgYW5kIFVuY2hlY2tlZENvbmRpdGlvbiBhcyBwb3NzaWJsZS4g
SSBkaWQgbm90IHRyeSB2ZXJ5IGhhcmQgaW4gdGhpcyBwYXRjaAorICAgICAgICB0byByZWR1Y2Ug
cGF0Y2ggc2l6ZS4KKworICAgICAgICAqIHd0Zi9BdXRvbWF0aWNUaHJlYWQuY3BwOgorICAgICAg
ICAoV1RGOjpBdXRvbWF0aWNUaHJlYWRDb25kaXRpb246OndhaXQpOgorICAgICAgICAoV1RGOjpB
dXRvbWF0aWNUaHJlYWRDb25kaXRpb246OndhaXRGb3IpOgorICAgICAgICAoV1RGOjpBdXRvbWF0
aWNUaHJlYWQ6OkF1dG9tYXRpY1RocmVhZCk6CisgICAgICAgICogd3RmL0F1dG9tYXRpY1RocmVh
ZC5oOgorICAgICAgICAqIHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg6CisgICAgICAgICogd3RmL0No
ZWNrZWRMb2NrLmg6CisgICAgICAgICogd3RmL0NvbmRpdGlvbi5oOgorICAgICAgICAqIHd0Zi9M
b2NrLmNwcDoKKyAgICAgICAgKFdURjo6VW5jaGVja2VkTG9jazo6bG9ja1Nsb3cpOgorICAgICAg
ICAoV1RGOjpVbmNoZWNrZWRMb2NrOjp1bmxvY2tTbG93KToKKyAgICAgICAgKFdURjo6VW5jaGVj
a2VkTG9jazo6dW5sb2NrRmFpcmx5U2xvdyk6CisgICAgICAgIChXVEY6OlVuY2hlY2tlZExvY2s6
OnNhZmVwb2ludFNsb3cpOgorICAgICAgICAqIHd0Zi9Mb2NrLmg6CisgICAgICAgIChXVEY6OldU
Rl9BU1NFUlRTX0FDUVVJUkVEX0xPQ0spOgorICAgICAgICAqIHd0Zi9NZXRhQWxsb2NhdG9yLmNw
cDoKKyAgICAgICAgKFdURjo6TWV0YUFsbG9jYXRvcjo6cmVsZWFzZSk6CisgICAgICAgIChXVEY6
Ok1ldGFBbGxvY2F0b3I6Ok1ldGFBbGxvY2F0b3IpOgorICAgICAgICAoV1RGOjpNZXRhQWxsb2Nh
dG9yOjphbGxvY2F0ZSk6CisgICAgICAgIChXVEY6Ok1ldGFBbGxvY2F0b3I6OmN1cnJlbnRTdGF0
aXN0aWNzKToKKyAgICAgICAgKiB3dGYvTWV0YUFsbG9jYXRvci5oOgorICAgICAgICAqIHd0Zi9Q
YXJhbGxlbEhlbHBlclBvb2wuY3BwOgorICAgICAgICAoV1RGOjpQYXJhbGxlbEhlbHBlclBvb2w6
OlBhcmFsbGVsSGVscGVyUG9vbCk6CisgICAgICAgICogd3RmL1BhcmFsbGVsSGVscGVyUG9vbC5o
OgorICAgICAgICAqIHd0Zi9SZWN1cnNpdmVMb2NrQWRhcHRlci5oOgorICAgICAgICAqIHd0Zi9X
b3JrZXJQb29sLmNwcDoKKyAgICAgICAgKFdURjo6V29ya2VyUG9vbDo6V29ya2VyUG9vbCk6Cisg
ICAgICAgICogd3RmL1dvcmtlclBvb2wuaDoKKwogMjAyMS0wNS0yMyAgTWFyayBMYW0gIDxtYXJr
LmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRShNQVNNX1BST0JFKSBmbGFn
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDRmNDViMTQ0YmE1OGUwNjM5OTY4ZjZmY2RhYzY2N2VmNWNhM2NlZTAu
LmMzYzMxOWQzMjgzNzBjMzJkOThhYzIyODUyOGZlMGMyZGU2ODQ2ZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMTAgQEAKKzIwMjEtMDUtMjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBEcm9wIENoZWNrZWRMb2NrIC8gQ2hlY2tlZENvbmRpdGlvbiBhbGlhc2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYxNzYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIENo
ZWNrZWRMb2NrIC8gQ2hlY2tlZENvbmRpdGlvbiBhbGlhc2VzIG5vdyB0aGF0IHRoZXkgYXJlIHRo
ZSBkZWZhdWx0LgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUu
aDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oOgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaDoKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VyaWFsaXphdGlvbkNvbnRleHQuY3Bw
OgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtZXIuaDoKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5oOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxl
ci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNv
Z25pdGlvbkNhcHR1cmVTb3VyY2VJbXBsLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9B
dWRpb1BhcmFtVGltZWxpbmUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxl
bWVudEF1ZGlvU291cmNlTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0
YWJhc2UuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaDoKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5oOgorICAgICAgICAq
IE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUYXNrLmg6CisgICAgICAgICogTW9kdWxlcy93
ZWJkYXRhYmFzZS9EYXRhYmFzZVRocmVhZC5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJh
c2UvRGF0YWJhc2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tl
cjo6b3BlbkRhdGFiYXNlTXV0ZXgpOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0
YWJhc2VUcmFja2VyLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9PcmlnaW5Mb2Nr
LmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL1NRTENhbGxiYWNrV3JhcHBlci5o
OgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaDoKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR1BVRGV2aWNlOjppbnN0YW5jZXNMb2NrKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9X
ZWJHUFVEZXZpY2UuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHUFVQaXBlbGluZTo6aW5zdGFuY2VzTG9jayk6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmUuaDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dDo6YWxsQWN0aXZlV2ViU29ja2V0c0xvY2spOgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0
cy9XZWJTb2NrZXQuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZS5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJ
c29sYXRlZFRyZWUuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5o
OgorICAgICAgICAqIGJyaWRnZS9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbToKKyAgICAgICAgKiBj
cnlwdG8vQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuaDoKKyAgICAgICAgKiBkb20vTWVzc2FnZVBv
cnQuY3BwOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKiBkb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNyZWF0ZU1lZGlhUGxheWVyKToK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQ6Omluc3RhbmNlc0xvY2spOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaDoKKyAgICAgICAgKiBo
dG1sL2NhbnZhcy9XZWJHTENvbnRleHRHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
TENvbnRleHRHcm91cDo6b2JqZWN0R3JhcGhMb2NrRm9yQUNvbnRleHQpOgorICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYkdMQ29udGV4dEdyb3VwLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2Vi
R0xDb250ZXh0T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMQ29udGV4dE9iamVj
dDo6b2JqZWN0R3JhcGhMb2NrRm9yQ29udGV4dCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2Vi
R0xDb250ZXh0T2JqZWN0Lmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xPYmplY3QuaDoK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFByb2dyYW0uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR0xQcm9ncmFtOjppbnN0YW5jZXNMb2NrKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9X
ZWJHTFByb2dyYW0uaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6
Om9iamVjdEdyYXBoTG9jayk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMU2hhcmVkT2JqZWN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMU2hhcmVkT2JqZWN0OjpvYmplY3RHcmFwaExvY2tG
b3JDb250ZXh0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFNoYXJlZE9iamVjdC5oOgor
ICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvV2ViSGVhcEFnZW50LmNwcDoKKyAgICAgICAgKiBw
YWdlL1Jlc291cmNlVXNhZ2VUaHJlYWQuaDoKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5UG9saWN5
LmNwcDoKKyAgICAgICAgKiBwYWdlL1doZWVsRXZlbnRUZXN0TW9uaXRvci5oOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ1RyZWU6OldURl9SRVRVUk5TX0xPQ0spOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGlu
Zy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Ny
b2xsaW5nVHJlZTo6V1RGX1JFVFVSTlNfTE9DSyk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcv
bWFjL1Njcm9sbGluZ1RyZWVNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9BYm9ydGFibGVUYXNr
UXVldWUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmg6CisgICAgICAgICogcGxhdGZvcm0vTGVn
YWN5U2NoZW1lUmVnaXN0cnkuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvRGVz
dGluYXRpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2VMb2FkZXIu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmV2ZXJiQ29udm9sdmVyOjpiYWNrZ3JvdW5kVGhyZWFkRW50cnkpOgorICAg
ICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb1NvdXJjZVByb3ZpZGVyR1N0cmVh
bWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL1dlYktpdFdlYkF1ZGlv
U291cmNlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9tYWMvRkZURnJh
bWVNYWMuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETVByb3h5Lmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
YXRjaEJ1ZmZlcjo6bG9jayk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dCbHVyOjpkcmF3UmVj
dFNoYWRvd1dpdGhUaWxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Qmx1cjo6ZHJhd0lu
c2V0U2hhZG93V2l0aFRpbGluZyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25DRi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxheWVyQ29jb2EubW06CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHA6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0ltYWdlRGVjb2RlckdTdHJlYW1lci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NYWluVGhyZWFkTm90aWZpZXIuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dT
dHJlYW1lci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktp
dFdlYlNvdXJjZUdTdHJlYW1lci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1dlYktpdE1lZGlhU291
cmNlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5oOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVy
ZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6V1RGX1JFVFVSTlNfTE9DSyk6CisgICAgICAgICog
cGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvU2NhbGFibGVJbWFnZURlY29kZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3MvUXVpY2tMb29rLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJT
UUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQubW06CisgICAgICAgICogcGxhdGZvcm0vaW9zL3dh
ay9XZWJDb3JlVGhyZWFkUnVuLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVy
L01lZGlhUmVjb3JkZXJQcml2YXRlTW9jay5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVj
b3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9BdWRpb01lZGlhU3RyZWFtVHJh
Y2tSZW5kZXJlclVuaXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFt
ZXIvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlTGliV2ViUlRDLmg6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9jZi9Mb2FkZXJSdW5Mb29wQ0YuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
bG9hZGVyUnVuTG9vcCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jb2NvYS9XZWJDb3Jl
TlNVUkxTZXNzaW9uLm1tOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxp
dGllcy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VI
YW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9zcWwv
U1FMaXRlRGF0YWJhc2UuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFz
ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwOgorICAgICAg
ICAqIHN0b3JhZ2UvU3RvcmFnZVF1b3RhTWFuYWdlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2Ny
aXB0Q29udHJvbGxlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0VGhyZWFk
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck9yV29ya2xldFRocmVhZDo6d29ya2VyT3JX
b3JrbGV0VGhyZWFkc0xvY2spOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0VGhy
ZWFkLmg6CisgICAgICAgICogd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaDoKKwor
MjAyMS0wNS0yMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIE1h
a2UgQ2hlY2tlZExvY2sgdGhlIGRlZmF1bHQgTG9jaworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MTU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCisKKyAgICAgICAgTWFrZSBDaGVja2VkTG9jayB0aGUgZGVmYXVsdCBMb2NrIHNv
IHRoYXQgd2UgZ2V0IG1vcmUgYmVuZWZpdHMgZnJvbSBDbGFuZworICAgICAgICBUaHJlYWQgU2Fm
ZXR5IEFuYWx5c2lzLiBOb3RlIHRoYXQgQ2hlY2tlZExvY2sgMTAwJSByZWxpZXMgb24gdGhlIGV4
aXN0aW5nCisgICAgICAgIExvY2sgaW1wbGVtZW50YXRpb24gYW5kIG1lcmVseSBhZGRzIHRoZSBj
bGFuZyBhbm90YXRpb25zIGZvciB0aHJlYWQgCisgICAgICAgIHNhZmV0eS4KKworICAgICAgICBU
aGF0IHRoaXMgcGF0Y2ggZG9lcyBpczoKKyAgICAgICAgMS4gUmVuYW1lIHRoZSBMb2NrIGNsYXNz
IHRvIFVuY2hlY2tlZExvY2sKKyAgICAgICAgMi4gUmVuYW1lIHRoZSBDaGVja2VkTG9jayBjbGFz
cyB0byBMb2NrCisgICAgICAgIDMuIFJlbmFtZSB0aGUgQ29uZGl0aW9uIGNsYXNzIHRvIFVuY2hl
Y2tlZENvbmRpdGlvbgorICAgICAgICA0LiBSZW5hbWUgdGhlIENoZWNrZWRDb25kaXRpb24gY2xh
c3MgdG8gQ29uZGl0aW9uCisgICAgICAgIDUuIFVwZGF0ZSB0aGUgdHlwZXMgb2YgY2VydGFpbiB2
YXJpYWJsZXMgZnJvbSBMb2NrIC8gQ29uZGl0aW9uIHRvCisgICAgICAgICAgIFVuY2hlY2tlZExv
Y2sgLyBVbmNoZWNrZWRDb25kaXRpb24gaWYgSSBnb3QgYSBidWlsZCBmYWlsdXJlLiBCdWlsZCAK
KyAgICAgICAgICAgZmFpbHVyZXMgYXJlIHVzdWFsbHkgY2F1c2VkIGJ5IHRoZSBmb2xsb3dpbmcg
ZmFjdHM6CisgICAgICAgICAgIC0gTG9ja2VyPENoZWNrZWRMb2NrPiBkb2Vzbid0IHN1YmNsYXNz
IEFic3RyYWN0TG9ja2VyIHdoaWNoIGEgbG90IG9mCisgICAgICAgICAgICAgSlNDIGNvZGUgcGFz
c2VzIGFzIGFyZ3VtZW50CisgICAgICAgICAgIC0gTG9ja2VyPENoZWNrZWRMb2NrPiBoYXMgbm8g
bW92ZSBjb25zdHJ1Y3RvcgorICAgICAgICAgICAtIExvY2tlcjxDaGVja2VkTG9jaz4gY2Fubm90
IGJlIGNvbnN0cnVjdGVkIGZyb20gYSBsb2NrIHBvaW50ZXIsIG9ubHkKKyAgICAgICAgICAgICBh
IHJlZmVyZW5jZQorCisgICAgICAgIEZvciBub3csIENoZWNrZWRMb2NrIGFuZCBDaGVja2VkQ29u
ZGl0aW9uIHJlbWFpbiBhcyBhbGlhc2VzIHRvIExvY2sgYW5kIAorICAgICAgICBDb25kaXRpb24s
IGluIHRoZWlyIHJlc3BlY3RpdmUgQ2hlY2tlZExvY2suaCAvIENoZWNrZWRDb25kaXRpb24uaCBo
ZWFkZXJzLgorICAgICAgICBJIHdpbGwgZHJvcCB0aGVtIGluIGEgZm9sbG93LXVwIHRvIHJlZHVj
ZSBwYXRjaCBzaXplLgorCisgICAgICAgIEkgd2lsbCBhbHNvIGZvbGxvdy11cCB0byB0cnkgYW5k
IGdldCByaWQgb2YgYXMgbXVjaCB1c2FnZSBvZiBVbmNoZWNrZWRMb2NrCisgICAgICAgIGFuZCBV
bmNoZWNrZWRDb25kaXRpb24gYXMgcG9zc2libGUuIEkgZGlkIG5vdCB0cnkgdmVyeSBoYXJkIGlu
IHRoaXMgcGF0Y2gKKyAgICAgICAgdG8gcmVkdWNlIHBhdGNoIHNpemUuIAorCisgICAgICAgICog
TW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHA6CisgICAgICAgICogTW9kdWxl
cy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmRhdGFiYXNlL09yaWdpbkxvY2suY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
RE9NR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAqIGh0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjpjcmVhdGVNZWRpYVBsYXllcik6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xDb250
ZXh0R3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xDb250ZXh0R3JvdXA6Om9iamVj
dEdyYXBoTG9ja0ZvckFDb250ZXh0KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTENvbnRl
eHRHcm91cC5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dE9iamVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXZWJHTENvbnRleHRPYmplY3Q6Om9iamVjdEdyYXBoTG9ja0Zv
ckNvbnRleHQpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dE9iamVjdC5oOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMT2JqZWN0Lmg6CisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpvYmplY3RHcmFwaExvY2spOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaDoKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJHTFNoYXJlZE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFNoYXJlZE9i
amVjdDo6b2JqZWN0R3JhcGhMb2NrRm9yQ29udGV4dCk6CisgICAgICAgICogaHRtbC9jYW52YXMv
V2ViR0xTaGFyZWRPYmplY3QuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nVHJlZU1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZXZlcmJDb252b2x2ZXI6OmJhY2tncm91bmRUaHJlYWRF
bnRyeSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JhdGNoQnVmZmVyOjpsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlNo
YWRvd0JsdXI6OmRyYXdSZWN0U2hhZG93V2l0aFRpbGluZyk6CisgICAgICAgIChXZWJDb3JlOjpT
aGFkb3dCbHVyOjpkcmF3SW5zZXRTaGFkb3dXaXRoVGlsaW5nKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNy
eXB0b3JHU3RyZWFtZXIuY3BwOgorCiAyMDIxLTA1LTIzICBTYW0gV2VpbmlnICA8d2VpbmlnQGFw
cGxlLmNvbT4KIAogICAgICAgICBDb252ZXJ0IERlc3RpbmF0aW9uQ29sb3JTcGFjZSBmcm9tIGFu
IGVudW0gdG8gY2xhc3Mgd3JhcHBpbmcgYSBwbGF0Zm9ybSBjb2xvciBzcGFjZSAoQ0dDb2xvclNw
YWNlUmVmIGZvciBDRyBwb3J0cywgZXRjLikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNzAzOGFhOTVlNTc0NTE1YzM0
MDQyZjY0MTk4MzI1MDVjNmMyMjY2ZS4uNGZlNTUzNjhjNGY3YmYwODM4Y2EyMTdkY2Y1YjI3MzY0
ZTQ3ZTJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4NyBAQAorMjAyMS0wNS0yNCAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgQ2hlY2tlZExvY2sgLyBDaGVj
a2VkQ29uZGl0aW9uIGFsaWFzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNjE3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIERyb3AgQ2hlY2tlZExvY2sgLyBDaGVja2VkQ29uZGl0aW9uIGFsaWFzZXMg
bm93IHRoYXQgdGhleSBhcmUgdGhlIGRlZmF1bHQuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dy
YXBoaWNzL1JlbW90ZUdyYXBoaWNzQ29udGV4dEdMLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlR3JhcGhpY3NDb250ZXh0R0w6OnBhaW50UGl4ZWxCdWZmZXJUb0ltYWdlQnVmZmVyKToKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0N1c3RvbVBy
b3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXIuaDoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1dlYlN0b3Jh
Z2UvU3RvcmFnZU1hbmFnZXJTZXQuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9M
YXVuY2hTZXJ2aWNlc0RhdGFiYXNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9nbGliL0ROU0NhY2hlLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3Bw
OgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZv
cm0vSVBDL1N0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9J
UEMvU3RyZWFtU2VydmVyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFNoYXJlZC9CbG9ja2luZ1Jl
c3BvbnNlTWFwLmg6CisgICAgICAgICogU2hhcmVkL0NvY29hL1hQQ0VuZHBvaW50Q2xpZW50Lmg6
CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9y
L0NvbXBvc2l0aW5nUnVuTG9vcC5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvTWVkaWFGb3JtYXRS
ZWFkZXIvTWVkaWFGb3JtYXRSZWFkZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL01lZGlhRm9y
bWF0UmVhZGVyL01lZGlhU2FtcGxlQ3Vyc29yLmg6CisgICAgICAgICogU2hhcmVkL21hYy9NZWRp
YUZvcm1hdFJlYWRlci9NZWRpYVRyYWNrUmVhZGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9nbGliL0ljb25EYXRhYmFzZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJVUkxTY2hlbWVU
YXNrLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9EaXNwbGF5TGluay5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcubW06CisgICAgICAgICgtW1dLUHJpbnRpbmdW
aWV3IGtub3dzUGFnZVJhbmdlOl0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNz
L1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJy
dGMvTGliV2ViUlRDQ29kZWNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNv
Y2tldFN0cmVhbS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nl
c3NDb25uZWN0aW9uTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9FdmVu
dERpc3BhdGNoZXIuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvVmlld1VwZGF0ZURp
c3BhdGNoZXIuaDoKKworMjAyMS0wNS0yMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgorCisgICAgICAgIE1ha2UgQ2hlY2tlZExvY2sgdGhlIGRlZmF1bHQgTG9jaworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MTU3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgTWFrZSBDaGVja2VkTG9jayB0aGUg
ZGVmYXVsdCBMb2NrIHNvIHRoYXQgd2UgZ2V0IG1vcmUgYmVuZWZpdHMgZnJvbSBDbGFuZworICAg
ICAgICBUaHJlYWQgU2FmZXR5IEFuYWx5c2lzLiBOb3RlIHRoYXQgQ2hlY2tlZExvY2sgMTAwJSBy
ZWxpZXMgb24gdGhlIGV4aXN0aW5nCisgICAgICAgIExvY2sgaW1wbGVtZW50YXRpb24gYW5kIG1l
cmVseSBhZGRzIHRoZSBjbGFuZyBhbm90YXRpb25zIGZvciB0aHJlYWQgCisgICAgICAgIHNhZmV0
eS4KKworICAgICAgICBUaGF0IHRoaXMgcGF0Y2ggZG9lcyBpczoKKyAgICAgICAgMS4gUmVuYW1l
IHRoZSBMb2NrIGNsYXNzIHRvIFVuY2hlY2tlZExvY2sKKyAgICAgICAgMi4gUmVuYW1lIHRoZSBD
aGVja2VkTG9jayBjbGFzcyB0byBMb2NrCisgICAgICAgIDMuIFJlbmFtZSB0aGUgQ29uZGl0aW9u
IGNsYXNzIHRvIFVuY2hlY2tlZENvbmRpdGlvbgorICAgICAgICA0LiBSZW5hbWUgdGhlIENoZWNr
ZWRDb25kaXRpb24gY2xhc3MgdG8gQ29uZGl0aW9uCisgICAgICAgIDUuIFVwZGF0ZSB0aGUgdHlw
ZXMgb2YgY2VydGFpbiB2YXJpYWJsZXMgZnJvbSBMb2NrIC8gQ29uZGl0aW9uIHRvCisgICAgICAg
ICAgIFVuY2hlY2tlZExvY2sgLyBVbmNoZWNrZWRDb25kaXRpb24gaWYgSSBnb3QgYSBidWlsZCBm
YWlsdXJlLiBCdWlsZCAKKyAgICAgICAgICAgZmFpbHVyZXMgYXJlIHVzdWFsbHkgY2F1c2VkIGJ5
IHRoZSBmb2xsb3dpbmcgZmFjdHM6CisgICAgICAgICAgIC0gTG9ja2VyPENoZWNrZWRMb2NrPiBk
b2Vzbid0IHN1YmNsYXNzIEFic3RyYWN0TG9ja2VyIHdoaWNoIGEgbG90IG9mCisgICAgICAgICAg
ICAgSlNDIGNvZGUgcGFzc2VzIGFzIGFyZ3VtZW50CisgICAgICAgICAgIC0gTG9ja2VyPENoZWNr
ZWRMb2NrPiBoYXMgbm8gbW92ZSBjb25zdHJ1Y3RvcgorICAgICAgICAgICAtIExvY2tlcjxDaGVj
a2VkTG9jaz4gY2Fubm90IGJlIGNvbnN0cnVjdGVkIGZyb20gYSBsb2NrIHBvaW50ZXIsIG9ubHkK
KyAgICAgICAgICAgICBhIHJlZmVyZW5jZQorCisgICAgICAgIEZvciBub3csIENoZWNrZWRMb2Nr
IGFuZCBDaGVja2VkQ29uZGl0aW9uIHJlbWFpbiBhcyBhbGlhc2VzIHRvIExvY2sgYW5kIAorICAg
ICAgICBDb25kaXRpb24sIGluIHRoZWlyIHJlc3BlY3RpdmUgQ2hlY2tlZExvY2suaCAvIENoZWNr
ZWRDb25kaXRpb24uaCBoZWFkZXJzLgorICAgICAgICBJIHdpbGwgZHJvcCB0aGVtIGluIGEgZm9s
bG93LXVwIHRvIHJlZHVjZSBwYXRjaCBzaXplLgorCisgICAgICAgIEkgd2lsbCBhbHNvIGZvbGxv
dy11cCB0byB0cnkgYW5kIGdldCByaWQgb2YgYXMgbXVjaCB1c2FnZSBvZiBVbmNoZWNrZWRMb2Nr
CisgICAgICAgIGFuZCBVbmNoZWNrZWRDb25kaXRpb24gYXMgcG9zc2libGUuIEkgZGlkIG5vdCB0
cnkgdmVyeSBoYXJkIGluIHRoaXMgcGF0Y2gKKyAgICAgICAgdG8gcmVkdWNlIHBhdGNoIHNpemUu
IAorCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRH
TC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUdyYXBoaWNzQ29udGV4dEdMOjpwYWludFBp
eGVsQnVmZmVyVG9JbWFnZUJ1ZmZlcik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvSW5kZXhl
ZERCL1dlYklEQlNlcnZlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL0ljb25E
YXRhYmFzZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcubW06Cisg
ICAgICAgICgtW1dLUHJpbnRpbmdWaWV3IGtub3dzUGFnZVJhbmdlOl0pOgorCiAyMDIxLTA1LTIz
ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBDb252ZXJ0IERlc3Rp
bmF0aW9uQ29sb3JTcGFjZSBmcm9tIGFuIGVudW0gdG8gY2xhc3Mgd3JhcHBpbmcgYSBwbGF0Zm9y
bSBjb2xvciBzcGFjZSAoQ0dDb2xvclNwYWNlUmVmIGZvciBDRyBwb3J0cywgZXRjLikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9DaGFuZ2VMb2cKaW5kZXggNzM2Y2U3YjMzM2ViMmZmZTEzMTQ3OTEwZDRlZDg0NjYyZDQxMzhl
ZC4uYjcwZDA5YmMxYmE1MzVmY2E1YmYzZmFkNTdlZTU5NmIwY2Y4ZjNiZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNS0yNCAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgQ2hlY2tlZExvY2sgLyBDaGVja2VkQ29uZGl0
aW9uIGFsaWFzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNjE3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIERyb3AgQ2hlY2tlZExvY2sgLyBDaGVja2VkQ29uZGl0aW9uIGFsaWFzZXMgbm93IHRoYXQg
dGhleSBhcmUgdGhlIGRlZmF1bHQuCisKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VBcmVhU3lu
Yy5oOgorCiAyMDIxLTA1LTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmVwbGFjZSBMb2NrSG9sZGVyIHdpdGggTG9ja2VyIGluIGxvY2FsIHZhcmlhYmxlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDZmNmJiNzMzODJjZDJlNTdjN2Q5NGU3ZDEx
ODBkYTMxZTk0N2I5MjguLjQzOGI3YTkwMTFkODRiZTZlZjU4NmY2MTIzMDY4NzA5NDhjODYwMWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNS0y
NCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3AgQ2hlY2tl
ZExvY2sgLyBDaGVja2VkQ29uZGl0aW9uIGFsaWFzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjE3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgQ2hlY2tlZExvY2sgLyBDaGVja2VkQ29uZGl0
aW9uIGFsaWFzZXMgbm93IHRoYXQgdGhleSBhcmUgdGhlIGRlZmF1bHQuCisKKyAgICAgICAgKiBE
T00vRE9NSW50ZXJuYWwubW06CisKIDIwMjEtMDUtMjMgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBw
bGUuY29tPgogCiAgICAgICAgIENvbnZlcnQgRGVzdGluYXRpb25Db2xvclNwYWNlIGZyb20gYW4g
ZW51bSB0byBjbGFzcyB3cmFwcGluZyBhIHBsYXRmb3JtIGNvbG9yIHNwYWNlIChDR0NvbG9yU3Bh
Y2VSZWYgZm9yIENHIHBvcnRzLCBldGMuKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU1ZpcnR1YWxNYWNoaW5lLm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U1ZpcnR1YWxNYWNoaW5lLm1tCmluZGV4IGY2MTM0OThhYzgyYzdjZjkzMTZkMzg2MmJiNzZhZTBi
NDljMTMxODMuLjBlMjQ4OWMyMzcxM2FmMTNkMzFhMzY0ZDgwYjAwNWQ1YzVlNjZiMWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWaXJ0dWFsTWFjaGluZS5tbQorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmlydHVhbE1hY2hpbmUubW0KQEAgLTM4LDEy
ICszOCwxMiBAQAogI2ltcG9ydCAiU2lnaWxsQ3Jhc2hBbmFseXplci5oIgogI2ltcG9ydCAiU2xv
dFZpc2l0b3JJbmxpbmVzLmgiCiAjaW1wb3J0IDxtdXRleD4KLSNpbXBvcnQgPHd0Zi9DaGVja2Vk
TG9jay5oPgorI2ltcG9ydCA8d3RmL0xvY2suaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4K
IAogc3RhdGljIE5TTWFwVGFibGUgKmdsb2JhbFdyYXBwZXJDYWNoZSA9IDA7CiAKLXN0YXRpYyBD
aGVja2VkTG9jayB3cmFwcGVyQ2FjaGVNdXRleDsKK3N0YXRpYyBMb2NrIHdyYXBwZXJDYWNoZU11
dGV4OwogCiBzdGF0aWMgdm9pZCBpbml0V3JhcHBlckNhY2hlKCkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0NWaXJ0dWFsTWFjaGluZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNDVmlydHVhbE1hY2hpbmUuY3BwCmluZGV4IDUx
MDVkMjc3MGZkZGFkN2RiM2QwMTE5MjM4YjMyMjJlMDc2YWRkOGQuLmY1OTg2ZTBiODc5MWViMzNh
MDEyZmMzMDRkMjUzNjMwNmVkOTkxODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvZ2xpYi9KU0NWaXJ0dWFsTWFjaGluZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9nbGliL0pTQ1ZpcnR1YWxNYWNoaW5lLmNwcApAQCAtMjMsOCArMjMsOCBAQAogI2lu
Y2x1ZGUgIkpTQ0NvbnRleHRQcml2YXRlLmgiCiAjaW5jbHVkZSAiSlNDVmlydHVhbE1hY2hpbmVQ
cml2YXRlLmgiCiAjaW5jbHVkZSAiSlNDb250ZXh0UmVmLmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNr
ZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5o
PgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL1dU
RkdUeXBlLmg+CiAKQEAgLTQ5LDcgKzQ5LDcgQEAgc3RydWN0IF9KU0NWaXJ0dWFsTWFjaGluZVBy
aXZhdGUgewogCiBXRUJLSVRfREVGSU5FX1RZUEUoSlNDVmlydHVhbE1hY2hpbmUsIGpzY192aXJ0
dWFsX21hY2hpbmUsIEdfVFlQRV9PQkpFQ1QpCiAKLXN0YXRpYyBDaGVja2VkTG9jayB3cmFwcGVy
Q2FjaGVNdXRleDsKK3N0YXRpYyBMb2NrIHdyYXBwZXJDYWNoZU11dGV4OwogCiBzdGF0aWMgSGFz
aE1hcDxKU0NvbnRleHRHcm91cFJlZiwgSlNDVmlydHVhbE1hY2hpbmUqPiYgd3JhcHBlck1hcCgp
IFdURl9SRVFVSVJFU19MT0NLKHdyYXBwZXJDYWNoZU11dGV4KQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9QZXJmTG9nLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL1BlcmZMb2cuaAppbmRleCA4ZjI0ZThmYThhM2UxYjZiYzk2ZDU5OGI1
ZDBmMjUxNTBhN2ZmNzIxLi45NzYwZGY2NjU4ZDI5MzMzYWZhOWFkYTg3MWE5NWNlMzJjYTBkMjRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1BlcmZMb2cuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1BlcmZMb2cuaApAQCAtNTAsNyAr
NTAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQqIG1fbWFya2VyIHsgbnVsbHB0ciB9OwogICAgIHVp
bnQ2NF90IG1fY29kZUluZGV4IHsgMCB9OwogICAgIGludCBtX2ZkIHsgLTEgfTsKLSAgICBMb2Nr
IG1fbG9jazsKKyAgICBVbmNoZWNrZWRMb2NrIG1fbG9jazsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci90ZXN0bWFz
bS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL3Rlc3RtYXNtLmNwcAppbmRl
eCBjZjZhYWRkMjk1NzJmNzAzYzg3YTg4M2M2MGVmMTA4NjYyY2NmNjQyLi5kNDQ4ODBmNmY0ODEx
ZmNjN2E3YzdhN2U4MmE2YjA4ZWFjZTMyZDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL3Rlc3RtYXNtLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL3Rlc3RtYXNtLmNwcApAQCAtMTUzLDcgKzE1Myw3IEBAIG5hbWVzcGFjZSB7CiAK
IHVzaW5nIENQVVN0YXRlID0gUHJvYmU6OkNQVVN0YXRlOwogCi1Mb2NrIGNyYXNoTG9jazsKK1Vu
Y2hlY2tlZExvY2sgY3Jhc2hMb2NrOwogCiB0eXBlZGVmIFdURjo6RnVuY3Rpb248dm9pZChDQ2Fs
bEhlbHBlcnMmKT4gR2VuZXJhdG9yOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5oCmluZGV4IGViMzY1NmZjYmQ1NTA1NmFiYjZmYzU1
OTg5ZDFmZDY5MWFmZjBkZGMuLjg4MjU2OGMyNmVhZDYyZTQwZWFlN2YyNzA4MGYwOTIxZWRlYzc2
NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVT
dHViSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVT
dHViSW5mby5oCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSAiU3RydWN0dXJlU3R1YkNsZWFy
aW5nV2F0Y2hwb2ludC5oIgogI2luY2x1ZGUgIlN0dWJJbmZvU3VtbWFyeS5oIgogI2luY2x1ZGUg
PHd0Zi9Cb3guaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYv
TG9jay5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMzkyLDcgKzM5Miw3IEBAIHB1YmxpYzoK
ICAgICBib29sIHByb3BlcnR5SXNJbnQzMiA6IDE7CiAgICAgYm9vbCBwcm9wZXJ0eUlzU3ltYm9s
IDogMTsKIHByaXZhdGU6Ci0gICAgQ2hlY2tlZExvY2sgbV9idWZmZXJlZFN0cnVjdHVyZXNMb2Nr
OworICAgIExvY2sgbV9idWZmZXJlZFN0cnVjdHVyZXNMb2NrOwogfTsKIAogaW5saW5lIENvZGVP
cmlnaW4gZ2V0U3RydWN0dXJlU3R1YkluZm9Db2RlT3JpZ2luKFN0cnVjdHVyZVN0dWJJbmZvJiBz
dHJ1Y3R1cmVTdHViSW5mbykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9TdXBlclNhbXBsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N1
cGVyU2FtcGxlci5jcHAKaW5kZXggZjZlZGI4NDY4NGQ1ZjUyOGZkNjhhZmFhMDE1NGZjZDg1Mjdi
ZWYyNS4uYzc3NzUzZWIxYzcyZjRmYmFjYTk4NGVkYjRkODgyYTI1ZWYwMmIyNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N1cGVyU2FtcGxlci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N1cGVyU2FtcGxlci5jcHAKQEAgLTI3LDgg
KzI3LDggQEAKICNpbmNsdWRlICJTdXBlclNhbXBsZXIuaCIKIAogI2luY2x1ZGUgIk9wdGlvbnMu
aCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvRGF0YUxvZy5o
PgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBu
YW1lc3BhY2UgSlNDIHsKQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiB2b2xhdGls
ZSB1aW50MzJfdCBnX3N1cGVyU2FtcGxlckNvdW50Owogdm9sYXRpbGUgYm9vbCBnX3N1cGVyU2Ft
cGxlckVuYWJsZWQ7CiAKLXN0YXRpYyBDaGVja2VkTG9jayBsb2NrOworc3RhdGljIExvY2sgbG9j
azsKIHN0YXRpYyBkb3VibGUgaW4gV1RGX0dVQVJERURfQllfTE9DSyhsb2NrKTsKIHN0YXRpYyBk
b3VibGUgb3V0IFdURl9HVUFSREVEX0JZX0xPQ0sobG9jayk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ29tbW9uLmNwcAppbmRleCBhN2FiYzY0NzQ5M2QyYjY4ZDk4ZGMyYTQwMTRiYzMz
YzdkYWI4NWZiLi44NzYzYzNmZDUxZmIxNjU0YzY5NTQwNGE4NWY2N2IwYjllODM3MDUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbi5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24uY3BwCkBAIC0zNSw3ICszNSw3IEBAIG5h
bWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKIAogY29uc3QgY2hhciogY29uc3QgdGllck5h
bWUgPSAiREZHICI7CiAKLXN0YXRpYyBMb2NrIGNyYXNoTG9jazsKK3N0YXRpYyBVbmNoZWNrZWRM
b2NrIGNyYXNoTG9jazsKIAogdm9pZCBzdGFydENyYXNoaW5nKCkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uRGF0YS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0NvbW1vbkRhdGEuY3BwCmluZGV4IDk3MWY4YjA1YTg3ZTQ1NjY2NTZh
OWYxM2E5OWQ4OGQ2ZjBhMjcwOTYuLmIxZmVhNjYzZWM5ZTQ0MWE3NDdmYjMzNmE0Njk3NzFkNWYw
MTFhMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uRGF0
YS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb25EYXRhLmNwcApA
QCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgIklubGluZUNhbGxGcmFtZS5oIgogI2luY2x1ZGUg
IkpTQ0pTVmFsdWVJbmxpbmVzLmgiCiAjaW5jbHVkZSAiVHJhY2tlZFJlZmVyZW5jZXMuaCIKLSNp
bmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1
ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERG
RyB7CkBAIC00NSw3ICs0NSw3IEBAIHZvaWQgQ29tbW9uRGF0YTo6c2hyaW5rVG9GaXQoKQogICAg
IG1fanVtcFJlcGxhY2VtZW50cy5zaHJpbmtUb0ZpdCgpOwogfQogCi1zdGF0aWMgQ2hlY2tlZExv
Y2sgcGNDb2RlQmxvY2tNYXBMb2NrOworc3RhdGljIExvY2sgcGNDb2RlQmxvY2tNYXBMb2NrOwog
aW5saW5lIEhhc2hNYXA8dm9pZCosIENvZGVCbG9jayo+JiBwY0NvZGVCbG9ja01hcCgpIFdURl9S
RVFVSVJFU19MT0NLKHBjQ29kZUJsb2NrTWFwTG9jaykKIHsKICAgICBzdGF0aWMgTGF6eU5ldmVy
RGVzdHJveWVkPEhhc2hNYXA8dm9pZCosIENvZGVCbG9jayo+PiBwY0NvZGVCbG9ja01hcDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmgKaW5kZXggYzFlYjcxMmEyODYxNjE3MDJjYmJjOGRi
ODAxMzMyODI5NTAxNzI5Yi4uZGZjNzk2NmUwNjliNDUzNGE1MzI5MDYzMjkzMTRmMjYxOWFiMmQ2
OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmgKQEAgLTM4LDggKzM4LDggQEAKICNp
bmNsdWRlICJPcGVyYW5kcy5oIgogI2luY2x1ZGUgIlByb2ZpbGVyQ29tcGlsYXRpb24uaCIKICNp
bmNsdWRlICJSZWNvcmRlZFN0YXR1c2VzLmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1
ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTEz
OSw3ICsxMzksNyBAQCBwcml2YXRlOgogCiAgICAgT3BlcmFuZHM8T3B0aW9uYWw8SlNWYWx1ZT4+
IG1fbXVzdEhhbmRsZVZhbHVlczsKICAgICBib29sIG1fbXVzdEhhbmRsZVZhbHVlc01heUluY2x1
ZGVHYXJiYWdlIFdURl9HVUFSREVEX0JZX0xPQ0sobV9tdXN0SGFuZGxlVmFsdWVDbGVhbmluZ0xv
Y2spIHsgdHJ1ZSB9OwotICAgIENoZWNrZWRMb2NrIG1fbXVzdEhhbmRsZVZhbHVlQ2xlYW5pbmdM
b2NrOworICAgIExvY2sgbV9tdXN0SGFuZGxlVmFsdWVDbGVhbmluZ0xvY2s7CiAKICAgICBib29s
IG1fd2lsbFRyeVRvVGllclVwIHsgZmFsc2UgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdUaHJlYWREYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1RocmVhZERhdGEuaAppbmRleCAzN2RmOWJkMTIxNTQ5Y2RlZDExZTk5ZjQyZmZkMmM1MGYw
MjUyZDg2Li41MjJiN2QyYjdjMzYxZThiOWQzODBjNzI4Y2ZiOGEwNWIxNzQ2OWJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1RocmVhZERhdGEuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1RocmVhZERhdGEuaApAQCAtNDcsNyArNDcsNyBAQCBw
cml2YXRlOgogICAgIAogICAgIFdvcmtsaXN0KiBtX3dvcmtsaXN0OwogICAgIFJlZlB0cjxBdXRv
bWF0aWNUaHJlYWQ+IG1fdGhyZWFkOwotICAgIExvY2sgbV9yaWdodFRvUnVuOworICAgIFVuY2hl
Y2tlZExvY2sgbV9yaWdodFRvUnVuOwogICAgIFNhZmVwb2ludCogbV9zYWZlcG9pbnQ7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1dvcmtsaXN0LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHV29ya2xpc3QuY3BwCmluZGV4IDRkMjI4Y2Zl
ODdhZDk4MTkzNmMwN2MwOWQ0MWI3Mjc1MTU1OTRhOTEuLmQxNTdhZGY4NzZkYzg0NjgzYTg2YzA0
NmVhMmJlZWNiYWI5OWE5MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHV29ya2xpc3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHV29ya2xp
c3QuY3BwCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsK
IAogY2xhc3MgV29ya2xpc3Q6OlRocmVhZEJvZHkgZmluYWwgOiBwdWJsaWMgQXV0b21hdGljVGhy
ZWFkIHsKIHB1YmxpYzoKLSAgICBUaHJlYWRCb2R5KGNvbnN0IEFic3RyYWN0TG9ja2VyJiBsb2Nr
ZXIsIFdvcmtsaXN0JiB3b3JrbGlzdCwgVGhyZWFkRGF0YSYgZGF0YSwgQm94PExvY2s+IGxvY2ss
IFJlZjxBdXRvbWF0aWNUaHJlYWRDb25kaXRpb24+JiYgY29uZGl0aW9uLCBpbnQgcmVsYXRpdmVQ
cmlvcml0eSkKKyAgICBUaHJlYWRCb2R5KGNvbnN0IEFic3RyYWN0TG9ja2VyJiBsb2NrZXIsIFdv
cmtsaXN0JiB3b3JrbGlzdCwgVGhyZWFkRGF0YSYgZGF0YSwgQm94PFVuY2hlY2tlZExvY2s+IGxv
Y2ssIFJlZjxBdXRvbWF0aWNUaHJlYWRDb25kaXRpb24+JiYgY29uZGl0aW9uLCBpbnQgcmVsYXRp
dmVQcmlvcml0eSkKICAgICAgICAgOiBBdXRvbWF0aWNUaHJlYWQobG9ja2VyLCBsb2NrLCBXVEZN
b3ZlKGNvbmRpdGlvbiksIFRocmVhZFR5cGU6OkNvbXBpbGVyKQogICAgICAgICAsIG1fd29ya2xp
c3Qod29ya2xpc3QpCiAgICAgICAgICwgbV9kYXRhKGRhdGEpCkBAIC0xODEsNyArMTgxLDcgQEAg
c3RhdGljIENTdHJpbmcgY3JlYXRlV29ya2xpc3ROYW1lKENTdHJpbmcmJiB0aWVyTmFtZSkKIFdv
cmtsaXN0OjpXb3JrbGlzdChDU3RyaW5nJiYgdGllck5hbWUpCiAgICAgOiBtX3RocmVhZE5hbWUo
Y3JlYXRlV29ya2xpc3ROYW1lKFdURk1vdmUodGllck5hbWUpKSkKICAgICAsIG1fcGxhbkVucXVl
dWVkKEF1dG9tYXRpY1RocmVhZENvbmRpdGlvbjo6Y3JlYXRlKCkpCi0gICAgLCBtX2xvY2soQm94
PExvY2s+OjpjcmVhdGUoKSkKKyAgICAsIG1fbG9jayhCb3g8VW5jaGVja2VkTG9jaz46OmNyZWF0
ZSgpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1dv
cmtsaXN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1dvcmtsaXN0LmgKaW5kZXgg
MWNlMDJjMDdkOGIxMjgxOTRiY2MwM2M3ZjJhNTQxY2QwYTVmNDUyOS4uNTc2ZTAzZTQ3ZTZlZjUw
M2M2ZDAxMTZlY2ZiZGMwYThjNmM3NWM4OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdXb3JrbGlzdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
V29ya2xpc3QuaApAQCAtMTEwLDEwICsxMTAsMTAgQEAgcHJpdmF0ZToKICAgICAvLyBiZSBjb21w
bGV0ZWQuCiAgICAgVmVjdG9yPFJlZlB0cjxQbGFuPiwgMTY+IG1fcmVhZHlQbGFuczsKICAgICBS
ZWY8QXV0b21hdGljVGhyZWFkQ29uZGl0aW9uPiBtX3BsYW5FbnF1ZXVlZDsKLSAgICBDb25kaXRp
b24gbV9wbGFuQ29tcGlsZWQ7CisgICAgVW5jaGVja2VkQ29uZGl0aW9uIG1fcGxhbkNvbXBpbGVk
OwogCi0gICAgTG9jayBtX3N1c3BlbnNpb25Mb2NrOwotICAgIEJveDxMb2NrPiBtX2xvY2s7Cisg
ICAgVW5jaGVja2VkTG9jayBtX3N1c3BlbnNpb25Mb2NrOworICAgIEJveDxVbmNoZWNrZWRMb2Nr
PiBtX2xvY2s7CiB9OwogCiBKU19FWFBPUlRfUFJJVkFURSB1bnNpZ25lZCBzZXROdW1iZXJPZkRG
R0NvbXBpbGVyVGhyZWFkcyh1bnNpZ25lZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGlzYXNzZW1ibGVyL0Rpc2Fzc2VtYmxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGlzYXNzZW1ibGVyL0Rpc2Fzc2VtYmxlci5jcHAKaW5kZXggN2I2Yzg5MzU3OTJhMzBiMDUy
OGY1M2I4NzFjN2UzMTY3OGU2MTdkOC4uMGQwNzUxYjExOThhOTZkZThlOGNhYzA0OWU2YjRiOWRm
ZDA0M2I2MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9E
aXNhc3NlbWJsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIv
RGlzYXNzZW1ibGVyLmNwcApAQCAtMjcsMTAgKzI3LDEwIEBACiAjaW5jbHVkZSAiRGlzYXNzZW1i
bGVyLmgiCiAKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCIKLSNpbmNsdWRlIDx3
dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2lu
Y2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4KICNpbmNsdWRlIDx3dGYvRGF0YUxvZy5oPgogI2luY2x1
ZGUgPHd0Zi9EZXF1ZS5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05l
dmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCkBAIC0xMDksOCAr
MTA5LDggQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICBDaGVja2VkTG9j
ayBtX2xvY2s7Ci0gICAgQ2hlY2tlZENvbmRpdGlvbiBtX2NvbmRpdGlvbjsKKyAgICBMb2NrIG1f
bG9jazsKKyAgICBDb25kaXRpb24gbV9jb25kaXRpb247CiAgICAgRGVxdWU8c3RkOjp1bmlxdWVf
cHRyPERpc2Fzc2VtYmx5VGFzaz4+IG1fcXVldWUgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2sp
OwogICAgIGJvb2wgbV93b3JraW5nIHsgZmFsc2UgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZHluYmVuY2guY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2R5bmJl
bmNoLmNwcAppbmRleCA4ZjllNWViNzQxMDQ3NWZiN2M4YjA4NjkyNjIzMzRmZTJhOTc4OTg1Li43
OTUyNjExMGUyYTNhNjIwNTJkMTA5ZTliZGI4OGU5ZWVhYmZmZjU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZHluYmVuY2guY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9keW5iZW5jaC5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAog
bmFtZXNwYWNlIHsKIAotTG9jayBjcmFzaExvY2s7CitVbmNoZWNrZWRMb2NrIGNyYXNoTG9jazsK
IGNvbnN0IGNoYXIqIG5hbWVGaWx0ZXI7CiB1bnNpZ25lZCByZXF1ZXN0ZWRJdGVyYXRpb25Db3Vu
dDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQmxvY2tEaXJlY3Rv
cnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQmxvY2tEaXJlY3RvcnkuY3BwCmlu
ZGV4IGFkYjc1N2UzZDYwNTg0NjU1OWZhMWYyOTZjMzc5ZjA5YjJhMjg5MmUuLmUyYTM1NDBmODZk
MmQyNjYyY2M1NmE4ODVmZDMyYjlmM2M2NWFiYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0Jsb2NrRGlyZWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9CbG9ja0RpcmVjdG9yeS5jcHAKQEAgLTMxLDggKzMxLDggQEAKICNpbmNsdWRlICJT
dWJzcGFjZUlubGluZXMuaCIKICNpbmNsdWRlICJTdXBlclNhbXBsZXIuaCIKIAotI2luY2x1ZGUg
PHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvblRyYWl0cy5oPgorI2lu
Y2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1NpbXBsZVN0YXRzLmg+CiAKIG5hbWVz
cGFjZSBKU0MgewpAQCAtMzQ2LDcgKzM0Niw3IEBAIFJlZlB0cjxTaGFyZWRUYXNrPE1hcmtlZEJs
b2NrOjpIYW5kbGUqKCk+PiBCbG9ja0RpcmVjdG9yeTo6cGFyYWxsZWxOb3RFbXB0eUJsb2NrCiAg
ICAgcHJpdmF0ZToKICAgICAgICAgQmxvY2tEaXJlY3RvcnkmIG1fZGlyZWN0b3J5IFdURl9HVUFS
REVEX0JZX0xPQ0sobV9sb2NrKTsKICAgICAgICAgc2l6ZV90IG1faW5kZXggV1RGX0dVQVJERURf
QllfTE9DSyhtX2xvY2spIHsgMCB9OwotICAgICAgICBDaGVja2VkTG9jayBtX2xvY2s7CisgICAg
ICAgIExvY2sgbV9sb2NrOwogICAgICAgICBib29sIG1fZG9uZSB7IGZhbHNlIH07CiAgICAgfTsK
ICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0Jsb2NrRGlyZWN0
b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9CbG9ja0RpcmVjdG9yeS5oCmluZGV4
IGRhYTAzYzQ3ZWRmOWQzNmQxNTZiZDVkMWE2NjIxYmVlNmFhZGY4YWQuLjkwMTU4OGM5NDM5YzM1
ZGZjODA0YTBiNzU3YzVlNWI1NjNmNDRhNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL0Jsb2NrRGlyZWN0b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvQmxvY2tEaXJlY3RvcnkuaApAQCAtOTMsNyArOTMsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IHVwZGF0ZVBlcmNlbnRhZ2VPZlBhZ2VkT3V0UGFnZXMoV1RGOjpTaW1wbGVTdGF0cyYpOwogICAg
IAotICAgIExvY2smIGJpdHZlY3RvckxvY2soKSB7IHJldHVybiBtX2JpdHZlY3RvckxvY2s7IH0K
KyAgICBVbmNoZWNrZWRMb2NrJiBiaXR2ZWN0b3JMb2NrKCkgeyByZXR1cm4gbV9iaXR2ZWN0b3JM
b2NrOyB9CiAKICNkZWZpbmUgQkxPQ0tfRElSRUNUT1JZX0JJVF9BQ0NFU1NPUlMobG93ZXJCaXRO
YW1lLCBjYXBpdGFsQml0TmFtZSkgICAgIFwKICAgICBib29sIGlzICMjIGNhcGl0YWxCaXROYW1l
KGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgc2l6ZV90IGluZGV4KSBjb25zdCB7IHJldHVybiBtX2Jp
dHMuaXMgIyMgY2FwaXRhbEJpdE5hbWUoaW5kZXgpOyB9IFwKQEAgLTE1NSw3ICsxNTUsNyBAQCBw
cml2YXRlOgogICAgIC8vIE11dGF0b3IgdXNlcyB0aGlzIHRvIGd1YXJkIHJlc2l6aW5nIHRoZSBi
aXR2ZWN0b3JzLiBUaG9zZSB0aGluZ3MgaW4gdGhlIEdDIHRoYXQgbWF5IHJ1bgogICAgIC8vIGNv
bmN1cnJlbnRseSB0byB0aGUgbXV0YXRvciBtdXN0IGxvY2sgdGhpcyB3aGVuIGFjY2Vzc2luZyB0
aGUgYml0dmVjdG9ycy4KICAgICBCbG9ja0RpcmVjdG9yeUJpdHMgbV9iaXRzOwotICAgIExvY2sg
bV9iaXR2ZWN0b3JMb2NrOworICAgIFVuY2hlY2tlZExvY2sgbV9iaXR2ZWN0b3JMb2NrOwogICAg
IExvY2sgbV9sb2NhbEFsbG9jYXRvcnNMb2NrOwogICAgIENlbGxBdHRyaWJ1dGVzIG1fYXR0cmli
dXRlczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29kZUJsb2Nr
U2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db2RlQmxvY2tTZXQuaAppbmRleCBi
MGRjYjZjYzc3YzlmOTlkMzAyYzc5OWQ5OGUzOWU5NTNlNmFmNDE5Li44NTZjYzFiYmY4YmQyZDE3
Y2RjZGNhN2QzYjQ0YzcxZjJmYTcwYjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9Db2RlQmxvY2tTZXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9D
b2RlQmxvY2tTZXQuaApAQCAtNTQsNyArNTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVhckN1
cnJlbnRseUV4ZWN1dGluZygpOwogCiAgICAgYm9vbCBjb250YWlucyhjb25zdCBBYnN0cmFjdExv
Y2tlciYsIHZvaWQqIGNhbmRpZGF0ZUNvZGVCbG9jayk7Ci0gICAgTG9jayYgZ2V0TG9jaygpIHsg
cmV0dXJuIG1fbG9jazsgfQorICAgIFVuY2hlY2tlZExvY2smIGdldExvY2soKSB7IHJldHVybiBt
X2xvY2s7IH0KIAogICAgIC8vIFRoaXMgaXMgZXhwZWN0ZWQgdG8gcnVuIG9ubHkgd2hlbiB3ZSdy
ZSBub3QgYWRkaW5nIHRvIHRoZSBzZXQgZm9yIG5vdy4gSWYKICAgICAvLyB0aGlzIG5lZWRzIHRv
IHJ1biBjb25jdXJyZW50bHkgaW4gdGhlIGZ1dHVyZSwgd2UnbGwgbmVlZCB0byBsb2NrIGFyb3Vu
ZCB0aGlzLgpAQCAtNzgsNyArNzgsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEhhc2hTZXQ8
Q29kZUJsb2NrKj4gbV9jb2RlQmxvY2tzOwogICAgIEhhc2hTZXQ8Q29kZUJsb2NrKj4gbV9jdXJy
ZW50bHlFeGVjdXRpbmc7Ci0gICAgTG9jayBtX2xvY2s7CisgICAgVW5jaGVja2VkTG9jayBtX2xv
Y2s7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0hlYXAuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5j
cHAKaW5kZXggOGJjODZkMmNhNzUxNWI0YjhlMmY3NjRkZTkwZTJhNmMyNDcyNjY5MS4uODYxYTQw
MmU1MGQwYmNjMGZlYWU2MDMwNDdjZjM1YzJlY2RjNGRlNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5jcHAKQEAgLTMwMiw3ICszMDIsNyBAQCBIZWFwOjpIZWFwKFZNJiB2bSwgSGVhcFR5
cGUgaGVhcFR5cGUpCiAgICAgLCBtX3NoYXJlZENvbGxlY3Rvck1hcmtTdGFjayhtYWtlVW5pcXVl
PE1hcmtTdGFja0FycmF5PigpKQogICAgICwgbV9zaGFyZWRNdXRhdG9yTWFya1N0YWNrKG1ha2VV
bmlxdWU8TWFya1N0YWNrQXJyYXk+KCkpCiAgICAgLCBtX2hlbHBlckNsaWVudCgmaGVhcEhlbHBl
clBvb2woKSkKLSAgICAsIG1fdGhyZWFkTG9jayhCb3g8TG9jaz46OmNyZWF0ZSgpKQorICAgICwg
bV90aHJlYWRMb2NrKEJveDxVbmNoZWNrZWRMb2NrPjo6Y3JlYXRlKCkpCiAgICAgLCBtX3RocmVh
ZENvbmRpdGlvbihBdXRvbWF0aWNUaHJlYWRDb25kaXRpb246OmNyZWF0ZSgpKQogewogICAgIG1f
d29ybGRTdGF0ZS5zdG9yZSgwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL0hlYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaAppbmRleCA3YTUz
ZTA1MTVkMDY5NjUzZDA0ZmI5YmFjMzU1OGQ3ZTgxZDk1ZjJjLi5hYjI4NDhmOGNjNjM5NDI4ODgx
NmI4NzE4OGI5Yzg2YzMxODhhNGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9IZWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCkBAIC00
MiwxMSArNDIsMTEgQEAKICNpbmNsdWRlICJTeW5jaHJvbm91c25lc3MuaCIKICNpbmNsdWRlICJX
ZWFrSGFuZGxlT3duZXIuaCIKICNpbmNsdWRlIDx3dGYvQXV0b21hdGljVGhyZWFkLmg+Ci0jaW5j
bHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0NvbmN1cnJlbnRQdHJIYXNo
U2V0Lmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hDb3VudGVk
U2V0Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgog
I2luY2x1ZGUgPHd0Zi9NYXJrYWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXJhbGxlbEhlbHBlclBv
b2wuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBAIC02NTcsNyArNjU3LDcgQEAgcHJp
dmF0ZToKICAgICBDRmluYWxpemVyT3duZXIgbV9jRmluYWxpemVyT3duZXI7CiAgICAgTGFtYmRh
RmluYWxpemVyT3duZXIgbV9sYW1iZGFGaW5hbGl6ZXJPd25lcjsKICAgICAKLSAgICBDaGVja2Vk
TG9jayBtX3BhcmFsbGVsU2xvdFZpc2l0b3JMb2NrOworICAgIExvY2sgbV9wYXJhbGxlbFNsb3RW
aXNpdG9yTG9jazsKICAgICBib29sIG1faXNTYWZlVG9Db2xsZWN0IHsgZmFsc2UgfTsKICAgICBi
b29sIG1faXNTaHV0dGluZ0Rvd24geyBmYWxzZSB9OwogICAgIGJvb2wgbV9tdXRhdG9yU2hvdWxk
QmVGZW5jZWQgeyBPcHRpb25zOjpmb3JjZUZlbmNlZEJhcnJpZXIoKSB9OwpAQCAtNzIyLDggKzcy
Miw4IEBAIHByaXZhdGU6CiAgICAgQXRvbWljPHVuc2lnbmVkPiBtX3dvcmxkU3RhdGU7CiAgICAg
Ym9vbCBtX3dvcmxkSXNTdG9wcGVkIHsgZmFsc2UgfTsKICAgICBMb2NrIG1fdmlzaXRSYWNlTG9j
azsKLSAgICBMb2NrIG1fbWFya2luZ011dGV4OwotICAgIENvbmRpdGlvbiBtX21hcmtpbmdDb25k
aXRpb25WYXJpYWJsZTsKKyAgICBVbmNoZWNrZWRMb2NrIG1fbWFya2luZ011dGV4OworICAgIFVu
Y2hlY2tlZENvbmRpdGlvbiBtX21hcmtpbmdDb25kaXRpb25WYXJpYWJsZTsKIAogICAgIE1vbm90
b25pY1RpbWUgbV9iZWZvcmVHQzsKICAgICBNb25vdG9uaWNUaW1lIG1fYWZ0ZXJHQzsKQEAgLTc0
Niw3ICs3NDYsNyBAQCBwcml2YXRlOgogCiAgICAgdWludDY0X3QgbV9tdXRhdG9yRXhlY3V0aW9u
VmVyc2lvbiB7IDAgfTsKICAgICB1aW50NjRfdCBtX3BoYXNlVmVyc2lvbiB7IDAgfTsKLSAgICBC
b3g8TG9jaz4gbV90aHJlYWRMb2NrOworICAgIEJveDxVbmNoZWNrZWRMb2NrPiBtX3RocmVhZExv
Y2s7CiAgICAgUmVmPEF1dG9tYXRpY1RocmVhZENvbmRpdGlvbj4gbV90aHJlYWRDb25kaXRpb247
IC8vIFRoZSBtdXRhdG9yIG11c3Qgbm90IHdhaXQgb24gdGhpcy4gSXQgd291bGQgY2F1c2UgYSBk
ZWFkbG9jay4KICAgICBSZWZQdHI8QXV0b21hdGljVGhyZWFkPiBtX3RocmVhZDsKIApAQCAtNzY4
LDggKzc2OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIGJvb2wgbV9wYXJhbGxlbE1hcmtl
cnNTaG91bGRFeGl0IHsgZmFsc2UgfTsKLSAgICBMb2NrIG1fY29sbGVjdENvbnRpbnVvdXNseUxv
Y2s7Ci0gICAgQ29uZGl0aW9uIG1fY29sbGVjdENvbnRpbnVvdXNseUNvbmRpdGlvbjsKKyAgICBV
bmNoZWNrZWRMb2NrIG1fY29sbGVjdENvbnRpbnVvdXNseUxvY2s7CisgICAgVW5jaGVja2VkQ29u
ZGl0aW9uIG1fY29sbGVjdENvbnRpbnVvdXNseUNvbmRpdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNvU3Vic3Bh
Y2VQZXJWTS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNvU3Vic3BhY2VQZXJWTS5o
CmluZGV4IGE5NmMyOTc5NTZlNzI5ZTRhZjRiMWViNDEzM2FjODk2NjUxNzc0ZjEuLmJhNzcxZjY0
MWIxMDJmNTU4OTMyODc3NDQ1M2U5MTM4ZDE1ZTFkYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL0lzb1N1YnNwYWNlUGVyVk0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9Jc29TdWJzcGFjZVBlclZNLmgKQEAgLTI2LDkgKzI2LDkgQEAKICNwcmFnbWEg
b25jZQogCiAjaW5jbHVkZSAiSXNvU3Vic3BhY2UuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExv
Y2suaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC02Miw3ICs2
Miw3IEBAIHByaXZhdGU6CiAgICAgY2xhc3MgQXV0b3JlbW92aW5nSXNvU3Vic3BhY2U7CiAgICAg
ZnJpZW5kIGNsYXNzIEF1dG9yZW1vdmluZ0lzb1N1YnNwYWNlOwogCi0gICAgQ2hlY2tlZExvY2sg
bV9sb2NrOworICAgIExvY2sgbV9sb2NrOwogICAgIEhhc2hNYXA8Vk0qLCBJc29TdWJzcGFjZSo+
IG1fc3Vic3BhY2VQZXJWTSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CiAgICAgRnVuY3Rp
b248U3Vic3BhY2VQYXJhbWV0ZXJzKFZNJik+IG1fc3Vic3BhY2VQYXJhbWV0ZXJzOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZFNwYWNlLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRTcGFjZS5oCmluZGV4IDViZTUxZGU3ZTRjZjk5
YjNkNmY0Nzc3N2YwMGI2ZDJhOTdhYjgwNGYuLjI2OGI5NzBhNTk4YjQyNWI5ZmNlMzY3ZGIyZWJh
ZWE3MWViY2MzMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtl
ZFNwYWNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkU3BhY2UuaApA
QCAtMTY4LDcgKzE2OCw3IEBAIHB1YmxpYzoKICAgICAKICAgICBCbG9ja0RpcmVjdG9yeSogZmly
c3REaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBtX2RpcmVjdG9yaWVzLmZpcnN0KCk7IH0KICAg
ICAKLSAgICBMb2NrJiBkaXJlY3RvcnlMb2NrKCkgeyByZXR1cm4gbV9kaXJlY3RvcnlMb2NrOyB9
CisgICAgVW5jaGVja2VkTG9jayYgZGlyZWN0b3J5TG9jaygpIHsgcmV0dXJuIG1fZGlyZWN0b3J5
TG9jazsgfQogICAgIHZvaWQgYWRkQmxvY2tEaXJlY3RvcnkoY29uc3QgQWJzdHJhY3RMb2NrZXIm
LCBCbG9ja0RpcmVjdG9yeSopOwogICAgIAogICAgIC8vIFdoZW4gdGhpcyBpcyB0cnVlIGl0IG1l
YW5zIHRoYXQgd2UgaGF2ZSBmbGlwcGVkIGJ1dCB0aGUgbWFyayBiaXRzIGhhdmVuJ3QgY29udmVy
Z2VkIHlldC4KQEAgLTIxNCw3ICsyMTQsNyBAQCBwcml2YXRlOgogICAgIEhlYXBWZXJzaW9uIG1f
bmV3bHlBbGxvY2F0ZWRWZXJzaW9uIHsgaW5pdGlhbFZlcnNpb24gfTsKICAgICBib29sIG1faXNJ
dGVyYXRpbmcgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc01hcmtpbmcgeyBmYWxzZSB9OwotICAg
IExvY2sgbV9kaXJlY3RvcnlMb2NrOworICAgIFVuY2hlY2tlZExvY2sgbV9kaXJlY3RvcnlMb2Nr
OwogICAgIE1hcmtlZEJsb2NrU2V0IG1fYmxvY2tzOwogICAgIAogICAgIFNlbnRpbmVsTGlua2Vk
TGlzdDxXZWFrU2V0LCBCYXNpY1Jhd1NlbnRpbmVsTm9kZTxXZWFrU2V0Pj4gbV9hY3RpdmVXZWFr
U2V0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtpbmdDb25z
dHJhaW50U29sdmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJraW5nQ29uc3Ry
YWludFNvbHZlci5oCmluZGV4IDhlNGYyZjRkZGYzMWNmYzgwNzFjZjNiZWNiNmU1ZTI3OGFlY2Iw
MWUuLjM1MGU1NTY2MjQyODRkYWJlNDczMTdmYzgwZDJmZGQ2YjlhNTg3N2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtpbmdDb25zdHJhaW50U29sdmVyLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2luZ0NvbnN0cmFpbnRTb2x2ZXIuaApA
QCAtOTUsOCArOTUsOCBAQCBwcml2YXRlOgogICAgIEJpdFZlY3RvciBtX2V4ZWN1dGVkOwogICAg
IERlcXVlPFRhc2tXaXRoQ29uc3RyYWludCwgMzI+IG1fdG9FeGVjdXRlSW5QYXJhbGxlbDsKICAg
ICBWZWN0b3I8dW5zaWduZWQsIDMyPiBtX3RvRXhlY3V0ZVNlcXVlbnRpYWxseTsKLSAgICBMb2Nr
IG1fbG9jazsKLSAgICBDb25kaXRpb24gbV9jb25kaXRpb247CisgICAgVW5jaGVja2VkTG9jayBt
X2xvY2s7CisgICAgVW5jaGVja2VkQ29uZGl0aW9uIG1fY29uZGl0aW9uOwogICAgIGJvb2wgbV9w
aWNrTmV4dElzU3RpbGxBY3RpdmUgeyB0cnVlIH07CiAgICAgdW5zaWduZWQgbV9udW1UaHJlYWRz
VGhhdE1heVByb2R1Y2VXb3JrIHsgMCB9OwogICAgIFZlY3RvcjxWaXNpdENvdW50ZXIsIDE2PiBt
X3Zpc2l0Q291bnRlcnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9T
bG90VmlzaXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5j
cHAKaW5kZXggZjlhMTgzMjNjNzI4MzM0NzE5OGQ5Njg4OWRjNTlmNzQzNzhmMjA3Mi4uYWI3MzJj
MjRlYzUwZTg5MDliNDkxZWM5YjE2OWFmMzBmZWM4OTMzNSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmNwcApAQCAtNDM2LDcgKzQzNiw3IEBAIHZvaWQgU2xvdFZp
c2l0b3I6OmRvbmF0ZUtub3duUGFyYWxsZWwoTWFya1N0YWNrQXJyYXkmIGZyb20sIE1hcmtTdGFj
a0FycmF5JiB0bykKIAogICAgIC8vIElmIHdlJ3JlIGNvbnRlbmRpbmcgb24gdGhlIGxvY2ssIGJl
IGNvbnNlcnZhdGl2ZSBhbmQgYXNzdW1lIHRoYXQgYW5vdGhlcgogICAgIC8vIHRocmVhZCBpcyBh
bHJlYWR5IGRvbmF0aW5nLgotICAgIHN0ZDo6dW5pcXVlX2xvY2s8TG9jaz4gbG9jayhtX2hlYXAu
bV9tYXJraW5nTXV0ZXgsIHN0ZDo6dHJ5X3RvX2xvY2spOworICAgIHN0ZDo6dW5pcXVlX2xvY2s8
VW5jaGVja2VkTG9jaz4gbG9jayhtX2hlYXAubV9tYXJraW5nTXV0ZXgsIHN0ZDo6dHJ5X3RvX2xv
Y2spOwogICAgIGlmICghbG9jay5vd25zX2xvY2soKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuaAppbmRleCA0MjMzM2FmM2UwMjAyNjdl
NTM3ZTA5M2U0YjA2MzMyMjFkZTNlNzNhLi5kNTVkYjYwMTdkZTczY2Y2YzJmMWNjY2Y0Y2YzY2Q1
NDM4Mzk2NTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90Vmlz
aXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmgKQEAg
LTE2MSw3ICsxNjEsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIG11dGF0b3JJc1N0b3BwZWQoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX211dGF0b3JJc1N0b3BwZWQ7IH0KICAgICAKLSAgICBMb2Nr
JiByaWdodFRvUnVuKCkgeyByZXR1cm4gbV9yaWdodFRvUnVuOyB9CisgICAgVW5jaGVja2VkTG9j
ayYgcmlnaHRUb1J1bigpIHsgcmV0dXJuIG1fcmlnaHRUb1J1bjsgfQogICAgIAogICAgIHZvaWQg
dXBkYXRlTXV0YXRvcklzU3RvcHBlZChjb25zdCBBYnN0cmFjdExvY2tlciYpOwogICAgIHZvaWQg
dXBkYXRlTXV0YXRvcklzU3RvcHBlZCgpOwpAQCAtMjMyLDcgKzIzMiw3IEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBtX211dGF0b3JJc1N0b3BwZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9jYW5PcHRp
bWl6ZUZvclN0b3BwZWRNdXRhdG9yIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNJblBhcmFsbGVs
TW9kZSB7IGZhbHNlIH07Ci0gICAgTG9jayBtX3JpZ2h0VG9SdW47CisgICAgVW5jaGVja2VkTG9j
ayBtX3JpZ2h0VG9SdW47CiAgICAgCiAgICAgLy8gUHV0IHBhZGRpbmcgaGVyZSB0byBtaXRpZ2F0
ZSBmYWxzZSBzaGFyaW5nIGJldHdlZW4gbXVsdGlwbGUgU2xvdFZpc2l0b3JzLgogICAgIGNoYXIg
cGFkZGluZ1s2NF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ29ubmVjdGlvbkNsaWVudC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvckNv
bm5lY3Rpb25DbGllbnQuaAppbmRleCBlODQ2ZmYzZmQ5OTIzYzllYTY5ZWVjZDg5M2VjODMzMmNl
MjVkNjQyLi4yNWYxZjhjY2U3NTZjMDU0ODJmNDliZDBmNTFjMzZmYzY4ZWQwZTc5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3Rl
SW5zcGVjdG9yQ29ubmVjdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JDb25uZWN0aW9uQ2xpZW50LmgK
QEAgLTMwLDkgKzMwLDkgQEAKICNpbmNsdWRlICJSZW1vdGVDb250cm9sbGFibGVUYXJnZXQuaCIK
ICNpbmNsdWRlICJSZW1vdGVJbnNwZWN0b3JNZXNzYWdlUGFyc2VyLmgiCiAjaW5jbHVkZSAiUmVt
b3RlSW5zcGVjdG9yU29ja2V0RW5kcG9pbnQuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2su
aD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9KU09OVmFsdWVzLmg+
CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
IAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC02Niw3ICs2Niw3IEBAIHByb3RlY3RlZDoKICAg
ICBzdGF0aWMgT3B0aW9uYWw8RXZlbnQ+IGV4dHJhY3RFdmVudChDb25uZWN0aW9uSUQsIFZlY3Rv
cjx1aW50OF90PiYmKTsKIAogICAgIEhhc2hNYXA8Q29ubmVjdGlvbklELCBNZXNzYWdlUGFyc2Vy
PiBtX3BhcnNlcnMgV1RGX0dVQVJERURfQllfTE9DSyhtX3BhcnNlcnNMb2NrKTsKLSAgICBDaGVj
a2VkTG9jayBtX3BhcnNlcnNMb2NrOworICAgIExvY2sgbV9wYXJzZXJzTG9jazsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tldEVuZHBvaW50Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5z
cGVjdG9yU29ja2V0RW5kcG9pbnQuaAppbmRleCAyNWJjMThjYjY4ZDgzZDJmYmZhYmJjZGY2ZDM1
NDE4Mjc1Yjk2MjE4Li4yNGEzZTU4ZmMzNjdiM2YxOTI5NTBmYzY4YmQ3ZWY5MmU4NjhlMWY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQv
UmVtb3RlSW5zcGVjdG9yU29ja2V0RW5kcG9pbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0RW5kcG9pbnQu
aApAQCAtMTgyLDcgKzE4Miw3IEBAIHByb3RlY3RlZDoKICAgICBib29sIGlzTGlzdGVuaW5nKENv
bm5lY3Rpb25JRCk7CiAgICAgaW50IHBvbGxpbmdUaW1lb3V0KCk7CiAKLSAgICBtdXRhYmxlIExv
Y2sgbV9jb25uZWN0aW9uc0xvY2s7CisgICAgbXV0YWJsZSBVbmNoZWNrZWRMb2NrIG1fY29ubmVj
dGlvbnNMb2NrOwogICAgIEhhc2hNYXA8Q29ubmVjdGlvbklELCBzdGQ6OnVuaXF1ZV9wdHI8Q2xp
ZW50Q29ubmVjdGlvbj4+IG1fY2xpZW50czsKICAgICBIYXNoTWFwPENvbm5lY3Rpb25JRCwgc3Rk
Ojp1bmlxdWVfcHRyPExpc3RlbmVyQ29ubmVjdGlvbj4+IG1fbGlzdGVuZXJzOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcAppbmRleCAy
NzllMDc1ZTRjYjYxNzcyOWM2ZTJkNWZlZmY5ODYyN2M3MDUyZjAxLi42MTk0NTViMWY2ZGJhY2E0
YTdkZGFjN2NiZjZkOWM5MmZhMTZjYTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAKQEAgLTQ4NSw3ICs0ODUsNyBAQCBwdWJsaWM6
CiAjZW5kaWYgLy8gRU5BQkxFKEpVTVBfSVNMQU5EUykKICAgICB9CiAKLSAgICBMb2NrJiBnZXRM
b2NrKCkgeyByZXR1cm4gbV9sb2NrOyB9CisgICAgVW5jaGVja2VkTG9jayYgZ2V0TG9jaygpIHsg
cmV0dXJuIG1fbG9jazsgfQogCiAgICAgLy8gTm9uIGF0b21pYwogICAgIHNpemVfdCBieXRlc0Fs
bG9jYXRlZCgpIApAQCAtNTQ3LDcgKzU0Nyw3IEBAIHB1YmxpYzoKICAgICB9CiAKICNpZiBFTkFC
TEUoSlVNUF9JU0xBTkRTKQotICAgIHZvaWQgaGFuZGxlV2lsbEJlUmVsZWFzZWQoY29uc3QgTG9j
a0hvbGRlciYgbG9ja2VyLCBNZXRhQWxsb2NhdG9ySGFuZGxlJiBoYW5kbGUpCisgICAgdm9pZCBo
YW5kbGVXaWxsQmVSZWxlYXNlZChjb25zdCBVbmNoZWNrZWRMb2NrSG9sZGVyJiBsb2NrZXIsIE1l
dGFBbGxvY2F0b3JIYW5kbGUmIGhhbmRsZSkKICAgICB7CiAgICAgICAgIGlmIChtX2lzbGFuZHNG
b3JKdW1wU291cmNlTG9jYXRpb24uaXNFbXB0eSgpKQogICAgICAgICAgICAgcmV0dXJuOwpAQCAt
NTk5LDcgKzU5OSw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQog
Ci0gICAgdm9pZCBmcmVlSnVtcElzbGFuZHMoY29uc3QgTG9ja0hvbGRlciYsIElzbGFuZHMqIGlz
bGFuZHMpCisgICAgdm9pZCBmcmVlSnVtcElzbGFuZHMoY29uc3QgVW5jaGVja2VkTG9ja0hvbGRl
ciYsIElzbGFuZHMqIGlzbGFuZHMpCiAgICAgewogICAgICAgICBmb3IgKENvZGVMb2NhdGlvbkxh
YmVsPEV4ZWN1dGFibGVNZW1vcnlQdHJUYWc+IGp1bXBJc2xhbmQgOiBpc2xhbmRzLT5qdW1wSXNs
YW5kcykgewogICAgICAgICAgICAgdWludHB0cl90IHVudGFnZ2VkSnVtcElzbGFuZCA9IGJpdHdp
c2VfY2FzdDx1aW50cHRyX3Q+KGp1bXBJc2xhbmQuZGF0YUxvY2F0aW9uKCkpOwpAQCAtNjEwLDE0
ICs2MTAsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgaXNsYW5kcy0+anVtcElzbGFuZHMuY2xlYXIo
KTsKICAgICB9CiAKLSAgICB2b2lkIGZyZWVJc2xhbmRzKGNvbnN0IExvY2tIb2xkZXImIGxvY2tl
ciwgSXNsYW5kcyogaXNsYW5kcykKKyAgICB2b2lkIGZyZWVJc2xhbmRzKGNvbnN0IFVuY2hlY2tl
ZExvY2tIb2xkZXImIGxvY2tlciwgSXNsYW5kcyogaXNsYW5kcykKICAgICB7CiAgICAgICAgIGZy
ZWVKdW1wSXNsYW5kcyhsb2NrZXIsIGlzbGFuZHMpOwogICAgICAgICBtX2lzbGFuZHNGb3JKdW1w
U291cmNlTG9jYXRpb24ucmVtb3ZlKGlzbGFuZHMpOwogICAgICAgICBkZWxldGUgaXNsYW5kczsK
ICAgICB9CiAKLSAgICB2b2lkKiBpc2xhbmRGb3JKdW1wTG9jYXRpb24oY29uc3QgTG9ja0hvbGRl
ciYgbG9ja2VyLCB1aW50cHRyX3QganVtcExvY2F0aW9uLCB1aW50cHRyX3QgdGFyZ2V0LCBib29s
IGNvbmN1cnJlbnRseSkKKyAgICB2b2lkKiBpc2xhbmRGb3JKdW1wTG9jYXRpb24oY29uc3QgVW5j
aGVja2VkTG9ja0hvbGRlciYgbG9ja2VyLCB1aW50cHRyX3QganVtcExvY2F0aW9uLCB1aW50cHRy
X3QgdGFyZ2V0LCBib29sIGNvbmN1cnJlbnRseSkKICAgICB7CiAgICAgICAgIElzbGFuZHMqIGlz
bGFuZHMgPSBtX2lzbGFuZHNGb3JKdW1wU291cmNlTG9jYXRpb24uZmluZEV4YWN0KGJpdHdpc2Vf
Y2FzdDx2b2lkKj4oanVtcExvY2F0aW9uKSk7CiAgICAgICAgIGlmIChpc2xhbmRzKSB7CkBAIC03
NDYsNyArNzQ2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIHJldHVybiBpc2xhbmRzUGVyUGFn
ZTsKICAgICAgICAgfQogCi0gICAgICAgIHZvaWQgcmVsZWFzZShjb25zdCBMb2NrSG9sZGVyJiBs
b2NrZXIsIE1ldGFBbGxvY2F0b3JIYW5kbGUmIGhhbmRsZSkgZmluYWwKKyAgICAgICAgdm9pZCBy
ZWxlYXNlKGNvbnN0IFVuY2hlY2tlZExvY2tIb2xkZXImIGxvY2tlciwgTWV0YUFsbG9jYXRvckhh
bmRsZSYgaGFuZGxlKSBmaW5hbAogICAgICAgICB7CiAgICAgICAgICAgICBtX2ZpeGVkQWxsb2Nh
dG9yLmhhbmRsZVdpbGxCZVJlbGVhc2VkKGxvY2tlciwgaGFuZGxlKTsKICAgICAgICAgICAgIEJh
c2U6OnJlbGVhc2UobG9ja2VyLCBoYW5kbGUpOwpAQCAtODQ3LDcgKzg0Nyw3IEBAIHByaXZhdGU6
CiAgICAgfTsKICNlbmRpZiAvLyBFTkFCTEUoSlVNUF9JU0xBTkRTKQogCi0gICAgTG9jayBtX2xv
Y2s7CisgICAgVW5jaGVja2VkTG9jayBtX2xvY2s7CiAgICAgUGFnZVJlc2VydmF0aW9uIG1fcmVz
ZXJ2YXRpb247CiAjaWYgRU5BQkxFKEpVTVBfSVNMQU5EUykKICAgICBzdGQ6OmFycmF5PFJlZ2lv
bkFsbG9jYXRvciwgbWF4TnVtYmVyT2ZSZWdpb25zPiBtX2FsbG9jYXRvcnM7CkBAIC05NjEsNyAr
OTYxLDcgQEAgYm9vbCBFeGVjdXRhYmxlQWxsb2NhdG9yOjppc1ZhbGlkRXhlY3V0YWJsZU1lbW9y
eShjb25zdCBBYnN0cmFjdExvY2tlciYgbG9ja2VyLAogICAgIHJldHVybiBhbGxvY2F0b3ItPmlz
SW5BbGxvY2F0ZWRNZW1vcnkobG9ja2VyLCBhZGRyZXNzKTsKIH0KIAotTG9jayYgRXhlY3V0YWJs
ZUFsbG9jYXRvcjo6Z2V0TG9jaygpIGNvbnN0CitVbmNoZWNrZWRMb2NrJiBFeGVjdXRhYmxlQWxs
b2NhdG9yOjpnZXRMb2NrKCkgY29uc3QKIHsKICAgICBGaXhlZFZNUG9vbEV4ZWN1dGFibGVBbGxv
Y2F0b3IqIGFsbG9jYXRvciA9IGdfanNjQ29uZmlnLmZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9j
YXRvcjsKICAgICBpZiAoIWFsbG9jYXRvcikKQEAgLTEwMzgsNyArMTAzOCw3IEBAIHZvaWQgZHVt
cEpJVE1lbW9yeShjb25zdCB2b2lkKiBkc3QsIGNvbnN0IHZvaWQqIHNyYywgc2l6ZV90IHNpemUp
CiAgICAgc3RhdGljIHVpbnQ4X3QqIGJ1ZmZlcjsKICAgICBzdGF0aWMgY29uc3RleHByIHNpemVf
dCBidWZmZXJTaXplID0gZml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbFNpemU7CiAgICAgc3RhdGlj
IHNpemVfdCBvZmZzZXQgPSAwOwotICAgIHN0YXRpYyBMb2NrIGR1bXBKSVRNZW1vcnlMb2NrOwor
ICAgIHN0YXRpYyBVbmNoZWNrZWRMb2NrIGR1bXBKSVRNZW1vcnlMb2NrOwogICAgIHN0YXRpYyBi
b29sIG5lZWRzVG9GbHVzaCA9IGZhbHNlOwogICAgIHN0YXRpYyBhdXRvIGZsdXNoID0gW10oY29u
c3QgQWJzdHJhY3RMb2NrZXImKSB7CiAgICAgICAgIGlmIChmZCA9PSAtMSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaAppbmRleCA0ZmZjNDgw
ZTQyNDA0ZGM2NmI1ZTI1MTQ1NzcyYmJjYjA5ZDVmMzY4Li4wMzc5OWU0MjdiMDk3ZDY0ZmQ5OGNi
OGY5NWE2OGE5MjUxNmY4YTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0V4ZWN1dGFibGVBbGxvY2F0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4
ZWN1dGFibGVBbGxvY2F0b3IuaApAQCAtNzcsNyArNzcsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0
aWMgc2l6ZV90IGNvbW1pdHRlZEJ5dGVDb3VudCgpIHsgcmV0dXJuIDA7IH0KIAotICAgIExvY2sm
IGdldExvY2soKSBjb25zdAorICAgIFVuY2hlY2tlZExvY2smIGdldExvY2soKSBjb25zdAogICAg
IHsKICAgICAgICAgcmV0dXJuIG1fbG9jazsKICAgICB9CkBAIC04Nyw3ICs4Nyw3IEBAIHByb3Rl
Y3RlZDoKICAgICB+RXhlY3V0YWJsZUFsbG9jYXRvckJhc2UoKSA9IGRlZmF1bHQ7CiAKIHByaXZh
dGU6Ci0gICAgbXV0YWJsZSBMb2NrIG1fbG9jazsKKyAgICBtdXRhYmxlIFVuY2hlY2tlZExvY2sg
bV9sb2NrOwogfTsKIAogI2lmIEVOQUJMRShKSVQpCkBAIC0xNzYsNyArMTc2LDcgQEAgcHVibGlj
OgogCiAgICAgc3RhdGljIHNpemVfdCBjb21taXR0ZWRCeXRlQ291bnQoKTsKIAotICAgIExvY2sm
IGdldExvY2soKSBjb25zdDsKKyAgICBVbmNoZWNrZWRMb2NrJiBnZXRMb2NrKCkgY29uc3Q7CiAK
ICNpZiBFTkFCTEUoSlVNUF9JU0xBTkRTKQogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQqIGdl
dEp1bXBJc2xhbmRUbyh2b2lkKiBmcm9tLCB2b2lkKiBuZXdEZXN0aW5hdGlvbik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFdvcmtsaXN0LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUV29ya2xpc3QuY3BwCmluZGV4IGE3MDUyZTc5ZjBhNzQzNjdm
ZTNmZGM1YTNjZjZkNTM4ZTY5MzIwMGUuLmE5Njg5NzRiZDZhOTgyM2I5MGFhZGM0NGE0MTRhNTM3
YTkwM2NmN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUV29ya2xp
c3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUV29ya2xpc3QuY3BwCkBA
IC0xNjUsNyArMTY1LDcgQEAgcHJpdmF0ZToKIH07CiAKIEpJVFdvcmtsaXN0OjpKSVRXb3JrbGlz
dCgpCi0gICAgOiBtX2xvY2soQm94PExvY2s+OjpjcmVhdGUoKSkKKyAgICA6IG1fbG9jayhCb3g8
VW5jaGVja2VkTG9jaz46OmNyZWF0ZSgpKQogICAgICwgbV9jb25kaXRpb24oQXV0b21hdGljVGhy
ZWFkQ29uZGl0aW9uOjpjcmVhdGUoKSkKIHsKICAgICBMb2NrZXIgbG9ja2VyIHsgKm1fbG9jayB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRXb3JrbGlzdC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRXb3JrbGlzdC5oCmluZGV4IGI5Zjc3Y2ExYjNk
ZGVmYTYxNDhiMTM2OTQyZDU3YTA5ZDY1ZWE3YTMuLmE3MmE4Mzg3MGEwMDgyZmNkMzQ0OTUyOTBl
YTUwZWExNDBkODlmMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
V29ya2xpc3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFdvcmtsaXN0LmgK
QEAgLTcxLDcgKzcxLDcgQEAgcHJpdmF0ZToKICAgICBQbGFucyBtX3BsYW5zOwogICAgIEhhc2hT
ZXQ8Q29kZUJsb2NrKj4gbV9wbGFubmVkOwogICAgIAotICAgIEJveDxMb2NrPiBtX2xvY2s7Cisg
ICAgQm94PFVuY2hlY2tlZExvY2s+IG1fbG9jazsKICAgICBSZWY8QXV0b21hdGljVGhyZWFkQ29u
ZGl0aW9uPiBtX2NvbmRpdGlvbjsgLy8gV2UgdXNlIE9uZSBUcnVlIENvbmRpdGlvbiBmb3IgZXZl
cnl0aGluZyBiZWNhdXNlIHRoYXQncyBlYXNpZXIuCiAgICAgUmVmUHRyPEF1dG9tYXRpY1RocmVh
ZD4gbV90aHJlYWQ7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNj
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCmluZGV4IGQzYTI4MTEyNzA4MDU4
MWYwZWQxNWI0ZjM4NTg4NTUwY2YzZWU2ZWUuLmFkMTU1ZTZlODI3Y2MwZDNjYWY3YzU3MjY1ZjBk
YmMzMjUxYjU2MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCkBAIC0yNTcsOCArMjU3LDggQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgV29ya2VyOwogICAgIAotICAgIExvY2sg
bV9sb2NrOwotICAgIENvbmRpdGlvbiBtX2NvbmRpdGlvbjsKKyAgICBVbmNoZWNrZWRMb2NrIG1f
bG9jazsKKyAgICBVbmNoZWNrZWRDb25kaXRpb24gbV9jb25kaXRpb247CiAgICAgU2VudGluZWxM
aW5rZWRMaXN0PFdvcmtlciwgQmFzaWNSYXdTZW50aW5lbE5vZGU8V29ya2VyPj4gbV93b3JrZXJz
OwogICAgIERlcXVlPFN0cmluZz4gbV9yZXBvcnRzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckRhdGFiYXNlLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJEYXRhYmFzZS5oCmluZGV4IGFlNzg1ZTRlM2RjYjdj
M2UwODAyODdiYjQ1OTk3YTEzMmMyODVkZDMuLjJhODc4Yzk0NmI2NTM0MGU3OTEzOWJlMjIzNzVj
NTA2MTZhOWIyZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Q
cm9maWxlckRhdGFiYXNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1By
b2ZpbGVyRGF0YWJhc2UuaApAQCAtODgsNyArODgsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9z
aG91bGRTYXZlQXRFeGl0OwogICAgIENTdHJpbmcgbV9hdEV4aXRTYXZlRmlsZW5hbWU7CiAgICAg
RGF0YWJhc2UqIG1fbmV4dFJlZ2lzdGVyZWREYXRhYmFzZTsKLSAgICBMb2NrIG1fbG9jazsKKyAg
ICBVbmNoZWNrZWRMb2NrIG1fbG9jazsKIH07CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpQcm9m
aWxlcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29uY3VycmVu
dEpTTG9jay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29uY3VycmVudEpTTG9j
ay5oCmluZGV4IGFhMjczYmFkYmVmYTczN2EwZWFhNTM0ZmJlYmE5ZjUwMWZkYjg2MjcuLjg2MzEx
N2Q4OTE1YzQzZTRhNjc3MjA4MmI5YmM1NWIzOWEyZDFjYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbmN1cnJlbnRKU0xvY2suaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db25jdXJyZW50SlNMb2NrLmgKQEAgLTMyLDggKzMyLDggQEAK
IAogbmFtZXNwYWNlIEpTQyB7CiAKLXVzaW5nIENvbmN1cnJlbnRKU0xvY2sgPSBMb2NrOwotdXNp
bmcgQ29uY3VycmVudEpTTG9ja2VySW1wbCA9IExvY2tIb2xkZXI7Cit1c2luZyBDb25jdXJyZW50
SlNMb2NrID0gVW5jaGVja2VkTG9jazsKK3VzaW5nIENvbmN1cnJlbnRKU0xvY2tlckltcGwgPSBV
bmNoZWNrZWRMb2NrSG9sZGVyOwogCiBzdGF0aWNfYXNzZXJ0KHNpemVvZihDb25jdXJyZW50SlNM
b2NrKSA9PSAxLCAiUmVnYXJkbGVzcyBvZiBzdGF0dXMgb2YgY29uY3VycmVudCBKUyBmbGFnLCBz
aXplIG9mIENvbnVycmVudEpTTG9jayBpcyBhbHdheXMgb25lIGJ5dGUuIik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RlZmVycmVkV29ya1RpbWVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EZWZlcnJlZFdvcmtUaW1lci5oCmluZGV4IDZj
OThjYWFmNTgxYjFjZmMwMWFhMTkxMTcxNGIzZGIyN2JkZjAyMTcuLmVmMGVhYzczMGI0MjJmNzBj
MjBhNjhiNWM5ZTk2NDg2ODc2YTAxM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0RlZmVycmVkV29ya1RpbWVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRGVmZXJyZWRXb3JrVGltZXIuaApAQCAtNzIsNyArNzIsNyBAQCBwdWJsaWM6CiBw
cml2YXRlOgogICAgIERlZmVycmVkV29ya1RpbWVyKFZNJik7CiAKLSAgICBMb2NrIG1fdGFza0xv
Y2s7CisgICAgVW5jaGVja2VkTG9jayBtX3Rhc2tMb2NrOwogICAgIGJvb2wgbV9ydW5UYXNrcyB7
IHRydWUgfTsKICAgICBib29sIG1fc2hvdWxkU3RvcFJ1bkxvb3BXaGVuQWxsVGlja2V0c0Zpbmlz
aCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2N1cnJlbnRseVJ1bm5pbmdUYXNrIHsgZmFsc2UgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKaW5kZXggMmUwMmJhM2Q2NDA1ZWU3
MmRkNGFkZTBiYTY3Y2I5NThmMWE2NDYwYi4uYTk5MWRmNTBiMWMzNzIyNmU1ZjEyOTkwZTQwYjY3
YjEwYjE5OWMyOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNM
b2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTEz
OCw3ICsxMzgsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIGRyb3BBbGxMb2NrcyhEcm9wQWxs
TG9ja3MqKTsKICAgICB2b2lkIGdyYWJBbGxMb2NrcyhEcm9wQWxsTG9ja3MqLCB1bnNpZ25lZCBs
b2NrQ291bnQpOwogCi0gICAgTG9jayBtX2xvY2s7CisgICAgVW5jaGVja2VkTG9jayBtX2xvY2s7
CiAgICAgYm9vbCBtX2lzV2ViVGhyZWFkQXdhcmUgeyBmYWxzZSB9OwogICAgIC8vIFdlIGNhbm5v
dCBtYWtlIG1fb3duZXJUaHJlYWQgYW4gb3B0aW9uYWwgKGluc3RlYWQgb2YgcGFpcmluZyBpdCB3
aXRoIGFuIGV4cGxpY2l0CiAgICAgLy8gbV9oYXNPd25lclRocmVhZCkgYmVjYXVzZSBjdXJyZW50
VGhyZWFkSXNIb2xkaW5nTG9jaygpIG1heSBiZSBjYWxsZWQgZnJvbSBhCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwCmluZGV4IGQ3MWYz
ZWMxOWZmMzY3NDY3NzA3ZmU1MmI4ODAyNGM1NjI3YTE0YWQuLmU1MzExMmQxODhmN2NjYjkwZDBh
ZTc4NDE0MjUwMWQyNDVjNWU4MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwCkBAIC03NSw3ICs3NSw3IEBAIEFMV0FZU19JTkxJ
TkUgc3RhdGljIHZvaWQgcmVwb3J0U3RhdHMoKQogCiBjbGFzcyBGcmFtZVdhbGtlciB7CiBwdWJs
aWM6Ci0gICAgRnJhbWVXYWxrZXIoVk0mIHZtLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSwgY29uc3Qg
QWJzdHJhY3RMb2NrZXImIGNvZGVCbG9ja1NldExvY2tlciwgY29uc3QgQWJzdHJhY3RMb2NrZXIm
IG1hY2hpbmVUaHJlYWRzTG9ja2VyLCBjb25zdCBPcHRpb25hbDxMb2NrSG9sZGVyPiYgd2FzbUNh
bGxlZUxvY2tlcikKKyAgICBGcmFtZVdhbGtlcihWTSYgdm0sIENhbGxGcmFtZSogY2FsbEZyYW1l
LCBjb25zdCBBYnN0cmFjdExvY2tlciYgY29kZUJsb2NrU2V0TG9ja2VyLCBjb25zdCBBYnN0cmFj
dExvY2tlciYgbWFjaGluZVRocmVhZHNMb2NrZXIsIGNvbnN0IE9wdGlvbmFsPFVuY2hlY2tlZExv
Y2tIb2xkZXI+JiB3YXNtQ2FsbGVlTG9ja2VyKQogICAgICAgICA6IG1fdm0odm0pCiAgICAgICAg
ICwgbV9jYWxsRnJhbWUoY2FsbEZyYW1lKQogICAgICAgICAsIG1fZW50cnlGcmFtZSh2bS50b3BF
bnRyeUZyYW1lKQpAQCAtMjAxLDcgKzIwMSw3IEBAIHByb3RlY3RlZDoKICAgICBFbnRyeUZyYW1l
KiBtX2VudHJ5RnJhbWU7CiAgICAgY29uc3QgQWJzdHJhY3RMb2NrZXImIG1fY29kZUJsb2NrU2V0
TG9ja2VyOwogICAgIGNvbnN0IEFic3RyYWN0TG9ja2VyJiBtX21hY2hpbmVUaHJlYWRzTG9ja2Vy
OwotICAgIGNvbnN0IE9wdGlvbmFsPExvY2tIb2xkZXI+JiBtX3dhc21DYWxsZWVMb2NrZXI7Cisg
ICAgY29uc3QgT3B0aW9uYWw8VW5jaGVja2VkTG9ja0hvbGRlcj4mIG1fd2FzbUNhbGxlZUxvY2tl
cjsKICAgICBib29sIG1fYmFpbGluZ091dCB7IGZhbHNlIH07CiAgICAgc2l6ZV90IG1fZGVwdGgg
eyAwIH07CiB9OwpAQCAtMjEwLDcgKzIxMCw3IEBAIGNsYXNzIENGcmFtZVdhbGtlciA6IHB1Ymxp
YyBGcmFtZVdhbGtlciB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBGcmFtZVdhbGtlciBCYXNlOwog
Ci0gICAgQ0ZyYW1lV2Fsa2VyKFZNJiB2bSwgdm9pZCogbWFjaGluZUZyYW1lLCBDYWxsRnJhbWUq
IGNhbGxGcmFtZSwgY29uc3QgQWJzdHJhY3RMb2NrZXImIGNvZGVCbG9ja1NldExvY2tlciwgY29u
c3QgQWJzdHJhY3RMb2NrZXImIG1hY2hpbmVUaHJlYWRzTG9ja2VyLCBjb25zdCBPcHRpb25hbDxM
b2NrSG9sZGVyPiYgd2FzbUNhbGxlZUxvY2tlcikKKyAgICBDRnJhbWVXYWxrZXIoVk0mIHZtLCB2
b2lkKiBtYWNoaW5lRnJhbWUsIENhbGxGcmFtZSogY2FsbEZyYW1lLCBjb25zdCBBYnN0cmFjdExv
Y2tlciYgY29kZUJsb2NrU2V0TG9ja2VyLCBjb25zdCBBYnN0cmFjdExvY2tlciYgbWFjaGluZVRo
cmVhZHNMb2NrZXIsIGNvbnN0IE9wdGlvbmFsPFVuY2hlY2tlZExvY2tIb2xkZXI+JiB3YXNtQ2Fs
bGVlTG9ja2VyKQogICAgICAgICA6IEJhc2Uodm0sIGNhbGxGcmFtZSwgY29kZUJsb2NrU2V0TG9j
a2VyLCBtYWNoaW5lVGhyZWFkc0xvY2tlciwgd2FzbUNhbGxlZUxvY2tlcikKICAgICAgICAgLCBt
X21hY2hpbmVGcmFtZShtYWNoaW5lRnJhbWUpCiAgICAgewpAQCAtMzUzLDcgKzM1Myw3IEBAIHZv
aWQgU2FtcGxpbmdQcm9maWxlcjo6dGFrZVNhbXBsZShjb25zdCBBYnN0cmFjdExvY2tlciYsIFNl
Y29uZHMmIHN0YWNrVHJhY2VQcm9jCiAgICAgICAgIExvY2tlciBtYWNoaW5lVGhyZWFkc0xvY2tl
ciB7IG1fdm0uaGVhcC5tYWNoaW5lVGhyZWFkcygpLmdldExvY2soKSB9OwogICAgICAgICBMb2Nr
ZXIgY29kZUJsb2NrU2V0TG9ja2VyIHsgbV92bS5oZWFwLmNvZGVCbG9ja1NldCgpLmdldExvY2so
KSB9OwogICAgICAgICBMb2NrZXIgZXhlY3V0YWJsZUFsbG9jYXRvckxvY2tlciB7IEV4ZWN1dGFi
bGVBbGxvY2F0b3I6OnNpbmdsZXRvbigpLmdldExvY2soKSB9OwotICAgICAgICBPcHRpb25hbDxM
b2NrSG9sZGVyPiB3YXNtQ2FsbGVlc0xvY2tlcjsKKyAgICAgICAgT3B0aW9uYWw8VW5jaGVja2Vk
TG9ja0hvbGRlcj4gd2FzbUNhbGxlZXNMb2NrZXI7CiAjaWYgRU5BQkxFKFdFQkFTU0VNQkxZKQog
ICAgICAgICBpZiAoV2FzbTo6aXNTdXBwb3J0ZWQoKSkKICAgICAgICAgICAgIHdhc21DYWxsZWVz
TG9ja2VyID0gTG9ja2VyIHsgV2FzbTo6Q2FsbGVlUmVnaXN0cnk6OnNpbmdsZXRvbigpLmdldExv
Y2soKSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxp
bmdQcm9maWxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9m
aWxlci5oCmluZGV4IDY1MTcwN2E5NDZmMTYxZGVhNmY5ODhhYjVkZGU0OGIzMmM3NWM3ZWQuLjlm
MDU3MjZhNGU4MDRmY2IzNTM3MzZhMmVkMWQ2NDBiNzY0Yzk0ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmgKQEAgLTE3Miw3ICsxNzIs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpY2VWTUVudHJ5KCk7CiAgICAgdm9pZCBzaHV0ZG93
bigpOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZpc2l0b3I+IHZvaWQgdmlzaXQoVmlzaXRvciYp
OwotICAgIExvY2smIGdldExvY2soKSB7IHJldHVybiBtX2xvY2s7IH0KKyAgICBVbmNoZWNrZWRM
b2NrJiBnZXRMb2NrKCkgeyByZXR1cm4gbV9sb2NrOyB9CiAgICAgdm9pZCBzZXRUaW1pbmdJbnRl
cnZhbChTZWNvbmRzIGludGVydmFsKSB7IG1fdGltaW5nSW50ZXJ2YWwgPSBpbnRlcnZhbDsgfQog
ICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQoKTsKICAgICB2b2lkIHN0YXJ0KGNvbnN0
IEFic3RyYWN0TG9ja2VyJik7CkBAIC0yMDAsNyArMjAwLDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHRpbWVyTG9vcCgpOwogICAgIHZvaWQgdGFrZVNhbXBsZShjb25zdCBBYnN0cmFjdExvY2tlciYs
IFNlY29uZHMmIHN0YWNrVHJhY2VQcm9jZXNzaW5nVGltZSk7CiAKLSAgICBMb2NrIG1fbG9jazsK
KyAgICBVbmNoZWNrZWRMb2NrIG1fbG9jazsKICAgICBib29sIG1faXNQYXVzZWQ7CiAgICAgYm9v
bCBtX2lzU2h1dERvd247CiAgICAgYm9vbCBtX25lZWRzUmVwb3J0QXRFeGl0IHsgZmFsc2UgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCmluZGV4IGY4ZThkM2Y1NDdlNGZkZTYxMzRjMzhh
ODYyZDJmMjVkNjJhMzMxZTIuLmExYWIyMjMyMTY5OGU1NzAwMjk5NDczNTE0YmZhMDQxZjg4ZGNj
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApAQCAtMTAwNCw3ICsxMDA0LDcgQEAg
cHVibGljOgogI2lmIEVOQUJMRShZQVJSX0pJVF9BTExfUEFSRU5TX0VYUFJFU1NJT05TKQogICAg
IHN0YXRpYyBjb25zdGV4cHIgc2l6ZV90IHBhdHRlcm5Db250ZXh0QnVmZmVyU2l6ZSA9IDgxOTI7
IC8vIFNwYWNlIGFsbG9jYXRlZCB0byBzYXZlIG5lc3RlZCBwYXJlbnRoZXNpcyBjb250ZXh0CiAg
ICAgVW5pcXVlQXJyYXk8Y2hhcj4gbV9yZWdFeHBQYXR0ZXJuQ29udGV4QnVmZmVyOwotICAgIExv
Y2sgbV9yZWdFeHBQYXR0ZXJuQ29udGV4dExvY2s7CisgICAgVW5jaGVja2VkTG9jayBtX3JlZ0V4
cFBhdHRlcm5Db250ZXh0TG9jazsKICAgICBjaGFyKiBhY3F1aXJlUmVnRXhwUGF0dGVybkNvbnRl
eEJ1ZmZlcigpOwogICAgIHZvaWQgcmVsZWFzZVJlZ0V4cFBhdHRlcm5Db250ZXhCdWZmZXIoKTsK
ICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTVRyYXBz
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNVHJhcHMuY3BwCmluZGV4IDli
NDQwNmIxMTU2M2RhZjU3MzllYjMzOGFmODI1OWE1ZTE4YTQxNTkuLjU3ZGIzMTljZWNmYjczNzE5
N2UyNmQ5Y2RkMmRiN2E1OGJiMDhjNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1ZNVHJhcHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1ZNVHJhcHMuY3BwCkBAIC0xNjMsNyArMTYzLDcgQEAgdm9pZCBWTVRyYXBzOjppbnZhbGlkYXRl
Q29kZUJsb2Nrc09uU3RhY2soQ2FsbEZyYW1lKiB0b3BDYWxsRnJhbWUpCiAgICAgaW52YWxpZGF0
ZUNvZGVCbG9ja3NPblN0YWNrKGNvZGVCbG9ja1NldExvY2tlciwgdG9wQ2FsbEZyYW1lKTsKIH0K
ICAgICAKLXZvaWQgVk1UcmFwczo6aW52YWxpZGF0ZUNvZGVCbG9ja3NPblN0YWNrKExvY2tlcjxM
b2NrPiYsIENhbGxGcmFtZSogdG9wQ2FsbEZyYW1lKQordm9pZCBWTVRyYXBzOjppbnZhbGlkYXRl
Q29kZUJsb2Nrc09uU3RhY2soTG9ja2VyPFVuY2hlY2tlZExvY2s+JiwgQ2FsbEZyYW1lKiB0b3BD
YWxsRnJhbWUpCiB7CiAgICAgaWYgKCFtX25lZWRUb0ludmFsaWRhdGVkQ29kZUJsb2NrcykKICAg
ICAgICAgcmV0dXJuOwpAQCAtNDM3LDcgKzQzNyw3IEBAIHZvaWQgVk1UcmFwczo6dW5kb0RlZmVy
VGVybWluYXRpb25TbG93KERlZmVyQWN0aW9uIGRlZmVyQWN0aW9uKQogfQogCiBWTVRyYXBzOjpW
TVRyYXBzKCkKLSAgICA6IG1fbG9jayhCb3g8TG9jaz46OmNyZWF0ZSgpKQorICAgIDogbV9sb2Nr
KEJveDxVbmNoZWNrZWRMb2NrPjo6Y3JlYXRlKCkpCiAgICAgLCBtX2NvbmRpdGlvbihBdXRvbWF0
aWNUaHJlYWRDb25kaXRpb246OmNyZWF0ZSgpKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1UcmFwcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVk1UcmFwcy5oCmluZGV4IDBhZjU5YmM5NWMxNmY5MmQzNGU1NGE2MjJiMjQyYjg3YzU4
NGZkNjUuLjVkMTVjOTJmNzA0MTc1MWQ4MDRlNGM1NzJhNTUzMDEwN2JmZTQyZGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNVHJhcHMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTVRyYXBzLmgKQEAgLTIzNiw3ICsyMzYsNyBAQCBwcml2
YXRlOgogCiAgICAgdm9pZCBpbnZhbGlkYXRlQ29kZUJsb2Nrc09uU3RhY2soKTsKICAgICB2b2lk
IGludmFsaWRhdGVDb2RlQmxvY2tzT25TdGFjayhDYWxsRnJhbWUqIHRvcENhbGxGcmFtZSk7Ci0g
ICAgdm9pZCBpbnZhbGlkYXRlQ29kZUJsb2Nrc09uU3RhY2soTG9ja2VyPExvY2s+JiBjb2RlQmxv
Y2tTZXRMb2NrZXIsIENhbGxGcmFtZSogdG9wQ2FsbEZyYW1lKTsKKyAgICB2b2lkIGludmFsaWRh
dGVDb2RlQmxvY2tzT25TdGFjayhMb2NrZXI8VW5jaGVja2VkTG9jaz4mIGNvZGVCbG9ja1NldExv
Y2tlciwgQ2FsbEZyYW1lKiB0b3BDYWxsRnJhbWUpOwogCiAgICAgdm9pZCBhZGRTaWduYWxTZW5k
ZXIoU2lnbmFsU2VuZGVyKik7CiAgICAgdm9pZCByZW1vdmVTaWduYWxTZW5kZXIoU2lnbmFsU2Vu
ZGVyKik7CkBAIC0yNDcsNyArMjQ3LDcgQEAgcHJpdmF0ZToKIAogICAgIHN0YXRpYyBjb25zdGV4
cHIgQml0RmllbGQgTmVlZEV4Y2VwdGlvbkhhbmRsaW5nTWFzayA9IH4oMSA8PCBOZWVkRXhjZXB0
aW9uSGFuZGxpbmcpOwogCi0gICAgQm94PExvY2s+IG1fbG9jazsKKyAgICBCb3g8VW5jaGVja2Vk
TG9jaz4gbV9sb2NrOwogICAgIFJlZjxBdXRvbWF0aWNUaHJlYWRDb25kaXRpb24+IG1fY29uZGl0
aW9uOwogICAgIEF0b21pYzxCaXRGaWVsZD4gbV90cmFwQml0cyB7IDAgfTsKICAgICBib29sIG1f
bmVlZFRvSW52YWxpZGF0ZWRDb2RlQmxvY2tzIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90b29scy9GdW5jdGlvbk92ZXJyaWRlcy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rvb2xzL0Z1bmN0aW9uT3ZlcnJpZGVzLmgKaW5kZXggODgyOTY3MDA3M2RkZjlk
NmQ0OWNlZWYyMDhiNjM4YzcxM2Y0ZWQ2OS4uNzZhODEzZDQ4YjNkNDUzNTg4ZDU0M2FmODM2MDMz
MWM5ODJiZjQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0Z1bmN0
aW9uT3ZlcnJpZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0Z1bmN0aW9u
T3ZlcnJpZGVzLmgKQEAgLTYxLDcgKzYxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyKGNv
bnN0IEFic3RyYWN0TG9ja2VyJikgeyBtX2VudHJpZXMuY2xlYXIoKTsgfQogCiAgICAgSGFzaE1h
cDxTdHJpbmcsIFN0cmluZz4gbV9lbnRyaWVzOwotICAgIExvY2sgbV9sb2NrOworICAgIFVuY2hl
Y2tlZExvY2sgbV9sb2NrOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvVk1JbnNwZWN0b3IuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rvb2xzL1ZNSW5zcGVjdG9yLmNwcAppbmRleCBlNDlkYWUxZTFiYzlkZDcwYzll
YjIwMmQ4NzcwOWZjYzZjYTY3MDkwLi4xZmY3MmQ0NmQ5NjQzOTQ0YTc5NGJhNDNmNGI2MGI4YjEx
NDQ4YTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvVk1JbnNwZWN0
b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9WTUluc3BlY3Rvci5jcHAK
QEAgLTg5LDcgKzg5LDcgQEAgYXV0byBWTUluc3BlY3Rvcjo6bG9jayhTZWNvbmRzIHRpbWVvdXQp
IC0+IEV4cGVjdGVkPExvY2tlciwgRXJyb3I+CiB9CiAKICNpZiBFTkFCTEUoSklUKQotc3RhdGlj
IGJvb2wgZW5zdXJlSXNTYWZlVG9Mb2NrKExvY2smIGxvY2spCitzdGF0aWMgYm9vbCBlbnN1cmVJ
c1NhZmVUb0xvY2soVW5jaGVja2VkTG9jayYgbG9jaykKIHsKICAgICB1bnNpZ25lZCBtYXhSZXRy
aWVzID0gMjsKICAgICB1bnNpZ25lZCB0cnlDb3VudCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdG9vbHMvVk1JbnNwZWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90b29scy9WTUluc3BlY3Rvci5oCmluZGV4IDg0NTYzMWM2NDgxNjlkN2E1NTFjZWI3OGQ0ZWFl
MDNiNTU2NTg5Y2EuLmRmNDkwZGUyODYyYWExNzk5ZmRmNDM3NzdlZGUxZGVmYWRhMDE5ZDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9WTUluc3BlY3Rvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9WTUluc3BlY3Rvci5oCkBAIC00MywxNCArNDMs
MTQgQEAgcHVibGljOgogICAgICAgICBUaW1lZE91dAogICAgIH07CiAKLSAgICB0eXBlZGVmIFdU
Rjo6TG9ja2VyPExvY2s+IExvY2tlcjsKKyAgICB0eXBlZGVmIFdURjo6TG9ja2VyPFVuY2hlY2tl
ZExvY2s+IExvY2tlcjsKIAogICAgIHN0YXRpYyBWTUluc3BlY3RvciYgaW5zdGFuY2UoKTsKIAog
ICAgIHZvaWQgYWRkKFZNKik7CiAgICAgdm9pZCByZW1vdmUoVk0qKTsKIAotICAgIExvY2smIGdl
dExvY2soKSB7IHJldHVybiBtX2xvY2s7IH0KKyAgICBVbmNoZWNrZWRMb2NrJiBnZXRMb2NrKCkg
eyByZXR1cm4gbV9sb2NrOyB9CiAKICAgICBlbnVtIGNsYXNzIEZ1bmN0b3JTdGF0dXMgewogICAg
ICAgICBDb250aW51ZSwKQEAgLTEwMyw3ICsxMDMsNyBAQCBwcml2YXRlOgogICAgICAgICB9CiAg
ICAgfQogCi0gICAgTG9jayBtX2xvY2s7CisgICAgVW5jaGVja2VkTG9jayBtX2xvY2s7CiAgICAg
RG91Ymx5TGlua2VkTGlzdDxWTT4gbV92bUxpc3Q7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQ2FsbGVlUmVnaXN0cnkuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dhc21DYWxsZWVSZWdpc3RyeS5oCmluZGV4IDEyMTM0MTFiN2ZjMTA2NGE5
ODJjNzU4YjNlMDMyOGE4NDE0NzhlNzMuLmRjOTIyY2YzZWE4NzE3MDJjYTUyMmMyMzJmNTYyZjE3
NjYxMTM4ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21DYWxs
ZWVSZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21DYWxsZWVS
ZWdpc3RyeS5oCkBAIC00MSw3ICs0MSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0
aWFsaXplKCk7CiAgICAgc3RhdGljIENhbGxlZVJlZ2lzdHJ5JiBzaW5nbGV0b24oKTsKIAotICAg
IExvY2smIGdldExvY2soKSB7IHJldHVybiBtX2xvY2s7IH0KKyAgICBVbmNoZWNrZWRMb2NrJiBn
ZXRMb2NrKCkgeyByZXR1cm4gbV9sb2NrOyB9CiAKICAgICB2b2lkIHJlZ2lzdGVyQ2FsbGVlKENh
bGxlZSogY2FsbGVlKQogICAgIHsKQEAgLTcwLDcgKzcwLDcgQEAgcHVibGljOgogICAgIENhbGxl
ZVJlZ2lzdHJ5KCkgPSBkZWZhdWx0OwogCiBwcml2YXRlOgotICAgIExvY2sgbV9sb2NrOworICAg
IFVuY2hlY2tlZExvY2sgbV9sb2NrOwogICAgIEhhc2hTZXQ8Q2FsbGVlKj4gbV9jYWxsZWVTZXQ7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtUGxhbi5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBsYW4uaAppbmRleCBhYjk0ZjllODkw
Mzg5NmZkMzExNmM2MjY5MmFkNzZkZGM5NGY1ZDYxLi5jODFmM2E2YzlmNTg2YjkxYzE3YjU5NjQ3
NTAxOGVjY2EyM2ZhZDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9X
YXNtUGxhbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21QbGFuLmgKQEAg
LTk0LDggKzk0LDggQEAgcHJvdGVjdGVkOgogCiAgICAgU3RyaW5nIG1fZXJyb3JNZXNzYWdlOwog
ICAgIE1lbW9yeU1vZGUgbV9tb2RlIHsgTWVtb3J5TW9kZTo6Qm91bmRzQ2hlY2tpbmcgfTsKLSAg
ICBMb2NrIG1fbG9jazsKLSAgICBDb25kaXRpb24gbV9jb21wbGV0ZWQ7CisgICAgVW5jaGVja2Vk
TG9jayBtX2xvY2s7CisgICAgVW5jaGVja2VkQ29uZGl0aW9uIG1fY29tcGxldGVkOwogfTsKIAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU3RyZWFtaW5nQ29t
cGlsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21TdHJlYW1pbmdDb21waWxl
ci5oCmluZGV4IDg2YTEwZGM0NDViOTRmZjkyM2I2NmNiZDYxYTcxMTYwZTczNjZjZTUuLjk1N2Y3
NWZmZmZmMGMwZjNiZWEwNDQwZGVmYTlkYzg4ZTBhMjM5NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL1dhc21TdHJlYW1pbmdDb21waWxlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL1dhc21TdHJlYW1pbmdDb21waWxlci5oCkBAIC03MCw3ICs3MCw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2VhZ2VyRmFpbGVkIHsgZmFsc2UgfTsKICAgICBib29s
IG1fZmluYWxpemVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fdGhyZWFkZWRDb21waWxhdGlvblN0
YXJ0ZWQgeyBmYWxzZSB9OwotICAgIExvY2sgbV9sb2NrOworICAgIFVuY2hlY2tlZExvY2sgbV9s
b2NrOwogICAgIHVuc2lnbmVkIG1fcmVtYWluaW5nQ29tcGlsYXRpb25SZXF1ZXN0cyB7IDAgfTsK
ICAgICBKU1Byb21pc2UqIG1fcHJvbWlzZTsgLy8gUmF3IHBvaW50ZXIsIGJ1dCBoZWxkIGJ5IERl
ZmVycmVkV29ya1RpbWVyLgogICAgIFJlZjxXYXNtOjpNb2R1bGVJbmZvcm1hdGlvbj4gbV9pbmZv
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVRodW5rcy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVRodW5rcy5oCmluZGV4IGMyMzVjZmU2Mjk1
ZTY2OWFlNWE4MGVlOGYyNTJlYTZjYTI0MzFiODMuLmRlNGNhM2NjZjBhYmU1NGRkMTBkZTE4MjI2
Zjc4MTdjMDQ3ODFmM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dh
c21UaHVua3MuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtVGh1bmtzLmgK
QEAgLTU1LDcgKzU1LDcgQEAgcHJpdmF0ZToKICAgICBUaHVua3MoKSA9IGRlZmF1bHQ7CiAKICAg
ICBIYXNoTWFwPFRodW5rR2VuZXJhdG9yLCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUVGh1bmtQ
dHJUYWc+PiBtX3N0dWJzOwotICAgIExvY2sgbV9sb2NrOworICAgIFVuY2hlY2tlZExvY2sgbV9s
b2NrOwogfTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6Oldhc20KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21Xb3JrbGlzdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9XYXNtV29ya2xpc3QuY3BwCmluZGV4IDViYWQwZDkwYTU2MmUyNWRkZTgxN2I1
ODJjMDYwNjY1NmM5MDZlYmEuLjM4OThlY2FiNGMwODg3ZTI1YTBhMzQ4MWI0MTFiOGY2N2MxZWJj
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21Xb3JrbGlzdC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVdvcmtsaXN0LmNwcApAQCAt
MTI4LDcgKzEyOCw3IEBAIHByaXZhdGU6CiAgICAgfQogCiBwdWJsaWM6Ci0gICAgQ29uZGl0aW9u
IHN5bmNocm9uaXplOworICAgIFVuY2hlY2tlZENvbmRpdGlvbiBzeW5jaHJvbml6ZTsKICAgICBX
b3JrbGlzdCYgd29ya2xpc3Q7CiAgICAgLy8gV2UgY2FuIG9ubHkgbW9kaWZ5IGVsZW1lbnQgd2hl
biBob2xkaW5nIHRoZSBsb2NrLiBBIHN5bmNocm9ub3VzIGNvbXBpbGUgbWlnaHQgbG9vayBhdCBl
YWNoIHRocmVhZCdzIHRhc2tzIGluIG9yZGVyIHRvIGJvb3N0IHRoZSBwcmlvcml0eS4KICAgICBR
dWV1ZUVsZW1lbnQgZWxlbWVudDsKQEAgLTIxMyw3ICsyMTMsNyBAQCB2b2lkIFdvcmtsaXN0Ojpz
dG9wQWxsUGxhbnNGb3JDb250ZXh0KENvbnRleHQmIGNvbnRleHQpCiB9CiAKIFdvcmtsaXN0OjpX
b3JrbGlzdCgpCi0gICAgOiBtX2xvY2soQm94PExvY2s+OjpjcmVhdGUoKSkKKyAgICA6IG1fbG9j
ayhCb3g8VW5jaGVja2VkTG9jaz46OmNyZWF0ZSgpKQogICAgICwgbV9wbGFuRW5xdWV1ZWQoQXV0
b21hdGljVGhyZWFkQ29uZGl0aW9uOjpjcmVhdGUoKSkKIHsKICAgICB1bnNpZ25lZCBudW1iZXJP
ZkNvbXBpbGF0aW9uVGhyZWFkcyA9IE9wdGlvbnM6OnVzZUNvbmN1cnJlbnRKSVQoKSA/IGtlcm5U
Q1NNQXdhcmVOdW1iZXJPZlByb2Nlc3NvckNvcmVzKCkgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVdvcmtsaXN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XYXNtV29ya2xpc3QuaAppbmRleCA1NmQ3OWEwZTk4OWE2MDJmMjEzM2QwMzA5MGZk
YmNjNjM3Yzk1NjM5Li40NWE2ZmJiNmNmOWE4NTNjMjgxZmRiYmFjZDU2ZmJlZGQxZmE1OWNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtV29ya2xpc3QuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtV29ya2xpc3QuaApAQCAtODQsNyArODQs
NyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbGVmdC5wcmlvcml0eSA+IHJpZ2h0LnByaW9y
aXR5OwogICAgIH0KIAotICAgIEJveDxMb2NrPiBtX2xvY2s7CisgICAgQm94PFVuY2hlY2tlZExv
Y2s+IG1fbG9jazsKICAgICBSZWY8QXV0b21hdGljVGhyZWFkQ29uZGl0aW9uPiBtX3BsYW5FbnF1
ZXVlZDsKICAgICAvLyBUZWNobmljYWxseSwgdGhpcyBjb3VsZCBvdmVyZmxvdyBidXQgdGhhdCdz
IHVubGlrZWx5LiBFdmVuIGlmIGl0IGRpZCwgd2Ugd2lsbCBqdXN0IGNvbXBpbGUgdGhpbmdzIG9m
IHRoZSBzYW1lCiAgICAgLy8gUHJpb3JpdHkgaXQgdGhlIHdyb25nIG9yZGVyLCB3aGljaCBpc24n
dCB3cm9uZywganVzdCBzdWJvcHRpbWFsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggZWQzZTdlNGE0ZGY2YmJmMDJkMTg5MGMzODBjODY4MjI2NTkzZDZhOS4u
MzgyNDFiYjYwOTg4MmM1OWUzMjc3YjI1MmZjMTAxZjE0YWQzOTJkZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dU
Ri54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NTcsOCArNDU3LDYgQEAKIAkJN0FGRUM2
QUUxRUIyMkFDNjAwREFERTM2IC8qIFVVSUQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gVVVJRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QUZFQzZCMDFFQjIy
QjU5MDBEQURFMzYgLyogVVVJRC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBVVUlELmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0IyNzM5REMyNjI0
REFBQTAwNDBGMTgyIC8qIFRocmVhZFNhZmV0eUFuYWx5c2lzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRo
cmVhZFNhZmV0eUFuYWx5c2lzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdCMjcz
OUREMjYyNERBQzMwMDQwRjE4MiAvKiBDaGVja2VkTG9jay5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDaGVj
a2VkTG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3QjI3MzlGMDI2MzE3OUMz
MDA0MEYxODIgLyogQ2hlY2tlZENvbmRpdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDaGVja2VkQ29u
ZGl0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdCMjczOUYxMjYzMkE4OTQw
MDQwRjE4MiAvKiBUaHJlYWRBc3NlcnRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRocmVhZEFzc2Vy
dGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MxMzc5NDEyMjIzMjZDNzAw
RDdBODI0IC8qIEFVVEhPUlMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQVVUSE9SUzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0MxMzc5NDIyMjIzMjZENTAwRDdBODI0IC8qIGllZWUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
aWVlZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTg1LDggKzk4Myw2IEBACiAJ
CQkJNDEzRkU4RjUxRjhEMkVBQjAwRjZEN0Q3IC8qIENhbGxiYWNrQWdncmVnYXRvci5oICovLAog
CQkJCUE4QTQ3MjZBMTUxQTgyNUEwMDQxMjNGRiAvKiBDaGVja2VkQXJpdGhtZXRpYy5oICovLAog
CQkJCUE4QTQ3MjZCMTUxQTgyNUEwMDQxMjNGRiAvKiBDaGVja2VkQm9vbGVhbi5oICovLAotCQkJ
CTdCMjczOUYwMjYzMTc5QzMwMDQwRjE4MiAvKiBDaGVja2VkQ29uZGl0aW9uLmggKi8sCi0JCQkJ
N0IyNzM5REQyNjI0REFDMzAwNDBGMTgyIC8qIENoZWNrZWRMb2NrLmggKi8sCiAJCQkJMEY2NkIy
ODAxREM5N0JBQjAwNEExRDNGIC8qIENsb2NrVHlwZS5jcHAgKi8sCiAJCQkJMEY2NkIyODExREM5
N0JBQjAwNEExRDNGIC8qIENsb2NrVHlwZS5oICovLAogCQkJCTBGQzRFREU1MTY5NjE0OTYwMEY2
NTA0MSAvKiBDb21tYVByaW50ZXIuaCAqLywKQEAgLTEwOTcsNiArMTA5Myw4IEBACiAJCQkJQzJC
Q0ZDM0UxRjYxRDEzMDAwQzkyMjJDIC8qIExhbmd1YWdlLmNwcCAqLywKIAkJCQlDMkJDRkMzRjFG
NjFEMTMwMDBDOTIyMkMgLyogTGFuZ3VhZ2UuaCAqLywKIAkJCQk1MzlFQjA2MjFENTUyODQyMDBD
ODJFRjcgLyogTEVCRGVjb2Rlci5oICovLAorCQkJCTMzN0IyRDY4MjY1NDZFQUEwMERERkQzRCAv
KiBMaWtlbHlEZW5zZVVuc2lnbmVkSW50ZWdlclNldC5jcHAgKi8sCisJCQkJMzM3QjJENjkyNjU0
NkVBQTAwRERGRDNEIC8qIExpa2VseURlbnNlVW5zaWduZWRJbnRlZ2VyU2V0LmggKi8sCiAJCQkJ
QTcwREEwODMxNzk5RjA0RDAwNTI5QTlCIC8qIExpc3REdW1wLmggKi8sCiAJCQkJQThBNDcyQzEx
NTFBODI1QTAwNDEyM0ZGIC8qIExpc3RIYXNoU2V0LmggKi8sCiAJCQkJMEZGNEI0QzQxRTg4OTM5
QzAwREJCRTg2IC8qIExpdmVuZXNzLmggKi8sCkBAIC0xMjUxLDggKzEyNDksNiBAQAogCQkJCUE4
QTQ3MzBDMTUxQTgyNUIwMDQxMjNGRiAvKiBTaXplTGltaXRzLmNwcCAqLywKIAkJCQkwRkE2RjM5
MjIwQ0M3M0EyMDBBMDNEQ0QgLyogU21hbGxTZXQuY3BwICovLAogCQkJCTc5MzZENkE5MUM5OUY4
QUUwMDBEMUFFRCAvKiBTbWFsbFNldC5oICovLAotCQkJCTMzN0IyRDY4MjY1NDZFQUEwMERERkQz
RCAvKiBMaWtlbHlEZW5zZVVuc2lnbmVkSW50ZWdlclNldC5jcHAgKi8sCi0JCQkJMzM3QjJENjky
NjU0NkVBQTAwRERGRDNEIC8qIExpa2VseURlbnNlVW5zaWduZWRJbnRlZ2VyU2V0LmggKi8sCiAJ
CQkJQTMwRDQxMkQxRjBERTEzRjAwQjcxOTU0IC8qIFNvZnRMaW5raW5nLmggKi8sCiAJCQkJOTMx
NTZDOEQyNjJDOTgyMjAwRUFFMjdCIC8qIFNvcnRlZEFycmF5TWFwLmggKi8sCiAJCQkJNzkwMzhF
MDUyMjRCMDVBNzAwNEMwNzM4IC8qIFNwYW5uaW5nVHJlZS5oICovLApAQCAtMTcwNyw3ICsxNzAz
LDYgQEAKIAkJCQlBOEE0NzNCNTE1MUE4MjVCMDA0MTIzRkYgLyogZml4ZWQtZHRvYS5jYyBpbiBT
b3VyY2VzICovLAogCQkJCTFBMUQ4QjlFMTczMTg3OTgwMDE0MURBNCAvKiBGdW5jdGlvbkRpc3Bh
dGNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY1QkYxNzYxRjIzRDQ5QTAwMjlEOTFEIC8q
IEdpZ2FjYWdlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTMzN0IyRDZBMjY1NDZFQjMwMERERkQz
RCAvKiBMaWtlbHlEZW5zZVVuc2lnbmVkSW50ZWdlclNldC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjMwQkE5MDFFNzg3MDhFMDAyQ0E4NDcgLyogR2xvYmFsVmVyc2lvbi5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkyQ0NEODkyQTE1QzAzOTAyMDAyODUwODMgLyogR3JlZ29yaWFuRGF0ZVRpbWUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczRDgxNTFBODI1QjAwNDEyM0ZGIC8qIEhhc2hU
YWJsZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTE3MTgsNiArMTcxMyw3IEBACiAJCQkJQzJCQ0ZD
NDAxRjYxRDEzMDAwQzkyMjJDIC8qIExhbmd1YWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUMy
QkNGQzQyMUY2MUQ2MTYwMEM5MjIyQyAvKiBMYW5ndWFnZUNGLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTFDNTAzQkU2MjNBQUUwQUUwMDcyRTY2QiAvKiBMYW5ndWFnZUNvY29hLm1tIGluIFNvdXJj
ZXMgKi8sCisJCQkJMzM3QjJENkEyNjU0NkVCMzAwRERGRDNEIC8qIExpa2VseURlbnNlVW5zaWdu
ZWRJbnRlZ2VyU2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUzQjhFNDFEMjRFN0NFOTIwMDM2
NTVEOCAvKiBMaW5lQnJlYWtJdGVyYXRvclBvb2xJQ1UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QzJCQ0ZDNTUxRjYyMUYzRjAwQzkyMjJDIC8qIExpbmVFbmRpbmcuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEZFMTY0NkExQjZGRkM5NjAwNDAwRTdDIC8qIExvY2suY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmNwcCBiL1NvdXJjZS9XVEYv
d3RmL0Fzc2VydGlvbnMuY3BwCmluZGV4IDBkZjMwODMyYmJiNGU1MWFlZGNiNThkNjdjNGZhNzBh
MjY1ZWVmMGUuLjVhMGM3ZTc4OTM5YzJhODE1MDhjY2U2OWM4ZWUxNmMwMGNiZDNjMDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L0Fzc2VydGlvbnMuY3BwCkBAIC0zMSw4ICszMSw4IEBACiAjaW5jbHVkZSA8bXV0ZXg+CiAjaW5j
bHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tl
ZExvY2suaD4KICNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5o
PgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KICNpbmNsdWRlIDx3dGYvTG9nZ2luZ0FjY3VtdWxh
dG9yLmg+CiAjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CkBAIC0zNjgsNyArMzY4LDcgQEAg
cHVibGljOgogICAgIFN0cmluZyBnZXRBbmRSZXNldEFjY3VtdWxhdGVkTG9ncygpOwogCiBwcml2
YXRlOgotICAgIENoZWNrZWRMb2NrIGFjY3VtdWxhdG9yTG9jazsKKyAgICBMb2NrIGFjY3VtdWxh
dG9yTG9jazsKICAgICBTdHJpbmdCdWlsZGVyIGxvZ2dpbmdBY2N1bXVsYXRvciBXVEZfR1VBUkRF
RF9CWV9MT0NLKGFjY3VtdWxhdG9yTG9jayk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9BdXRvbWF0aWNUaHJlYWQuY3BwIGIvU291cmNlL1dURi93dGYvQXV0b21hdGljVGhyZWFk
LmNwcAppbmRleCBmNGVhNzhkMTNlMWNkZGI2MTliODIyODY4ZDMzYzcyN2M5ZjJmOThiLi4zYzVi
ZTUxM2MyNjNjYThiNGRhNmI3YzI2YzZmODM3MzlkYTMxZTBjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9BdXRvbWF0aWNUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL0F1dG9tYXRp
Y1RocmVhZC5jcHAKQEAgLTc3LDEyICs3NywxMiBAQCB2b2lkIEF1dG9tYXRpY1RocmVhZENvbmRp
dGlvbjo6bm90aWZ5QWxsKGNvbnN0IEFic3RyYWN0TG9ja2VyJiBsb2NrZXIpCiAgICAgfQogfQog
Ci12b2lkIEF1dG9tYXRpY1RocmVhZENvbmRpdGlvbjo6d2FpdChMb2NrJiBsb2NrKQordm9pZCBB
dXRvbWF0aWNUaHJlYWRDb25kaXRpb246OndhaXQoVW5jaGVja2VkTG9jayYgbG9jaykKIHsKICAg
ICBtX2NvbmRpdGlvbi53YWl0KGxvY2spOwogfQogCi1ib29sIEF1dG9tYXRpY1RocmVhZENvbmRp
dGlvbjo6d2FpdEZvcihMb2NrJiBsb2NrLCBTZWNvbmRzIHRpbWUpCitib29sIEF1dG9tYXRpY1Ro
cmVhZENvbmRpdGlvbjo6d2FpdEZvcihVbmNoZWNrZWRMb2NrJiBsb2NrLCBTZWNvbmRzIHRpbWUp
CiB7CiAgICAgcmV0dXJuIG1fY29uZGl0aW9uLndhaXRGb3IobG9jaywgdGltZSk7CiB9CkBAIC0x
MDQsMTIgKzEwNCwxMiBAQCBib29sIEF1dG9tYXRpY1RocmVhZENvbmRpdGlvbjo6Y29udGFpbnMo
Y29uc3QgQWJzdHJhY3RMb2NrZXImLCBBdXRvbWF0aWNUaHJlYWQqCiAgICAgcmV0dXJuIG1fdGhy
ZWFkcy5jb250YWlucyh0aHJlYWQpOwogfQogCi1BdXRvbWF0aWNUaHJlYWQ6OkF1dG9tYXRpY1Ro
cmVhZChjb25zdCBBYnN0cmFjdExvY2tlciYgbG9ja2VyLCBCb3g8TG9jaz4gbG9jaywgUmVmPEF1
dG9tYXRpY1RocmVhZENvbmRpdGlvbj4mJiBjb25kaXRpb24sIFNlY29uZHMgdGltZW91dCkKK0F1
dG9tYXRpY1RocmVhZDo6QXV0b21hdGljVGhyZWFkKGNvbnN0IEFic3RyYWN0TG9ja2VyJiBsb2Nr
ZXIsIEJveDxVbmNoZWNrZWRMb2NrPiBsb2NrLCBSZWY8QXV0b21hdGljVGhyZWFkQ29uZGl0aW9u
PiYmIGNvbmRpdGlvbiwgU2Vjb25kcyB0aW1lb3V0KQogICAgIDogQXV0b21hdGljVGhyZWFkKGxv
Y2tlciwgbG9jaywgV1RGTW92ZShjb25kaXRpb24pLCBUaHJlYWRUeXBlOjpVbmtub3duLCB0aW1l
b3V0KQogewogfQogCi1BdXRvbWF0aWNUaHJlYWQ6OkF1dG9tYXRpY1RocmVhZChjb25zdCBBYnN0
cmFjdExvY2tlciYgbG9ja2VyLCBCb3g8TG9jaz4gbG9jaywgUmVmPEF1dG9tYXRpY1RocmVhZENv
bmRpdGlvbj4mJiBjb25kaXRpb24sIFRocmVhZFR5cGUgdHlwZSwgU2Vjb25kcyB0aW1lb3V0KQor
QXV0b21hdGljVGhyZWFkOjpBdXRvbWF0aWNUaHJlYWQoY29uc3QgQWJzdHJhY3RMb2NrZXImIGxv
Y2tlciwgQm94PFVuY2hlY2tlZExvY2s+IGxvY2ssIFJlZjxBdXRvbWF0aWNUaHJlYWRDb25kaXRp
b24+JiYgY29uZGl0aW9uLCBUaHJlYWRUeXBlIHR5cGUsIFNlY29uZHMgdGltZW91dCkKICAgICA6
IG1fbG9jayhsb2NrKQogICAgICwgbV9jb25kaXRpb24oV1RGTW92ZShjb25kaXRpb24pKQogICAg
ICwgbV90aW1lb3V0KHRpbWVvdXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9BdXRvbWF0
aWNUaHJlYWQuaCBiL1NvdXJjZS9XVEYvd3RmL0F1dG9tYXRpY1RocmVhZC5oCmluZGV4IDhkN2My
YjUxNjgwYTNlYTY3MjhlNTE3NGZjODE4MDY4ZGVlOTVjODYuLjA5ZmNhZmVmMjM5NTkxYjJlMTJj
ZGYwMmZkZjAwNmNjZGQ0MTJhNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0F1dG9tYXRp
Y1RocmVhZC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0F1dG9tYXRpY1RocmVhZC5oCkBAIC04MSw4
ICs4MSw4IEBAIHB1YmxpYzoKICAgICAvLyBPbmUga25vd24tZ29vZCBjYXNlIGZvciBvbmUtdHJ1
ZS1jb25kaXRpb24gaXMgd2hlbiB0aGUgY29tbXVuaWNhdGlvbiBpbnZvbHZlcyBqdXN0IHR3bwog
ICAgIC8vIHRocmVhZHMuIEluIHN1Y2ggY2FzZXMsIHRoZSB0aHJlYWQgZG9pbmcgdGhlIG5vdGlm
eUFsbCgpIGNhbiB3YWtlIHVwIGF0IG1vc3Qgb25lIHRocmVhZCAtCiAgICAgLy8gaXRzIHBhcnRu
ZXIuCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgd2FpdChMb2NrJik7Ci0gICAgV1RGX0VY
UE9SVF9QUklWQVRFIGJvb2wgd2FpdEZvcihMb2NrJiwgU2Vjb25kcyk7CisgICAgV1RGX0VYUE9S
VF9QUklWQVRFIHZvaWQgd2FpdChVbmNoZWNrZWRMb2NrJik7CisgICAgV1RGX0VYUE9SVF9QUklW
QVRFIGJvb2wgd2FpdEZvcihVbmNoZWNrZWRMb2NrJiwgU2Vjb25kcyk7CiAgICAgCiBwcml2YXRl
OgogICAgIGZyaWVuZCBjbGFzcyBBdXRvbWF0aWNUaHJlYWQ7CkBAIC05Myw3ICs5Myw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCByZW1vdmUoY29uc3QgQWJzdHJhY3RMb2NrZXImLCBBdXRvbWF0aWNU
aHJlYWQqKTsKICAgICBib29sIGNvbnRhaW5zKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgQXV0b21h
dGljVGhyZWFkKik7CiAgICAgCi0gICAgQ29uZGl0aW9uIG1fY29uZGl0aW9uOworICAgIFVuY2hl
Y2tlZENvbmRpdGlvbiBtX2NvbmRpdGlvbjsKICAgICBWZWN0b3I8QXV0b21hdGljVGhyZWFkKj4g
bV90aHJlYWRzOwogfTsKIApAQCAtMTMxLDkgKzEzMSw5IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoK
ICAgICAvLyBUaGlzIGxvZ2ljYWxseSBjcmVhdGVzIHRoZSB0aHJlYWQsIGJ1dCBpbiByZWFsaXR5
IHRoZSB0aHJlYWQgd29uJ3QgYmUgY3JlYXRlZCB1bnRpbCBzb21lb25lCiAgICAgLy8gY2FsbHMg
QXV0b21hdGljVGhyZWFkQ29uZGl0aW9uOjpub3RpZnlPbmUoKSBvciBub3RpZnlBbGwoKS4KLSAg
ICBBdXRvbWF0aWNUaHJlYWQoY29uc3QgQWJzdHJhY3RMb2NrZXImLCBCb3g8TG9jaz4sIFJlZjxB
dXRvbWF0aWNUaHJlYWRDb25kaXRpb24+JiYsIFNlY29uZHMgdGltZW91dCA9IDEwX3MpOworICAg
IEF1dG9tYXRpY1RocmVhZChjb25zdCBBYnN0cmFjdExvY2tlciYsIEJveDxVbmNoZWNrZWRMb2Nr
PiwgUmVmPEF1dG9tYXRpY1RocmVhZENvbmRpdGlvbj4mJiwgU2Vjb25kcyB0aW1lb3V0ID0gMTBf
cyk7CiAKLSAgICBBdXRvbWF0aWNUaHJlYWQoY29uc3QgQWJzdHJhY3RMb2NrZXImLCBCb3g8TG9j
az4sIFJlZjxBdXRvbWF0aWNUaHJlYWRDb25kaXRpb24+JiYsIFRocmVhZFR5cGUsIFNlY29uZHMg
dGltZW91dCA9IDEwX3MpOworICAgIEF1dG9tYXRpY1RocmVhZChjb25zdCBBYnN0cmFjdExvY2tl
ciYsIEJveDxVbmNoZWNrZWRMb2NrPiwgUmVmPEF1dG9tYXRpY1RocmVhZENvbmRpdGlvbj4mJiwg
VGhyZWFkVHlwZSwgU2Vjb25kcyB0aW1lb3V0ID0gMTBfcyk7CiAgICAgCiAgICAgLy8gVG8gdW5k
ZXJzdGFuZCBQb2xsUmVzdWx0IGFuZCBXb3JrUmVzdWx0LCBpbWFnaW5lIHRoYXQgcG9sbCgpIGFu
ZCB3b3JrKCkgYXJlIGJlaW5nIGNhbGxlZCBsaWtlCiAgICAgLy8gc286CkBAIC0xODMsMTUgKzE4
MywxNSBAQCBwcml2YXRlOgogICAgIAogICAgIHZvaWQgc3RhcnQoY29uc3QgQWJzdHJhY3RMb2Nr
ZXImKTsKICAgICAKLSAgICBCb3g8TG9jaz4gbV9sb2NrOworICAgIEJveDxVbmNoZWNrZWRMb2Nr
PiBtX2xvY2s7CiAgICAgUmVmPEF1dG9tYXRpY1RocmVhZENvbmRpdGlvbj4gbV9jb25kaXRpb247
CiAgICAgU2Vjb25kcyBtX3RpbWVvdXQ7CiAgICAgVGhyZWFkVHlwZSBtX3RocmVhZFR5cGUgeyBU
aHJlYWRUeXBlOjpVbmtub3duIH07CiAgICAgYm9vbCBtX2lzUnVubmluZyB7IHRydWUgfTsKICAg
ICBib29sIG1faXNXYWl0aW5nIHsgZmFsc2UgfTsKICAgICBib29sIG1faGFzVW5kZXJseWluZ1Ro
cmVhZCB7IGZhbHNlIH07Ci0gICAgQ29uZGl0aW9uIG1fd2FpdENvbmRpdGlvbjsKLSAgICBDb25k
aXRpb24gbV9pc1J1bm5pbmdDb25kaXRpb247CisgICAgVW5jaGVja2VkQ29uZGl0aW9uIG1fd2Fp
dENvbmRpdGlvbjsKKyAgICBVbmNoZWNrZWRDb25kaXRpb24gbV9pc1J1bm5pbmdDb25kaXRpb247
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggYWMzZTI5
MzU5NmI2MjU4OTVjOTdmN2RmYjk2MTFlMDliYWNmYjc2ZS4uNWU3YmNjNzQwOWU1ZmJkMTYwNDMw
MjdkZDQwZWZjYjhhYjUyOWM3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTI4LDggKzI4LDYg
QEAgc2V0KFdURl9QVUJMSUNfSEVBREVSUwogICAgIENhbGxiYWNrQWdncmVnYXRvci5oCiAgICAg
Q2hlY2tlZEFyaXRobWV0aWMuaAogICAgIENoZWNrZWRCb29sZWFuLmgKLSAgICBDaGVja2VkQ29u
ZGl0aW9uLmgKLSAgICBDaGVja2VkTG9jay5oCiAgICAgQ2xvY2tUeXBlLmgKICAgICBDb21tYVBy
aW50ZXIuaAogICAgIENvbXBhY3RQb2ludGVyVHVwbGUuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvQ2hlY2tlZENvbmRpdGlvbi5oIGIvU291cmNlL1dURi93dGYvQ2hlY2tlZENvbmRpdGlv
bi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTkxMGUwMzk5MTNiNGI2MGE0NDk0
N2ViYzkxZDAxYWJjNzhiMjc5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XVEYvd3RmL0NoZWNrZWRDb25kaXRpb24uaAorKysgL2Rldi9udWxs
CkBAIC0xLDgzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgotI2lu
Y2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4KLQotbmFtZXNwYWNlIFdURiB7Ci0KLS8vIEEgY29uZGl0
aW9uIHZhcmlhYmxlIHR5cGUgZm9yIENoZWNrZWRMb2NrLgotLy8gRm9yIHByZWRpY2F0ZXMgdGhh
dCBhY2Nlc3MgdGhlIGd1YXJkZWQgdmFyaWFibGVzLCB1c2UgYXNzZXJ0SXNIZWxkKGxvY2spLgot
Y2xhc3MgQ2hlY2tlZENvbmRpdGlvbiBmaW5hbCB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q2hlY2tlZENvbmRpdGlvbik7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6
Ci0gICAgY29uc3RleHByIENoZWNrZWRDb25kaXRpb24oKSA9IGRlZmF1bHQ7Ci0KLSAgICBib29s
IHdhaXRVbnRpbChDaGVja2VkTG9jayYgbG9jaywgY29uc3QgVGltZVdpdGhEeW5hbWljQ2xvY2tU
eXBlJiB0aW1lb3V0KSBXVEZfUkVRVUlSRVNfTE9DSyhsb2NrKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIG1fY29uZGl0aW9uLndhaXRVbnRpbCh1bmNoZWNrZWRDYXN0KGxvY2spLCB0aW1lb3V0KTsK
LSAgICB9Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KLSAgICBib29sIHdhaXRVbnRp
bChDaGVja2VkTG9jayYgbG9jaywgY29uc3QgVGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlJiB0aW1l
b3V0LCBjb25zdCBGdW5jdG9yJiBwcmVkaWNhdGUpIFdURl9SRVFVSVJFU19MT0NLKGxvY2spCi0g
ICAgewotICAgICAgICByZXR1cm4gbV9jb25kaXRpb24ud2FpdFVudGlsKHVuY2hlY2tlZENhc3Qo
bG9jayksIHRpbWVvdXQsIHByZWRpY2F0ZSk7Ci0gICAgfQotICAgIHRlbXBsYXRlPHR5cGVuYW1l
IEZ1bmN0b3I+Ci0gICAgYm9vbCB3YWl0Rm9yKENoZWNrZWRMb2NrJiBsb2NrLCBTZWNvbmRzIHJl
bGF0aXZlVGltZW91dCwgY29uc3QgRnVuY3RvciYgcHJlZGljYXRlKSBXVEZfUkVRVUlSRVNfTE9D
Syhsb2NrKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fY29uZGl0aW9uLndhaXRGb3IodW5jaGVj
a2VkQ2FzdChsb2NrKSwgcmVsYXRpdmVUaW1lb3V0LCBwcmVkaWNhdGUpOwotICAgIH0KLSAgICBi
b29sIHdhaXRGb3IoQ2hlY2tlZExvY2smIGxvY2ssIFNlY29uZHMgcmVsYXRpdmVUaW1lb3V0KSBX
VEZfUkVRVUlSRVNfTE9DSyhsb2NrKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fY29uZGl0aW9u
LndhaXRGb3IodW5jaGVja2VkQ2FzdChsb2NrKSwgcmVsYXRpdmVUaW1lb3V0KTsKLSAgICB9Ci0g
ICAgdm9pZCB3YWl0KENoZWNrZWRMb2NrJiBsb2NrKSBXVEZfUkVRVUlSRVNfTE9DSyhsb2NrKQot
ICAgIHsKLSAgICAgICAgbV9jb25kaXRpb24ud2FpdCh1bmNoZWNrZWRDYXN0KGxvY2spKTsKLSAg
ICB9Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KLSAgICB2b2lkIHdhaXQoQ2hlY2tl
ZExvY2smIGxvY2ssIGNvbnN0IEZ1bmN0b3ImIHByZWRpY2F0ZSkgV1RGX1JFUVVJUkVTX0xPQ0so
bG9jaykKLSAgICB7Ci0gICAgICAgIG1fY29uZGl0aW9uLndhaXQodW5jaGVja2VkQ2FzdChsb2Nr
KSwgcHJlZGljYXRlKTsKLSAgICB9Ci0gICAgYm9vbCBub3RpZnlPbmUoKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIG1fY29uZGl0aW9uLm5vdGlmeU9uZSgpOwotICAgIH0KLSAgICB2b2lkIG5vdGlm
eUFsbCgpCi0gICAgewotICAgICAgICBtX2NvbmRpdGlvbi5ub3RpZnlBbGwoKTsKLSAgICB9Ci1w
cml2YXRlOgotICAgIHN0YXRpYyBMb2NrJiB1bmNoZWNrZWRDYXN0KENoZWNrZWRMb2NrJiBsb2Nr
KSB7IHJldHVybiBzdGF0aWNfY2FzdDxMb2NrJj4obG9jayk7IH0KLSAgICBDb25kaXRpb24gbV9j
b25kaXRpb247Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXVEYKLQotdXNpbmcgV1RGOjpDaGVja2Vk
Q29uZGl0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ2hlY2tlZExvY2suaCBiL1Nv
dXJjZS9XVEYvd3RmL0NoZWNrZWRMb2NrLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDNhYjVjNzcwZGUxNjFiNGYwNTlkNmM3NGJiNzFlYzk4ZWZhNWY1OGEuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dURi93dGYvQ2hlY2tlZExv
Y2suaAorKysgL2Rldi9udWxsCkBAIC0xLDEwOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlIDx3dGYv
TG9jay5oPgotI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KLSNpbmNsdWRlIDx3dGYvVGhyZWFkU2Fm
ZXR5QW5hbHlzaXMuaD4KLQotbmFtZXNwYWNlIFdURiB7Ci0KLS8vIEEgbG9jayB0eXBlIHdpdGgg
c3VwcG9ydCBmb3IgdGhyZWFkIHNhZmV0eSBhbmFseXNpcy4KLS8vIFRvIGFubm90YXRlIGEgbWVt
YmVyIHZhcmlhYmxlIG9yIGEgZ2xvYmFsIHZhcmlhYmxlIHdpdGggdGhyZWFkIG93bmVyc2hpcCBp
bmZvcm1hdGlvbiwKLS8vIHVzZSBsb2NrIGNhcGFiaWxpdHkgYW5ub3RhdGlvbnMgZGVmaW5lZCBp
biBUaHJlYWRTYWZldHlBbmFseXNpcy5oLgotLy8KLS8vIEV4YW1wbGU6Ci0vLyAgIGNsYXNzIE15
VmFsdWUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TXlWYWx1ZT4KLS8vICAgewotLy8g
ICBwdWJsaWM6Ci0vLyAgICAgICB2b2lkIHNldFZhbHVlKGludCB2YWx1ZSkgeyBMb2NrZXIgaG9s
ZExvY2sgeyBtX2xvY2sgfTsgbV92YWx1ZSA9IHZhbHVlOyAgfQotLy8gICAgICAgdm9pZCBtYXli
ZVNldE90aGVyVmFsdWUoaW50IHZhbHVlKQotLy8gICAgICAgewotLy8gICAgICAgICAgIGlmICgh
bV9sb2NrLnRyeUxvY2soKSkKLS8vICAgICAgICAgICAgICByZXR1cm47Ci0vLyAgICAgICAgICAg
TG9ja2VyIGxvY2tlciB7IEFkb3B0TG9jaywgbV9vdGhlckxvY2sgfTsKLS8vICAgICAgICAgICBt
X290aGVyVmFsdWUgPSB2YWx1ZTsKLS8vICAgICAgIH0KLS8vICAgcHJpdmF0ZToKLS8vICAgICAg
IENoZWNrZWRMb2NrIG1fbG9jazsKLS8vICAgICAgIGludCBtX3ZhbHVlIFdURl9HVUFSREVEX0JZ
X0xPQ0sobV9sb2NrKSB7IDc3IH07Ci0vLyAgICAgICBpbnQgbV9vdGhlclZhbHVlIFdURl9HVUFS
REVEX0JZX0xPQ0sobV9sb2NrKSB7IDg4IH07Ci0vLyAgIH07Ci0vLyBGSVhNRTogTWF5YmUgc2hv
dWxkIGJlIGZvbGRlZCBiYWNrIHRvIExvY2sgb25jZSBob2xkTG9jayBpcyBub3QgdXNlZCBnbG9i
YWxseS4KLWNsYXNzIFdURl9DQVBBQklMSVRZX0xPQ0sgQ2hlY2tlZExvY2sgOiBMb2NrIHsKLSAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaGVja2VkTG9jayk7Ci0gICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgY29uc3RleHByIENoZWNrZWRMb2NrKCkgPSBkZWZhdWx0
OwotICAgIHZvaWQgbG9jaygpIFdURl9BQ1FVSVJFU19MT0NLKCkgeyBMb2NrOjpsb2NrKCk7IH0K
LSAgICBib29sIHRyeUxvY2soKSBXVEZfQUNRVUlSRVNfTE9DS19JRih0cnVlKSB7IHJldHVybiBM
b2NrOjp0cnlMb2NrKCk7IH0KLSAgICBib29sIHRyeV9sb2NrKCkgV1RGX0FDUVVJUkVTX0xPQ0tf
SUYodHJ1ZSkgeyByZXR1cm4gTG9jazo6dHJ5X2xvY2soKTsgfSAvLyBOT0xJTlQ6IEludGVudGlv
bmFsIGRldmlhdGlvbiB0byBzdXBwb3J0IHN0ZDo6c2NvcGVkX2xvY2suCi0gICAgdm9pZCB1bmxv
Y2soKSBXVEZfUkVMRUFTRVNfTE9DSygpIHsgTG9jazo6dW5sb2NrKCk7IH0KLSAgICB2b2lkIHVu
bG9ja0ZhaXJseSgpIFdURl9SRUxFQVNFU19MT0NLKCkgeyBMb2NrOjp1bmxvY2tGYWlybHkoKTsg
fQotICAgIHZvaWQgc2FmZXBvaW50KCkgeyBMb2NrOjpzYWZlcG9pbnQoKTsgfQotICAgIGJvb2wg
aXNIZWxkKCkgY29uc3QgeyByZXR1cm4gTG9jazo6aXNIZWxkKCk7IH0KLSAgICBib29sIGlzTG9j
a2VkKCkgY29uc3QgeyByZXR1cm4gTG9jazo6aXNMb2NrZWQoKTsgfQotICAgIGZyaWVuZCBjbGFz
cyBDaGVja2VkQ29uZGl0aW9uOwotfTsKLQotLy8gQXNzZXJ0cyB0aGF0IHRoZSBsb2NrIGlzIGhl
bGQuCi0vLyBUaGlzIGNhbiBiZSB1c2VkIGluIGNhc2VzIHdoZXJlIHRoZSBhbm5vdGF0aW9ucyBj
YW5ub3QgYmUgYWRkZWQgdG8gdGhlIGZ1bmN0aW9uCi0vLyBkZWNsYXJhdGlvbi4KLWlubGluZSB2
b2lkIGFzc2VydElzSGVsZChjb25zdCBDaGVja2VkTG9jayYgbG9jaykgV1RGX0FTU0VSVFNfQUNR
VUlSRURfTE9DSyhsb2NrKSB7IEFTU0VSVF9VTlVTRUQobG9jaywgbG9jay5pc0hlbGQoKSk7IH0K
LQotLy8gTG9ja2VyIHNwZWNpYWxpemF0aW9uIHRvIHVzZSB3aXRoIENoZWNrZWRMb2NrLgotLy8g
Tm9uLW1vdmFibGUgc2ltcGxlIHNjb3BlZCBsb2NrIGhvbGRlci4KLS8vIEV4YW1wbGU6IExvY2tl
ciBsb2NrZXIgeyBtX2xvY2sgfTsKLXRlbXBsYXRlIDw+Ci1jbGFzcyBXVEZfQ0FQQUJJTElUWV9T
Q09QRURfTE9DSyBMb2NrZXI8Q2hlY2tlZExvY2s+IHsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBM
b2NrZXIoQ2hlY2tlZExvY2smIGxvY2spIFdURl9BQ1FVSVJFU19MT0NLKGxvY2spCi0gICAgICAg
IDogbV9sb2NrKGxvY2spCi0gICAgewotICAgICAgICBtX2xvY2subG9jaygpOwotICAgIH0KLSAg
ICBMb2NrZXIoQWRvcHRMb2NrVGFnLCBDaGVja2VkTG9jayYgbG9jaykgV1RGX1JFUVVJUkVTX0xP
Q0sobG9jaykKLSAgICAgICAgOiBtX2xvY2sobG9jaykKLSAgICB7Ci0gICAgfQotICAgIH5Mb2Nr
ZXIoKSBXVEZfUkVMRUFTRVNfTE9DSygpCi0gICAgewotICAgICAgICBtX2xvY2sudW5sb2NrKCk7
Ci0gICAgfQotICAgIExvY2tlcihjb25zdCBMb2NrZXI8Q2hlY2tlZExvY2s+JikgPSBkZWxldGU7
Ci0gICAgTG9ja2VyJiBvcGVyYXRvcj0oY29uc3QgTG9ja2VyPENoZWNrZWRMb2NrPiYpID0gZGVs
ZXRlOwotcHJpdmF0ZToKLSAgICBDaGVja2VkTG9jayYgbV9sb2NrOwotfTsKLQotTG9ja2VyKENo
ZWNrZWRMb2NrJikgLT4gTG9ja2VyPENoZWNrZWRMb2NrPjsKLUxvY2tlcihBZG9wdExvY2tUYWcs
IENoZWNrZWRMb2NrJikgLT4gTG9ja2VyPENoZWNrZWRMb2NrPjsKLQotfSAvLyBuYW1lc3BhY2Ug
V1RGCi0KLXVzaW5nIFdURjo6YXNzZXJ0SXNIZWxkOwotdXNpbmcgV1RGOjpDaGVja2VkTG9jazsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NvbmRpdGlvbi5oIGIvU291cmNlL1dURi93dGYv
Q29uZGl0aW9uLmgKaW5kZXggODE1NTAxZjE3ZDI2Nzk5MmRmNGQ0NGRkYjk5MzFjY2EwZThmZmU5
OS4uNGVlZjFmMWE2MmExY2I1MmMxZGU1NzJlMTcxYTMxNDM1Njk4YjM2NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvQ29uZGl0aW9uLmgKKysrIGIvU291cmNlL1dURi93dGYvQ29uZGl0aW9u
LmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlIDx3dGYvTG9j
ay5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXJraW5n
TG90Lmg+CiAjaW5jbHVkZSA8d3RmL1RpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZS5oPgpAQCAtMzks
MTYgKzQwLDE2IEBAIG5hbWVzcGFjZSBXVEYgewogLy8gbm90aWZ5QWxsKCkgcmVxdWlyZSBqdXN0
IGEgbG9hZCBhbmQgYnJhbmNoIGZvciB0aGUgZmFzdCBjYXNlIHdoZXJlIG5vIHRocmVhZCBpcyB3
YWl0aW5nLgogLy8gVGhpcyBjb25kaXRpb24gdmFyaWFibGUsIHdoZW4gdXNlZCB3aXRoIFdURjo6
TG9jaywgY2FuIG91dHBlcmZvcm0gYSBzeXN0ZW0gY29uZGl0aW9uIHZhcmlhYmxlCiAvLyBhbmQg
bG9jayBieSB1cCB0byA1OHguCi1jbGFzcyBDb25kaXRpb24gZmluYWwgewotICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENvbmRpdGlvbik7CitjbGFzcyBVbmNoZWNrZWRDb25kaXRpb24gZmluYWwg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVuY2hlY2tlZENvbmRpdGlvbik7CiAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgLy8gQ29uZGl0aW9uIHdpbGwgYWNj
ZXB0IGFueSBraW5kIG9mIHRpbWUgYW5kIGNvbnZlcnQgaXQgaW50ZXJuYWxseSwgYnV0IHRoaXMg
dHlwZWRlZiB0ZWxscwotICAgIC8vIHlvdSB3aGF0IGtpbmQgb2YgdGltZSBDb25kaXRpb24gd291
bGQgYmUgYWJsZSB0byB1c2Ugd2l0aG91dCBjb252ZXJzaW9ucy4gSG93ZXZlciwgaWYgeW91Cisg
ICAgLy8gVW5jaGVja2VkQ29uZGl0aW9uIHdpbGwgYWNjZXB0IGFueSBraW5kIG9mIHRpbWUgYW5k
IGNvbnZlcnQgaXQgaW50ZXJuYWxseSwgYnV0IHRoaXMgdHlwZWRlZiB0ZWxscworICAgIC8vIHlv
dSB3aGF0IGtpbmQgb2YgdGltZSBVbmNoZWNrZWRDb25kaXRpb24gd291bGQgYmUgYWJsZSB0byB1
c2Ugd2l0aG91dCBjb252ZXJzaW9ucy4gSG93ZXZlciwgaWYgeW91CiAgICAgLy8gYXJlIHVubGlr
ZWx5IHRvIGJlIGFmZmVjdGVkIGJ5IHRoZSBjb3N0IG9mIGNvbnZlcnNpb25zLCBpdCBpcyBiZXR0
ZXIgdG8gdXNlIE1vbm90b25pY1RpbWUuCiAgICAgdXNpbmcgVGltZSA9IFBhcmtpbmdMb3Q6OlRp
bWU7CiAKLSAgICBjb25zdGV4cHIgQ29uZGl0aW9uKCkgPSBkZWZhdWx0OworICAgIGNvbnN0ZXhw
ciBVbmNoZWNrZWRDb25kaXRpb24oKSA9IGRlZmF1bHQ7CiAKICAgICAvLyBXYWl0IG9uIGEgcGFy
a2luZyBxdWV1ZSB3aGlsZSByZWxlYXNpbmcgdGhlIGdpdmVuIGxvY2suIEl0IHdpbGwgdW5sb2Nr
IHRoZSBsb2NrIGp1c3QgYmVmb3JlCiAgICAgLy8gcGFya2luZywgYW5kIHJlbG9jayBpdCB1cG9u
IHdha2V1cC4gUmV0dXJucyB0cnVlIGlmIHdlIHdva2UgdXAgZHVlIHRvIHNvbWUgY2FsbCB0bwpA
QCAtMTcyLDkgKzE3Myw2MSBAQCBwcml2YXRlOgogICAgIEF0b21pYzxib29sPiBtX2hhc1dhaXRl
cnMgeyBmYWxzZSB9OwogfTsKIAorLy8gQSBjb25kaXRpb24gdmFyaWFibGUgdHlwZSBmb3IgTG9j
ay4KKy8vIEZvciBwcmVkaWNhdGVzIHRoYXQgYWNjZXNzIHRoZSBndWFyZGVkIHZhcmlhYmxlcywg
dXNlIGFzc2VydElzSGVsZChsb2NrKS4KK2NsYXNzIENvbmRpdGlvbiBmaW5hbCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ29uZGl0aW9uKTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKKyAgICBjb25zdGV4cHIgQ29uZGl0aW9uKCkgPSBkZWZhdWx0OworCisgICAg
Ym9vbCB3YWl0VW50aWwoTG9jayYgbG9jaywgY29uc3QgVGltZVdpdGhEeW5hbWljQ2xvY2tUeXBl
JiB0aW1lb3V0KSBXVEZfUkVRVUlSRVNfTE9DSyhsb2NrKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IG1fY29uZGl0aW9uLndhaXRVbnRpbCh1bmNoZWNrZWRDYXN0KGxvY2spLCB0aW1lb3V0KTsKKyAg
ICB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KKyAgICBib29sIHdhaXRVbnRpbChM
b2NrJiBsb2NrLCBjb25zdCBUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUmIHRpbWVvdXQsIGNvbnN0
IEZ1bmN0b3ImIHByZWRpY2F0ZSkgV1RGX1JFUVVJUkVTX0xPQ0sobG9jaykKKyAgICB7CisgICAg
ICAgIHJldHVybiBtX2NvbmRpdGlvbi53YWl0VW50aWwodW5jaGVja2VkQ2FzdChsb2NrKSwgdGlt
ZW91dCwgcHJlZGljYXRlKTsKKyAgICB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4K
KyAgICBib29sIHdhaXRGb3IoTG9jayYgbG9jaywgU2Vjb25kcyByZWxhdGl2ZVRpbWVvdXQsIGNv
bnN0IEZ1bmN0b3ImIHByZWRpY2F0ZSkgV1RGX1JFUVVJUkVTX0xPQ0sobG9jaykKKyAgICB7Cisg
ICAgICAgIHJldHVybiBtX2NvbmRpdGlvbi53YWl0Rm9yKHVuY2hlY2tlZENhc3QobG9jayksIHJl
bGF0aXZlVGltZW91dCwgcHJlZGljYXRlKTsKKyAgICB9CisgICAgYm9vbCB3YWl0Rm9yKExvY2sm
IGxvY2ssIFNlY29uZHMgcmVsYXRpdmVUaW1lb3V0KSBXVEZfUkVRVUlSRVNfTE9DSyhsb2NrKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIG1fY29uZGl0aW9uLndhaXRGb3IodW5jaGVja2VkQ2FzdChs
b2NrKSwgcmVsYXRpdmVUaW1lb3V0KTsKKyAgICB9CisgICAgdm9pZCB3YWl0KExvY2smIGxvY2sp
IFdURl9SRVFVSVJFU19MT0NLKGxvY2spCisgICAgeworICAgICAgICBtX2NvbmRpdGlvbi53YWl0
KHVuY2hlY2tlZENhc3QobG9jaykpOworICAgIH0KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5j
dG9yPgorICAgIHZvaWQgd2FpdChMb2NrJiBsb2NrLCBjb25zdCBGdW5jdG9yJiBwcmVkaWNhdGUp
IFdURl9SRVFVSVJFU19MT0NLKGxvY2spCisgICAgeworICAgICAgICBtX2NvbmRpdGlvbi53YWl0
KHVuY2hlY2tlZENhc3QobG9jayksIHByZWRpY2F0ZSk7CisgICAgfQorICAgIGJvb2wgbm90aWZ5
T25lKCkKKyAgICB7CisgICAgICAgIHJldHVybiBtX2NvbmRpdGlvbi5ub3RpZnlPbmUoKTsKKyAg
ICB9CisgICAgdm9pZCBub3RpZnlBbGwoKQorICAgIHsKKyAgICAgICAgbV9jb25kaXRpb24ubm90
aWZ5QWxsKCk7CisgICAgfQorcHJpdmF0ZToKKyAgICBzdGF0aWMgVW5jaGVja2VkTG9jayYgdW5j
aGVja2VkQ2FzdChMb2NrJiBsb2NrKSB7IHJldHVybiBzdGF0aWNfY2FzdDxVbmNoZWNrZWRMb2Nr
Jj4obG9jayk7IH0KKyAgICBVbmNoZWNrZWRDb25kaXRpb24gbV9jb25kaXRpb247Cit9OworCit1
c2luZyBTdGF0aWNVbmNoZWNrZWRDb25kaXRpb24gPSBVbmNoZWNrZWRDb25kaXRpb247CiB1c2lu
ZyBTdGF0aWNDb25kaXRpb24gPSBDb25kaXRpb247CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1
c2luZyBXVEY6OkNvbmRpdGlvbjsKK3VzaW5nIFdURjo6VW5jaGVja2VkQ29uZGl0aW9uOwogdXNp
bmcgV1RGOjpTdGF0aWNDb25kaXRpb247Cit1c2luZyBXVEY6OlN0YXRpY1VuY2hlY2tlZENvbmRp
dGlvbjsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ3Jvc3NUaHJlYWRRdWV1ZS5oIGIv
U291cmNlL1dURi93dGYvQ3Jvc3NUaHJlYWRRdWV1ZS5oCmluZGV4IGJiMWRlNjk1ZmYyYzUxZjM5
N2I0NzZkZTJkYWY5OGYxODdjZTdkYmYuLjg3MjlhNmFkOWVhZTY5ZjNiNDRmYjU1MDQwZjM4OWZi
YWI3MDljZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Nyb3NzVGhyZWFkUXVldWUuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9Dcm9zc1RocmVhZFF1ZXVlLmgKQEAgLTI3LDggKzI3LDcgQEAK
IAogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1
ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+
CisjaW5jbHVkZSA8d3RmL0NvbmRpdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CkBAIC01Myw5
ICs1Miw5IEBAIHB1YmxpYzoKICAgICBib29sIGlzRW1wdHkoKSBjb25zdDsKIAogcHJpdmF0ZToK
LSAgICBtdXRhYmxlIENoZWNrZWRMb2NrIG1fbG9jazsKKyAgICBtdXRhYmxlIExvY2sgbV9sb2Nr
OwogICAgIERlcXVlPERhdGFUeXBlPiBtX3F1ZXVlIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2Nr
KTsKLSAgICBDaGVja2VkQ29uZGl0aW9uIG1fY29uZGl0aW9uOworICAgIENvbmRpdGlvbiBtX2Nv
bmRpdGlvbjsKICAgICBib29sIG1fa2lsbGVkIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKSB7
IGZhbHNlIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Dcm9zc1RocmVhZFRh
c2tIYW5kbGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9Dcm9zc1RocmVhZFRhc2tIYW5kbGVyLmgKaW5k
ZXggYTBjOWQzNjIxYzdiZTQ4MWMyM2FjMGY5NjU1ZGQ3MDdjYzVkYWM4OS4uOGFmM2MyZmZiMjdh
YTVhNGVhNmU0ZTNlMGJjNzlhMDIzYjY0ODNlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
Q3Jvc3NUaHJlYWRUYXNrSGFuZGxlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0Nyb3NzVGhyZWFk
VGFza0hhbmRsZXIuaApAQCAtMjUsOSArMjUsOSBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1
ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Dcm9zc1RocmVhZFF1ZXVlLmg+
CiAjaW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkVGFzay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+
CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTU2LDcg
KzU2LDcgQEAgcHJpdmF0ZToKICAgICBBdXRvZHJhaW5lZFBvb2xGb3JSdW5Mb29wIG1fdXNlQXV0
b2RyYWluZWRQb29sIHsgQXV0b2RyYWluZWRQb29sRm9yUnVuTG9vcDo6RG9Ob3RVc2UgfTsKIAog
ICAgIExvY2sgbV90YXNrVGhyZWFkQ3JlYXRpb25Mb2NrOwotICAgIENoZWNrZWRMb2NrIG1fbWFp
blRocmVhZFJlcGx5TG9jazsKKyAgICBMb2NrIG1fbWFpblRocmVhZFJlcGx5TG9jazsKICAgICBi
b29sIG1fbWFpblRocmVhZFJlcGx5U2NoZWR1bGVkIFdURl9HVUFSREVEX0JZX0xPQ0sobV9tYWlu
VGhyZWFkUmVwbHlMb2NrKSB7IGZhbHNlIH07CiAKICAgICBDcm9zc1RocmVhZFF1ZXVlPENyb3Nz
VGhyZWFkVGFzaz4gbV90YXNrUXVldWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Dcnlw
dG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9DcnlwdG9ncmFw
aGljYWxseVJhbmRvbU51bWJlci5jcHAKaW5kZXggMWU3NWFhOWIwZTVmMjRmZTAzNmEzMTI1NDdi
M2IzOTYxZmIyMGMxNS4uY2JhYjk2NWU5MjNiYTQzZjlhNTM5ODY2ZWQxNjNjZDRmNDI2YWM5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIu
Y3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmNw
cApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRv
bU51bWJlci5oPgogCiAjaW5jbHVkZSA8bXV0ZXg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2Nr
Lmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQu
aD4KICNpbmNsdWRlIDx3dGYvT1NSYW5kb21Tb3VyY2UuaD4KIApAQCAtNjQsNyArNjQsNyBAQCBw
cml2YXRlOgogICAgIGlubGluZSB1aW50OF90IGdldEJ5dGUoKTsKICAgICBpbmxpbmUgdWludDMy
X3QgZ2V0V29yZCgpOwogCi0gICAgQ2hlY2tlZExvY2sgbV9sb2NrOworICAgIExvY2sgbV9sb2Nr
OwogICAgIEFSQzRTdHJlYW0gbV9zdHJlYW07CiAgICAgaW50IG1fY291bnQ7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0
TWFsbG9jLmNwcAppbmRleCBjZjUyYjA1ZTQ4NzEwMjZjYzI3MGM2ODE5ZmExZWY1ZjZmYjZlNmJl
Li5lNGViODQzNWYxOWE5OThkZDI3ZTZkZjdlOGZhYmRlYzEzNWRlMmIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFs
bG9jLmNwcApAQCAtMzksOCArMzksOCBAQAogCiAjaWYgRU5BQkxFKE1BTExPQ19IRUFQX0JSRUFL
RE9XTikKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9j
ay5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNp
bmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvU2V0Rm9yU2NvcGUu
aD4KICNpbmNsdWRlIDx3dGYvU3RhY2tTaG90Lmg+CkBAIC0zNzYsNyArMzc2LDcgQEAgcHJpdmF0
ZToKICAgICAgICAgfQogICAgIH07CiAKLSAgICBDaGVja2VkTG9jayBtX2xvY2s7CisgICAgTG9j
ayBtX2xvY2s7CiAgICAgSGFzaE1hcDx2b2lkKiwgc3RkOjp1bmlxdWVfcHRyPE1hbGxvY1NpdGVE
YXRhPj4gbV9hZGRyZXNzTWFsbG9jU2l0ZURhdGEgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2sp
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRm9yd2FyZC5oIGIvU291cmNlL1dU
Ri93dGYvRm9yd2FyZC5oCmluZGV4IGY2YmNkMDVmNzczMGNhZTcwNmI0ZWRhOTc3YmEyMDdjOWFk
OGY0OGIuLmM0N2NjNWRjN2Q4YjA3MWEyMWViM2Y3YmEyODM5OTg1ZTFjZGIzZWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL0ZvcndhcmQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Gb3J3YXJk
LmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKK2NsYXNzIEFic3RyYWN0
TG9ja2VyOwogY2xhc3MgQXRvbVN0cmluZzsKIGNsYXNzIEF0b21TdHJpbmdJbXBsOwogY2xhc3Mg
QmluYXJ5U2VtYXBob3JlOwpAQCAtMzIsNiArMzMsNyBAQCBjbGFzcyBDU3RyaW5nOwogY2xhc3Mg
Q3Jhc2hPbk92ZXJmbG93OwogY2xhc3MgRnVuY3Rpb25EaXNwYXRjaGVyOwogY2xhc3MgSGFzaGVy
OworY2xhc3MgTG9jazsKIGNsYXNzIExvZ2dlcjsKIGNsYXNzIE1vbm90b25pY1RpbWU7CiBjbGFz
cyBPcmRpbmFsTnVtYmVyOwpAQCAtNDYsNiArNDgsNyBAQCBjbGFzcyBUZXh0UG9zaXRpb247CiBj
bGFzcyBUZXh0U3RyZWFtOwogY2xhc3MgVW5pcXVlZFN0cmluZ0ltcGw7CiBjbGFzcyBVUkw7Citj
bGFzcyBVbmNoZWNrZWRMb2NrOwogY2xhc3MgV2FsbFRpbWU7CiAKIHN0cnVjdCBBbnlUaHJlYWRz
QWNjZXNzVHJhaXRzOwpAQCAtMTE1LDYgKzExOCw3IEBAIHRlbXBsYXRlPGNsYXNzLCBjbGFzcz4g
Y2xhc3MgZXhwZWN0ZWQ7CiB0ZW1wbGF0ZTxjbGFzcz4gY2xhc3MgdW5leHBlY3RlZDsKIH19fSAv
LyBuYW1lc3BhY2Ugc3RkOjpleHBlcmltZW50YWw6OmZ1bmRhbWVudGFsc192MwogCit1c2luZyBX
VEY6OkFic3RyYWN0TG9ja2VyOwogdXNpbmcgV1RGOjpBdG9tU3RyaW5nOwogdXNpbmcgV1RGOjpB
dG9tU3RyaW5nSW1wbDsKIHVzaW5nIFdURjo6QmluYXJ5U2VtYXBob3JlOwpAQCAtMTI4LDYgKzEz
Miw3IEBAIHVzaW5nIFdURjo6SGFzaE1hcDsKIHVzaW5nIFdURjo6SGFzaFNldDsKIHVzaW5nIFdU
Rjo6SGFzaGVyOwogdXNpbmcgV1RGOjpMYXp5TmV2ZXJEZXN0cm95ZWQ7Cit1c2luZyBXVEY6Okxv
Y2s7CiB1c2luZyBXVEY6OkxvZ2dlcjsKIHVzaW5nIFdURjo6TmV2ZXJEZXN0cm95ZWQ7CiB1c2lu
ZyBXVEY6Ok9wdGlvblNldDsKQEAgLTE1MCw2ICsxNTUsNyBAQCB1c2luZyBXVEY6OlN0cmluZ1Zp
ZXc7CiB1c2luZyBXVEY6OlRleHRQb3NpdGlvbjsKIHVzaW5nIFdURjo6VGV4dFN0cmVhbTsKIHVz
aW5nIFdURjo6VVJMOwordXNpbmcgV1RGOjpVbmNoZWNrZWRMb2NrOwogdXNpbmcgV1RGOjpVbmlx
dWVSZWY7CiB1c2luZyBXVEY6OlZhcmlhbnQ7CiB1c2luZyBXVEY6OlZlY3RvcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmNwcCBiL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdl
LmNwcAppbmRleCBiZTYyNThkODU3ZTU5ODhmOTY5ODM5MDIwMmJjYzkzYzNjMTc4MjBmLi5lNzgx
NGQ3NGU5NmI2NDRjOWZlM2Y3ZTExN2YxYjVjZmMxZWU2ZGE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9MYW5ndWFnZS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuY3BwCkBA
IC0yNiw4ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSA8d3RmL0xhbmd1
YWdlLmg+CiAKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJv
eWVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTM3LDcgKzM3LDcg
QEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLXN0YXRpYyBDaGVja2VkTG9jayBwcmVmZXJyZWRMYW5n
dWFnZXNPdmVycmlkZUxvY2s7CitzdGF0aWMgTG9jayBwcmVmZXJyZWRMYW5ndWFnZXNPdmVycmlk
ZUxvY2s7CiBzdGF0aWMgVmVjdG9yPFN0cmluZz4mIHByZWZlcnJlZExhbmd1YWdlc092ZXJyaWRl
KCkgV1RGX1JFUVVJUkVTX0xPQ0socHJlZmVycmVkTGFuZ3VhZ2VzT3ZlcnJpZGVMb2NrKQogewog
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8U3RyaW5nPj4gb3ZlcnJpZGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2NrLmNwcCBiL1NvdXJjZS9XVEYvd3RmL0xvY2suY3Bw
CmluZGV4IGI5OTM4M2Q2OTQ4MGQzYTRjOWI2MjNmMGMwYmNjN2RmOTBlYWIwNGQuLmZmODZlMTBh
OWEyYTQxN2FiNzA2NzBhMDc4OWNmNjUwZDcxOGIxNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL0xvY2suY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvY2suY3BwCkBAIC0zMywxNCArMzMs
MTQgQEAgbmFtZXNwYWNlIFdURiB7CiAKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBwcm9maWxlTG9j
a0NvbnRlbnRpb24gPSBmYWxzZTsKIAotdm9pZCBMb2NrOjpsb2NrU2xvdygpCit2b2lkIFVuY2hl
Y2tlZExvY2s6OmxvY2tTbG93KCkKIHsKICAgICBpZiAocHJvZmlsZUxvY2tDb250ZW50aW9uKQog
ICAgICAgICBTVEFDS19TSE9UX1BST0ZJTEUoNCwgMiwgNSk7CiAgICAgRGVmYXVsdExvY2tBbGdv
cml0aG06OmxvY2tTbG93KG1fYnl0ZSk7CiB9CiAKLXZvaWQgTG9jazo6dW5sb2NrU2xvdygpCit2
b2lkIFVuY2hlY2tlZExvY2s6OnVubG9ja1Nsb3coKQogewogICAgIC8vIEhlYXAgYWxsb2NhdGlv
bnMgYXJlIGZvcmJpZGRlbiBvbiB0aGUgY2VydGFpbiB0aHJlYWRzIChlLmcuIGF1ZGlvIHJlbmRl
cmluZyB0aHJlYWQpIGZvciBwZXJmb3JtYW5jZSByZWFzb25zIHNvIHdlIG5lZWQgdG8KICAgICAv
LyBleHBsaWNpdGx5IGFsbG93IHRoZSBmb2xsb3dpbmcgYWxsb2NhdGlvbihzKS4gSW4gc29tZSBy
YXJlIGNhc2VzLCB0aGUgdW5sb2NrU2xvdygpIGFsZ29yaXRoIG1heSBjYXVzZSBhbGxvY2F0aW9u
cy4KQEAgLTQ5LDcgKzQ5LDcgQEAgdm9pZCBMb2NrOjp1bmxvY2tTbG93KCkKICAgICBEZWZhdWx0
TG9ja0FsZ29yaXRobTo6dW5sb2NrU2xvdyhtX2J5dGUsIERlZmF1bHRMb2NrQWxnb3JpdGhtOjpV
bmZhaXIpOwogfQogCi12b2lkIExvY2s6OnVubG9ja0ZhaXJseVNsb3coKQordm9pZCBVbmNoZWNr
ZWRMb2NrOjp1bmxvY2tGYWlybHlTbG93KCkKIHsKICAgICAvLyBIZWFwIGFsbG9jYXRpb25zIGFy
ZSBmb3JiaWRkZW4gb24gdGhlIGNlcnRhaW4gdGhyZWFkcyAoZS5nLiBhdWRpbyByZW5kZXJpbmcg
dGhyZWFkKSBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucyBzbyB3ZSBuZWVkIHRvCiAgICAgLy8gZXhw
bGljaXRseSBhbGxvdyB0aGUgZm9sbG93aW5nIGFsbG9jYXRpb24ocykuIEluIHNvbWUgcmFyZSBj
YXNlcywgdGhlIHVubG9ja1Nsb3coKSBhbGdvcml0aCBtYXkgY2F1c2UgYWxsb2NhdGlvbnMuCkBA
IC01OCw3ICs1OCw3IEBAIHZvaWQgTG9jazo6dW5sb2NrRmFpcmx5U2xvdygpCiAgICAgRGVmYXVs
dExvY2tBbGdvcml0aG06OnVubG9ja1Nsb3cobV9ieXRlLCBEZWZhdWx0TG9ja0FsZ29yaXRobTo6
RmFpcik7CiB9CiAKLXZvaWQgTG9jazo6c2FmZXBvaW50U2xvdygpCit2b2lkIFVuY2hlY2tlZExv
Y2s6OnNhZmVwb2ludFNsb3coKQogewogICAgIERlZmF1bHRMb2NrQWxnb3JpdGhtOjpzYWZlcG9p
bnRTbG93KG1fYnl0ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2NrLmggYi9T
b3VyY2UvV1RGL3d0Zi9Mb2NrLmgKaW5kZXggNjBmZGFhYmQ5MGRhZTdmMmQ0ZDQ4ZjMxYjgwMzRk
ZTNiZjk1ZjY3ZC4uMjhjODgzZjUwM2Q4MDg2ODhjOGFkYTA4NTk3YmQ0NjkzYWY2OTk0NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvTG9jay5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvY2su
aApAQCAtMjUsOSArMjUsMTEgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlIDxtdXRleD4K
ICNpbmNsdWRlIDx3dGYvTG9ja0FsZ29yaXRobS5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4K
ICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZXR5
QW5hbHlzaXMuaD4KIAogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogc3RydWN0IExvY2tJbnNw
ZWN0b3I7CkBAIC00NywxMSArNDksMTEgQEAgdHlwZWRlZiBMb2NrQWxnb3JpdGhtPHVpbnQ4X3Qs
IDEsIDI+IERlZmF1bHRMb2NrQWxnb3JpdGhtOwogLy8gYXQgd29yc3Qgb25lIGNhbGwgdG8gdW5s
b2NrKCkgcGVyIG1pbGxpc2Vjb25kIHdpbGwgZG8gYSBkaXJlY3QgaGFuZC1vZmYgdG8gdGhlIHRo
cmVhZCB0aGF0IGlzIGF0CiAvLyB0aGUgaGVhZCBvZiB0aGUgcXVldWUuIFdoZW4gdGhlcmUgYXJl
IGNvbGxpc2lvbnMsIGVhY2ggY29sbGlzaW9uIGluY3JlYXNlcyB0aGUgZmFpciB1bmxvY2sgZGVs
YXkKIC8vIGJ5IG9uZSBtaWxsaXNlY29uZCBpbiB0aGUgd29yc3QgY2FzZS4KLWNsYXNzIExvY2sg
ewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2spOworY2xhc3MgVW5jaGVja2VkTG9jayB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVW5jaGVja2VkTG9jayk7CiAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgY29uc3RleHByIExvY2soKSA9IGRlZmF1bHQ7
CisgICAgY29uc3RleHByIFVuY2hlY2tlZExvY2soKSA9IGRlZmF1bHQ7CiAKICAgICB2b2lkIGxv
Y2soKQogICAgIHsKQEAgLTEzMSw5ICsxMzMsODMgQEAgcHJpdmF0ZToKICAgICBBdG9taWM8dWlu
dDhfdD4gbV9ieXRlIHsgMCB9OwogfTsKIAorLy8gQSBsb2NrIHR5cGUgd2l0aCBzdXBwb3J0IGZv
ciB0aHJlYWQgc2FmZXR5IGFuYWx5c2lzLgorLy8gVG8gYW5ub3RhdGUgYSBtZW1iZXIgdmFyaWFi
bGUgb3IgYSBnbG9iYWwgdmFyaWFibGUgd2l0aCB0aHJlYWQgb3duZXJzaGlwIGluZm9ybWF0aW9u
LAorLy8gdXNlIGxvY2sgY2FwYWJpbGl0eSBhbm5vdGF0aW9ucyBkZWZpbmVkIGluIFRocmVhZFNh
ZmV0eUFuYWx5c2lzLmguCisvLworLy8gRXhhbXBsZToKKy8vICAgY2xhc3MgTXlWYWx1ZSA6IHB1
YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNeVZhbHVlPgorLy8gICB7CisvLyAgIHB1YmxpYzoK
Ky8vICAgICAgIHZvaWQgc2V0VmFsdWUoaW50IHZhbHVlKSB7IExvY2tlciBob2xkTG9jayB7IG1f
bG9jayB9OyBtX3ZhbHVlID0gdmFsdWU7ICB9CisvLyAgICAgICB2b2lkIG1heWJlU2V0T3RoZXJW
YWx1ZShpbnQgdmFsdWUpCisvLyAgICAgICB7CisvLyAgICAgICAgICAgaWYgKCFtX2xvY2sudHJ5
TG9jaygpKQorLy8gICAgICAgICAgICAgIHJldHVybjsKKy8vICAgICAgICAgICBMb2NrZXIgbG9j
a2VyIHsgQWRvcHRMb2NrLCBtX290aGVyTG9jayB9OworLy8gICAgICAgICAgIG1fb3RoZXJWYWx1
ZSA9IHZhbHVlOworLy8gICAgICAgfQorLy8gICBwcml2YXRlOgorLy8gICAgICAgTG9jayBtX2xv
Y2s7CisvLyAgICAgICBpbnQgbV92YWx1ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jaykgeyA3
NyB9OworLy8gICAgICAgaW50IG1fb3RoZXJWYWx1ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9j
aykgeyA4OCB9OworLy8gICB9OworY2xhc3MgV1RGX0NBUEFCSUxJVFlfTE9DSyBMb2NrIDogVW5j
aGVja2VkTG9jayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jayk7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgY29uc3RleHByIExvY2soKSA9IGRlZmF1
bHQ7CisgICAgdm9pZCBsb2NrKCkgV1RGX0FDUVVJUkVTX0xPQ0soKSB7IFVuY2hlY2tlZExvY2s6
OmxvY2soKTsgfQorICAgIGJvb2wgdHJ5TG9jaygpIFdURl9BQ1FVSVJFU19MT0NLX0lGKHRydWUp
IHsgcmV0dXJuIFVuY2hlY2tlZExvY2s6OnRyeUxvY2soKTsgfQorICAgIGJvb2wgdHJ5X2xvY2so
KSBXVEZfQUNRVUlSRVNfTE9DS19JRih0cnVlKSB7IHJldHVybiBVbmNoZWNrZWRMb2NrOjp0cnlf
bG9jaygpOyB9IC8vIE5PTElOVDogSW50ZW50aW9uYWwgZGV2aWF0aW9uIHRvIHN1cHBvcnQgc3Rk
OjpzY29wZWRfbG9jay4KKyAgICB2b2lkIHVubG9jaygpIFdURl9SRUxFQVNFU19MT0NLKCkgeyBV
bmNoZWNrZWRMb2NrOjp1bmxvY2soKTsgfQorICAgIHZvaWQgdW5sb2NrRmFpcmx5KCkgV1RGX1JF
TEVBU0VTX0xPQ0soKSB7IFVuY2hlY2tlZExvY2s6OnVubG9ja0ZhaXJseSgpOyB9CisgICAgdm9p
ZCBzYWZlcG9pbnQoKSB7IFVuY2hlY2tlZExvY2s6OnNhZmVwb2ludCgpOyB9CisgICAgYm9vbCBp
c0hlbGQoKSBjb25zdCB7IHJldHVybiBVbmNoZWNrZWRMb2NrOjppc0hlbGQoKTsgfQorICAgIGJv
b2wgaXNMb2NrZWQoKSBjb25zdCB7IHJldHVybiBVbmNoZWNrZWRMb2NrOjppc0xvY2tlZCgpOyB9
CisgICAgZnJpZW5kIGNsYXNzIENvbmRpdGlvbjsKKyAgICBmcmllbmQgc3RydWN0IFRlc3RXZWJL
aXRBUEk6OkxvY2tJbnNwZWN0b3I7Cit9OworCisvLyBBc3NlcnRzIHRoYXQgdGhlIGxvY2sgaXMg
aGVsZC4KKy8vIFRoaXMgY2FuIGJlIHVzZWQgaW4gY2FzZXMgd2hlcmUgdGhlIGFubm90YXRpb25z
IGNhbm5vdCBiZSBhZGRlZCB0byB0aGUgZnVuY3Rpb24KKy8vIGRlY2xhcmF0aW9uLgoraW5saW5l
IHZvaWQgYXNzZXJ0SXNIZWxkKGNvbnN0IExvY2smIGxvY2spIFdURl9BU1NFUlRTX0FDUVVJUkVE
X0xPQ0sobG9jaykgeyBBU1NFUlRfVU5VU0VEKGxvY2ssIGxvY2suaXNIZWxkKCkpOyB9CisKKy8v
IExvY2tlciBzcGVjaWFsaXphdGlvbiB0byB1c2Ugd2l0aCBMb2NrLgorLy8gTm9uLW1vdmFibGUg
c2ltcGxlIHNjb3BlZCBsb2NrIGhvbGRlci4KKy8vIEV4YW1wbGU6IExvY2tlciBsb2NrZXIgeyBt
X2xvY2sgfTsKK3RlbXBsYXRlIDw+CitjbGFzcyBXVEZfQ0FQQUJJTElUWV9TQ09QRURfTE9DSyBM
b2NrZXI8TG9jaz4geworcHVibGljOgorICAgIGV4cGxpY2l0IExvY2tlcihMb2NrJiBsb2NrKSBX
VEZfQUNRVUlSRVNfTE9DSyhsb2NrKQorICAgICAgICA6IG1fbG9jayhsb2NrKQorICAgIHsKKyAg
ICAgICAgbV9sb2NrLmxvY2soKTsKKyAgICB9CisgICAgTG9ja2VyKEFkb3B0TG9ja1RhZywgTG9j
ayYgbG9jaykgV1RGX1JFUVVJUkVTX0xPQ0sobG9jaykKKyAgICAgICAgOiBtX2xvY2sobG9jaykK
KyAgICB7CisgICAgfQorICAgIH5Mb2NrZXIoKSBXVEZfUkVMRUFTRVNfTE9DSygpCisgICAgewor
ICAgICAgICBtX2xvY2sudW5sb2NrKCk7CisgICAgfQorICAgIExvY2tlcihjb25zdCBMb2NrZXI8
TG9jaz4mKSA9IGRlbGV0ZTsKKyAgICBMb2NrZXImIG9wZXJhdG9yPShjb25zdCBMb2NrZXI8TG9j
az4mKSA9IGRlbGV0ZTsKK3ByaXZhdGU6CisgICAgTG9jayYgbV9sb2NrOworfTsKKworTG9ja2Vy
KExvY2smKSAtPiBMb2NrZXI8TG9jaz47CitMb2NrZXIoQWRvcHRMb2NrVGFnLCBMb2NrJikgLT4g
TG9ja2VyPExvY2s+OworCiB1c2luZyBMb2NrSG9sZGVyID0gTG9ja2VyPExvY2s+OwordXNpbmcg
VW5jaGVja2VkTG9ja0hvbGRlciA9IExvY2tlcjxVbmNoZWNrZWRMb2NrPjsKIAogfSAvLyBuYW1l
c3BhY2UgV1RGCiAKK3VzaW5nIFdURjo6VW5jaGVja2VkTG9jazsKIHVzaW5nIFdURjo6TG9jazsK
IHVzaW5nIFdURjo6TG9ja0hvbGRlcjsKK3VzaW5nIFdURjo6VW5jaGVja2VkTG9ja0hvbGRlcjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xvZ2dlci5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9M
b2dnZXIuY3BwCmluZGV4IGUwYjQ1MDY4OGZkNzgzOWZmNGNiYjI1ODk5N2FkOGM0ZjI1NTU3NTAu
LmM4ZDg2YzA0NWEzNWJiZmViMzEyNDczZmVlMzhjOWFkMjYyOWI0YTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL0xvZ2dlci5jcHAKKysrIGIvU291cmNlL1dURi93dGYvTG9nZ2VyLmNwcApA
QCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotQ2hlY2tlZExvY2sgbG9nZ2Vy
T2JzZXJ2ZXJMb2NrOworTG9jayBsb2dnZXJPYnNlcnZlckxvY2s7CiAKIFN0cmluZyBMb2dnZXI6
OkxvZ1NpdGVJZGVudGlmaWVyOjp0b1N0cmluZygpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9Mb2dnZXIuaCBiL1NvdXJjZS9XVEYvd3RmL0xvZ2dlci5oCmluZGV4IDRmNTQ0
N2RhMzE3ZWViMWIxOGQ2YzQ5OTVjM2VkMzlhODYzMzZiZTUuLmZhYmIwOTUzYjU5MWIzNDA2OWVm
Y2ZhNjBlMmM2MzBmZTc4MjJhZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0xvZ2dlci5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvZ2dlci5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0xv
Y2suaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKQEAgLTExMiw3ICsxMTIsNyBAQCBzdHJ1Y3QgQ29u
c29sZUxvZ1ZhbHVlPEFyZ3VtZW50LCBmYWxzZT4gewogICAgIH0KIH07CiAKLVdURl9FWFBPUlRf
UFJJVkFURSBleHRlcm4gQ2hlY2tlZExvY2sgbG9nZ2VyT2JzZXJ2ZXJMb2NrOworV1RGX0VYUE9S
VF9QUklWQVRFIGV4dGVybiBMb2NrIGxvZ2dlck9ic2VydmVyTG9jazsKIAogY2xhc3MgTG9nZ2Vy
IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPExvZ2dlcj4gewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKExvZ2dlcik7CkBAIC0zNjMsNyArMzYzLDcgQEAgcHJpdmF0ZToKIAogICAgIFdU
Rl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8T2Jz
ZXJ2ZXI+PiYgb2JzZXJ2ZXJzKCkgV1RGX1JFUVVJUkVTX0xPQ0sob2JzZXJ2ZXJMb2NrKCkpOwog
Ci0gICAgc3RhdGljIENoZWNrZWRMb2NrJiBvYnNlcnZlckxvY2soKSBXVEZfUkVUVVJOU19MT0NL
KGxvZ2dlck9ic2VydmVyTG9jaykKKyAgICBzdGF0aWMgTG9jayYgb2JzZXJ2ZXJMb2NrKCkgV1RG
X1JFVFVSTlNfTE9DSyhsb2dnZXJPYnNlcnZlckxvY2spCiAgICAgewogICAgICAgICByZXR1cm4g
bG9nZ2VyT2JzZXJ2ZXJMb2NrOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01l
c3NhZ2VRdWV1ZS5oIGIvU291cmNlL1dURi93dGYvTWVzc2FnZVF1ZXVlLmgKaW5kZXggYzhmNGEz
MzY5N2Y1Y2QzZTViNzViYWJiNjRkNTFkMzJjZTM0ZTQwOS4uMmNkMzg5M2I3Y2NjMTk2NDA3MDky
NzE1NzIxMzVhNTRiMmQ4ZWFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWVzc2FnZVF1
ZXVlLmgKKysrIGIvU291cmNlL1dURi93dGYvTWVzc2FnZVF1ZXVlLmgKQEAgLTMxLDkgKzMxLDkg
QEAKIAogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2Nr
Lmg+CisjaW5jbHVkZSA8d3RmL0NvbmRpdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgor
I2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIApAQCAtNzgsOCArNzgsOCBAQCBuYW1lc3BhY2Ug
V1RGIHsKICAgICAgICAgYm9vbCBpc0VtcHR5KCk7CiAKICAgICBwcml2YXRlOgotICAgICAgICBt
dXRhYmxlIENoZWNrZWRMb2NrIG1fbG9jazsKLSAgICAgICAgQ2hlY2tlZENvbmRpdGlvbiBtX2Nv
bmRpdGlvbjsKKyAgICAgICAgbXV0YWJsZSBMb2NrIG1fbG9jazsKKyAgICAgICAgQ29uZGl0aW9u
IG1fY29uZGl0aW9uOwogICAgICAgICBEZXF1ZTxzdGQ6OnVuaXF1ZV9wdHI8RGF0YVR5cGU+PiBt
X3F1ZXVlIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKICAgICAgICAgYm9vbCBtX2tpbGxl
ZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL01ldGFBbGxvY2F0b3IuY3BwIGIvU291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRv
ci5jcHAKaW5kZXggZWVmODliNzdlN2JkZGZjZDY3NjVkNjczYWE1NjVhMDY3N2NkNzBhNC4uZDlj
ZDU5OTJmM2EwZDUxZDA0NmU4NzAxYTEzYmQyN2E3OTAyMmFkNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvTWV0YUFsbG9jYXRvci5jcHAKKysrIGIvU291cmNlL1dURi93dGYvTWV0YUFsbG9j
YXRvci5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgdm9pZCBNZXRhQWxsb2NhdG9yVHJhY2tlcjo6cmVs
ZWFzZShNZXRhQWxsb2NhdG9ySGFuZGxlJiBoYW5kbGUpCiAgICAgbV9hbGxvY2F0aW9ucy5yZW1v
dmUoJmhhbmRsZSk7CiB9CiAKLXZvaWQgTWV0YUFsbG9jYXRvcjo6cmVsZWFzZShjb25zdCBMb2Nr
SG9sZGVyJiwgTWV0YUFsbG9jYXRvckhhbmRsZSYgaGFuZGxlKQordm9pZCBNZXRhQWxsb2NhdG9y
OjpyZWxlYXNlKGNvbnN0IFVuY2hlY2tlZExvY2tIb2xkZXImLCBNZXRhQWxsb2NhdG9ySGFuZGxl
JiBoYW5kbGUpCiB7CiAgICAgaWYgKGhhbmRsZS5zaXplSW5CeXRlcygpKSB7CiAgICAgICAgIE1l
bW9yeVB0ciBzdGFydCA9IGhhbmRsZS5zdGFydCgpOwpAQCAtMTI0LDcgKzEyNCw3IEBAIHZvaWQg
TWV0YUFsbG9jYXRvckhhbmRsZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogICAgIG91
dC5wcmludChSYXdQb2ludGVyKHN0YXJ0KCkudW50YWdnZWRQdHIoKSksICIuLi4iLCBSYXdQb2lu
dGVyKGVuZCgpLnVudGFnZ2VkUHRyKCkpKTsKIH0KIAotTWV0YUFsbG9jYXRvcjo6TWV0YUFsbG9j
YXRvcihMb2NrJiBsb2NrLCBzaXplX3QgYWxsb2NhdGlvbkdyYW51bGUsIHNpemVfdCBwYWdlU2l6
ZSkKK01ldGFBbGxvY2F0b3I6Ok1ldGFBbGxvY2F0b3IoVW5jaGVja2VkTG9jayYgbG9jaywgc2l6
ZV90IGFsbG9jYXRpb25HcmFudWxlLCBzaXplX3QgcGFnZVNpemUpCiAgICAgOiBtX2FsbG9jYXRp
b25HcmFudWxlKGFsbG9jYXRpb25HcmFudWxlKQogICAgICwgbV9wYWdlU2l6ZShwYWdlU2l6ZSkK
ICAgICAsIG1fYnl0ZXNBbGxvY2F0ZWQoMCkKQEAgLTE1NCw3ICsxNTQsNyBAQCBNZXRhQWxsb2Nh
dG9yOjpNZXRhQWxsb2NhdG9yKExvY2smIGxvY2ssIHNpemVfdCBhbGxvY2F0aW9uR3JhbnVsZSwg
c2l6ZV90IHBhZ2VTaQogICAgIEFTU0VSVChzdGF0aWNfY2FzdDxzaXplX3Q+KDEpIDw8IG1fbG9n
QWxsb2NhdGlvbkdyYW51bGUgPT0gbV9hbGxvY2F0aW9uR3JhbnVsZSk7CiB9CiAKLVJlZlB0cjxN
ZXRhQWxsb2NhdG9ySGFuZGxlPiBNZXRhQWxsb2NhdG9yOjphbGxvY2F0ZShjb25zdCBMb2NrSG9s
ZGVyJiwgc2l6ZV90IHNpemVJbkJ5dGVzKQorUmVmUHRyPE1ldGFBbGxvY2F0b3JIYW5kbGU+IE1l
dGFBbGxvY2F0b3I6OmFsbG9jYXRlKGNvbnN0IFVuY2hlY2tlZExvY2tIb2xkZXImLCBzaXplX3Qg
c2l6ZUluQnl0ZXMpCiB7CiAgICAgaWYgKCFzaXplSW5CeXRlcykKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CkBAIC0xOTgsNyArMTk4LDcgQEAgUmVmUHRyPE1ldGFBbGxvY2F0b3JIYW5kbGU+IE1l
dGFBbGxvY2F0b3I6OmFsbG9jYXRlKGNvbnN0IExvY2tIb2xkZXImLCBzaXplX3Qgc2kKICAgICBy
ZXR1cm4gaGFuZGxlOwogfQogCi1NZXRhQWxsb2NhdG9yOjpTdGF0aXN0aWNzIE1ldGFBbGxvY2F0
b3I6OmN1cnJlbnRTdGF0aXN0aWNzKGNvbnN0IExvY2tIb2xkZXImKQorTWV0YUFsbG9jYXRvcjo6
U3RhdGlzdGljcyBNZXRhQWxsb2NhdG9yOjpjdXJyZW50U3RhdGlzdGljcyhjb25zdCBVbmNoZWNr
ZWRMb2NrSG9sZGVyJikKIHsKICAgICBTdGF0aXN0aWNzIHJlc3VsdDsKICAgICByZXN1bHQuYnl0
ZXNBbGxvY2F0ZWQgPSBtX2J5dGVzQWxsb2NhdGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvTWV0YUFsbG9jYXRvci5oIGIvU291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRvci5oCmluZGV4
IDVmYjcyYzI4MGVkYzA2ZGVhODkzMWI2YTNjMDllMWZmN2JmNWM4ZDEuLmVkZmVjN2MzYjg5OTYy
OWYwN2RlN2FhMDhkMGM2MzIyNzZmOGM0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01l
dGFBbGxvY2F0b3IuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NZXRhQWxsb2NhdG9yLmgKQEAgLTY1
LDcgKzY1LDcgQEAgcHVibGljOgogICAgIHVzaW5nIEZyZWVTcGFjZVB0ciA9IE1ldGFBbGxvY2F0
b3JQdHI8RnJlZVNwYWNlUHRyVGFnPjsKICAgICB1c2luZyBNZW1vcnlQdHIgPSBNZXRhQWxsb2Nh
dG9ySGFuZGxlOjpNZW1vcnlQdHI7CiAKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgTWV0YUFsbG9j
YXRvcihMb2NrJiwgc2l6ZV90IGFsbG9jYXRpb25HcmFudWxlLCBzaXplX3QgcGFnZVNpemUgPSBX
VEY6OnBhZ2VTaXplKCkpOworICAgIFdURl9FWFBPUlRfUFJJVkFURSBNZXRhQWxsb2NhdG9yKFVu
Y2hlY2tlZExvY2smLCBzaXplX3QgYWxsb2NhdGlvbkdyYW51bGUsIHNpemVfdCBwYWdlU2l6ZSA9
IFdURjo6cGFnZVNpemUoKSk7CiAgICAgCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZpcnR1YWwg
fk1ldGFBbGxvY2F0b3IoKTsKICAgICAKQEAgLTc0LDcgKzc0LDcgQEAgcHVibGljOgogICAgICAg
ICBMb2NrZXIgbG9ja2VyIHsgbV9sb2NrIH07CiAgICAgICAgIHJldHVybiBhbGxvY2F0ZShsb2Nr
ZXIsIHNpemVJbkJ5dGVzKTsKICAgICB9Ci0gICAgV1RGX0VYUE9SVF9QUklWQVRFIFJlZlB0cjxN
ZXRhQWxsb2NhdG9ySGFuZGxlPiBhbGxvY2F0ZShjb25zdCBMb2NrSG9sZGVyJiwgc2l6ZV90IHNp
emVJbkJ5dGVzKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgUmVmUHRyPE1ldGFBbGxvY2F0b3JI
YW5kbGU+IGFsbG9jYXRlKGNvbnN0IFVuY2hlY2tlZExvY2tIb2xkZXImLCBzaXplX3Qgc2l6ZUlu
Qnl0ZXMpOwogCiAgICAgdm9pZCB0cmFja0FsbG9jYXRpb25zKE1ldGFBbGxvY2F0b3JUcmFja2Vy
KiB0cmFja2VyKQogICAgIHsKQEAgLTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgICAgICBMb2Nr
ZXIgbG9ja2VyIHsgbV9sb2NrIH07CiAgICAgICAgIHJldHVybiBjdXJyZW50U3RhdGlzdGljcyhs
b2NrZXIpOwogICAgIH0KLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgU3RhdGlzdGljcyBjdXJyZW50
U3RhdGlzdGljcyhjb25zdCBMb2NrSG9sZGVyJik7CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIFN0
YXRpc3RpY3MgY3VycmVudFN0YXRpc3RpY3MoY29uc3QgVW5jaGVja2VkTG9ja0hvbGRlciYpOwog
CiAgICAgLy8gQWRkIG1vcmUgZnJlZSBzcGFjZSB0byB0aGUgYWxsb2NhdG9yLiBDYWxsIHRoaXMg
ZGlyZWN0bHkgZnJvbQogICAgIC8vIHRoZSBjb25zdHJ1Y3RvciBpZiB5b3Ugd2lzaCB0byBvcGVy
YXRlIHRoZSBhbGxvY2F0b3Igd2l0aGluIGEKQEAgLTEzNCw3ICsxMzQsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgLy8gYXMgdGhlcmUgYXJlIEhhbmRsZXMgdGhhdCByZWZlciB0byBpdC4KIAogICAgIC8v
IFJlbGVhc2UgYSBNZXRhQWxsb2NhdG9ySGFuZGxlLgotICAgIFdURl9FWFBPUlRfUFJJVkFURSB2
aXJ0dWFsIHZvaWQgcmVsZWFzZShjb25zdCBMb2NrSG9sZGVyJiwgTWV0YUFsbG9jYXRvckhhbmRs
ZSYpOworICAgIFdURl9FWFBPUlRfUFJJVkFURSB2aXJ0dWFsIHZvaWQgcmVsZWFzZShjb25zdCBV
bmNoZWNrZWRMb2NrSG9sZGVyJiwgTWV0YUFsbG9jYXRvckhhbmRsZSYpOwogcHJpdmF0ZToKICAg
ICAKICAgICBmcmllbmQgY2xhc3MgTWV0YUFsbG9jYXRvckhhbmRsZTsKQEAgLTE5Nyw3ICsxOTcs
NyBAQCBwcml2YXRlOgogICAgIHNpemVfdCBtX2J5dGVzUmVzZXJ2ZWQ7CiAgICAgc2l6ZV90IG1f
Ynl0ZXNDb21taXR0ZWQ7CiAgICAgCi0gICAgTG9jayYgbV9sb2NrOworICAgIFVuY2hlY2tlZExv
Y2smIG1fbG9jazsKIAogICAgIE1ldGFBbGxvY2F0b3JUcmFja2VyKiBtX3RyYWNrZXIgeyBudWxs
cHRyIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL09TTG9nUHJpbnRTdHJlYW0uaCBi
L1NvdXJjZS9XVEYvd3RmL09TTG9nUHJpbnRTdHJlYW0uaAppbmRleCBkMGZmNTRiMzExNDFhNWM0
OWU2MGJlMzYyYWExYjEwOTUxNTExYThkLi5kMDhkNTdhMTkwZDE1MmE2ZTBiZDczZjY1NTVmZjFi
MzUzMzkwYmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9PU0xvZ1ByaW50U3RyZWFtLmgK
KysrIGIvU291cmNlL1dURi93dGYvT1NMb2dQcmludFN0cmVhbS5oCkBAIC0yNyw3ICsyNyw3IEBA
CiAKICNpZiBPUyhEQVJXSU4pCiAKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNs
dWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9QcmludFN0cmVhbS5oPgogI2luY2x1ZGUg
PHd0Zi9SZWN1cnNpdmVMb2NrQWRhcHRlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KQEAgLTQ5LDcgKzQ5LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBvc19sb2dfdCBtX2xv
ZzsKICAgICBvc19sb2dfdHlwZV90IG1fbG9nVHlwZTsKLSAgICBDaGVja2VkTG9jayBtX3N0cmlu
Z0xvY2s7CisgICAgTG9jayBtX3N0cmluZ0xvY2s7CiAgICAgLy8gV2UgbmVlZCBhIGJ1ZmZlciBi
ZWNhdXNlIG9zX2xvZyBkb2Vzbid0IHdhaXQgZm9yIGEgbmV3IGxpbmUgdG8gcHJpbnQgdGhlIGNo
YXJhY3RlcnMuCiAgICAgQ1N0cmluZyBtX3N0cmluZyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fc3Ry
aW5nTG9jayk7CiAgICAgc2l6ZV90IG1fb2Zmc2V0IHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvUGFyYWxsZWxIZWxwZXJQb29sLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1BhcmFsbGVs
SGVscGVyUG9vbC5jcHAKaW5kZXggNDQzZDczMTNlNmJhZDAyODQzNDllNjEwN2YyMDM5N2Y5M2Y0
M2E4ZC4uYzczNDY4NTU5MzE0ZDA5NzAwYmRkOGE1ZDBhNTUyMDFlMGQ1MGM5YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvUGFyYWxsZWxIZWxwZXJQb29sLmNwcAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9QYXJhbGxlbEhlbHBlclBvb2wuY3BwCkBAIC0xMjIsNyArMTIyLDcgQEAgdm9pZCBQYXJh
bGxlbEhlbHBlckNsaWVudDo6cnVuVGFzayhjb25zdCBSZWZQdHI8U2hhcmVkVGFzazx2b2lkICgp
Pj4mIHRhc2spCiB9CiAKIFBhcmFsbGVsSGVscGVyUG9vbDo6UGFyYWxsZWxIZWxwZXJQb29sKENT
dHJpbmcmJiB0aHJlYWROYW1lKQotICAgIDogbV9sb2NrKEJveDxMb2NrPjo6Y3JlYXRlKCkpCisg
ICAgOiBtX2xvY2soQm94PFVuY2hlY2tlZExvY2s+OjpjcmVhdGUoKSkKICAgICAsIG1fd29ya0F2
YWlsYWJsZUNvbmRpdGlvbihBdXRvbWF0aWNUaHJlYWRDb25kaXRpb246OmNyZWF0ZSgpKQogICAg
ICwgbV90aHJlYWROYW1lKFdURk1vdmUodGhyZWFkTmFtZSkpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QYXJhbGxlbEhlbHBlclBvb2wuaCBiL1NvdXJjZS9XVEYvd3RmL1BhcmFsbGVs
SGVscGVyUG9vbC5oCmluZGV4IDFlNzU5OWM4M2Q2NzEyMWM3ZTZiZmU4N2NjYTkxZWY2Y2U4NmU0
MDcuLjY2NGZhZGU4NTM5OTNhYjRiMDU5NTQ4NzIyMTRmMzg3YzlhNmQwNTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL1BhcmFsbGVsSGVscGVyUG9vbC5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BhcmFsbGVsSGVscGVyUG9vbC5oCkBAIC0xOTksOSArMTk5LDkgQEAgcHJpdmF0ZToKICAgICBQ
YXJhbGxlbEhlbHBlckNsaWVudCogZ2V0Q2xpZW50V2l0aFRhc2soY29uc3QgQWJzdHJhY3RMb2Nr
ZXImKTsKICAgICBQYXJhbGxlbEhlbHBlckNsaWVudCogd2FpdEZvckNsaWVudFdpdGhUYXNrKGNv
bnN0IEFic3RyYWN0TG9ja2VyJik7CiAgICAgCi0gICAgQm94PExvY2s+IG1fbG9jazsgLy8gQXV0
b21hdGljVGhyZWFkIHdhbnRzIHRoaXMgaW4gYSBib3ggZm9yIHNhZmV0eS4KKyAgICBCb3g8VW5j
aGVja2VkTG9jaz4gbV9sb2NrOyAvLyBBdXRvbWF0aWNUaHJlYWQgd2FudHMgdGhpcyBpbiBhIGJv
eCBmb3Igc2FmZXR5LgogICAgIFJlZjxBdXRvbWF0aWNUaHJlYWRDb25kaXRpb24+IG1fd29ya0F2
YWlsYWJsZUNvbmRpdGlvbjsKLSAgICBDb25kaXRpb24gbV93b3JrQ29tcGxldGVDb25kaXRpb247
CisgICAgVW5jaGVja2VkQ29uZGl0aW9uIG1fd29ya0NvbXBsZXRlQ29uZGl0aW9uOwogCiAgICAg
V2Vha1JhbmRvbSBtX3JhbmRvbTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1Bh
cmFsbGVsSm9ic0dlbmVyaWMuaCBiL1NvdXJjZS9XVEYvd3RmL1BhcmFsbGVsSm9ic0dlbmVyaWMu
aAppbmRleCAyOTUxYWYxMTIyYWI3OGQxOWU3ZjQwMGU3NGIzMjJlNjgxOGRlNDM5Li41YWE2MWI2
ZDgwODY1MmZiY2U5MzY3ZjNlYzMxNjg0OGNkZWQ5MDEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9QYXJhbGxlbEpvYnNHZW5lcmljLmgKKysrIGIvU291cmNlL1dURi93dGYvUGFyYWxsZWxK
b2JzR2VuZXJpYy5oCkBAIC0zMCw4ICszMCw4IEBACiAKICNpZiBFTkFCTEUoVEhSRUFESU5HX0dF
TkVSSUMpCiAKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgotI2luY2x1ZGUgPHd0
Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4KKyNpbmNsdWRlIDx3
dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1Ro
cmVhZGluZy5oPgogCkBAIC02NSw4ICs2NSw4IEBAIHB1YmxpYzoKICAgICAgICAgfQogCiAgICAg
cHJpdmF0ZToKLSAgICAgICAgbXV0YWJsZSBDaGVja2VkTG9jayBtX2xvY2s7Ci0gICAgICAgIENo
ZWNrZWRDb25kaXRpb24gbV90aHJlYWRDb25kaXRpb247CisgICAgICAgIG11dGFibGUgTG9jayBt
X2xvY2s7CisgICAgICAgIENvbmRpdGlvbiBtX3RocmVhZENvbmRpdGlvbjsKIAogICAgICAgICBS
ZWZQdHI8VGhyZWFkPiBtX3RocmVhZDsKICAgICAgICAgYm9vbCBtX3J1bm5pbmcgeyBmYWxzZSB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGFyYWxsZWxWZWN0b3JJdGVyYXRvci5oIGIv
U291cmNlL1dURi93dGYvUGFyYWxsZWxWZWN0b3JJdGVyYXRvci5oCmluZGV4IGRiYTM3MDY2ZGIz
ZWQzYjNlYWNiNmU3NjFlMTRkNWJiNTI0ZmZjMTYuLmVmN2FlYmY5NjhlMmFhMzZjMjQ3MzI3ZDg1
NmY1MTNkMGViYjNkN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BhcmFsbGVsVmVjdG9y
SXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QYXJhbGxlbFZlY3Rvckl0ZXJhdG9yLmgK
QEAgLTI1LDggKzI1LDggQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlIDx3dGYvQ2hlY2tl
ZExvY2suaD4KICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgorI2luY2x1ZGUgPHd0Zi9Mb2Nr
Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewpAQCAt
NjcsNyArNjcsNyBAQCBwdWJsaWM6CiAgICAgICAgIH0KICAgICB9CiBwcml2YXRlOgotICAgIENo
ZWNrZWRMb2NrIG1fbG9jazsKKyAgICBMb2NrIG1fbG9jazsKICAgICBWZWN0b3JUeXBlJiBtX3Zl
Y3RvciBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CiAgICAgc2l6ZV90IG1fc2hhcmRTaXpl
IFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKICAgICBzaXplX3QgbV9uZXh0IFdURl9HVUFS
REVEX0JZX0xPQ0sobV9sb2NrKSB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1Jl
YWRXcml0ZUxvY2suaCBiL1NvdXJjZS9XVEYvd3RmL1JlYWRXcml0ZUxvY2suaAppbmRleCAxMGYz
YjU3YTU5M2ZhZGJmMWRiMzMxNGQyZDBhYTQ1YTY1MmEyMzA0Li4wNDMzMjc1MjVlNGYyYzA2ZmU5
MGI0NDgzYjcxMTZiMjBiODdhZDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SZWFkV3Jp
dGVMb2NrLmgKKysrIGIvU291cmNlL1dURi93dGYvUmVhZFdyaXRlTG9jay5oCkBAIC0yNSw4ICsy
NSw4IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRDb25kaXRpb24u
aD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvQ29uZGl0aW9u
Lmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKQEAgLTYxLDgg
KzYxLDggQEAgcHVibGljOgogICAgIFdyaXRlTG9jayYgd3JpdGUoKTsKIAogcHJpdmF0ZToKLSAg
ICBDaGVja2VkTG9jayBtX2xvY2s7Ci0gICAgQ2hlY2tlZENvbmRpdGlvbiBtX2NvbmQ7CisgICAg
TG9jayBtX2xvY2s7CisgICAgQ29uZGl0aW9uIG1fY29uZDsKICAgICBib29sIG1faXNXcml0ZUxv
Y2tlZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jaykgeyBmYWxzZSB9OwogICAgIHVuc2lnbmVk
IG1fbnVtUmVhZGVycyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jaykgeyAwIH07CiAgICAgdW5z
aWduZWQgbV9udW1XYWl0aW5nV3JpdGVycyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jaykgeyAw
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SZWN1cnNpdmVMb2NrQWRhcHRlci5oIGIv
U291cmNlL1dURi93dGYvUmVjdXJzaXZlTG9ja0FkYXB0ZXIuaAppbmRleCAxZWUxMmQ0MTk0NzI2
ZDIzMjQ5MmQ2NTQ0NDE2ZWY2NjE0OGJkNjZhLi5jYTdiYzQ1NTQ0N2IxNTIyMDdjZTFhYjdmMGNi
NDRkNGVkMThlOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SZWN1cnNpdmVMb2NrQWRh
cHRlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JlY3Vyc2l2ZUxvY2tBZGFwdGVyLmgKQEAgLTg5
LDcgKzg5LDcgQEAgcHJpdmF0ZToKICAgICBMb2NrVHlwZSBtX2xvY2s7CiB9OwogCi11c2luZyBS
ZWN1cnNpdmVMb2NrID0gUmVjdXJzaXZlTG9ja0FkYXB0ZXI8TG9jaz47Cit1c2luZyBSZWN1cnNp
dmVMb2NrID0gUmVjdXJzaXZlTG9ja0FkYXB0ZXI8VW5jaGVja2VkTG9jaz47CiAKIH0gLy8gbmFt
ZXNwYWNlIFdURgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9SdW5Mb29wLmgKaW5kZXggZTQzNmJmMjM5YWJjMjJmMTJlOGVkNDAzYjk5NWNm
OGI4NmM1M2U4NS4uNzE0YmNkYmFhNmExZTk0OWNkYzc3NTgzN2Y1NjQ1ODY5NDg2ZjY0NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1J1
bkxvb3AuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPGZ1
bmN0aW9uYWw+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRDb25kaXRpb24uaD4KLSNpbmNsdWRlIDx3
dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvQ29uZGl0aW9uLmg+CiAjaW5jbHVkZSA8
d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvRnVu
Y3Rpb25EaXNwYXRjaGVyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3
dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9PYnNlcnZlci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRh
aW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgpAQCAtMjE3LDcgKzIxNyw3IEBAIHBy
aXZhdGU6CiAKICAgICBEZXF1ZTxGdW5jdGlvbjx2b2lkKCk+PiBtX2N1cnJlbnRJdGVyYXRpb247
CiAKLSAgICBDaGVja2VkTG9jayBtX25leHRJdGVyYXRpb25Mb2NrOworICAgIExvY2sgbV9uZXh0
SXRlcmF0aW9uTG9jazsKICAgICBEZXF1ZTxGdW5jdGlvbjx2b2lkKCk+PiBtX25leHRJdGVyYXRp
b24gV1RGX0dVQVJERURfQllfTE9DSyhtX25leHRJdGVyYXRpb25Mb2NrKTsKIAogICAgIGJvb2wg
bV9pc0Z1bmN0aW9uRGlzcGF0Y2hTdXNwZW5kZWQgeyBmYWxzZSB9OwpAQCAtMjI4LDcgKzIyOCw3
IEBAIHByaXZhdGU6CiAgICAgTFJFU1VMVCB3bmRQcm9jKEhXTkQgaFduZCwgVUlOVCBtZXNzYWdl
LCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKTsKICAgICBIV05EIG1fcnVuTG9vcE1lc3Nh
Z2VXaW5kb3c7CiAKLSAgICBDaGVja2VkTG9jayBtX2xvb3BMb2NrOworICAgIExvY2sgbV9sb29w
TG9jazsKICNlbGlmIFVTRShDT0NPQV9FVkVOVF9MT09QKQogICAgIHN0YXRpYyB2b2lkIHBlcmZv
cm1Xb3JrKHZvaWQqKTsKICAgICBSZXRhaW5QdHI8Q0ZSdW5Mb29wUmVmPiBtX3J1bkxvb3A7CkBA
IC0yNjEsOSArMjYxLDkgQEAgcHJpdmF0ZToKIAogICAgIGZyaWVuZCBjbGFzcyBUaW1lckJhc2U7
CiAKLSAgICBDaGVja2VkTG9jayBtX2xvb3BMb2NrOworICAgIExvY2sgbV9sb29wTG9jazsKICAg
ICBDb25kaXRpb24gbV9yZWFkeVRvUnVuOwotICAgIENoZWNrZWRDb25kaXRpb24gbV9zdG9wQ29u
ZGl0aW9uOworICAgIENvbmRpdGlvbiBtX3N0b3BDb25kaXRpb247CiAgICAgVmVjdG9yPFJlZlB0
cjxUaW1lckJhc2U6OlNjaGVkdWxlZFRhc2s+PiBtX3NjaGVkdWxlczsKICAgICBWZWN0b3I8U3Rh
dHVzKj4gbV9tYWluTG9vcHM7CiAgICAgYm9vbCBtX3NodXRkb3duIHsgZmFsc2UgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL1N5bmNocm9uaXplZEZpeGVkUXVldWUuaCBiL1NvdXJjZS9X
VEYvd3RmL1N5bmNocm9uaXplZEZpeGVkUXVldWUuaAppbmRleCBiMzkwZGUzOTRmZDJlMjM3NGU1
NjY0MzEzMjM5OWJlNzM1NTE2OTc4Li4xMzZkMGQwNjZkYTA5M2M2NjVmMmUyZTY2NmMwN2FkZDYw
NzJhNzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9TeW5jaHJvbml6ZWRGaXhlZFF1ZXVl
LmgKKysrIGIvU291cmNlL1dURi93dGYvU3luY2hyb25pemVkRml4ZWRRdWV1ZS5oCkBAIC0yNSw5
ICsyNSw5IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRDb25kaXRp
b24uaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvQ29uZGl0
aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNp
bmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdURiB7CkBA
IC0xMTksOCArMTE5LDggQEAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljX2Fzc2VydCghKChCdWZm
ZXJTaXplIC0gMSkgJiBCdWZmZXJTaXplKSwgIkJ1ZmZlclNpemUgbXVzdCBiZSBwb3dlciBvZiAy
LiIpOwogICAgIH0KIAotICAgIENoZWNrZWRMb2NrIG1fbG9jazsKLSAgICBDaGVja2VkQ29uZGl0
aW9uIG1fY29uZGl0aW9uOworICAgIExvY2sgbV9sb2NrOworICAgIENvbmRpdGlvbiBtX2NvbmRp
dGlvbjsKIAogICAgIGJvb2wgbV9vcGVuIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKSB7IHRy
dWUgfTsKICAgICBEZXF1ZTxULCBCdWZmZXJTaXplPiBtX3F1ZXVlIFdURl9HVUFSREVEX0JZX0xP
Q0sobV9sb2NrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAgYi9T
b3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwCmluZGV4IGQ1NjQyYTgyMDY3MDU4NGU3NTdkNjNh
ZjIwY2QzYzA3ZTU1NzMzNGEuLmFmMDhjYmU3YjVkODkzODgwN2E3ZTEwOTJiZmZmOTI3ZjBhMjhh
YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAKKysrIGIvU291cmNl
L1dURi93dGYvVGhyZWFkaW5nLmNwcApAQCAtNDEsNyArNDEsNyBAQAogCiBuYW1lc3BhY2UgV1RG
IHsKIAotQ2hlY2tlZExvY2sgVGhyZWFkOjpzX2FsbFRocmVhZHNMb2NrOworTG9jayBUaHJlYWQ6
OnNfYWxsVGhyZWFkc0xvY2s7CiAKIHN0YXRpYyBPcHRpb25hbDxzaXplX3Q+IHN0YWNrU2l6ZShU
aHJlYWRUeXBlIHRocmVhZFR5cGUpCiB7CkBAIC0xMDMsNyArMTAzLDcgQEAgSGFzaFNldDxUaHJl
YWQqPiYgVGhyZWFkOjphbGxUaHJlYWRzKCkKICAgICByZXR1cm4gYWxsVGhyZWFkczsKIH0KIAot
Q2hlY2tlZExvY2smIFRocmVhZDo6YWxsVGhyZWFkc0xvY2soKQorTG9jayYgVGhyZWFkOjphbGxU
aHJlYWRzTG9jaygpCiB7CiAgICAgcmV0dXJuIHNfYWxsVGhyZWFkc0xvY2s7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaCBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGlu
Zy5oCmluZGV4IGM0MmUzMDRmMzJiYjRmNzgyYjY4MjIxMjFkMzA1YjY5OWExMzJmNDMuLjk4MDA1
NTIwZTUxNjliOWQyMjk5NjExZmY2YTU4NjBkOGMyMTFiZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1RocmVhZGluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5oCkBAIC0z
MywxMiArMzMsMTIgQEAKICNpbmNsdWRlIDxtdXRleD4KICNpbmNsdWRlIDxzdGRpbnQuaD4KICNp
bmNsdWRlIDx3dGYvQXRvbWljcy5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2lu
Y2x1ZGUgPHd0Zi9FeHBlY3RlZC5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0VExTLmg+CiAjaW5jbHVk
ZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1BsYXRm
b3JtUmVnaXN0ZXJzLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KQEAgLTExOCw3ICsxMTgsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBTZXQgb2YgYWxsIFdU
Rjo6VGhyZWFkIGNyZWF0ZWQgdGhyZWFkcy4KICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGlj
IEhhc2hTZXQ8VGhyZWFkKj4mIGFsbFRocmVhZHMoKSBXVEZfUkVRVUlSRVNfTE9DSyhhbGxUaHJl
YWRzTG9jaygpKTsKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIENoZWNrZWRMb2NrJiBh
bGxUaHJlYWRzTG9jaygpIFdURl9SRVRVUk5TX0xPQ0soc19hbGxUaHJlYWRzTG9jayk7CisgICAg
V1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBMb2NrJiBhbGxUaHJlYWRzTG9jaygpIFdURl9SRVRV
Uk5TX0xPQ0soc19hbGxUaHJlYWRzTG9jayk7CiAKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdW5z
aWduZWQgbnVtYmVyT2ZUaHJlYWRHcm91cHMoKTsKIApAQCAtMzI5LDcgKzMyOSw3IEBAIHByb3Rl
Y3RlZDoKICAgICBzdGF0aWMgVGhyZWFkKiBjdXJyZW50TWF5QmVOdWxsKCk7CiAjZW5kaWYKIAot
ICAgIHN0YXRpYyBDaGVja2VkTG9jayBzX2FsbFRocmVhZHNMb2NrOworICAgIHN0YXRpYyBMb2Nr
IHNfYWxsVGhyZWFkc0xvY2s7CiAKICAgICBKb2luYWJsZVN0YXRlIG1fam9pbmFibGVTdGF0ZSB7
IEpvaW5hYmxlIH07CiAgICAgYm9vbCBtX2lzU2h1dHRpbmdEb3duIDogMTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1RpbWluZ1Njb3BlLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1RpbWluZ1Nj
b3BlLmNwcAppbmRleCA2MzExNjY0MGFkZWY0Y2Q5MjBlMjE5N2Q3NWZlNTQxNjRhOGVjNDVlLi41
ZmM3NzRlYmY0ZjI0OGI1NTEzNmZlYWJiZWVhMGMxODNlYWM3MzIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9UaW1pbmdTY29wZS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvVGltaW5nU2Nv
cGUuY3BwCkBAIC0yNiw4ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSA8
d3RmL1RpbWluZ1Njb3BlLmg+CiAKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewogCkBAIC02MCw3ICs2MCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBIYXNoTWFw
PGNvbnN0IGNoYXIqLCBDYWxsRGF0YT4gdG90YWxzIFdURl9HVUFSREVEX0JZX0xPQ0sobG9jayk7
Ci0gICAgQ2hlY2tlZExvY2sgbG9jazsKKyAgICBMb2NrIGxvY2s7CiB9OwogCiBTdGF0ZSYgc3Rh
dGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVVJMLmNwcCBiL1NvdXJjZS9XVEYvd3Rm
L1VSTC5jcHAKaW5kZXggNGQ2YjBkNTVjMTBhZGI2N2QwZjFlN2VmYjNhMzU0YWE2NTc3ZDA5ZC4u
YjdhYjJmNTFjMTcyMTJkYjU1MjNlNWQ3NTZmYWI4MDVjY2IyNTU2ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvVVJMLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9VUkwuY3BwCkBAIC0zMCw4
ICszMCw4IEBACiAjaW5jbHVkZSAiVVJMUGFyc2VyLmgiCiAjaW5jbHVkZSA8c3RkaW8uaD4KICNp
bmNsdWRlIDx1bmljb2RlL3VpZG5hLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUg
PHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9QcmludFN0cmVhbS5oPgogI2lu
Y2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KQEAgLTI2OCw3ICsyNjgsNyBAQCBzdGF0aWMgdm9p
ZCBhc3NlcnRQcm90b2NvbElzR29vZChTdHJpbmdWaWV3IHByb3RvY29sKQogCiAjZW5kaWYKIAot
c3RhdGljIENoZWNrZWRMb2NrIGRlZmF1bHRQb3J0Rm9yUHJvdG9jb2xNYXBGb3JUZXN0aW5nTG9j
azsKK3N0YXRpYyBMb2NrIGRlZmF1bHRQb3J0Rm9yUHJvdG9jb2xNYXBGb3JUZXN0aW5nTG9jazsK
IAogdXNpbmcgRGVmYXVsdFBvcnRGb3JQcm90b2NvbE1hcEZvclRlc3RpbmcgPSBIYXNoTWFwPFN0
cmluZywgdWludDE2X3Q+Owogc3RhdGljIERlZmF1bHRQb3J0Rm9yUHJvdG9jb2xNYXBGb3JUZXN0
aW5nKiYgZGVmYXVsdFBvcnRGb3JQcm90b2NvbE1hcEZvclRlc3RpbmcoKSBXVEZfUkVRVUlSRVNf
TE9DSyhkZWZhdWx0UG9ydEZvclByb3RvY29sTWFwRm9yVGVzdGluZ0xvY2spCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9XVEZTZW1hcGhvcmUuaCBiL1NvdXJjZS9XVEYvd3RmL1dURlNlbWFw
aG9yZS5oCmluZGV4IDVhOTgwZjZlNjQ2MmVkNTNlZGVmOWM2MTliYTcyMDE2ZjY5MjE5YmQuLmRl
MTRhM2EwMTZlYjE2NjZlOThhMzc0MTJkNmMzYjY0ZjQyYmE4NzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL1dURlNlbWFwaG9yZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1dURlNlbWFwaG9y
ZS5oCkBAIC0yNSw4ICsyNSw4IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSA8d3RmL0No
ZWNrZWRDb25kaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRl
IDx3dGYvQ29uZGl0aW9uLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC03MSw4ICs3MSw4IEBAIHB1Ymxp
YzoKIAogcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX3ZhbHVlIFdURl9HVUFSREVEX0JZX0xPQ0so
bV9sb2NrKSB7IDAgfTsKLSAgICBDaGVja2VkTG9jayBtX2xvY2s7Ci0gICAgQ2hlY2tlZENvbmRp
dGlvbiBtX2NvbmRpdGlvbjsKKyAgICBMb2NrIG1fbG9jazsKKyAgICBDb25kaXRpb24gbV9jb25k
aXRpb247CiB9OwogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1ZS5jcHAg
Yi9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuY3BwCmluZGV4IGNjYWQ1YmU4NzVmNDA4YjAzOTI5
ZjZiMTcxYzEzZTA4NDg4MDhjMWYuLjBiZGJkNWM4YzliOTE5NDFjOWRiNzNhOGE5MWZiNTUxZjA3
NzY3MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1ZS5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvV29ya1F1ZXVlLmNwcApAQCAtMjgsMTAgKzI4LDEwIEBACiAjaW5jbHVkZSA8
d3RmL1dvcmtRdWV1ZS5oPgogCiAjaW5jbHVkZSA8bXV0ZXg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNr
ZWRDb25kaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3
dGYvQ29uZGl0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0Z1
bmN0aW9uLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvTnVtYmVyT2ZDb3Jlcy5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWYuaD4KQEAgLTEzMCw4ICsxMzAsOCBAQCB2b2lkIFdvcmtRdWV1ZTo6Y29uY3VycmVudEFwcGx5
KHNpemVfdCBpdGVyYXRpb25zLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKHNpemVfdCBpbgogICAgICAg
ICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgQ2hlY2tlZExvY2sgbV9sb2NrOwotICAgICAg
ICBDaGVja2VkQ29uZGl0aW9uIG1fY29uZGl0aW9uOworICAgICAgICBMb2NrIG1fbG9jazsKKyAg
ICAgICAgQ29uZGl0aW9uIG1fY29uZGl0aW9uOwogICAgICAgICBEZXF1ZTxjb25zdCBGdW5jdGlv
bjx2b2lkKCk+Kj4gbV9xdWV1ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CiAKICAgICAg
ICAgVmVjdG9yPFJlZjxUaHJlYWQ+PiBtX3dvcmtlcnM7CkBAIC0xNDksOCArMTQ5LDggQEAgdm9p
ZCBXb3JrUXVldWU6OmNvbmN1cnJlbnRBcHBseShzaXplX3QgaXRlcmF0aW9ucywgV1RGOjpGdW5j
dGlvbjx2b2lkIChzaXplX3QgaW4KICAgICBzdGQ6OmF0b21pYzxzaXplX3Q+IGN1cnJlbnRJbmRl
eCgwKTsKICAgICBzdGQ6OmF0b21pYzxzaXplX3Q+IGFjdGl2ZVRocmVhZHMod29ya2VyQ291bnQg
KyAxKTsKIAotICAgIENoZWNrZWRDb25kaXRpb24gY29uZGl0aW9uOwotICAgIENoZWNrZWRMb2Nr
IGxvY2s7CisgICAgQ29uZGl0aW9uIGNvbmRpdGlvbjsKKyAgICBMb2NrIGxvY2s7CiAKICAgICBG
dW5jdGlvbjx2b2lkICgpPiBhcHBsaWVyID0gWyYsIGZ1bmN0aW9uID0gV1RGTW92ZShmdW5jdGlv
bildIHsKICAgICAgICAgc2l6ZV90IGluZGV4OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
V29ya2VyUG9vbC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9Xb3JrZXJQb29sLmNwcAppbmRleCA4YTlj
MWZkYTc0YTczYjJjNWFiNWNkYTJkOGU0NjA5YWJlODBhMzBiLi4yMTlkYmYxNTFkNjYzN2M2N2Ez
ZTQ3NmZkMTNlM2QxYjg4YjQzNTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Xb3JrZXJQ
b29sLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Xb3JrZXJQb29sLmNwcApAQCAtMzIsNyArMzIs
NyBAQCBjbGFzcyBXb3JrZXJQb29sOjpXb3JrZXIgZmluYWwgOiBwdWJsaWMgQXV0b21hdGljVGhy
ZWFkIHsKIHB1YmxpYzoKICAgICBmcmllbmQgY2xhc3MgV29ya2VyUG9vbDsKIAotICAgIFdvcmtl
cihjb25zdCBBYnN0cmFjdExvY2tlciYgbG9ja2VyLCBXb3JrZXJQb29sJiBwb29sLCBCb3g8TG9j
az4gbG9jaywgUmVmPEF1dG9tYXRpY1RocmVhZENvbmRpdGlvbj4mJiBjb25kaXRpb24sIFNlY29u
ZHMgdGltZW91dCkKKyAgICBXb3JrZXIoY29uc3QgQWJzdHJhY3RMb2NrZXImIGxvY2tlciwgV29y
a2VyUG9vbCYgcG9vbCwgQm94PFVuY2hlY2tlZExvY2s+IGxvY2ssIFJlZjxBdXRvbWF0aWNUaHJl
YWRDb25kaXRpb24+JiYgY29uZGl0aW9uLCBTZWNvbmRzIHRpbWVvdXQpCiAgICAgICAgIDogQXV0
b21hdGljVGhyZWFkKGxvY2tlciwgbG9jaywgV1RGTW92ZShjb25kaXRpb24pLCB0aW1lb3V0KQog
ICAgICAgICAsIG1fcG9vbChwb29sKQogICAgIHsKQEAgLTgyLDcgKzgyLDcgQEAgcHJpdmF0ZToK
IH07CiAKIFdvcmtlclBvb2w6OldvcmtlclBvb2woQVNDSUlMaXRlcmFsIG5hbWUsIHVuc2lnbmVk
IG51bWJlck9mV29ya2VycywgU2Vjb25kcyB0aW1lb3V0KQotICAgIDogbV9sb2NrKEJveDxMb2Nr
Pjo6Y3JlYXRlKCkpCisgICAgOiBtX2xvY2soQm94PFVuY2hlY2tlZExvY2s+OjpjcmVhdGUoKSkK
ICAgICAsIG1fY29uZGl0aW9uKEF1dG9tYXRpY1RocmVhZENvbmRpdGlvbjo6Y3JlYXRlKCkpCiAg
ICAgLCBtX3RpbWVvdXQodGltZW91dCkKICAgICAsIG1fbmFtZShuYW1lKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvV29ya2VyUG9vbC5oIGIvU291cmNlL1dURi93dGYvV29ya2VyUG9vbC5o
CmluZGV4IDYyMzVlNzMxZWQ3NWI4MDEyNTA5NTM1OTA2OGIwOGQ0YzFkY2ZlYzIuLjdhNDA0MmI0
NmIxNjg4MDIzZjFjZWY5ZTY0MmFiMmM0OGM4ODkzZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1dvcmtlclBvb2wuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Xb3JrZXJQb29sLmgKQEAgLTU3
LDcgKzU3LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgc2hvdWxkU2xlZXAoY29uc3QgQWJzdHJh
Y3RMb2NrZXImKTsKIAotICAgIEJveDxMb2NrPiBtX2xvY2s7CisgICAgQm94PFVuY2hlY2tlZExv
Y2s+IG1fbG9jazsKICAgICBSZWY8QXV0b21hdGljVGhyZWFkQ29uZGl0aW9uPiBtX2NvbmRpdGlv
bjsKICAgICBTZWNvbmRzIG1fdGltZW91dDsKICAgICBNb25vdG9uaWNUaW1lIG1fbGFzdFRpbWVv
dXRUaW1lIHsgTW9ub3RvbmljVGltZTo6bmFuKCkgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL2NmL0xhbmd1YWdlQ0YuY3BwIGIvU291cmNlL1dURi93dGYvY2YvTGFuZ3VhZ2VDRi5jcHAK
aW5kZXggZTA3MzExNTQyOTFiZmQwN2M0Y2MxNmRhMDQyYWFhZGI1OWM5ZTNiMS4uOTFjZDkxYTJm
MGMxMTRmNjY3MWJiODI0MTk0MmJiNzAzYmFlNzQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvY2YvTGFuZ3VhZ2VDRi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvY2YvTGFuZ3VhZ2VDRi5j
cHAKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlIDxtdXRleD4KICNpbmNsdWRlIDx1bmljb2Rl
L3Vsb2MuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9DaGVj
a2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVz
dHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9zcGkv
Y2YvQ0ZCdW5kbGVTUEkuaD4KQEAgLTM4LDcgKzM4LDcgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAK
LXN0YXRpYyBDaGVja2VkTG9jayBwcmVmZXJyZWRMYW5ndWFnZXNMb2NrOworc3RhdGljIExvY2sg
cHJlZmVycmVkTGFuZ3VhZ2VzTG9jazsKIAogI2lmIFBMQVRGT1JNKE1BQykKIHN0YXRpYyB2b2lk
IGxhbmd1YWdlUHJlZmVyZW5jZXNEaWRDaGFuZ2UoQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZv
aWQqLCBDRlN0cmluZ1JlZiwgY29uc3Qgdm9pZCosIENGRGljdGlvbmFyeVJlZikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbVN0cmluZ0ltcGwuY3BwIGIvU291cmNlL1dURi93
dGYvdGV4dC9BdG9tU3RyaW5nSW1wbC5jcHAKaW5kZXggYTAyOGU0MmEzNDY0MTk2ZmRhODc0M2Y3
MTI3ZDhiNzNiM2QxYzI4Yy4uMDA5ZTJhMThmZmQyYTRhNDc0YTFlZGRmNTU4ZjZlY2FiODI3OTM0
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9tU3RyaW5nSW1wbC5jcHAKKysr
IGIvU291cmNlL1dURi93dGYvdGV4dC9BdG9tU3RyaW5nSW1wbC5jcHAKQEAgLTQ1LDcgKzQ1LDcg
QEAgY2xhc3MgQXRvbVN0cmluZ1RhYmxlTG9ja2VyIDogcHVibGljIExvY2tIb2xkZXIgewogICAg
IHN0YXRpYyBMb2NrIHNfc3RyaW5nVGFibGVMb2NrOwogcHVibGljOgogICAgIEF0b21TdHJpbmdU
YWJsZUxvY2tlcigpCi0gICAgICAgIDogTG9ja0hvbGRlcigmc19zdHJpbmdUYWJsZUxvY2spCisg
ICAgICAgIDogTG9ja0hvbGRlcihzX3N0cmluZ1RhYmxlTG9jaykKICAgICB7CiAgICAgfQogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nVmlldy5jcHAgYi9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1N0cmluZ1ZpZXcuY3BwCmluZGV4IDNlODQ2M2Y0OTMwODllMzVhZDk3NDMw
ZDU4MzE5YjYzMWNkNDU2NmIuLjM3NTY5MWVhYzg2ZDM0YjBkOGRjMjA0OWJkMDdjZmM0ZWRkZDc4
ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nVmlldy5jcHAKKysrIGIv
U291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdWaWV3LmNwcApAQCAtMzAsOCArMzAsOCBAQCBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICNpbmNsdWRlIDx1bmljb2RlL3VicmsuaD4KICNpbmNsdWRlIDx1bmljb2RlL3Vub3JtMi5oPgog
I2luY2x1ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1
ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ1RvSW50ZWdlckNv
bnZlcnNpb24uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0QnJlYWtJdGVyYXRvci5oPgpAQCAt
MzYwLDcgKzM2MCw3IEBAIFN0cmluZ1ZpZXc6OlVuZGVybHlpbmdTdHJpbmc6OlVuZGVybHlpbmdT
dHJpbmcoY29uc3QgU3RyaW5nSW1wbCYgc3RyaW5nKQogewogfQogCi1zdGF0aWMgQ2hlY2tlZExv
Y2sgdW5kZXJseWluZ1N0cmluZ3NMb2NrOworc3RhdGljIExvY2sgdW5kZXJseWluZ1N0cmluZ3NM
b2NrOwogCiBzdGF0aWMgSGFzaE1hcDxjb25zdCBTdHJpbmdJbXBsKiwgU3RyaW5nVmlldzo6VW5k
ZXJseWluZ1N0cmluZyo+JiB1bmRlcmx5aW5nU3RyaW5ncygpIFdURl9SRVFVSVJFU19MT0NLKHVu
ZGVybHlpbmdTdHJpbmdzTG9jaykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RocmVh
ZHMvQmluYXJ5U2VtYXBob3JlLmggYi9Tb3VyY2UvV1RGL3d0Zi90aHJlYWRzL0JpbmFyeVNlbWFw
aG9yZS5oCmluZGV4IDMyODY1MThlNzIzMzUzMzEwZDY4ODZhOWE4ZmFhZTcyYzExMWQ2OWUuLjM4
OWNlNzNhZjFlNDE1Yjc5NjcxOWZhNGJlMDg0YWY0N2JlYzU0ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL3RocmVhZHMvQmluYXJ5U2VtYXBob3JlLmgKKysrIGIvU291cmNlL1dURi93dGYv
dGhyZWFkcy9CaW5hcnlTZW1hcGhvcmUuaApAQCAtMjUsOCArMjUsOCBAQAogCiAjcHJhZ21hIG9u
Y2UKIAotI2luY2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL0No
ZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0NvbmRpdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9M
b2NrLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RpbWVX
aXRoRHluYW1pY0Nsb2NrVHlwZS5oPgogCkBAIC01Myw4ICs1Myw4IEBAIHB1YmxpYzoKIAogcHJp
dmF0ZToKICAgICBib29sIG1faXNTZXQgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsgZmFs
c2UgfTsKLSAgICBDaGVja2VkTG9jayBtX2xvY2s7Ci0gICAgQ2hlY2tlZENvbmRpdGlvbiBtX2Nv
bmRpdGlvbjsKKyAgICBMb2NrIG1fbG9jazsKKyAgICBDb25kaXRpb24gbV9jb25kaXRpb247CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3VuaWNv
ZGUvaWN1L0NvbGxhdG9ySUNVLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvaWN1L0NvbGxh
dG9ySUNVLmNwcAppbmRleCBmMTdlMDI1OWFjYmFjZDE3MmU2ZWY3MzZhZWM4OTZhNmUyOWJhYTA4
Li4yODkwMWNkNDEyNzNkZTllMGE3NTM4ZjM1MmUxY2E4MDUwZTc4YTRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi91bmljb2RlL2ljdS9Db2xsYXRvcklDVS5jcHAKKysrIGIvU291cmNlL1dU
Ri93dGYvdW5pY29kZS9pY3UvQ29sbGF0b3JJQ1UuY3BwCkBAIC0zNSw3ICszNSw3IEBACiAKICNp
bmNsdWRlIDxtdXRleD4KICNpbmNsdWRlIDx1bmljb2RlL3Vjb2wuaD4KLSNpbmNsdWRlIDx3dGYv
Q2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ1ZpZXcuaD4KIAogI2lmIE9TKERBUldJTikgJiYgVVNFKENGKQpAQCAtNDUsNyArNDUs
NyBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotc3RhdGljIENoZWNrZWRMb2NrIGNhY2hlZENvbGxh
dG9yTG9jazsKK3N0YXRpYyBMb2NrIGNhY2hlZENvbGxhdG9yTG9jazsKIHN0YXRpYyBVQ29sbGF0
b3IqIGNhY2hlZENvbGxhdG9yIFdURl9HVUFSREVEX0JZX0xPQ0soY2FjaGVkQ29sbGF0b3JMb2Nr
KTsKIHN0YXRpYyBjaGFyKiBjYWNoZWRDb2xsYXRvckxvY2FsZTsKIHN0YXRpYyBib29sIGNhY2hl
ZENvbGxhdG9yU2hvdWxkU29ydExvd2VyY2FzZUZpcnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmgKaW5kZXggNGUwYmVlNjI4NGVkN2I5
Yzc2NTU1ZWU4MjY5YTkyNDk5NTZiNGU3Yi4uNDU0ODIyYmM1MWYxNDEwMDc0ZmViNGY5NzJjODc0
NWI2OTZjYTg1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCT2JqZWN0U3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJPYmplY3RTdG9yZS5oCkBAIC0zMCw4ICszMCw4IEBACiAjaW5jbHVkZSAiSURCQ3Vyc29yRGly
ZWN0aW9uLmgiCiAjaW5jbHVkZSAiSURCS2V5UGF0aC5oIgogI2luY2x1ZGUgIklEQk9iamVjdFN0
b3JlSW5mby5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9J
c29NYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIGNs
YXNzIENhbGxGcmFtZTsKQEAgLTEzNCw3ICsxMzQsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBt
X2RlbGV0ZWQgeyBmYWxzZSB9OwogCi0gICAgbXV0YWJsZSBDaGVja2VkTG9jayBtX3JlZmVyZW5j
ZWRJbmRleExvY2s7CisgICAgbXV0YWJsZSBMb2NrIG1fcmVmZXJlbmNlZEluZGV4TG9jazsKICAg
ICBIYXNoTWFwPFN0cmluZywgc3RkOjp1bmlxdWVfcHRyPElEQkluZGV4Pj4gbV9yZWZlcmVuY2Vk
SW5kZXhlcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcmVmZXJlbmNlZEluZGV4TG9jayk7CiAgICAg
SGFzaE1hcDx1aW50NjRfdCwgc3RkOjp1bmlxdWVfcHRyPElEQkluZGV4Pj4gbV9kZWxldGVkSW5k
ZXhlcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcmVmZXJlbmNlZEluZGV4TG9jayk7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmgKaW5k
ZXggOGY2ZjEwZWYzYjY1YjE4Mjg5MjA4YWZlMmJhNmE1YThlYjAzYWQ0My4uNjViYzQ1M2JkODZh
YmU2YjE4Y2RjMDBiMzRlYzVmMTVkNzFmYjU4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oCkBAIC0zNiw5ICszNiw5IEBACiAjaW5j
bHVkZSAiSURCVHJhbnNhY3Rpb25Nb2RlLmgiCiAjaW5jbHVkZSAiSW5kZXhlZERCLmgiCiAjaW5j
bHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3
dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2Nr
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMjU0LDcgKzI1NCw3IEBAIHByaXZhdGU6
CiAKICAgICBIYXNoTWFwPElEQlJlc291cmNlSWRlbnRpZmllciwgUmVmUHRyPElEQkNsaWVudDo6
VHJhbnNhY3Rpb25PcGVyYXRpb24+PiBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFwOwogCi0gICAg
bXV0YWJsZSBDaGVja2VkTG9jayBtX3JlZmVyZW5jZWRPYmplY3RTdG9yZUxvY2s7CisgICAgbXV0
YWJsZSBMb2NrIG1fcmVmZXJlbmNlZE9iamVjdFN0b3JlTG9jazsKICAgICBIYXNoTWFwPFN0cmlu
Zywgc3RkOjp1bmlxdWVfcHRyPElEQk9iamVjdFN0b3JlPj4gbV9yZWZlcmVuY2VkT2JqZWN0U3Rv
cmVzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVMb2NrKTsKICAg
ICBIYXNoTWFwPHVpbnQ2NF90LCBzdGQ6OnVuaXF1ZV9wdHI8SURCT2JqZWN0U3RvcmU+PiBtX2Rl
bGV0ZWRPYmplY3RTdG9yZXM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaAppbmRleCA4NjU4Y2Zk
MmQ4YzlkYTEzN2E5MmI0Yjg2MGIwZjE4NzRiYWMyNWM5Li5iYzQzNzNmYzc1OTdlMDMyYWJiNDBi
MDI5NDg3ZDY3YzVlOGQ5MDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Qcm94eS5oCkBAIC0yOSwxMyAr
MjksMTMgQEAKICNpbmNsdWRlICJJREJEYXRhYmFzZU5hbWVBbmRWZXJzaW9uUmVxdWVzdC5oIgog
I2luY2x1ZGUgIklEQlJlc291cmNlSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlRyYW5zYWN0aW9u
T3BlcmF0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3Rm
L0Nyb3NzVGhyZWFkUXVldWUuaD4KICNpbmNsdWRlIDx3dGYvQ3Jvc3NUaHJlYWRUYXNrLmg+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KKyNpbmNsdWRl
IDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtMTU2LDEyICsx
NTYsMTIgQEAgcHJpdmF0ZToKICAgICBJREJDb25uZWN0aW9uVG9TZXJ2ZXImIG1fY29ubmVjdGlv
blRvU2VydmVyOwogICAgIElEQkNvbm5lY3Rpb25JZGVudGlmaWVyIG1fc2VydmVyQ29ubmVjdGlv
bklkZW50aWZpZXI7CiAKLSAgICBDaGVja2VkTG9jayBtX2RhdGFiYXNlQ29ubmVjdGlvbk1hcExv
Y2s7Ci0gICAgQ2hlY2tlZExvY2sgbV9vcGVuREJSZXF1ZXN0TWFwTG9jazsKLSAgICBDaGVja2Vk
TG9jayBtX3RyYW5zYWN0aW9uTWFwTG9jazsKLSAgICBDaGVja2VkTG9jayBtX3RyYW5zYWN0aW9u
T3BlcmF0aW9uTG9jazsKLSAgICBDaGVja2VkTG9jayBtX2RhdGFiYXNlSW5mb01hcExvY2s7Ci0g
ICAgQ2hlY2tlZExvY2sgbV9tYWluVGhyZWFkVGFza0xvY2s7CisgICAgTG9jayBtX2RhdGFiYXNl
Q29ubmVjdGlvbk1hcExvY2s7CisgICAgTG9jayBtX29wZW5EQlJlcXVlc3RNYXBMb2NrOworICAg
IExvY2sgbV90cmFuc2FjdGlvbk1hcExvY2s7CisgICAgTG9jayBtX3RyYW5zYWN0aW9uT3BlcmF0
aW9uTG9jazsKKyAgICBMb2NrIG1fZGF0YWJhc2VJbmZvTWFwTG9jazsKKyAgICBMb2NrIG1fbWFp
blRocmVhZFRhc2tMb2NrOwogCiAgICAgSGFzaE1hcDx1aW50NjRfdCwgSURCRGF0YWJhc2UqPiBt
X2RhdGFiYXNlQ29ubmVjdGlvbk1hcCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fZGF0YWJhc2VDb25u
ZWN0aW9uTWFwTG9jayk7CiAgICAgSGFzaE1hcDxJREJSZXNvdXJjZUlkZW50aWZpZXIsIFJlZlB0
cjxJREJPcGVuREJSZXF1ZXN0Pj4gbV9vcGVuREJSZXF1ZXN0TWFwIFdURl9HVUFSREVEX0JZX0xP
Q0sobV9vcGVuREJSZXF1ZXN0TWFwTG9jayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VyaWFsaXphdGlvbkNvbnRleHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcmlhbGl6YXRpb25Db250
ZXh0LmNwcAppbmRleCA1Mzc2ZGQ5MGVmOGNiMjM2NmYzNTZhMGQ2NWZlOGEzY2Y3Y2E3OTdmLi43
MTNiMWJjZTYyMDMyNTFmYjdjNTgxYmEzNDVlNGM2ZjBjMWExNDgzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VyaWFsaXphdGlvbkNvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJT
ZXJpYWxpemF0aW9uQ29udGV4dC5jcHAKQEAgLTI5LDEzICsyOSwxMyBAQAogI2luY2x1ZGUgIkRP
TVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKICNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9KU09iamVjdElubGluZXMuaD4KLSNpbmNsdWRlIDx3dGYvQ2hl
Y2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIG5hbWVzcGFjZSBJREJTZXJ2ZXIgewogCi1zdGF0aWMgQ2hlY2tlZExvY2sgc2VyaWFsaXph
dGlvbkNvbnRleHRNYXBMb2NrOworc3RhdGljIExvY2sgc2VyaWFsaXphdGlvbkNvbnRleHRNYXBM
b2NrOwogCiBzdGF0aWMgSGFzaE1hcDxUaHJlYWQqLCBJREJTZXJpYWxpemF0aW9uQ29udGV4dCo+
JiBzZXJpYWxpemF0aW9uQ29udGV4dE1hcCgpIFdURl9SRVFVSVJFU19MT0NLKHNlcmlhbGl6YXRp
b25Db250ZXh0TWFwTG9jaykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAKaW5kZXggMWVkZWVkMmEzZmE2MjJjNTgyMjRi
MDY4MzBhM2FiNDM0NGMwNDZjYS4uNDlkODc2NjJmY2IzYTVhZTIzZjJhN2FiNTI3ZTY1NTdjMzI2
ZWEzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L0lEQlNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL0lEQlNlcnZlci5jcHAKQEAgLTczMyw3ICs3MzMsNyBAQCB2b2lkIElEQlNlcnZlcjo6cmVu
YW1lT3JpZ2luKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgb2xkT3JpZ2luLCBj
b25zdAogICAgICAgICBGaWxlU3lzdGVtOjptb3ZlRmlsZShvbGRPcmlnaW5QYXRoLCBuZXdPcmln
aW5QYXRoKTsKIH0KIAotU3RvcmFnZVF1b3RhTWFuYWdlcjo6RGVjaXNpb24gSURCU2VydmVyOjpy
ZXF1ZXN0U3BhY2UoY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4sIHVpbnQ2NF90IHRhc2tTaXpl
KQorU3RvcmFnZVF1b3RhTWFuYWdlcjo6RGVjaXNpb24gSURCU2VydmVyOjpyZXF1ZXN0U3BhY2Uo
Y29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4sIHVpbnQ2NF90IHRhc2tTaXplKSBXVEZfSUdOT1JF
U19USFJFQURfU0FGRVRZX0FOQUxZU0lTCiB7CiAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7
CiAgICAgQVNTRVJUKG1fbG9jay5pc0hlbGQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwCmluZGV4IDExNTA2ZmJjYjk4
NDc4MmM2N2I3NWZhOWI5NTllOWY0ZDcwMGFiZTUuLjRiMWEyODQ5YjQ1ZTg1NzUwZWZkNzA1NzI3
N2I3NTBhYmU5MzY1ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwCkBAIC0zNyw4ICszNyw4IEBACiAjaW5jbHVkZSAi
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FycmF5QnVmZmVyVmlldy5oPgotI2luY2x1ZGUgPHd0Zi9D
aGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisjaW5jbHVk
ZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtMjUzLDcgKzI1Myw3IEBAIHZvaWQgUlRDRGF0YUNoYW5uZWw6OnNj
aGVkdWxlRGlzcGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAgICAgcXVldWVUYXNrVG9E
aXNwYXRjaEV2ZW50KCp0aGlzLCBUYXNrU291cmNlOjpOZXR3b3JraW5nLCBXVEZNb3ZlKGV2ZW50
KSk7CiB9CiAKLXN0YXRpYyBDaGVja2VkTG9jayBzX3J0Y0RhdGFDaGFubmVsTG9jYWxNYXBMb2Nr
Oworc3RhdGljIExvY2sgc19ydGNEYXRhQ2hhbm5lbExvY2FsTWFwTG9jazsKIHN0YXRpYyBIYXNo
TWFwPFJUQ0RhdGFDaGFubmVsTG9jYWxJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8UlRDRGF0
YUNoYW5uZWxIYW5kbGVyPj4mIHJ0Y0RhdGFDaGFubmVsTG9jYWxNYXAoKSBXVEZfUkVRVUlSRVNf
TE9DSyhzX3J0Y0RhdGFDaGFubmVsTG9jYWxNYXBMb2NrKQogewogICAgIEFTU0VSVChzX3J0Y0Rh
dGFDaGFubmVsTG9jYWxNYXBMb2NrLmlzSGVsZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtZXIuaApp
bmRleCBjYzRlOTRlN2M0MmQzZmFmMTJmMWNiNGM1OGZmMGY0OGI4YWUxNThiLi5kYzc0OWY0NTVi
OGJiOWM0YzViMWVjNDEzMjAyYzczOTdkYzI1OTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFuc2Zvcm1lci5o
CkBAIC0yOSw3ICsyOSw3IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUg
IlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4K
KyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRl
ZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC03Niw3ICs3Niw3IEBAIHByaXZhdGU6CiAg
ICAgVmVjdG9yPHVpbnQ4X3Q+IGNvbXB1dGVFbmNyeXB0ZWREYXRhU2lnbmF0dXJlKGNvbnN0IFZl
Y3Rvcjx1aW50OF90PiYgbm9uY2UsIGNvbnN0IHVpbnQ4X3QqIGhlYWRlciwgc2l6ZV90IGhlYWRl
clNpemUsIGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSwgY29uc3QgVmVjdG9y
PHVpbnQ4X3Q+JiBrZXkpOwogICAgIHZvaWQgdXBkYXRlQXV0aGVudGljYXRpb25TaXplKCk7CiAK
LSAgICBDaGVja2VkTG9jayBtX2tleUxvY2s7CisgICAgTG9jayBtX2tleUxvY2s7CiAgICAgYm9v
bCBtX2hhc0tleSB7IGZhbHNlIH07CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IG1fYXV0aGVudGljYXRp
b25LZXk7CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IG1fZW5jcnlwdGlvbktleTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3Jt
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5z
Zm9ybS5oCmluZGV4IGNiODczM2RiMmFkMDg4MzU0OWQyOTE0Y2IxNjY3MzMxMmJiNzJhNjUuLjky
MTk3YzA4NjY0MGM5MTU4NzhkNzZlZGM0ODEyOTc5OTYzZmY1NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zv
cm0uaApAQCAtMzMsNyArMzMsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0pTVmFs
dWUuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU09iamVjdC5oPgogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL1N0cm9uZy5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2lu
Y2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTgzLDcgKzgzLDcgQEAgcHJpdmF0ZToKICAgICBi
b29sIG1faXNBdHRhY2hlZCB7IGZhbHNlIH07CiAgICAgUmVmUHRyPFJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQ+IG1fYmFja2VuZDsKIAotICAgIENoZWNrZWRMb2NrIG1fdHJhbnNmb3JtZXJMb2NrOwor
ICAgIExvY2sgbV90cmFuc2Zvcm1lckxvY2s7CiAgICAgYm9vbCBtX2lzVHJhbnNmb3JtZXJJbml0
aWFsaXplZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fdHJhbnNmb3JtZXJMb2NrKSB7IGZhbHNlIH07
CiAgICAgV2Vha1B0cjxSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcj4gbV90cmFuc2Zvcm1lciBXVEZf
R1VBUkRFRF9CWV9MT0NLKG1fdHJhbnNmb3JtZXJMb2NrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENEYXRhQ2hh
bm5lbEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oCmluZGV4IDNkYTc5OGRiZDQ4NTFmZDVm
NjNmYzQ3M2RiYmUzYzExYTM1ZTljOGQuLjg3OTdiMWYwOGZhMjlmNzgwYTQ4YTJkMmQ0ZDkwNmRm
ZTE4Y2FmYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFu
ZGxlci5oCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSAiUlRDRGF0YUNoYW5uZWxIYW5kbGVy
LmgiCiAjaW5jbHVkZSAiUlRDRGF0YUNoYW5uZWxTdGF0ZS5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1
ZmZlci5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2Nr
Lmg+CiAKIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCiAKQEAgLTgyLDcgKzgyLDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHBvc3RUYXNrKEZ1bmN0aW9uPHZvaWQoKT4mJik7CiAKICAgICBy
dGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpEYXRhQ2hhbm5lbEludGVyZmFjZT4gbV9jaGFubmVs
OwotICAgIENoZWNrZWRMb2NrIG1fY2xpZW50TG9jazsKKyAgICBMb2NrIG1fY2xpZW50TG9jazsK
ICAgICBSVENEYXRhQ2hhbm5lbEhhbmRsZXJDbGllbnQqIG1fY2xpZW50IFdURl9HVUFSREVEX0JZ
X0xPQ0sobV9jbGllbnRMb2NrKSB7IG51bGxwdHIgfTsKICAgICBTY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllciBtX2NvbnRleHRJZGVudGlmaWVyOwogICAgIFBlbmRpbmdNZXNzYWdlcyBt
X2J1ZmZlcmVkTWVzc2FnZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kLmgKaW5kZXggMDM0YTc3OGU2NDhhN2U4NWRmZGJkNDBiNmZhNjRhZWEwNmY2
Yzk1NS4uYjBhYzRjNzk1NzQwMjk2YzdhMGVlN2ZiMzUyNTUzODJmNTZjNmE1MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UnRwVHJhbnNmb3JtQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaApAQCAtMjksNyAr
MjksNyBAQAogI2luY2x1ZGUgIkxpYldlYlJUQ01hY3Jvcy5oIgogI2luY2x1ZGUgIlJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQuaCIKICNpbmNsdWRlIDx3ZWJydGMvYXBpL3Njb3BlZF9yZWZwdHIuaD4K
LSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogCiBB
TExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgogQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElP
TlNfQkVHSU4KQEAgLTY5LDEwICs2OSwxMCBAQCBwcml2YXRlOgogICAgIE1lZGlhVHlwZSBtX21l
ZGlhVHlwZTsKICAgICBTaWRlIG1fc2lkZTsKIAotICAgIENoZWNrZWRMb2NrIG1faW5wdXRDYWxs
YmFja0xvY2s7CisgICAgTG9jayBtX2lucHV0Q2FsbGJhY2tMb2NrOwogICAgIENhbGxiYWNrIG1f
aW5wdXRDYWxsYmFjayBXVEZfR1VBUkRFRF9CWV9MT0NLKG1faW5wdXRDYWxsYmFja0xvY2spOwog
Ci0gICAgQ2hlY2tlZExvY2sgbV9vdXRwdXRDYWxsYmFja0xvY2s7CisgICAgTG9jayBtX291dHB1
dENhbGxiYWNrTG9jazsKICAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpUcmFuc2Zvcm1l
ZEZyYW1lQ2FsbGJhY2s+IG1fb3V0cHV0Q2FsbGJhY2sgV1RGX0dVQVJERURfQllfTE9DSyhtX291
dHB1dENhbGxiYWNrTG9jayk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkNhcHR1cmVTb3VyY2VJbXBsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkNhcHR1cmVTb3VyY2VJbXBs
LmgKaW5kZXggNzM5Y2VlMDlkMjM4YmJlMWFjZTE5MjBlZTVjZWQ2Nzk4ZjkxNTRiNy4uYzJjMDY0
YjdkY2I5YTA3NjU5NGQ1M2E0ZGI3NjZjNmE2MzFmNzU3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25DYXB0dXJlU291cmNlSW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uQ2Fw
dHVyZVNvdXJjZUltcGwuaApAQCAtMjksNyArMjksNyBAQAogCiAjaW5jbHVkZSAiUmVhbHRpbWVN
ZWRpYVNvdXJjZS5oIgogI2luY2x1ZGUgIlNwZWVjaFJlY29nbml0aW9uQ29ubmVjdGlvbkNsaWVu
dElkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3
dGYvTG9jay5oPgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSAiQXVkaW9TYW1wbGVE
YXRhU291cmNlLmgiCkBAIC03OCw3ICs3OCw3IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICBSZWZQdHI8QXVkaW9TYW1wbGVEYXRhU291cmNlPiBtX2RhdGFTb3VyY2UgV1RG
X0dVQVJERURfQllfTE9DSyhtX2RhdGFTb3VyY2VMb2NrKTsgLy8gT25seSBtb2RpZmllZCBvbiB0
aGUgYXVkaW8gdGhyZWFkIGJ1dCBtYXkgZ2V0IHVzZWQgb24gdGhlIG1haW4gdGhyZWFkLgotICAg
IENoZWNrZWRMb2NrIG1fZGF0YVNvdXJjZUxvY2s7CisgICAgTG9jayBtX2RhdGFTb3VyY2VMb2Nr
OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvUGFyYW1UaW1lbGluZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb1BhcmFtVGltZWxpbmUuaAppbmRleCA5YjcyNjE3ZDQyYzA4YTQ3NGE3NTI1NjQ1MWM1
MDM2YzQzMWQ4Mjk4Li5iZGY2MzE3ZDdmZWRiZDRkZjVhNmYyZDZmYmYyNzdiZTgzOTRiMzgyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUGFyYW1UaW1l
bGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9QYXJhbVRp
bWVsaW5lLmgKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkF1ZGlvQ29udGV4dC5oIgog
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Zsb2F0MzJBcnJheS5oPgotI2luY2x1ZGUgPHd0Zi9D
aGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yMDcsNyArMjA3LDcgQEAgcHJpdmF0ZToK
IAogICAgIFZlY3RvcjxQYXJhbUV2ZW50PiBtX2V2ZW50cyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1f
ZXZlbnRzTG9jayk7CiAKLSAgICBtdXRhYmxlIENoZWNrZWRMb2NrIG1fZXZlbnRzTG9jazsKKyAg
ICBtdXRhYmxlIExvY2sgbV9ldmVudHNMb2NrOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1l
bnRBdWRpb1NvdXJjZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVk
aWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmgKaW5kZXggNzQzOWE2ZGIyODJmYmI5NGY0MTFlNDcx
NWFkYTE1OThjYjA0YmMzNC4uMDZmZTUxZDk0NGQwYjhlOWM4ZGI2MTQ2N2QxYTE4NmM1ZGRmNDE0
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1l
bnRBdWRpb1NvdXJjZU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oCkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoK
ICAgICAvLyBBdWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50CiAgICAgdm9pZCBzZXRGb3JtYXQoc2l6
ZV90IG51bWJlck9mQ2hhbm5lbHMsIGZsb2F0IHNhbXBsZVJhdGUpIG92ZXJyaWRlOwogCi0gICAg
TG9jayYgcHJvY2Vzc0xvY2soKSB7IHJldHVybiBtX3Byb2Nlc3NMb2NrOyB9CisgICAgVW5jaGVj
a2VkTG9jayYgcHJvY2Vzc0xvY2soKSB7IHJldHVybiBtX3Byb2Nlc3NMb2NrOyB9CiAKIHByaXZh
dGU6CiAgICAgTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlKEJhc2VBdWRpb0NvbnRleHQmLCBS
ZWY8SFRNTE1lZGlhRWxlbWVudD4mJik7CkBAIC03MCw3ICs3MCw3IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCB3b3VsZFRhaW50T3JpZ2luKCk7CiAKICAgICBSZWY8SFRNTE1lZGlhRWxlbWVudD4gbV9t
ZWRpYUVsZW1lbnQ7Ci0gICAgTG9jayBtX3Byb2Nlc3NMb2NrOworICAgIFVuY2hlY2tlZExvY2sg
bV9wcm9jZXNzTG9jazsKIAogICAgIHVuc2lnbmVkIG1fc291cmNlTnVtYmVyT2ZDaGFubmVscyB7
IDAgfTsKICAgICBkb3VibGUgbV9zb3VyY2VTYW1wbGVSYXRlIHsgMCB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmNwcAppbmRleCA3MDA3NGM3YTdh
YjQyMzk5OWYzZGY5MDQxZjRlYmNhMDk0YzcxZDY5Li41YWUyNDc5ZTczODdlNjI0ZTE4YjY0OGQ5
N2ZmNGY5ZjI2MWVkNDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL0RhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFi
YXNlL0RhdGFiYXNlLmNwcApAQCAtNTMsNyArNTMsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luLmgiCiAjaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCiAjaW5jbHVkZSAiV2luZG93RXZlbnRM
b29wLmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0xvY2su
aD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgpAQCAtMTUzLDcgKzE1Myw3IEBAIHN0
YXRpYyBib29sIHJldHJpZXZlVGV4dFJlc3VsdEZyb21EYXRhYmFzZShTUUxpdGVEYXRhYmFzZSYg
ZGIsIGNvbnN0IFN0cmluZyYgcXVlCiB9CiAKIC8vIEZJWE1FOiBtb3ZlIGFsbCBndWlkLXJlbGF0
ZWQgZnVuY3Rpb25zIHRvIGEgRGF0YWJhc2VWZXJzaW9uVHJhY2tlciBjbGFzcy4KLXN0YXRpYyBD
aGVja2VkTG9jayBndWlkTG9jazsKK3N0YXRpYyBMb2NrIGd1aWRMb2NrOwogCiBzdGF0aWMgSGFz
aE1hcDxEYXRhYmFzZUdVSUQsIFN0cmluZz4mIGd1aWRUb1ZlcnNpb25NYXAoKSBXVEZfUkVRVUlS
RVNfTE9DSyhndWlkTG9jaykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvRGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJh
c2UvRGF0YWJhc2UuaAppbmRleCBhZDIxMzM4YTc4N2Y5M2NkODQ3N2RkMmZhMGVjNDQzOGQ5MzI1
ZDUzLi41ZTNiZTg1NGYwMDljZjYwYTZlYTA4ZGRlZjY3ZDVlMmYxYTVlMGU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5oCkBAIC0zMCw4ICszMCw4
IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUgIlNRTGl0ZURhdGFiYXNl
LmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+
CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xNzAs
NyArMTcwLDcgQEAgcHJpdmF0ZToKICAgICBSZWY8RGF0YWJhc2VBdXRob3JpemVyPiBtX2RhdGFi
YXNlQXV0aG9yaXplcjsKIAogICAgIERlcXVlPFJlZjxTUUxUcmFuc2FjdGlvbj4+IG1fdHJhbnNh
Y3Rpb25RdWV1ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fdHJhbnNhY3Rpb25JblByb2dyZXNzTG9j
ayk7Ci0gICAgQ2hlY2tlZExvY2sgbV90cmFuc2FjdGlvbkluUHJvZ3Jlc3NMb2NrOworICAgIExv
Y2sgbV90cmFuc2FjdGlvbkluUHJvZ3Jlc3NMb2NrOwogICAgIGJvb2wgbV90cmFuc2FjdGlvbklu
UHJvZ3Jlc3MgV1RGX0dVQVJERURfQllfTE9DSyhtX3RyYW5zYWN0aW9uSW5Qcm9ncmVzc0xvY2sp
IHsgZmFsc2UgfTsKICAgICBib29sIG1faXNUcmFuc2FjdGlvblF1ZXVlRW5hYmxlZCBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fdHJhbnNhY3Rpb25JblByb2dyZXNzTG9jaykgeyB0cnVlIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5h
Z2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdl
ci5oCmluZGV4IDkyMTNhNGQ0YjkyMzU5ZTE5NTVmNjEwYmNmZjhmNzY4Nzk4ODk0OGEuLmFhNjIx
ZDYyMTdlZjU1Yzg2NzJlMzI1YzY2M2VjOGNmZmU5N2NiZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuaApAQCAtMjgsOCAr
MjgsOCBAQAogI2luY2x1ZGUgIkRhdGFiYXNlRGV0YWlscy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlv
bk9yLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tl
ZExvY2suaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtODcsNyArODcsNyBAQCBwcml2YXRlOgogICAg
IERhdGFiYXNlTWFuYWdlckNsaWVudCogbV9jbGllbnQgeyBudWxscHRyIH07CiAgICAgYm9vbCBt
X2RhdGFiYXNlSXNBdmFpbGFibGUgeyB0cnVlIH07CiAKLSAgICBDaGVja2VkTG9jayBtX3Byb3Bv
c2VkRGF0YWJhc2VzTG9jazsKKyAgICBMb2NrIG1fcHJvcG9zZWREYXRhYmFzZXNMb2NrOwogICAg
IEhhc2hTZXQ8UHJvcG9zZWREYXRhYmFzZSo+IG1fcHJvcG9zZWREYXRhYmFzZXMgV1RGX0dVQVJE
RURfQllfTE9DSyhtX3Byb3Bvc2VkRGF0YWJhc2VzTG9jayk7CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVGFzay5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suaAppbmRleCA3ZDE2ZDU2
N2NhYjEzMzdlMzI2MWRjN2RkMzM1NjVmNDMzNjljZDMwLi43ZTEzNWQ4MWY5MGI4ZWIyNjBhYmE2
MDI2YWViMzYxYTU1ZDMxOTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL0RhdGFiYXNlVGFzay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VUYXNrLmgKQEAgLTI5LDkgKzI5LDkgQEAKICNwcmFnbWEgb25jZQog
CiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlv
bi5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRp
b24uaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTgsOCArNTgsOCBAQCBwdWJsaWM6CiAKIHByaXZh
dGU6CiAgICAgYm9vbCBtX3Rhc2tDb21wbGV0ZWQgV1RGX0dVQVJERURfQllfTE9DSyhtX3N5bmNo
cm9ub3VzTG9jaykgeyBmYWxzZSB9OwotICAgIENoZWNrZWRMb2NrIG1fc3luY2hyb25vdXNMb2Nr
OwotICAgIENoZWNrZWRDb25kaXRpb24gbV9zeW5jaHJvbm91c0NvbmRpdGlvbjsKKyAgICBMb2Nr
IG1fc3luY2hyb25vdXNMb2NrOworICAgIENvbmRpdGlvbiBtX3N5bmNocm9ub3VzQ29uZGl0aW9u
OwogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAgYm9vbCBtX2hhc0NoZWNrZWRGb3JUZXJtaW5hdGlv
biB7IGZhbHNlIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvRGF0YWJhc2VUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VUaHJlYWQuaAppbmRleCA1ZGM0MTFjYzU2MzNjNDZkYTE2MWFlMDJi
YTQ5OWE5YjBiNWE3NDIxLi45NWI3YzZiZWZlMmE2NDEzNDVlODEyMzg4ZWFkMGZkOWNiMmM3OWJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
VGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFz
ZVRocmVhZC5oCkBAIC0yOSw4ICsyOSw4IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPG1l
bW9yeT4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNl
dC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL01lc3NhZ2VRdWV1ZS5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBA
IC03Niw3ICs3Niw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBUaGlzIHNldCBrZWVwcyB0cmFjayBv
ZiB0aGUgb3BlbiBkYXRhYmFzZXMgdGhhdCBoYXZlIGJlZW4gdXNlZCBvbiB0aGlzIHRocmVhZC4K
ICAgICB1c2luZyBEYXRhYmFzZVNldCA9IEhhc2hTZXQ8UmVmUHRyPERhdGFiYXNlPj47Ci0gICAg
bXV0YWJsZSBDaGVja2VkTG9jayBtX29wZW5EYXRhYmFzZVNldExvY2s7CisgICAgbXV0YWJsZSBM
b2NrIG1fb3BlbkRhdGFiYXNlU2V0TG9jazsKICAgICBEYXRhYmFzZVNldCBtX29wZW5EYXRhYmFz
ZVNldCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fb3BlbkRhdGFiYXNlU2V0TG9jayk7CiAKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8U1FMVHJhbnNhY3Rpb25Db29yZGluYXRvcj4gbV90cmFuc2FjdGlvbkNv
b3JkaW5hdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZVRyYWNrZXIuY3BwCmluZGV4IDQ1YjI3ZjlkMzUxOWMxMTk5MjQ3NjZlYzRjMjdl
NDAxMzQyOTIwNDkuLmE5ZjI4MGI5YzU5ZjQ4YmRiMjhkYTczMDE1Mzc2NDNlOTRkZDY1NjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFj
a2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
VHJhY2tlci5jcHAKQEAgLTEyODUsOCArMTI4NSw4IEBAIGJvb2wgRGF0YWJhc2VUcmFja2VyOjpk
ZWxldGVEYXRhYmFzZUZpbGVJZkVtcHR5KGNvbnN0IFN0cmluZyYgcGF0aCkKICAgICByZXR1cm4g
U1FMaXRlRmlsZVN5c3RlbTo6ZGVsZXRlRGF0YWJhc2VGaWxlKHBhdGgpOwogfQogCi1zdGF0aWMg
TG9jayBvcGVuRGF0YWJhc2VMb2NrOwotTG9jayYgRGF0YWJhc2VUcmFja2VyOjpvcGVuRGF0YWJh
c2VNdXRleCgpCitzdGF0aWMgVW5jaGVja2VkTG9jayBvcGVuRGF0YWJhc2VMb2NrOworVW5jaGVj
a2VkTG9jayYgRGF0YWJhc2VUcmFja2VyOjpvcGVuRGF0YWJhc2VNdXRleCgpCiB7CiAgICAgcmV0
dXJuIG9wZW5EYXRhYmFzZUxvY2s7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRyYWNrZXIuaAppbmRleCBkZDljNWQ4Nzc2YmQxZGMzODk2
NmU3NWY1NGYxMzFhZGQ3NjY4YjM0Li41ZGQ3ZmVlNTEwMDdlNzdiZWM0MGEzNzI0NzFlMWRhNjRm
NzhiY2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0Rh
dGFiYXNlVHJhY2tlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
RGF0YWJhc2VUcmFja2VyLmgKQEAgLTMzLDEwICszMywxMCBAQAogI2luY2x1ZGUgIlNRTGl0ZURh
dGFiYXNlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW5EYXRhLmgiCiAjaW5jbHVkZSAiU2Vj
dXJpdHlPcmlnaW5IYXNoLmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hDb3VudGVkU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3Rm
L1dhbGxUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC0xMDQs
NyArMTA0LDcgQEAgcHVibGljOgogICAgIC8vIE1vYmlsZVNhZmFyaSB3aWxsIGdyYWIgdGhpcyBt
dXRleCBvbiB0aGUgbWFpbiB0aHJlYWQgYmVmb3JlIGRpc3BhdGNoaW5nIHRoZSB0YXNrIHRvIAog
ICAgIC8vIGNsZWFuIHVwIHplcm8gYnl0ZSBkYXRhYmFzZSBmaWxlcy4gIEFueSBvcGVyYXRpb25z
IHRvIG9wZW4gbmV3IGRhdGFiYXNlIHdpbGwgaGF2ZSB0bwogICAgIC8vIHdhaXQgZm9yIHRoYXQg
dGFzayB0byBmaW5pc2ggYnkgd2FpdGluZyBvbiB0aGlzIG11dGV4LgotICAgIHN0YXRpYyBMb2Nr
JiBvcGVuRGF0YWJhc2VNdXRleCgpOworICAgIHN0YXRpYyBVbmNoZWNrZWRMb2NrJiBvcGVuRGF0
YWJhc2VNdXRleCgpOwogICAgIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGVtcHR5
RGF0YWJhc2VGaWxlc1JlbW92YWxUYXNrV2lsbEJlU2NoZWR1bGVkKCk7CiAgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIHZvaWQgZW1wdHlEYXRhYmFzZUZpbGVzUmVtb3ZhbFRhc2tEaWRGaW5pc2go
KTsKQEAgLTE2MiwxMSArMTYyLDExIEBAIHByaXZhdGU6CiAgICAgdXNpbmcgRGF0YWJhc2VOYW1l
TWFwID0gSGFzaE1hcDxTdHJpbmcsIERhdGFiYXNlU2V0Kj47CiAgICAgdXNpbmcgRGF0YWJhc2VP
cmlnaW5NYXAgPSBIYXNoTWFwPFNlY3VyaXR5T3JpZ2luRGF0YSwgRGF0YWJhc2VOYW1lTWFwKj47
CiAKLSAgICBDaGVja2VkTG9jayBtX29wZW5EYXRhYmFzZU1hcEd1YXJkOworICAgIExvY2sgbV9v
cGVuRGF0YWJhc2VNYXBHdWFyZDsKICAgICBtdXRhYmxlIHN0ZDo6dW5pcXVlX3B0cjxEYXRhYmFz
ZU9yaWdpbk1hcD4gbV9vcGVuRGF0YWJhc2VNYXAgV1RGX0dVQVJERURfQllfTE9DSyhtX29wZW5E
YXRhYmFzZU1hcEd1YXJkKTsKIAogICAgIC8vIFRoaXMgbG9jayBwcm90ZWN0cyBtX2RhdGFiYXNl
LCBtX29yaWdpbkxvY2tNYXAsIG1fZGF0YWJhc2VEaXJlY3RvcnlQYXRoLCBtX29yaWdpbnNCZWlu
Z0RlbGV0ZWQsIG1fYmVpbmdDcmVhdGVkLCBhbmQgbV9iZWluZ0RlbGV0ZWQuCi0gICAgQ2hlY2tl
ZExvY2sgbV9kYXRhYmFzZUd1YXJkOworICAgIExvY2sgbV9kYXRhYmFzZUd1YXJkOwogICAgIFNR
TGl0ZURhdGFiYXNlIG1fZGF0YWJhc2UgV1RGX0dVQVJERURfQllfTE9DSyhtX2RhdGFiYXNlR3Vh
cmQpOwogCiAgICAgdXNpbmcgT3JpZ2luTG9ja01hcCA9IEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8
T3JpZ2luTG9jaz4+OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9PcmlnaW5Mb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
T3JpZ2luTG9jay5jcHAKaW5kZXggYTIxYmNkYjc4Mzg2YzgxMGVjNTk5NDFjMjc1ZjRlZmJhZmYy
M2ZiMy4uNzUzZTRlNWFjODY2MjgzYTRjNzNmNDRhZjlhYTRlY2RmNWQxNWFlYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9PcmlnaW5Mb2NrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL09yaWdpbkxvY2suY3BwCkBAIC00
Myw3ICs0Myw3IEBAIE9yaWdpbkxvY2s6Ok9yaWdpbkxvY2soU3RyaW5nIG9yaWdpblBhdGgpCiAK
IE9yaWdpbkxvY2s6On5PcmlnaW5Mb2NrKCkgPSBkZWZhdWx0OwogCi12b2lkIE9yaWdpbkxvY2s6
OmxvY2soKQordm9pZCBPcmlnaW5Mb2NrOjpsb2NrKCkgV1RGX0lHTk9SRVNfVEhSRUFEX1NBRkVU
WV9BTkFMWVNJUwogewogICAgIG1fbXV0ZXgubG9jaygpOwogCkBAIC01OSw3ICs1OSw3IEBAIHZv
aWQgT3JpZ2luTG9jazo6bG9jaygpCiAjZW5kaWYKIH0KIAotdm9pZCBPcmlnaW5Mb2NrOjp1bmxv
Y2soKQordm9pZCBPcmlnaW5Mb2NrOjp1bmxvY2soKSBXVEZfSUdOT1JFU19USFJFQURfU0FGRVRZ
X0FOQUxZU0lTCiB7CiAjaWYgVVNFKEZJTEVfTE9DSykKICAgICAvLyBJZiB0aGUgZmlsZSBkZXNj
cmlwdG9yIHdhcyB1bmluaXRpYWxpemVkLCB0aGVuIHRoYXQgbWVhbnMgdGhlIGRpcmVjdG9yeQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxDYWxsYmFj
a1dyYXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMQ2FsbGJh
Y2tXcmFwcGVyLmgKaW5kZXggYzJlZDM2NmUzYzA4ZmU5ZTE5ZmY3Y2VjOTk5NTVlZDQ0MDEzOTk0
MS4uYzQ4MTI1ZWJjNDZhMzdhYjBkYTY3ZWU2MTY3OWQxMjhiMGY3NmYyYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxDYWxsYmFja1dyYXBwZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTENhbGxiYWNrV3JhcHBl
ci5oCkBAIC0yOSw3ICsyOSw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRl
IDx3dGYvTG9jay5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTk0LDcgKzk0LDcgQEAg
cHVibGljOgogICAgIGJvb2wgaGFzQ2FsbGJhY2soKSBjb25zdCBXVEZfSUdOT1JFU19USFJFQURf
U0FGRVRZX0FOQUxZU0lTIHsgcmV0dXJuIG1fY2FsbGJhY2s7IH0KIAogcHJpdmF0ZToKLSAgICBD
aGVja2VkTG9jayBtX2xvY2s7CisgICAgTG9jayBtX2xvY2s7CiAgICAgUmVmUHRyPFQ+IG1fY2Fs
bGJhY2sgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOwogICAgIFJlZlB0cjxTY3JpcHRFeGVj
dXRpb25Db250ZXh0PiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQgV1RGX0dVQVJERURfQllfTE9D
SyhtX2xvY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvU1FMVHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJh
c2UvU1FMVHJhbnNhY3Rpb24uaAppbmRleCAzMWUxMGI3MjM4NDE5Y2ZjMGI3MmNiNTE3MDhlMDZh
OWJjZWVmMGU0Li5kMmM4MDc5Njc4MTU2MTBmZWQ0NmJhNmZkZjRmMTQ2OWVlOTkzODE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlv
bi5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiU1FMVHJhbnNhY3Rpb25CYWNrZW5kLmgi
CiAjaW5jbHVkZSAiU1FMVHJhbnNhY3Rpb25TdGF0ZU1hY2hpbmUuaCIKICNpbmNsdWRlICJTUUxW
YWx1ZS5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAKQEAgLTEzOSw3ICsxMzgsNyBAQCBwcml2YXRl
OgogICAgIGJvb2wgbV9yZWFkT25seSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc1ZlcnNpb25N
aXNtYXRjaCB7IGZhbHNlIH07CiAKLSAgICBDaGVja2VkTG9jayBtX3N0YXRlbWVudExvY2s7Cisg
ICAgTG9jayBtX3N0YXRlbWVudExvY2s7CiAgICAgRGVxdWU8c3RkOjp1bmlxdWVfcHRyPFNRTFN0
YXRlbWVudD4+IG1fc3RhdGVtZW50UXVldWUgV1RGX0dVQVJERURfQllfTE9DSyhtX3N0YXRlbWVu
dExvY2spOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFNRTFN0YXRlbWVudD4gbV9jdXJyZW50U3Rh
dGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5j
cHAKaW5kZXggODI1MGUyYmIzYTYzNDhkYzliNGNhYmE2NGFlNDhiYzYzZGEzZDkyZi4uOTFlYzNl
MGM1NzU5YTIxYTczMzI0YzA1MmJkZjdjYmZkMzg3MjdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCkBAIC05NCw3ICs5NCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYkdQVURldmlj
ZSk7CiAKLUNoZWNrZWRMb2NrIFdlYkdQVURldmljZTo6c19pbnN0YW5jZXNMb2NrOworTG9jayBX
ZWJHUFVEZXZpY2U6OnNfaW5zdGFuY2VzTG9jazsKIAogUmVmUHRyPFdlYkdQVURldmljZT4gV2Vi
R1BVRGV2aWNlOjp0cnlDcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVm
PGNvbnN0IFdlYkdQVUFkYXB0ZXI+JiYgYWRhcHRlcikKIHsKQEAgLTExMiw3ICsxMTIsNyBAQCBI
YXNoU2V0PFdlYkdQVURldmljZSo+JiBXZWJHUFVEZXZpY2U6Omluc3RhbmNlcygpCiAgICAgcmV0
dXJuIGluc3RhbmNlczsKIH0KIAotQ2hlY2tlZExvY2smIFdlYkdQVURldmljZTo6aW5zdGFuY2Vz
TG9jaygpCitMb2NrJiBXZWJHUFVEZXZpY2U6Omluc3RhbmNlc0xvY2soKQogewogICAgIHJldHVy
biBzX2luc3RhbmNlc0xvY2s7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVURldmljZS5oCmluZGV4IDcwZjFiMWRhNzI5M2RmZmExMzFhMjU1ZDViNjc1ZmFjOGEwZjJh
MDcuLmY5YWIwOTJmOTY2MWRhYzIzYjYxMDE1NTk4ZjhjMjY4YmEyMjFjNjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oCkBAIC0zNCw4ICszNCw4IEBA
CiAjaW5jbHVkZSAiV2ViR1BVQWRhcHRlci5oIgogI2luY2x1ZGUgIldlYkdQVVF1ZXVlLmgiCiAj
aW5jbHVkZSAiV2ViR1BVU3dhcENoYWluRGVzY3JpcHRvci5oIgotI2luY2x1ZGUgPHd0Zi9DaGVj
a2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0xvY2su
aD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+
CiAKQEAgLTg2LDcgKzg2LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWZQdHI8V2ViR1BVRGV2
aWNlPiB0cnlDcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxjb25zdCBXZWJHUFVB
ZGFwdGVyPiYmKTsKIAogICAgIHN0YXRpYyBIYXNoU2V0PFdlYkdQVURldmljZSo+JiBpbnN0YW5j
ZXMoKSBXVEZfUkVRVUlSRVNfTE9DSyhpbnN0YW5jZXNMb2NrKCkpOwotICAgIHN0YXRpYyBDaGVj
a2VkTG9jayYgaW5zdGFuY2VzTG9jaygpIFdURl9SRVRVUk5TX0xPQ0soc19pbnN0YW5jZXNMb2Nr
KTsKKyAgICBzdGF0aWMgTG9jayYgaW5zdGFuY2VzTG9jaygpIFdURl9SRVRVUk5TX0xPQ0soc19p
bnN0YW5jZXNMb2NrKTsKIAogICAgIGNvbnN0IFdlYkdQVUFkYXB0ZXImIGFkYXB0ZXIoKSBjb25z
dCB7IHJldHVybiBtX2FkYXB0ZXIuZ2V0KCk7IH0KICAgICBHUFVEZXZpY2UmIGRldmljZSgpIHsg
cmV0dXJuIG1fZGV2aWNlLmdldCgpOyB9CkBAIC0xMjcsNyArMTI3LDcgQEAgcHJpdmF0ZToKIAog
ICAgIHZvaWQgZGlzcGF0Y2hVbmNhcHR1cmVkRXJyb3IoR1BVRXJyb3ImJik7CiAKLSAgICBzdGF0
aWMgQ2hlY2tlZExvY2sgc19pbnN0YW5jZXNMb2NrOworICAgIHN0YXRpYyBMb2NrIHNfaW5zdGFu
Y2VzTG9jazsKIAogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIG1fc2NyaXB0RXhlY3V0aW9u
Q29udGV4dDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVUGlwZWxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlw
ZWxpbmUuY3BwCmluZGV4IDIwNWYxZWQxZjdiN2M2M2I3NzUxYjEzNDkxM2RmNDg3ZmNlMmNkYzYu
Ljg0Yjc4MTMzMGM2NjQyNGI1NGFjMzgxN2JhNmRkODU4NjM5MDMzMWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZS5jcHAKQEAgLTM5LDcgKzM5
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1DaGVja2VkTG9jayBXZWJHUFVQaXBlbGlu
ZTo6c19pbnN0YW5jZXNMb2NrOworTG9jayBXZWJHUFVQaXBlbGluZTo6c19pbnN0YW5jZXNMb2Nr
OwogCiBIYXNoTWFwPFdlYkdQVVBpcGVsaW5lKiwgV2ViR1BVRGV2aWNlKj4mIFdlYkdQVVBpcGVs
aW5lOjppbnN0YW5jZXMoKQogewpAQCAtNDcsNyArNDcsNyBAQCBIYXNoTWFwPFdlYkdQVVBpcGVs
aW5lKiwgV2ViR1BVRGV2aWNlKj4mIFdlYkdQVVBpcGVsaW5lOjppbnN0YW5jZXMoKQogICAgIHJl
dHVybiBpbnN0YW5jZXM7CiB9CiAKLUNoZWNrZWRMb2NrJiBXZWJHUFVQaXBlbGluZTo6aW5zdGFu
Y2VzTG9jaygpCitMb2NrJiBXZWJHUFVQaXBlbGluZTo6aW5zdGFuY2VzTG9jaygpCiB7CiAgICAg
cmV0dXJuIHNfaW5zdGFuY2VzTG9jazsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVQaXBlbGluZS5oCmluZGV4IDk5OWE5OGFlNTJhNmJiMDlhYjRhZWY2NzRhZDEz
NGI2ODkwMjZjOGYuLmY4NGNiYzdhZmFhYjJlYTgxM2Y3ZTU2NGFiZTE5YmVhZTY0YzE3OWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmUuaApAQCAt
MzAsOCArMzAsOCBAQAogI2luY2x1ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCiAj
aW5jbHVkZSAiR1BVT2JqZWN0QmFzZS5oIgogI2luY2x1ZGUgIldlYkdQVVNoYWRlck1vZHVsZS5o
IgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NCw3
ICs0NCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5XZWJHUFVQaXBlbGluZSgpOwogCiAgICAg
c3RhdGljIEhhc2hNYXA8V2ViR1BVUGlwZWxpbmUqLCBXZWJHUFVEZXZpY2UqPiYgaW5zdGFuY2Vz
KCkgV1RGX1JFUVVJUkVTX0xPQ0soaW5zdGFuY2VzTG9jaygpKTsKLSAgICBzdGF0aWMgQ2hlY2tl
ZExvY2smIGluc3RhbmNlc0xvY2soKSBXVEZfUkVUVVJOU19MT0NLKHNfaW5zdGFuY2VzTG9jayk7
CisgICAgc3RhdGljIExvY2smIGluc3RhbmNlc0xvY2soKSBXVEZfUkVUVVJOU19MT0NLKHNfaW5z
dGFuY2VzTG9jayk7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJQaXBlbGluZSgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzQ29tcHV0ZVBpcGVsaW5lKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTY1LDcgKzY1LDcgQEAgcHJvdGVjdGVkOgogICAg
IFdlYkdQVVBpcGVsaW5lKFdlYkdQVURldmljZSYsIEdQVUVycm9yU2NvcGVzJik7CiAKIHByaXZh
dGU6Ci0gICAgc3RhdGljIENoZWNrZWRMb2NrIHNfaW5zdGFuY2VzTG9jazsKKyAgICBzdGF0aWMg
TG9jayBzX2luc3RhbmNlc0xvY2s7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCmluZGV4IGZl
ODBkNDAxMDA1ZTUxNGI5YzlmNGQ0NGMwN2U5N2MwOGRkMTU4NDcuLjYyNGE1ODlhZThiZGM4NDQw
MzkyOGE5YTc2YzAyNDAzZjcxZjhmMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC03Niw3ICs3Niw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYlNvY2tldCk7CiAKLUNoZWNr
ZWRMb2NrIFdlYlNvY2tldDo6c19hbGxBY3RpdmVXZWJTb2NrZXRzTG9jazsKK0xvY2sgV2ViU29j
a2V0OjpzX2FsbEFjdGl2ZVdlYlNvY2tldHNMb2NrOwogCiBjb25zdCBzaXplX3QgbWF4UmVhc29u
U2l6ZUluQnl0ZXMgPSAxMjM7CiAKQEAgLTE5NCw3ICsxOTQsNyBAQCBIYXNoU2V0PFdlYlNvY2tl
dCo+JiBXZWJTb2NrZXQ6OmFsbEFjdGl2ZVdlYlNvY2tldHMoKQogICAgIHJldHVybiBhY3RpdmVX
ZWJTb2NrZXRzOwogfQogCi1DaGVja2VkTG9jayYgV2ViU29ja2V0OjphbGxBY3RpdmVXZWJTb2Nr
ZXRzTG9jaygpCitMb2NrJiBXZWJTb2NrZXQ6OmFsbEFjdGl2ZVdlYlNvY2tldHNMb2NrKCkKIHsK
ICAgICByZXR1cm4gc19hbGxBY3RpdmVXZWJTb2NrZXRzTG9jazsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaAppbmRleCA3MjcwNjk5NzI1OTNmMDE2
ZWU0MTM3MTgwYWI4NzQwZWU3Njg3NTI0Li5mZjg0NTE1MmJkZWVjY2QyZTdhY2YwMjI3NjZkZjk2
MmQ4ZjQ4ODM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3
dGYvVVJMLmg+CiAjaW5jbHVkZSAiV2ViU29ja2V0Q2hhbm5lbENsaWVudC5oIgotI2luY2x1ZGUg
PHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KQEAgLTYyLDcgKzYxLDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgfldlYlNvY2tldCgpOwogCiAgICAgc3RhdGljIEhhc2hTZXQ8V2Vi
U29ja2V0Kj4mIGFsbEFjdGl2ZVdlYlNvY2tldHMoKSBXVEZfUkVRVUlSRVNfTE9DSyhzX2FsbEFj
dGl2ZVdlYlNvY2tldHNMb2NrKTsKLSAgICBzdGF0aWMgQ2hlY2tlZExvY2smIGFsbEFjdGl2ZVdl
YlNvY2tldHNMb2NrKCkgV1RGX1JFVFVSTlNfTE9DSyhzX2FsbEFjdGl2ZVdlYlNvY2tldHNMb2Nr
KTsKKyAgICBzdGF0aWMgTG9jayYgYWxsQWN0aXZlV2ViU29ja2V0c0xvY2soKSBXVEZfUkVUVVJO
U19MT0NLKHNfYWxsQWN0aXZlV2ViU29ja2V0c0xvY2spOwogCiAgICAgZW51bSBTdGF0ZSB7CiAg
ICAgICAgIENPTk5FQ1RJTkcgPSAwLApAQCAtMTMyLDcgKzEzMSw3IEBAIHByaXZhdGU6CiAKICAg
ICBlbnVtIGNsYXNzIEJpbmFyeVR5cGUgeyBCbG9iLCBBcnJheUJ1ZmZlciB9OwogCi0gICAgc3Rh
dGljIENoZWNrZWRMb2NrIHNfYWxsQWN0aXZlV2ViU29ja2V0c0xvY2s7CisgICAgc3RhdGljIExv
Y2sgc19hbGxBY3RpdmVXZWJTb2NrZXRzTG9jazsKICAgICBSZWZQdHI8VGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWw+IG1fY2hhbm5lbDsKIAogICAgIFN0YXRlIG1fc3RhdGUgeyBDT05ORUNUSU5H
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkVHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xh
dGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAKaW5kZXggOWZjMzg3ZTQ1Y2EyNTg1ODJlMzk5MjFm
NTZjY2U5ZTdkMDEwNGE0MC4uZGNmN2VlMDY3ZGYzYzMyYzgyNDU0Yzc2N2UwMWY3YjA2YzQ2Zjkw
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZFRyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcApAQCAtMzUsNyArMzUsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLUNoZWNrZWRMb2NrIEFYSXNvbGF0ZWRUcmVlOjpzX2NhY2hlTG9jazsK
K0xvY2sgQVhJc29sYXRlZFRyZWU6OnNfY2FjaGVMb2NrOwogCiBzdGF0aWMgdW5zaWduZWQgbmV3
VHJlZUlEKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCmluZGV4IDgxYWI5M2M2YjliYjQ2YWNmYWNh
NDJiOThkMTViMDQxZmRmOTJjNzUuLjE4OWRlNWIyMzhlMGZlNmQ4NzQxZDg2YWViNmEwZjE1ZmRm
YTkyOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0
cmVlL0FYSXNvbGF0ZWRUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaApAQCAtMjksOCArMjksOCBAQAogCiAjaW5jbHVk
ZSAiQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIgogI2luY2x1ZGUgIlBhZ2VJZGVudGlm
aWVyLmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNp
bmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KIApAQCAtMzc0LDcgKzM3NCw3IEBA
IHByaXZhdGU6CiAgICAgQVhJc29sYXRlZFRyZWUoQVhPYmplY3RDYWNoZSopOwogICAgIHZvaWQg
Y2xlYXIoKTsKIAotICAgIHN0YXRpYyBDaGVja2VkTG9jayBzX2NhY2hlTG9jazsKKyAgICBzdGF0
aWMgTG9jayBzX2NhY2hlTG9jazsKICAgICBzdGF0aWMgSGFzaE1hcDxBWElzb2xhdGVkVHJlZUlE
LCBSZWY8QVhJc29sYXRlZFRyZWU+PiYgdHJlZUlEQ2FjaGUoKSBXVEZfUkVRVUlSRVNfTE9DSyhz
X2NhY2hlTG9jayk7CiAgICAgc3RhdGljIEhhc2hNYXA8UGFnZUlkZW50aWZpZXIsIFJlZjxBWElz
b2xhdGVkVHJlZT4+JiB0cmVlUGFnZUNhY2hlKCkgV1RGX1JFUVVJUkVTX0xPQ0soc19jYWNoZUxv
Y2spOwogCkBAIC00MDEsNyArNDAxLDcgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8c3RkOjpwYWly
PEFYSUQsIFZlY3RvcjxBWElEPj4+IG1fcGVuZGluZ0NoaWxkcmVuVXBkYXRlcyBXVEZfR1VBUkRF
RF9CWV9MT0NLKG1fY2hhbmdlTG9nTG9jayk7CiAgICAgQVhJRCBtX3BlbmRpbmdGb2N1c2VkTm9k
ZUlEIFdURl9HVUFSREVEX0JZX0xPQ0sobV9jaGFuZ2VMb2dMb2NrKSB7IEludmFsaWRBWElEIH07
CiAgICAgQVhJRCBtX2ZvY3VzZWROb2RlSUQgeyBJbnZhbGlkQVhJRCB9OwotICAgIENoZWNrZWRM
b2NrIG1fY2hhbmdlTG9nTG9jazsKKyAgICBMb2NrIG1fY2hhbmdlTG9nTG9jazsKIH07CiAKIGlu
bGluZSBBWE9iamVjdENhY2hlKiBBWElzb2xhdGVkVHJlZTo6YXhPYmplY3RDYWNoZSgpIGNvbnN0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVj
dC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAppbmRl
eCAxNjRjNzIzODY0NmEwMGEzZDA1ZWExYmE0MWM5NzA2MDU1ZDQxNGU0Li45NTZkNTFhZDQ4MGQ0
ZGQyYzBhODkzOGRlYWY0NGRhYWJhYTc1NmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDOjpKU0NlbGwqKTsKIAogcHVibGljOgotICAgIExvY2sm
IGdjTG9jaygpIHsgcmV0dXJuIG1fZ2NMb2NrOyB9CisgICAgVW5jaGVja2VkTG9jayYgZ2NMb2Nr
KCkgeyByZXR1cm4gbV9nY0xvY2s7IH0KIAogICAgIEpTRE9NU3RydWN0dXJlTWFwJiBzdHJ1Y3R1
cmVzKGNvbnN0IEFic3RyYWN0TG9ja2VyJikgeyByZXR1cm4gbV9zdHJ1Y3R1cmVzOyB9CiAgICAg
SlNET01Db25zdHJ1Y3Rvck1hcCYgY29uc3RydWN0b3JzKGNvbnN0IEFic3RyYWN0TG9ja2VyJikg
eyByZXR1cm4gbV9jb25zdHJ1Y3RvcnM7IH0KQEAgLTEyMSw3ICsxMjEsNyBAQCBwcm90ZWN0ZWQ6
CiAKICAgICBSZWY8RE9NV3JhcHBlcldvcmxkPiBtX3dvcmxkOwogICAgIHVpbnQ4X3QgbV93b3Js
ZElzTm9ybWFsOwotICAgIExvY2sgbV9nY0xvY2s7CisgICAgVW5jaGVja2VkTG9jayBtX2djTG9j
azsKICAgICBKU0M6OldyaXRlQmFycmllcjxKU0M6OkpTUHJveHk+IG1fcHJveHk7CiAKIHByaXZh
dGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9XZWJTY3JpcHRPYmpl
Y3QubW0gYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0KaW5k
ZXggMGY1YzI5YTRhZmM0NTZmY2VkZGEyNGJiNGVhYmRhYWJiYjYxM2QwMS4uMzFjMjI4YzAyMmIw
M2M2N2I3YzdlYzVhYzVmYzEyYjkxMDJiMDE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbQpAQCAtNDksOCArNDksOCBAQAogI2ltcG9ydCA8SmF2
YVNjcmlwdENvcmUvSlNHbG9iYWxPYmplY3QuaD4KICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0pT
TG9jay5oPgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSlNWYWx1ZUludGVybmFsLmg+Ci0jaW1w
b3J0IDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CisjaW1wb3J0
IDx3dGYvTG9jay5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3
dGYvVGhyZWFkaW5nLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTcwLDcg
KzcwLDcgQEAgdXNpbmcgSlNDOjptYWtlU291cmNlOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LXN0YXRpYyBDaGVja2VkTG9jayB3cmFwcGVyQ2FjaGVMb2NrOworc3RhdGljIExvY2sgd3JhcHBl
ckNhY2hlTG9jazsKIHN0YXRpYyBDcmVhdGVXcmFwcGVyRnVuY3Rpb24gY3JlYXRlRE9NV3JhcHBl
ckZ1bmN0aW9uOwogc3RhdGljIERpc2Nvbm5lY3RXaW5kb3dXcmFwcGVyRnVuY3Rpb24gZGlzY29u
bmVjdFdpbmRvd1dyYXBwZXJGdW5jdGlvbjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL0NyeXB0b0FsZ29yaXRobVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8v
Q3J5cHRvQWxnb3JpdGhtUmVnaXN0cnkuaAppbmRleCBjYjkxODY1MTNlNjAwZjAyZjlhYzJlZjU5
N2FhOTk3MzQyOTM3YWQ1Li42Mjg2MDk5NDBkZGQyNWIxYzBmNjE3OGEyOTMyMDg0ZjRmYzMwZGQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtUmVnaXN0
cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnku
aApAQCAtMjYsOSArMjYsOSBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJDcnlwdG9BbGdv
cml0aG1JZGVudGlmaWVyLmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0
Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgogCkBAIC02Myw3ICs2Myw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lk
IHJlZ2lzdGVyQWxnb3JpdGhtKGNvbnN0IFN0cmluZyYgbmFtZSwgQ3J5cHRvQWxnb3JpdGhtSWRl
bnRpZmllciwgQ3J5cHRvQWxnb3JpdGhtQ29uc3RydWN0b3IpOwogCi0gICAgQ2hlY2tlZExvY2sg
bV9sb2NrOworICAgIExvY2sgbV9sb2NrOwogICAgIEhhc2hNYXA8U3RyaW5nLCBDcnlwdG9BbGdv
cml0aG1JZGVudGlmaWVyLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+IG1faWRlbnRpZmllcnMg
V1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOwogICAgIEhhc2hNYXA8dW5zaWduZWQsIHN0ZDo6
cGFpcjxTdHJpbmcsIENyeXB0b0FsZ29yaXRobUNvbnN0cnVjdG9yPj4gbV9jb25zdHJ1Y3RvcnMg
V1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQu
Y3BwCmluZGV4IGI3NjU4NjJlNmM3NjVjODllMWNiNTllYmQ4YWYzMWE2MjhmMTI1Y2MuLmMxYzVk
Yzk4NmFjYjcyMzQyZWQxMDBkNmZkYzlkOTE2MGZkOGM5MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3Nh
Z2VQb3J0LmNwcApAQCAtMzUsMTYgKzM1LDE2IEBACiAjaW5jbHVkZSAiTWVzc2FnZVdpdGhNZXNz
YWdlUG9ydHMuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldv
cmtlclRocmVhZC5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0
Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+
CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvU2NvcGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoTWVzc2FnZVBvcnQp
OwogCi1zdGF0aWMgQ2hlY2tlZExvY2sgYWxsTWVzc2FnZVBvcnRzTG9jazsKK3N0YXRpYyBMb2Nr
IGFsbE1lc3NhZ2VQb3J0c0xvY2s7CiBzdGF0aWMgSGFzaE1hcDxNZXNzYWdlUG9ydElkZW50aWZp
ZXIsIE1lc3NhZ2VQb3J0Kj4mIGFsbE1lc3NhZ2VQb3J0cygpIFdURl9SRVFVSVJFU19MT0NLKGFs
bE1lc3NhZ2VQb3J0c0xvY2spCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8
TWVzc2FnZVBvcnRJZGVudGlmaWVyLCBNZXNzYWdlUG9ydCo+PiBtYXA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAK
aW5kZXggN2VhZTNhMTFhZWNmYjJhYWQ5OWZmMTkyYjQ1ODdkOTY3NWNmZGZiNy4uYTJlNWNhM2Yx
MjE2ODM4MDk4MzI0MGZmYmExZTRmZGE3MDMyNWY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtMjIx
MSw3ICsyMjExLDcgQEAgc3RhdGljIEV2ZW50VGFyZ2V0RGF0YU1hcCYgZXZlbnRUYXJnZXREYXRh
TWFwKCkKICAgICByZXR1cm4gbWFwOwogfQogCi1zdGF0aWMgTG9jayBzX2V2ZW50VGFyZ2V0RGF0
YU1hcExvY2s7CitzdGF0aWMgVW5jaGVja2VkTG9jayBzX2V2ZW50VGFyZ2V0RGF0YU1hcExvY2s7
CiAKIEV2ZW50VGFyZ2V0RGF0YSogTm9kZTo6ZXZlbnRUYXJnZXREYXRhKCkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAppbmRleCA0YTU4NjZkYTc0
ZDIwNTY4OTZlMmE0Njg0MDdlNTQwYmFiNjI5ODExLi4yNzBlMTYxYTJlNTNkZmRmNmY0MGM4ZjEx
MDQwM2I4MGUyMDc2MzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuY3BwCkBAIC03Miw3ICs3Miw3IEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
SlNQcm9taXNlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2FsbFN0YWNrLmg+
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nSW5saW5lcy5oPgotI2luY2x1ZGUgPHd0
Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL01h
aW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1NldEZvclNj
b3BlLmg+CkBAIC04MCw3ICs4MCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1l
c3BhY2UgSW5zcGVjdG9yOwogCi1zdGF0aWMgQ2hlY2tlZExvY2sgYWxsU2NyaXB0RXhlY3V0aW9u
Q29udGV4dHNNYXBMb2NrOworc3RhdGljIExvY2sgYWxsU2NyaXB0RXhlY3V0aW9uQ29udGV4dHNN
YXBMb2NrOwogc3RhdGljIEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIs
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqPiYgYWxsU2NyaXB0RXhlY3V0aW9uQ29udGV4dHNNYXAo
KSBXVEZfUkVRVUlSRVNfTE9DSyhhbGxTY3JpcHRFeGVjdXRpb25Db250ZXh0c01hcExvY2spCiB7
CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqPj4gY29udGV4dHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA5YmQ0MDAxMGMzNWFhMGU5N2I2
ZTFkYWU0OGIzZTEwZDRkOTVkNjdmLi4xYmNkY2ExYTcyYzgwMDE1YzQ0ODAyZmFhZjQ1NmE0NmQ4
NGUzYzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTY2
MjYsNyArNjYyNiw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y3JlYXRlTWVkaWFQbGF5ZXIo
KQogCiAjaWYgRU5BQkxFKFdFQl9BVURJTykKICAgICBhdXRvIHByb3RlY3RlZEF1ZGlvU291cmNl
Tm9kZSA9IG1ha2VSZWZQdHIobV9hdWRpb1NvdXJjZU5vZGUpOwotICAgIExvY2tlcjxMb2NrPiBh
dWRpb1NvdXJjZU5vZGVMb2NrZXIobV9hdWRpb1NvdXJjZU5vZGUgPyAmbV9hdWRpb1NvdXJjZU5v
ZGUtPnByb2Nlc3NMb2NrKCkgOiBudWxscHRyKTsKKyAgICBMb2NrZXIgYXVkaW9Tb3VyY2VOb2Rl
TG9ja2VyKG1fYXVkaW9Tb3VyY2VOb2RlID8gJm1fYXVkaW9Tb3VyY2VOb2RlLT5wcm9jZXNzTG9j
aygpIDogbnVsbHB0cik7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQu
Y3BwCmluZGV4IDQ5ZDk0NTE1Y2E3ZTE0YzVmNGI1ZjVhOTBlNWQ3ZjI5N2JiZGU0ZjguLjA0MDYy
YTA0M2UxMjNlNDE2YjFlOGJmZjA4YjI2MTE1NjA1ZjYzZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC00Niw3
ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9J
TVBMKENhbnZhc1JlbmRlcmluZ0NvbnRleHQpOwogCi1DaGVja2VkTG9jayBDYW52YXNSZW5kZXJp
bmdDb250ZXh0OjpzX2luc3RhbmNlc0xvY2s7CitMb2NrIENhbnZhc1JlbmRlcmluZ0NvbnRleHQ6
OnNfaW5zdGFuY2VzTG9jazsKIAogSGFzaFNldDxDYW52YXNSZW5kZXJpbmdDb250ZXh0Kj4mIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQ6Omluc3RhbmNlcygpCiB7CkBAIC01NCw3ICs1NCw3IEBAIEhh
c2hTZXQ8Q2FudmFzUmVuZGVyaW5nQ29udGV4dCo+JiBDYW52YXNSZW5kZXJpbmdDb250ZXh0Ojpp
bnN0YW5jZXMoKQogICAgIHJldHVybiBpbnN0YW5jZXM7CiB9CiAKLUNoZWNrZWRMb2NrJiBDYW52
YXNSZW5kZXJpbmdDb250ZXh0OjppbnN0YW5jZXNMb2NrKCkKK0xvY2smIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQ6Omluc3RhbmNlc0xvY2soKQogewogICAgIHJldHVybiBzX2luc3RhbmNlc0xvY2s7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0LmgKaW5kZXggMTBhZTlmNjc3MjZmNWQ0OTAwNWJhYjIwMzEyOWU0NmE3NTIyOTNkNS4u
OTJjMDNjMTllNGY3MTY0ZThhZDg3YTg5ZWJkNmQ1MDQzZjViNWNiMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaApAQCAtMjgs
OSArMjgsOSBAQAogI2luY2x1ZGUgIkNhbnZhc0Jhc2UuaCIKICNpbmNsdWRlICJHcmFwaGljc0xh
eWVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxlLmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNr
ZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTUzLDcgKzUzLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKTsKIAogICAgIHN0
YXRpYyBIYXNoU2V0PENhbnZhc1JlbmRlcmluZ0NvbnRleHQqPiYgaW5zdGFuY2VzKCkgV1RGX1JF
UVVJUkVTX0xPQ0soaW5zdGFuY2VzTG9jaygpKTsKLSAgICBzdGF0aWMgQ2hlY2tlZExvY2smIGlu
c3RhbmNlc0xvY2soKSBXVEZfUkVUVVJOU19MT0NLKHNfaW5zdGFuY2VzTG9jayk7CisgICAgc3Rh
dGljIExvY2smIGluc3RhbmNlc0xvY2soKSBXVEZfUkVUVVJOU19MT0NLKHNfaW5zdGFuY2VzTG9j
ayk7CiAKICAgICB2b2lkIHJlZigpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGVyZWYoKTsK
QEAgLTExMiw3ICsxMTIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBtX2hhc0FjdGl2ZUluc3Bl
Y3RvckNhbnZhc0NhbGxUcmFjZXIgeyBmYWxzZSB9OwogCiBwcml2YXRlOgotICAgIHN0YXRpYyBD
aGVja2VkTG9jayBzX2luc3RhbmNlc0xvY2s7CisgICAgc3RhdGljIExvY2sgc19pbnN0YW5jZXNM
b2NrOwogCiAgICAgQ2FudmFzQmFzZSYgbV9jYW52YXM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0R3JvdXAuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0R3JvdXAuY3BwCmluZGV4IGFiZDhmMjczNjgzOTFl
M2UxZDdmY2Y5ZDM3YjlkNzc5NmFmMzM2MWIuLjE0YzJhMDg5OTdkOTAxZGExNDBhNGIwMzc4NDhl
NzQxNDQzZjY1MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
Q29udGV4dEdyb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENv
bnRleHRHcm91cC5jcHAKQEAgLTU1LDcgKzU1LDcgQEAgR3JhcGhpY3NDb250ZXh0R0wmIFdlYkdM
Q29udGV4dEdyb3VwOjpnZXRBR3JhcGhpY3NDb250ZXh0R0woKQogICAgIHJldHVybiAqKCptX2Nv
bnRleHRzLmJlZ2luKCkpLT5ncmFwaGljc0NvbnRleHRHTCgpOwogfQogCi1XVEY6OkxvY2smIFdl
YkdMQ29udGV4dEdyb3VwOjpvYmplY3RHcmFwaExvY2tGb3JBQ29udGV4dCgpCitVbmNoZWNrZWRM
b2NrJiBXZWJHTENvbnRleHRHcm91cDo6b2JqZWN0R3JhcGhMb2NrRm9yQUNvbnRleHQoKQogewog
ICAgIEFTU0VSVCghbV9jb250ZXh0cy5pc0VtcHR5KCkpOwogICAgIC8vIFNpbmNlIHRoZSBXRUJH
TF9zaGFyZWRfb2JqZWN0cyBleHRlbnNpb24gbmV2ZXIgc2hpcHBlZCwgYW5kIGlzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRHcm91cC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0R3JvdXAuaAppbmRleCA4NTVjZTcy
Mzk4NmZlMDc3NTk4ZjI0NjgxYWU4MDg2YzgxZWRmYTAzLi5iNmFmZTBhZjk3ZWJkZmZhYzFhMWNk
MDA0M2ZmYmY3OWNjZDE3NzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTENvbnRleHRHcm91cC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMQ29udGV4dEdyb3VwLmgKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBo
YXNBQ29udGV4dCgpIGNvbnN0OwogICAgIEdyYXBoaWNzQ29udGV4dEdMJiBnZXRBR3JhcGhpY3ND
b250ZXh0R0woKTsKLSAgICBMb2NrJiBvYmplY3RHcmFwaExvY2tGb3JBQ29udGV4dCgpOworICAg
IFVuY2hlY2tlZExvY2smIG9iamVjdEdyYXBoTG9ja0ZvckFDb250ZXh0KCk7CiAKICAgICB2b2lk
IGxvc2VDb250ZXh0R3JvdXAoV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6TG9zdENvbnRleHRN
b2RlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb250
ZXh0T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dE9i
amVjdC5jcHAKaW5kZXggN2M5MTlmMmI2NjU2YjY3YjE2Y2E2MzQwYjBiMmE0YjY0NWQwNDYzYi4u
MjQzNTRkMDViODFiYzg1MjJiZTc3ZDNiYjhmNGNjZTQ3ZWIzNjNmNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0T2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRPYmplY3QuY3BwCkBAIC01NCw3ICs1
NCw3IEBAIHZvaWQgV2ViR0xDb250ZXh0T2JqZWN0OjpkZXRhY2hDb250ZXh0KGNvbnN0IEFic3Ry
YWN0TG9ja2VyJiBsb2NrZXIpCiAgICAgfQogfQogCi1XVEY6OkxvY2smIFdlYkdMQ29udGV4dE9i
amVjdDo6b2JqZWN0R3JhcGhMb2NrRm9yQ29udGV4dCgpCitVbmNoZWNrZWRMb2NrJiBXZWJHTENv
bnRleHRPYmplY3Q6Om9iamVjdEdyYXBoTG9ja0ZvckNvbnRleHQoKQogewogICAgIC8vIFNob3Vs
ZCBub3QgY2FsbCB0aGlzIGlmIHRoZSBvYmplY3Qgb3IgY29udGV4dCBoYXMgYmVlbiBkZWxldGVk
LgogICAgIEFTU0VSVChtX2NvbnRleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xDb250ZXh0T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTENvbnRleHRPYmplY3QuaAppbmRleCBkYmZkZDZiZmMwZWY0NGViODgyZWI5YzU5YjAw
OGQyOTgxMTI2NDk1Li4wZWE3OTlmZmJiM2E4YWFlMDExM2Q5YTU1Y2UzZTYzYmJhMmM4ZWFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRPYmplY3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRPYmplY3QuaApA
QCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRldGFjaENvbnRleHQoY29uc3Qg
V1RGOjpBYnN0cmFjdExvY2tlciYpOwogCi0gICAgV1RGOjpMb2NrJiBvYmplY3RHcmFwaExvY2tG
b3JDb250ZXh0KCkgb3ZlcnJpZGU7CisgICAgVW5jaGVja2VkTG9jayYgb2JqZWN0R3JhcGhMb2Nr
Rm9yQ29udGV4dCgpIG92ZXJyaWRlOwogCiBwcm90ZWN0ZWQ6CiAgICAgV2ViR0xDb250ZXh0T2Jq
ZWN0KFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTE9iamVjdC5oCmluZGV4IDAwY2Q4ZjBjMmI3YjIxYmJmOTcyYWZhN2NmYzVlZTg1ZTNl
MDYwZGQuLjY0NTEwYjlkNjFjN2RkMTdiN2EwMDIyNzYzMWRjMWQ1MWYzYjJkZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMT2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xPYmplY3QuaApAQCAtMjgsMTMgKzI4LDkgQEAKICNp
ZiBFTkFCTEUoV0VCR0wpCiAKICNpbmNsdWRlICJHcmFwaGljc1R5cGVzR0wuaCIKKyNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKLW5hbWVzcGFj
ZSBXVEYgewotY2xhc3MgQWJzdHJhY3RMb2NrZXI7Ci1jbGFzcyBMb2NrOwotfQotCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEdyYXBoaWNzQ29udGV4dEdMOwpAQCAtNzEsNyArNjcsNyBA
QCBwdWJsaWM6CiAgICAgLy8gV0VCR0xfc2hhcmVkX29iamVjdHMgZXh0ZW5zaW9uIHNwZWNpZmlj
YXRpb24gbmV2ZXIgc2hpcHBlZCAoYW5kCiAgICAgLy8gaXMgdW5saWtlbHkgdG8pLCB0aGlzIGJh
c2ljYWxseSByZXR1cm5zIHRoZSBzYW1lIHJlc3VsdCBmb3IKICAgICAvLyBib3RoIGNvbnRleHQg
b2JqZWN0cyBhbmQgc2hhcmVkIG9iamVjdHMuCi0gICAgdmlydHVhbCBXVEY6OkxvY2smIG9iamVj
dEdyYXBoTG9ja0ZvckNvbnRleHQoKSA9IDA7CisgICAgdmlydHVhbCBVbmNoZWNrZWRMb2NrJiBv
YmplY3RHcmFwaExvY2tGb3JDb250ZXh0KCkgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgV2ViR0xP
YmplY3QoKSA9IGRlZmF1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFByb2dyYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xQcm9n
cmFtLmNwcAppbmRleCBhOWU2NTJjMTQyMWVjN2U1MmM5M2E0NGU1MmZiZjgyMzRjMDhiMDljLi4x
MGU0NDE1MzYxNDcyN2E3ZWEwNjY0MGZlZjQ0ZWY4MGVhYjhlZjA4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFByb2dyYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5jcHAKQEAgLTQ1LDcgKzQ1LDcgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1DaGVja2VkTG9jayBXZWJHTFByb2dyYW06OnNfaW5zdGFuY2Vz
TG9jazsKK0xvY2sgV2ViR0xQcm9ncmFtOjpzX2luc3RhbmNlc0xvY2s7CiAKIEhhc2hNYXA8V2Vi
R0xQcm9ncmFtKiwgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSo+JiBXZWJHTFByb2dyYW06Omlu
c3RhbmNlcygpCiB7CkBAIC01Myw3ICs1Myw3IEBAIEhhc2hNYXA8V2ViR0xQcm9ncmFtKiwgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZSo+JiBXZWJHTFByb2dyYW06Omluc3RhbmNlcygpCiAgICAg
cmV0dXJuIGluc3RhbmNlczsKIH0KIAotQ2hlY2tlZExvY2smIFdlYkdMUHJvZ3JhbTo6aW5zdGFu
Y2VzTG9jaygpCitMb2NrJiBXZWJHTFByb2dyYW06Omluc3RhbmNlc0xvY2soKQogewogICAgIHJl
dHVybiBzX2luc3RhbmNlc0xvY2s7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFByb2dyYW0uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UHJvZ3JhbS5oCmluZGV4IDEwMDBkMTg5ZDFmM2FmY2UyYTE2OTI5YWZiYzFiZDhlZDI5NGQ0NGMu
Ljk2ODVhOGNiY2U1NjhlOTU5ODFkNDdmYmYwNzRiMDk1ZGU2NTZlNTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5oCkBAIC0yOSw5ICsyOSw5IEBACiAKICNpbmNs
dWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2luY2x1ZGUgIldlYkdMU2hhcmVk
T2JqZWN0LmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaEZ1bmN0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9M
b2NrLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTU0
LDcgKzU0LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfldlYkdMUHJvZ3JhbSgpOwogCiAgICAg
c3RhdGljIEhhc2hNYXA8V2ViR0xQcm9ncmFtKiwgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSo+
JiBpbnN0YW5jZXMoKSBXVEZfUkVRVUlSRVNfTE9DSyhpbnN0YW5jZXNMb2NrKCkpOwotICAgIHN0
YXRpYyBDaGVja2VkTG9jayYgaW5zdGFuY2VzTG9jaygpIFdURl9SRVRVUk5TX0xPQ0soc19pbnN0
YW5jZXNMb2NrKTsKKyAgICBzdGF0aWMgTG9jayYgaW5zdGFuY2VzTG9jaygpIFdURl9SRVRVUk5T
X0xPQ0soc19pbnN0YW5jZXNMb2NrKTsKIAogICAgIHZvaWQgY29udGV4dERlc3Ryb3llZCgpIGZp
bmFsOwogCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjYWNoZUFjdGl2ZUF0
dHJpYkxvY2F0aW9ucyhHcmFwaGljc0NvbnRleHRHTCopOwogICAgIHZvaWQgY2FjaGVJbmZvSWZO
ZWVkZWQoKTsKIAotICAgIHN0YXRpYyBDaGVja2VkTG9jayBzX2luc3RhbmNlc0xvY2s7CisgICAg
c3RhdGljIExvY2sgc19pbnN0YW5jZXNMb2NrOwogCiAgICAgVmVjdG9yPEdDR0xpbnQ+IG1fYWN0
aXZlQXR0cmliTG9jYXRpb25zOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCmluZGV4IDBhMTQ5Mjk5N2Q3OGE1
YjE5YTIzNTViYzg1NjkyOTg0OGE4MTg3ODYuLmEwYjY3OWU3ZjI4YjFiMWU0YThlZjJhYjhlMTcx
NTBjMDlmNGVmNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCkBAIC03OTkwLDcgKzc5OTAsNyBAQCB2b2lk
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmFkZE1lbWJlcnNUb09wYXF1ZVJvb3RzKEpTQzo6
QWJzdHJhY3RTbG90VmlzaXRvcgogICAgIC8vIHJvb3RzIGZvciBleHRlbnNpb25zLgogfQogCi1M
b2NrJiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpvYmplY3RHcmFwaExvY2soKQorVW5jaGVj
a2VkTG9jayYgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6b2JqZWN0R3JhcGhMb2NrKCkKIHsK
ICAgICByZXR1cm4gbV9vYmplY3RHcmFwaExvY2s7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKaW5kZXggZmFlOGE1
MzllYzg5MTQzOTI5ZWFiNDZmY2EzM2MzMTI2YTNjMTY5Zi4uZDdjYmVlZDMyY2JjMGI3OTdjMTA2
OGZkNTk3ZDEzZWQ4ZTRjMTk3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaApAQCAtNDI2LDcgKzQyNiw3IEBAIHB1
YmxpYzoKICAgICAvLyBjdXJyZW50bHkgbGF0Y2hlZCBpbnRvIHRoZSBjb250ZXh0IC0gd2l0aG91
dCB0cmF2ZXJzaW5nIGFsbCBvZgogICAgIC8vIHRoZSBsYXRjaGVkIG9iamVjdHMgdG8gZmluZCB0
aGUgY3VycmVudCBvbmUsIHdoaWNoIHdvdWxkIGJlCiAgICAgLy8gcHJvaGliaXRpdmVseSBleHBl
bnNpdmUuCi0gICAgTG9jayYgb2JqZWN0R3JhcGhMb2NrKCk7CisgICAgVW5jaGVja2VkTG9jayYg
b2JqZWN0R3JhcGhMb2NrKCk7CiAKIHByb3RlY3RlZDoKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlKENhbnZhc0Jhc2UmLCBXZWJHTENvbnRleHRBdHRyaWJ1dGVzKTsKQEAgLTU0MCw3ICs1
NDAsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IG1fY29u
dGV4dDsKICAgICBSZWZQdHI8V2ViR0xDb250ZXh0R3JvdXA+IG1fY29udGV4dEdyb3VwOwotICAg
IExvY2sgbV9vYmplY3RHcmFwaExvY2s7CisgICAgVW5jaGVja2VkTG9jayBtX29iamVjdEdyYXBo
TG9jazsKIAogICAgIGJvb2wgbV9yZXN0b3JlQWxsb3dlZCB7IGZhbHNlIH07CiAgICAgU3VzcGVu
ZGFibGVUaW1lciBtX3Jlc3RvcmVUaW1lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMU2hhcmVkT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMU2hhcmVkT2JqZWN0LmNwcAppbmRleCA5MzZjOTgxYzk5MjkwZDhlN2NlZjk4YjEz
YjU2OTNjYmViMjM3OThjLi4wYWI4Y2IyNDFhMWIzZjM4OGZlZjM4Mjk5NzZjZWNmNmQ0ODdkMzc4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFNoYXJlZE9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xTaGFyZWRPYmplY3Qu
Y3BwCkBAIC04Miw3ICs4Miw3IEBAIEdyYXBoaWNzQ29udGV4dEdMKiBXZWJHTFNoYXJlZE9iamVj
dDo6Z2V0QUdyYXBoaWNzQ29udGV4dEdMKCkgY29uc3QKICAgICByZXR1cm4gbV9jb250ZXh0R3Jv
dXAgPyAmbV9jb250ZXh0R3JvdXAtPmdldEFHcmFwaGljc0NvbnRleHRHTCgpIDogbnVsbHB0cjsK
IH0KIAotV1RGOjpMb2NrJiBXZWJHTFNoYXJlZE9iamVjdDo6b2JqZWN0R3JhcGhMb2NrRm9yQ29u
dGV4dCgpCitVbmNoZWNrZWRMb2NrJiBXZWJHTFNoYXJlZE9iamVjdDo6b2JqZWN0R3JhcGhMb2Nr
Rm9yQ29udGV4dCgpCiB7CiAgICAgLy8gU2hvdWxkIG5vdCBjYWxsIHRoaXMgaWYgdGhlIG9iamVj
dCBvciBjb250ZXh0IGhhcyBiZWVuIGRlbGV0ZWQuCiAgICAgQVNTRVJUKG1fY29udGV4dEdyb3Vw
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMU2hhcmVkT2Jq
ZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFNoYXJlZE9iamVjdC5oCmlu
ZGV4IDVkMTNhZmEzODQ2YWEyMTUzMGMwYWJkNTM5MGFhMWU3OThlOWUxZDAuLmY1M2RiMTliMDY5
MjI5MDZiZGNjYjE2YzM5MzczODYxNWYxNzY1NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMU2hhcmVkT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xTaGFyZWRPYmplY3QuaApAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIGRldGFjaENvbnRleHRHcm91cFdpdGhvdXREZWxldGluZ09iamVjdCgpOwogCi0g
ICAgV1RGOjpMb2NrJiBvYmplY3RHcmFwaExvY2tGb3JDb250ZXh0KCkgb3ZlcnJpZGU7CisgICAg
VW5jaGVja2VkTG9jayYgb2JqZWN0R3JhcGhMb2NrRm9yQ29udGV4dCgpIG92ZXJyaWRlOwogCiBw
cm90ZWN0ZWQ6CiAgICAgV2ViR0xTaGFyZWRPYmplY3QoV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9XZWJIZWFw
QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9XZWJIZWFwQWdlbnQu
Y3BwCmluZGV4IGM3MmQzN2I5MDg5NTFmMmFhOTkzNzA2ZDYxNDQ0MDg2MDBkYmFlNzguLjYxNjI3
ODhlNjY2M2M4NjA0NjY1N2JmM2E5NGFlNThlMmJmZjE3NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvV2ViSGVhcEFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL1dlYkhlYXBBZ2VudC5jcHAKQEAgLTI4LDcgKzI4LDcgQEAK
IAogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKICNpbmNsdWRlICJXZWJDb25zb2xl
QWdlbnQuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9j
ay5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTUxLDcgKzUxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHRpbWVyRmlyZWQoKTsKIAogICAgIFdl
YkhlYXBBZ2VudCYgbV9hZ2VudDsKLSAgICBDaGVja2VkTG9jayBtX2NvbGxlY3Rpb25zTG9jazsK
KyAgICBMb2NrIG1fY29sbGVjdGlvbnNMb2NrOwogICAgIFZlY3RvcjxHYXJiYWdlQ29sbGVjdGlv
bkRhdGE+IG1fY29sbGVjdGlvbnMgV1RGX0dVQVJERURfQllfTE9DSyhtX2NvbGxlY3Rpb25zTG9j
ayk7CiAgICAgUnVuTG9vcDo6VGltZXI8U2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZlbnRzVGFzaz4g
bV90aW1lcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNh
Z2VUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZVRocmVhZC5oCmlu
ZGV4IGZkNDE0OWMyODU0YWU0MzFhNzQzYmE3ZmM1Yzc5NjEwYWRjMGMwY2QuLmEwMWFkN2ZkZTE5
Y2VhMjY1YWFmZDNkYzU3ZmQwMTYyZDY1YTIyMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUmVzb3VyY2VVc2FnZVRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVz
b3VyY2VVc2FnZVRocmVhZC5oCkBAIC0zMCw4ICszMCw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VV
c2FnZURhdGEuaCIKICNpbmNsdWRlIDxhcnJheT4KICNpbmNsdWRlIDxmdW5jdGlvbmFsPgotI2lu
Y2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2Nr
Lmg+CisjaW5jbHVkZSA8d3RmL0NvbmRpdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4K
QEAgLTgwLDggKzc5LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3JtQ29sbGVjdE1lbW9y
eURhdGEoSlNDOjpWTSosIFJlc291cmNlVXNhZ2VEYXRhJik7CiAKICAgICBSZWZQdHI8VGhyZWFk
PiBtX3RocmVhZDsKLSAgICBDaGVja2VkTG9jayBtX29ic2VydmVyc0xvY2s7Ci0gICAgQ2hlY2tl
ZENvbmRpdGlvbiBtX2NvbmRpdGlvbjsKKyAgICBMb2NrIG1fb2JzZXJ2ZXJzTG9jazsKKyAgICBD
b25kaXRpb24gbV9jb25kaXRpb247CiAgICAgSGFzaE1hcDx2b2lkKiwgc3RkOjpwYWlyPFJlc291
cmNlVXNhZ2VDb2xsZWN0aW9uTW9kZSwgc3RkOjpmdW5jdGlvbjx2b2lkKGNvbnN0IFJlc291cmNl
VXNhZ2VEYXRhJik+Pj4gbV9vYnNlcnZlcnMgV1RGX0dVQVJERURfQllfTE9DSyhtX29ic2VydmVy
c0xvY2spOwogICAgIFJlc291cmNlVXNhZ2VDb2xsZWN0aW9uTW9kZSBtX2NvbGxlY3Rpb25Nb2Rl
IHsgTm9uZSB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5UG9s
aWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlQb2xpY3kuY3BwCmluZGV4IDUx
ODMzOTM1YWFlZWZhZjU4OTAyZTRiOWM2NmEwMjRhOWQ1ZDlkZmEuLjcwODkwOWMyNDA1NWJmZWNh
MDM3MjRhNGM5MWVmMjgwYjQ2MTM3NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlQb2xp
Y3kuY3BwCkBAIC0zMyw4ICszMyw4IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNp
bmNsdWRlICJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCIKICNpbmNsdWRlIDxtZW1vcnk+Ci0jaW5j
bHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNs
dWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8
d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgpAQCAtNDcsNyArNDcs
NyBAQCBzdGF0aWMgU2VjdXJpdHlQb2xpY3k6OkxvY2FsTG9hZFBvbGljeSBsb2NhbExvYWRQb2xp
Y3kgPSBTZWN1cml0eVBvbGljeTo6QWxsb3dMbwogdHlwZWRlZiBWZWN0b3I8T3JpZ2luQWNjZXNz
RW50cnk+IE9yaWdpbkFjY2Vzc0FsbG93bGlzdDsKIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIHN0
ZDo6dW5pcXVlX3B0cjxPcmlnaW5BY2Nlc3NBbGxvd2xpc3Q+PiBPcmlnaW5BY2Nlc3NNYXA7CiAK
LXN0YXRpYyBDaGVja2VkTG9jayBvcmlnaW5BY2Nlc3NNYXBMb2NrOworc3RhdGljIExvY2sgb3Jp
Z2luQWNjZXNzTWFwTG9jazsKIHN0YXRpYyBPcmlnaW5BY2Nlc3NNYXAmIG9yaWdpbkFjY2Vzc01h
cCgpIFdURl9SRVFVSVJFU19MT0NLKG9yaWdpbkFjY2Vzc01hcExvY2spCiB7CiAgICAgQVNTRVJU
KG9yaWdpbkFjY2Vzc01hcExvY2suaXNIZWxkKCkpOwpAQCAtNTUsNyArNTUsNyBAQCBzdGF0aWMg
T3JpZ2luQWNjZXNzTWFwJiBvcmlnaW5BY2Nlc3NNYXAoKSBXVEZfUkVRVUlSRVNfTE9DSyhvcmln
aW5BY2Nlc3NNYXBMb2NrKQogICAgIHJldHVybiBvcmlnaW5BY2Nlc3NNYXA7CiB9CiAKLXN0YXRp
YyBDaGVja2VkTG9jayBvcmlnaW5BY2Nlc3NQYXR0ZXJuTG9jazsKK3N0YXRpYyBMb2NrIG9yaWdp
bkFjY2Vzc1BhdHRlcm5Mb2NrOwogc3RhdGljIFZlY3RvcjxVc2VyQ29udGVudFVSTFBhdHRlcm4+
JiBvcmlnaW5BY2Nlc3NQYXR0ZXJucygpIFdURl9SRVFVSVJFU19MT0NLKG9yaWdpbkFjY2Vzc1Bh
dHRlcm5Mb2NrKQogewogICAgIEFTU0VSVChvcmlnaW5BY2Nlc3NQYXR0ZXJuTG9jay5pc0hlbGQo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0TW9uaXRv
ci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdE1vbml0b3IuaAppbmRleCA3
Y2QyZmEwNDljZjRjZmE1NTIxNjgwMTBjODlhMzYyMDZjZWZkYzgzLi42YmQyYjAwMzI1YjZjNmUy
ZTIxMWQ4NjhiMmNjZDQ5ZTJlYzE2YTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1doZWVsRXZlbnRUZXN0TW9uaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxF
dmVudFRlc3RNb25pdG9yLmgKQEAgLTMwLDkgKzMwLDkgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3Jt
V2hlZWxFdmVudC5oIgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+Ci0jaW5jbHVkZSA8d3RmL0NoZWNr
ZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVm
Q291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC03Myw3ICs3Myw3IEBAIHByaXZh
dGU6CiAgICAgV1RGOjpGdW5jdGlvbjx2b2lkKCk+IG1fY29tcGxldGlvbkNhbGxiYWNrOwogICAg
IFBhZ2UmIG1fcGFnZTsKIAotICAgIENoZWNrZWRMb2NrIG1fbG9jazsKKyAgICBMb2NrIG1fbG9j
azsKICAgICBTY3JvbGxhYmxlQXJlYVJlYXNvbk1hcCBtX2RlZmVyQ29tcGxldGlvblJlYXNvbnMg
V1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOwogICAgIGJvb2wgbV9leHBlY3RXaGVlbEVuZE9y
Q2FuY2VsIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKSB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X3JlY2VpdmVkV2hlZWxFbmRPckNhbmNlbCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jaykgeyBm
YWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5o
CmluZGV4IGY2MWNkODFhMDY5NDI1NDY3NGRhOGRmY2Q4OWQ5NDhhNWY0YTEzMGUuLmRjZjE0Y2Q2
YjZiZjA1MGJlNzk3OTYyNjc3Y2JiMjliODQ1MGNjNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRl
ICJTY3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nVHJlZUxh
dGNoaW5nQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldoZWVsRXZlbnRUZXN0TW9uaXRvci5oIgot
I2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAj
aW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgpAQCAt
MjE3LDcgKzIxNiw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFNlbmRFdmVudFRv
TWFpblRocmVhZChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgd2FpdEZvckV2ZW50VG9CZVByb2Nlc3NlZEJ5TWFpblRocmVhZChjb25zdCBQbGF0Zm9ybVdo
ZWVsRXZlbnQmKSB7IH07CiAKLSAgICBDaGVja2VkTG9jayYgdHJlZUxvY2soKSBXVEZfUkVUVVJO
U19MT0NLKG1fdHJlZUxvY2spIHsgcmV0dXJuIG1fdHJlZUxvY2s7IH0KKyAgICBMb2NrJiB0cmVl
TG9jaygpIFdURl9SRVRVUk5TX0xPQ0sobV90cmVlTG9jaykgeyByZXR1cm4gbV90cmVlTG9jazsg
fQogCiAgICAgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQsIE9w
dGlvbmFsPEZyYW1lc1BlclNlY29uZD4gbm9taW5hbEZyYW1lc1BlclNlY29uZCk7CiAgICAgUGxh
dGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKCk7CkBAIC0yNjAsNyArMjU5LDcgQEAgcHJvdGVjdGVk
OgogICAgIHZvaWQgYXBwbHlMYXllclBvc2l0aW9uc0ludGVybmFsKCkgV1RGX1JFUVVJUkVTX0xP
Q0sobV90cmVlTG9jayk7CiAgICAgdm9pZCByZW1vdmVBbGxOb2RlcygpIFdURl9SRVFVSVJFU19M
T0NLKG1fdHJlZUxvY2spOwogCi0gICAgQ2hlY2tlZExvY2sgbV90cmVlTG9jazsgLy8gUHJvdGVj
dHMgdGhlIHNjcm9sbGluZyB0cmVlLgorICAgIExvY2sgbV90cmVlTG9jazsgLy8gUHJvdGVjdHMg
dGhlIHNjcm9sbGluZyB0cmVlLgogCiBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlVHJlZUZyb21T
dGF0ZU5vZGVSZWN1cnNpdmUoY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlKiwgc3RydWN0IENvbW1p
dFRyZWVTdGF0ZSYpIFdURl9SRVFVSVJFU19MT0NLKG1fdHJlZUxvY2spOwpAQCAtMzAzLDcgKzMw
Miw3IEBAIHByaXZhdGU6CiAgICAgICAgIEhhc2hTZXQ8U2Nyb2xsaW5nTm9kZUlEPiBub2Rlc1dp
dGhBY3RpdmVVc2VyU2Nyb2xsczsKICAgICB9OwogICAgIAotICAgIENoZWNrZWRMb2NrIG1fdHJl
ZVN0YXRlTG9jazsKKyAgICBMb2NrIG1fdHJlZVN0YXRlTG9jazsKICAgICBUcmVlU3RhdGUgbV90
cmVlU3RhdGUgV1RGX0dVQVJERURfQllfTE9DSyhtX3RyZWVTdGF0ZUxvY2spOwogCiAgICAgc3Ry
dWN0IFN3aXBlU3RhdGUgewpAQCAtMzE3LDEzICszMTYsMTMgQEAgcHJpdmF0ZToKICAgICAgICAg
UmVjdEVkZ2VzPGJvb2w+IG1haW5GcmFtZVBpbm5lZFN0YXRlIHsgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwg
dHJ1ZSB9OwogICAgIH07CiAKLSAgICBDaGVja2VkTG9jayBtX3N3aXBlU3RhdGVMb2NrOworICAg
IExvY2sgbV9zd2lwZVN0YXRlTG9jazsKICAgICBTd2lwZVN0YXRlIG1fc3dpcGVTdGF0ZSBXVEZf
R1VBUkRFRF9CWV9MT0NLKG1fc3dpcGVTdGF0ZUxvY2spOwogCi0gICAgQ2hlY2tlZExvY2sgbV9w
ZW5kaW5nU2Nyb2xsVXBkYXRlc0xvY2s7CisgICAgTG9jayBtX3BlbmRpbmdTY3JvbGxVcGRhdGVz
TG9jazsKICAgICBWZWN0b3I8U2Nyb2xsVXBkYXRlPiBtX3BlbmRpbmdTY3JvbGxVcGRhdGVzIFdU
Rl9HVUFSREVEX0JZX0xPQ0sobV9wZW5kaW5nU2Nyb2xsVXBkYXRlc0xvY2spOwogCi0gICAgQ2hl
Y2tlZExvY2sgbV9sYXN0V2hlZWxFdmVudFRpbWVMb2NrOworICAgIExvY2sgbV9sYXN0V2hlZWxF
dmVudFRpbWVMb2NrOwogICAgIE1vbm90b25pY1RpbWUgbV9sYXN0V2hlZWxFdmVudFRpbWUgV1RG
X0dVQVJERURfQllfTE9DSyhtX2xhc3RXaGVlbEV2ZW50VGltZUxvY2spOwogCiBwcm90ZWN0ZWQ6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
TGF0Y2hpbmdDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyLmgKaW5kZXggZTQ3ZWQ2NGE0OWU0YzZhY2ZjODFh
ZjkyMzg4NzQyZDVlZTg0ODRkNy4uMjg5YTFjNDAwODgxNzNiNDhjM2FlNDUwZDY2ZWZhMWJlNWY3
MTVjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
VHJlZUxhdGNoaW5nQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuaApAQCAtMjgsNyArMjgsNyBAQAog
I2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAKICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgot
I2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5j
bHVkZSA8d3RmL01hcmthYmxlLmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNp
bmNsdWRlIDx3dGYvT3B0aW9uU2V0Lmg+CkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKIHByaXZh
dGU6CiAgICAgYm9vbCBsYXRjaGVkTm9kZUlzUmVsZXZhbnQoKSBjb25zdDsKIAotICAgIG11dGFi
bGUgQ2hlY2tlZExvY2sgbV9sYXRjaGVkTm9kZUxvY2s7CisgICAgbXV0YWJsZSBMb2NrIG1fbGF0
Y2hlZE5vZGVMb2NrOwogICAgIE9wdGlvbmFsPFNjcm9sbGluZ05vZGVBbmRQcm9jZXNzaW5nU3Rl
cHM+IG1fbGF0Y2hlZE5vZGVBbmRTdGVwcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbGF0Y2hlZE5v
ZGVMb2NrKTsKICAgICBPcHRpb25hbDxPcHRpb25TZXQ8V2hlZWxFdmVudFByb2Nlc3NpbmdTdGVw
cz4+IG1fcHJvY2Vzc2luZ1N0ZXBzRm9yQ3VycmVudEdlc3R1cmU7CiAgICAgTW9ub3RvbmljVGlt
ZSBtX2xhc3RMYXRjaGVkTm9kZUludGVyYXRpb25UaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaAppbmRleCAyMDM4ODQz
NTFiNjBkNDUzODFhYWRlMGQ4NWY3ZjlmNTc1ODIyNjcxLi40MDQ1MWNhY2MyYTZmMTNkOGM0ZWFk
YjM3NzMzZjA4NDM2ZTFhZjIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaApAQCAtMjksNyArMjksNyBAQAogCiAjaW5j
bHVkZSAiU2Nyb2xsaW5nU3RhdGVUcmVlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nVHJlZS5oIgot
I2luY2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+CisjaW5jbHVkZSA8d3RmL0NvbmRpdGlv
bi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgog
CkBAIC02MCw3ICs2MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHdpbGxTdGFydFJlbmRlcmluZ1Vw
ZGF0ZSgpOwogICAgIHZvaWQgZGlkQ29tcGxldGVSZW5kZXJpbmdVcGRhdGUoKTsKIAotICAgIENo
ZWNrZWRMb2NrJiB0cmVlTG9jaygpIFdURl9SRVRVUk5TX0xPQ0sobV90cmVlTG9jaykgeyByZXR1
cm4gbV90cmVlTG9jazsgfQorICAgIExvY2smIHRyZWVMb2NrKCkgV1RGX1JFVFVSTlNfTE9DSyht
X3RyZWVMb2NrKSB7IHJldHVybiBtX3RyZWVMb2NrOyB9CiAKICAgICBib29sIHNjcm9sbEFuaW1h
dG9yRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsQW5pbWF0b3JFbmFibGVkOyB9CiAK
QEAgLTEwNCwxMCArMTA0LDEwIEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIFN5bmNocm9uaXph
dGlvblN0YXRlIG1fc3RhdGUgV1RGX0dVQVJERURfQllfTE9DSyhtX3RyZWVMb2NrKSB7IFN5bmNo
cm9uaXphdGlvblN0YXRlOjpJZGxlIH07Ci0gICAgQ2hlY2tlZENvbmRpdGlvbiBtX3N0YXRlQ29u
ZGl0aW9uOworICAgIENvbmRpdGlvbiBtX3N0YXRlQ29uZGl0aW9uOwogCiAgICAgYm9vbCBtX3Jl
Y2VpdmVkQmVnYW5FdmVudEZyb21NYWluVGhyZWFkIFdURl9HVUFSREVEX0JZX0xPQ0sobV90cmVl
TG9jaykgeyBmYWxzZSB9OwotICAgIENoZWNrZWRDb25kaXRpb24gbV93YWl0aW5nRm9yQmVnYW5F
dmVudENvbmRpdGlvbjsKKyAgICBDb25kaXRpb24gbV93YWl0aW5nRm9yQmVnYW5FdmVudENvbmRp
dGlvbjsKIAogICAgIC8vIER5bmFtaWNhbGx5IGFsbG9jYXRlZCBiZWNhdXNlIGl0IGhhcyB0byB1
c2UgdGhlIFNjcm9sbGluZ1RocmVhZCdzIHJ1bmxvb3AuCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJ1
bkxvb3A6OlRpbWVyPFRocmVhZGVkU2Nyb2xsaW5nVHJlZT4+IG1fZGVsYXllZFJlbmRlcmluZ1Vw
ZGF0ZURldGVjdGlvblRpbWVyIFdURl9HVUFSREVEX0JZX0xPQ0sobV90cmVlTG9jayk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1h
Yy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMu
aAppbmRleCBiNDJiZjQxMTQ1NGZhMDM0YTdkYWE4NmMzMTUzYWExZDY2YTk4M2NlLi44OGRhZDFl
ZGQxYjkwNTIwZDFmMGNiNmI3NzA2ZmVkMDIyNDA2N2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlTWFjLmgKQEAgLTU1LDggKzU1
LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGRlZmVyV2hlZWxFdmVudFRlc3RDb21wbGV0aW9uRm9y
UmVhc29uKFdoZWVsRXZlbnRUZXN0TW9uaXRvcjo6U2Nyb2xsYWJsZUFyZWFJZGVudGlmaWVyLCBX
aGVlbEV2ZW50VGVzdE1vbml0b3I6OkRlZmVyUmVhc29uKSBmaW5hbDsKICAgICB2b2lkIHJlbW92
ZVdoZWVsRXZlbnRUZXN0Q29tcGxldGlvbkRlZmVycmFsRm9yUmVhc29uKFdoZWVsRXZlbnRUZXN0
TW9uaXRvcjo6U2Nyb2xsYWJsZUFyZWFJZGVudGlmaWVyLCBXaGVlbEV2ZW50VGVzdE1vbml0b3I6
OkRlZmVyUmVhc29uKSBmaW5hbDsKIAotICAgIHZvaWQgbG9ja0xheWVyc0ZvckhpdFRlc3Rpbmco
KSBmaW5hbDsKLSAgICB2b2lkIHVubG9ja0xheWVyc0ZvckhpdFRlc3RpbmcoKSBmaW5hbDsKKyAg
ICB2b2lkIGxvY2tMYXllcnNGb3JIaXRUZXN0aW5nKCkgZmluYWwgV1RGX0FDUVVJUkVTX0xPQ0so
bV9sYXllckhpdFRlc3RNdXRleCk7CisgICAgdm9pZCB1bmxvY2tMYXllcnNGb3JIaXRUZXN0aW5n
KCkgZmluYWwgV1RGX1JFTEVBU0VTX0xPQ0sobV9sYXllckhpdFRlc3RNdXRleCk7CiAKICAgICAv
LyBUaGlzIGxvY2sgcHJvdGVjdHMgdGhlIENBTGF5ZXIvUGxhdGZvcm1DQUxheWVyIHRyZWUuCiAg
ICAgbXV0YWJsZSBMb2NrIG1fbGF5ZXJIaXRUZXN0TXV0ZXg7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9BYm9ydGFibGVUYXNrUXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0Fib3J0YWJsZVRhc2tRdWV1ZS5oCmluZGV4IGY4NDkxZjAxMmU1ZDY2ODI2MGM1MDM3
ZDQ5ZGY4ZDY3MGY4ZjU5ZjIuLjJhNjUwMjNhOTIwMzg4YTBjMjk4ZTM5YTRlZGYxNTg1MzAzN2Rl
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Fib3J0YWJsZVRhc2tRdWV1
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Fib3J0YWJsZVRhc2tRdWV1ZS5oCkBA
IC0yMCwxMCArMjAsMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlIDx3dGYvQ2hlY2tl
ZENvbmRpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0
Zi9Db25kaXRpb24uaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvRnVu
Y3Rpb24uaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+
CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCkBAIC0yMzIsOCArMjMyLDggQEAgcHJp
dmF0ZToKICAgICB9CiAKICAgICBib29sIG1fYWJvcnRpbmcgV1RGX0dVQVJERURfQllfTE9DSyht
X2xvY2spIHsgZmFsc2UgfTsKLSAgICBDaGVja2VkTG9jayBtX2xvY2s7Ci0gICAgQ2hlY2tlZENv
bmRpdGlvbiBtX2Fib3J0ZWRPclJlc3BvbnNlU2V0OworICAgIExvY2sgbV9sb2NrOworICAgIENv
bmRpdGlvbiBtX2Fib3J0ZWRPclJlc3BvbnNlU2V0OwogICAgIFdURjo6RGVxdWU8UmVmPFRhc2s+
PiBtX2NoYW5uZWwgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcAppbmRleCAyZjVhZjQ3YzdlMjY5
NDZmM2VjMWZmZjQwOGZhN2FhYmMzNzgzZTUxLi4zYjQ5YzRmY2MwNGM0N2RmZWI3YjM5MzA3MDYz
OTNiMGE2MWYxYWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmlj
VGFza1F1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1
ZXVlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNoZWNr
ZWRMb2NrIFRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6c19zaGFyZWRMb2NrOworTG9jayBUYXNrRGlz
cGF0Y2hlcjxUaW1lcj46OnNfc2hhcmVkTG9jazsKIAogVGFza0Rpc3BhdGNoZXI8VGltZXI+OjpU
YXNrRGlzcGF0Y2hlcigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9H
ZW5lcmljVGFza1F1ZXVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1
ZXVlLmgKaW5kZXggNTFjMDgyNWM2YjRmZTAxZDY1Y2FjNDBjYWE5N2JlYzFjMThmMTZiNC4uNmVh
ZDQzNTNkYzk5MTg4MjMxNmRkMzViOWM2ODlhOWVmYjYwNDE3MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuaApAQCAtNzEsNyArNzEsNyBAQCBwcml2YXRlOgog
CiAgICAgdm9pZCBkaXNwYXRjaE9uZVRhc2soKTsKIAotICAgIHN0YXRpYyBDaGVja2VkTG9jayBz
X3NoYXJlZExvY2s7CisgICAgc3RhdGljIExvY2sgc19zaGFyZWRMb2NrOwogICAgIERlcXVlPEZ1
bmN0aW9uPHZvaWQoKT4+IG1fcGVuZGluZ1Rhc2tzIFdURl9HVUFSREVEX0JZX0xPQ0soc19zaGFy
ZWRMb2NrKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlZ2Fj
eVNjaGVtZVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlZ2FjeVNjaGVt
ZVJlZ2lzdHJ5LmNwcAppbmRleCBkNWJiMDQ1MjhhY2I5YjIwZTY5NWQ3YjBjMDU0YTc5YjA4MTA3
YzBjLi4xY2I3OWE2Mzk0NDQzZjUzZWI5ZTRhNWE0NzBiMTg2YTdiZDJmMGRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZWdhY3lTY2hlbWVSZWdpc3RyeS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVnYWN5U2NoZW1lUmVnaXN0cnkuY3BwCkBAIC0yNyw3
ICsyNyw3IEBACiAjaW5jbHVkZSAiTGVnYWN5U2NoZW1lUmVnaXN0cnkuaCIKIAogI2luY2x1ZGUg
IlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5o
PgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNp
bmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvVVJMUGFyc2VyLmg+
CkBAIC02NSw3ICs2NSw3IEBAIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxVUkxTY2hlbWVzTWFwPiBt
YWtlTmV2ZXJEZXN0cm95ZWRTY2hlbWVTZXQoY29uc3QgVmVjdG9yPFN0CiAgICAgcmV0dXJuIHNl
dDsKIH0KIAotc3RhdGljIENoZWNrZWRMb2NrIHNjaGVtZVJlZ2lzdHJ5TG9jazsKK3N0YXRpYyBM
b2NrIHNjaGVtZVJlZ2lzdHJ5TG9jazsKIAogc3RhdGljIGNvbnN0IFVSTFNjaGVtZXNNYXAmIGFs
bEJ1aWx0aW5TY2hlbWVzKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0F1ZGlvRGVzdGluYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvRGVzdGluYXRpb24uaAppbmRleCAzNmQ1Y2UxZDYxN2IwMDEzZmVlOWU0YjM1YmNiNTM3
YmFlZTE0MWM0Li41ZTdmM2VjOTcyMTI4MjQzZWYxNGMyYzhiNTU4MTg3ZmZiYjhlNjliIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9EZXN0aW5hdGlvbi5oCkBA
IC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiQXVkaW9CdXMuaCIKICNpbmNsdWRlICJBdWRpb0lP
Q2FsbGJhY2suaCIKICNpbmNsdWRlIDxtZW1vcnk+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2Nr
Lmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL0xv
Y2suaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KQEAgLTc4LDcgKzc3
LDcgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IEF1ZGlvRGVzdGluYXRpb24o
QXVkaW9JT0NhbGxiYWNrJik7CiAKLSAgICBDaGVja2VkTG9jayBtX2NhbGxiYWNrTG9jazsKKyAg
ICBMb2NrIG1fY2FsbGJhY2tMb2NrOwogICAgIEF1ZGlvSU9DYWxsYmFjayogbV9jYWxsYmFjayBX
VEZfR1VBUkRFRF9CWV9MT0NLKG1fY2FsbGJhY2tMb2NrKSB7IG51bGxwdHIgfTsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZUxvYWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlTG9hZGVyLmgK
aW5kZXggOWY4NDdkNTRhZGE2ZTFiODIyZTJhZjY5YWRmNDY1YzBhZTVlZGVmOC4uZTE0YTEwMDhm
ODdkOWYzNzMwYzE2NzAxZDcyY2IwMDdjZDA1Yjg2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlTG9hZGVyLmgKQEAgLTMxLDcgKzMxLDcgQEAK
IAogI2luY2x1ZGUgIkhSVEZEYXRhYmFzZS5oIgogI2luY2x1ZGUgPG1lbW9yeT4KLSNpbmNsdWRl
IDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KQEAgLTc1LDcgKzc1LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8SFJURkRhdGFiYXNlPiBtX2hydGZEYXRhYmFzZTsKIAogICAgIC8vIEhvbGRpbmcgYSBtX3Ro
cmVhZExvY2sgaXMgcmVxdWlyZWQgd2hlbiBhY2Nlc3NpbmcgbV9kYXRhYmFzZUxvYWRlclRocmVh
ZC4KLSAgICBDaGVja2VkTG9jayBtX3RocmVhZExvY2s7CisgICAgTG9jayBtX3RocmVhZExvY2s7
CiAgICAgUmVmUHRyPFRocmVhZD4gbV9kYXRhYmFzZUxvYWRlclRocmVhZCBXVEZfR1VBUkRFRF9C
WV9MT0NLKG1fdGhyZWFkTG9jayk7CiAKICAgICBmbG9hdCBtX2RhdGFiYXNlU2FtcGxlUmF0ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJDb252b2x2ZXIuY3Bw
CmluZGV4IGMyNWNhZjBkOWJjNDY5NWM0ODBkZGNjOTg0ZmY5MTdlZjUyM2MwZjYuLjYzNWE4Zjc3
YjMxNDIwZGMwNWVmZjQ1ZjVmNTg1ODg4ZmJhYmZjOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkNvbnZvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQ29udm9sdmVyLmNwcApAQCAtMTQ4LDkgKzE0OCw5IEBA
IHZvaWQgUmV2ZXJiQ29udm9sdmVyOjpiYWNrZ3JvdW5kVGhyZWFkRW50cnkoKQogICAgICAgICAv
LyBXYWl0IGZvciByZWFsdGltZSB0aHJlYWQgdG8gZ2l2ZSB1cyBtb3JlIGlucHV0CiAgICAgICAg
IG1fbW9yZUlucHV0QnVmZmVyZWQgPSBmYWxzZTsgICAgICAgIAogICAgICAgICB7Ci0gICAgICAg
ICAgICBzdGQ6OnVuaXF1ZV9sb2NrPExvY2s+IGxvY2sobV9iYWNrZ3JvdW5kVGhyZWFkTG9jayk7
CisgICAgICAgICAgICBMb2NrZXIgbG9ja2VyIHsgbV9iYWNrZ3JvdW5kVGhyZWFkTG9jayB9Owog
Ci0gICAgICAgICAgICBtX2JhY2tncm91bmRUaHJlYWRDb25kaXRpb25WYXJpYWJsZS53YWl0KGxv
Y2ssIFt0aGlzXSB7IHJldHVybiBtX21vcmVJbnB1dEJ1ZmZlcmVkIHx8IG1fd2FudHNUb0V4aXQ7
IH0pOworICAgICAgICAgICAgbV9iYWNrZ3JvdW5kVGhyZWFkQ29uZGl0aW9uVmFyaWFibGUud2Fp
dChtX2JhY2tncm91bmRUaHJlYWRMb2NrLCBbdGhpc10geyByZXR1cm4gbV9tb3JlSW5wdXRCdWZm
ZXJlZCB8fCBtX3dhbnRzVG9FeGl0OyB9KTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIFByb2Nl
c3MgYWxsIG9mIHRoZSBzdGFnZXMgdW50aWwgdGhlaXIgcmVhZCBpbmRpY2VzIHJlYWNoIHRoZSBp
bnB1dCBidWZmZXIncyB3cml0ZSBpbmRleApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9EZXN0aW5hdGlvbkNvY29hLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Rlc3RpbmF0aW9uQ29jb2EuaAppbmRleCA5YzNi
ZDdhNGY5NzQ2NWM5MWJjZTM2MzU3YTg3M2Q4YjBjMGZiYjMxLi41NGY0NzE5NThlY2VkZDk3MTlk
YjI3YzAxZTcyYTAwNTU0ZDhjYTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9jb2NvYS9BdWRpb0Rlc3RpbmF0aW9uQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9BdWRpb0Rlc3RpbmF0aW9uQ29jb2EuaApAQCAtMzAsNyAr
MzAsNyBAQAogI2luY2x1ZGUgIkF1ZGlvRGVzdGluYXRpb24uaCIKICNpbmNsdWRlICJBdWRpb091
dHB1dFVuaXRBZGFwdG9yLmgiCiAjaW5jbHVkZSA8QXVkaW9Vbml0L0F1ZGlvVW5pdC5oPgotI2lu
Y2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KIApAQCAtODUsMTMg
Kzg1LDEzIEBAIHByaXZhdGU6CiAKICAgICAvLyBSZXNvbHZlcyB0aGUgYnVmZmVyIHNpemUgbWlz
bWF0Y2ggYmV0d2VlbiB0aGUgV2ViQXVkaW8gZW5naW5lIGFuZAogICAgIC8vIHRoZSBjYWxsYmFj
ayBmdW5jdGlvbiBmcm9tIHRoZSBhY3R1YWwgYXVkaW8gZGV2aWNlLgotICAgIENoZWNrZWRMb2Nr
IG1fZmlmb0xvY2s7CisgICAgTG9jayBtX2ZpZm9Mb2NrOwogICAgIFVuaXF1ZVJlZjxQdXNoUHVs
bEZJRk8+IG1fZmlmbyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fZmlmb0xvY2spOwogCiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPE11bHRpQ2hhbm5lbFJlc2FtcGxlcj4gbV9yZXNhbXBsZXI7CiAgICAgQXVk
aW9JT1Bvc2l0aW9uIG1fb3V0cHV0VGltZXN0YW1wOwogCi0gICAgQ2hlY2tlZExvY2sgbV9kaXNw
YXRjaFRvUmVuZGVyVGhyZWFkTG9jazsKKyAgICBMb2NrIG1fZGlzcGF0Y2hUb1JlbmRlclRocmVh
ZExvY2s7CiAgICAgRnVuY3Rpb248dm9pZChGdW5jdGlvbjx2b2lkKCk+JiYpPiBtX2Rpc3BhdGNo
VG9SZW5kZXJUaHJlYWQgV1RGX0dVQVJERURfQllfTE9DSyhtX2Rpc3BhdGNoVG9SZW5kZXJUaHJl
YWRMb2NrKTsKIAogICAgIGZsb2F0IG1fY29udGV4dFNhbXBsZVJhdGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvQXVkaW9Tb3VyY2VQcm92aWRl
ckdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1
ZGlvU291cmNlUHJvdmlkZXJHU3RyZWFtZXIuaAppbmRleCA1YTNhZjZjZjg5MzBjMjcxY2M0MTBl
Mzg2MTExYWNlOThkNGVjMWU5Li5iODgwYzg0YWY3Y2Y2NjUzMjZhNzFkYTA5MzcxMTVkNjdjZGVl
NDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIv
QXVkaW9Tb3VyY2VQcm92aWRlckdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb1NvdXJjZVByb3ZpZGVyR1N0cmVhbWVyLmgKQEAgLTI1
LDggKzI1LDggQEAKICNpbmNsdWRlICJHUmVmUHRyR1N0cmVhbWVyLmgiCiAjaW5jbHVkZSAiTWFp
blRocmVhZE5vdGlmaWVyLmgiCiAjaW5jbHVkZSA8Z3N0L2dzdC5oPgotI2luY2x1ZGUgPHd0Zi9D
aGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0xv
Y2suaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCkBAIC04Niw3ICs4Niw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbG9uZyBtX2Rl
aW50ZXJsZWF2ZVBhZEFkZGVkSGFuZGxlcklkIHsgMCB9OwogICAgIHVuc2lnbmVkIGxvbmcgbV9k
ZWludGVybGVhdmVOb01vcmVQYWRzSGFuZGxlcklkIHsgMCB9OwogICAgIHVuc2lnbmVkIGxvbmcg
bV9kZWludGVybGVhdmVQYWRSZW1vdmVkSGFuZGxlcklkIHsgMCB9OwotICAgIENoZWNrZWRMb2Nr
IG1fYWRhcHRlckxvY2s7CisgICAgTG9jayBtX2FkYXB0ZXJMb2NrOwogfTsKIAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL1dlYktpdFdlYkF1
ZGlvU291cmNlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dz
dHJlYW1lci9XZWJLaXRXZWJBdWRpb1NvdXJjZUdTdHJlYW1lci5jcHAKaW5kZXggOTUwYWZiNDdk
NmI4NmMyNDg0NjQ4NWUwMDc5ODc5MjVjYmQ0YjExZS4uODZmMmE0Y2ZmMGY4NGIwYzkzYmNhY2Rm
ZmQyMDU5YzMyYWZmNTc0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vZ3N0cmVhbWVyL1dlYktpdFdlYkF1ZGlvU291cmNlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvV2ViS2l0V2ViQXVkaW9Tb3VyY2VH
U3RyZWFtZXIuY3BwCkBAIC0zMSw4ICszMSw4IEBACiAjaW5jbHVkZSA8Z3N0L2FwcC9nc3RhcHBz
cmMuaD4KICNpbmNsdWRlIDxnc3QvYXVkaW8vYXVkaW8taW5mby5oPgogI2luY2x1ZGUgPGdzdC9w
YnV0aWxzL21pc3NpbmctcGx1Z2lucy5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9u
Lmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0NvbmRpdGlv
bi5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1Njb3BlLmg+CiAjaW5j
bHVkZSA8d3RmL2dsaWIvR1VuaXF1ZVB0ci5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL1dURkdUeXBl
Lmg+CkBAIC04MSwxMiArODEsMTIgQEAgc3RydWN0IF9XZWJLaXRXZWJBdWRpb1NyY1ByaXZhdGUg
ewogCiAgICAgYm9vbCBoYXNSZW5kZXJlZEF1ZGlibGVGcmFtZSB7IGZhbHNlIH07CiAKLSAgICBD
aGVja2VkTG9jayBkaXNwYXRjaFRvUmVuZGVyVGhyZWFkTG9jazsKKyAgICBMb2NrIGRpc3BhdGNo
VG9SZW5kZXJUaHJlYWRMb2NrOwogICAgIEZ1bmN0aW9uPHZvaWQoRnVuY3Rpb248dm9pZCgpPiYm
KT4gZGlzcGF0Y2hUb1JlbmRlclRocmVhZEZ1bmN0aW9uIFdURl9HVUFSREVEX0JZX0xPQ0soZGlz
cGF0Y2hUb1JlbmRlclRocmVhZExvY2spOwogCiAgICAgYm9vbCBkaXNwYXRjaERvbmUgV1RGX0dV
QVJERURfQllfTE9DSyhkaXNwYXRjaExvY2spOwotICAgIENoZWNrZWRMb2NrIGRpc3BhdGNoTG9j
azsKLSAgICBDaGVja2VkQ29uZGl0aW9uIGRpc3BhdGNoQ29uZGl0aW9uOworICAgIExvY2sgZGlz
cGF0Y2hMb2NrOworICAgIENvbmRpdGlvbiBkaXNwYXRjaENvbmRpdGlvbjsKIAogICAgIF9XZWJL
aXRXZWJBdWRpb1NyY1ByaXZhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL21hYy9GRlRGcmFtZU1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9tYWMvRkZURnJhbWVNYWMuY3BwCmluZGV4IGVhNGRlZDI2NDFmNTQ2NTQxMjM5
YWU3NWZmYTZhYjMwNzY5N2Y3MzIuLjIyOTBmN2VhODYwNTllYmJmODhjNTg5OGUwODQyZjQzOWQy
NDJjMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9GRlRG
cmFtZU1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0ZGVEZy
YW1lTWFjLmNwcApAQCAtMzcsNyArMzcsNyBAQAogI2luY2x1ZGUgIkZGVEZyYW1lLmgiCiAKICNp
bmNsdWRlICJWZWN0b3JNYXRoLmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5j
bHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTQ2LDcgKzQ2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogY29uc3RleHByIHVuc2lnbmVkIGtNaW5GRlRQb3cyU2l6ZSA9IDI7CiBjb25zdGV4cHIgdW5z
aWduZWQga01heEZGVFBvdzJTaXplID0gMjQ7CiAKLXN0YXRpYyBDaGVja2VkTG9jayBmZnRTZXR1
cHNMb2NrOworc3RhdGljIExvY2sgZmZ0U2V0dXBzTG9jazsKIAogc3RhdGljIFZlY3RvcjxGRlRT
ZXR1cD4mIGZmdFNldHVwcygpIFdURl9SRVFVSVJFU19MT0NLKGZmdFNldHVwc0xvY2spCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9DRE1Qcm94
eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvQ0RNUHJveHkuaApp
bmRleCA3MDg4NThlZTk4Mjg5MWRiNjU0ZjY0ZWUzMTlkZmU4ZjQ4NjEzN2ExLi40Njk3YjI1MTdh
YTU4ZWY0MzJkZmFlZDQ2MDU5MjBkOTI2NTBjN2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9DRE1Qcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETVByb3h5LmgKQEAgLTM1LDggKzM1LDggQEAKICNp
bmNsdWRlICJNZWRpYVBsYXllclByaXZhdGUuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIK
ICNpbmNsdWRlIDx3dGYvQm94UHRyLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRDb25kaXRpb24u
aD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvQ29uZGl0aW9u
Lmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KIAogI2lmIEVOQUJMRShUSFVOREVSKQogI2luY2x1
ZGUgIkNETU9wZW5DRE1UeXBlcy5oIgpAQCAtMTcxLDExICsxNzEsMTEgQEAgcHJvdGVjdGVkOgog
ICAgIGNvbnN0IENETUluc3RhbmNlUHJveHkqIGluc3RhbmNlKCkgY29uc3Q7CiAKIHByaXZhdGU6
Ci0gICAgbXV0YWJsZSBDaGVja2VkTG9jayBtX2luc3RhbmNlTG9jazsKKyAgICBtdXRhYmxlIExv
Y2sgbV9pbnN0YW5jZUxvY2s7CiAgICAgQ0RNSW5zdGFuY2VQcm94eSogbV9pbnN0YW5jZSBXVEZf
R1VBUkRFRF9CWV9MT0NLKG1faW5zdGFuY2VMb2NrKTsKIAotICAgIG11dGFibGUgQ2hlY2tlZExv
Y2sgbV9rZXlzTG9jazsKLSAgICBtdXRhYmxlIENoZWNrZWRDb25kaXRpb24gbV9rZXlzQ29uZGl0
aW9uOworICAgIG11dGFibGUgTG9jayBtX2tleXNMb2NrOworICAgIG11dGFibGUgQ29uZGl0aW9u
IG1fa2V5c0NvbmRpdGlvbjsKICAgICAvLyBGSVhNRTogRHVwbGljYXRlZCBrZXkgc3RvcmVzIGlu
IHRoZSBpbnN0YW5jZSBhbmQgdGhlIHByb3h5IGFyZSBwcm9iYWJseSBub3QgbmVlZGVkLCBidXQg
c2ltcGxpZmllZAogICAgIC8vIHRoZSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGluIHRlcm1zIG9m
IHRocmVhZGluZyBpbnZhcmlhbnRzLgogICAgIEtleVN0b3JlIG1fa2V5U3RvcmUgV1RGX0dVQVJE
RURfQllfTE9DSyhtX2tleXNMb2NrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCA4YTAzNzA2OThjZGIwOWUxNzRiYzJkM2UxMzIz
ZDg3MzRmOTQyZDU4Li4zZTRlMWEyNDMzOWRmNWZjMDIyYjI1NGEzMGJjNTk3ZmJiOGYxMDk4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3Bw
CkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1
ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtVGltZVJhbmdlcy5o
IgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAj
aW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgogI2luY2x1ZGUgIkluYmFuZFRleHRUcmFja1ByaXZhdGUuaCIKQEAgLTIwNCw3ICsyMDQs
NyBAQCBzdGF0aWMgTWVkaWFQbGF5ZXJDbGllbnQmIG51bGxNZWRpYVBsYXllckNsaWVudCgpCiAK
IHN0YXRpYyB2b2lkIGFkZE1lZGlhRW5naW5lKHN0ZDo6dW5pcXVlX3B0cjxNZWRpYVBsYXllckZh
Y3Rvcnk+JiYpOwogCi1zdGF0aWMgQ2hlY2tlZExvY2sgbWVkaWFFbmdpbmVWZWN0b3JMb2NrOwor
c3RhdGljIExvY2sgbWVkaWFFbmdpbmVWZWN0b3JMb2NrOwogCiBzdGF0aWMgYm9vbCYgaGF2ZU1l
ZGlhRW5naW5lc1ZlY3RvcigpIFdURl9SRVFVSVJFU19MT0NLKG1lZGlhRW5naW5lVmVjdG9yTG9j
aykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRv
d0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5j
cHAKaW5kZXggNjE0ZGZjNjVjZWE0ZjJjZWY2MjkxMzg5OTQ5MmZkNjA0NDEwYTg1OC4uN2E3ZjY3
MGEyODE0MjQ0Mzg1Mzc3MTk3MWYzOTE3NjRmMjE5ZTI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKQEAgLTEyMiw3ICsxMjIsNyBAQCBw
dWJsaWM6CiAgICAgfQogCiAgICAgc3RhdGljIFNjcmF0Y2hCdWZmZXImIHNpbmdsZXRvbigpOwot
ICAgIHN0YXRpYyBMb2NrJiBsb2NrKCk7CisgICAgc3RhdGljIFVuY2hlY2tlZExvY2smIGxvY2so
KTsKIAogcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlU2NyYXRjaEJ1ZmZlclB1cmdlKCkKQEAg
LTE2OCw5ICsxNjgsOSBAQCBTY3JhdGNoQnVmZmVyJiBTY3JhdGNoQnVmZmVyOjpzaW5nbGV0b24o
KQogICAgIHJldHVybiBzY3JhdGNoQnVmZmVyOwogfQogCi1Mb2NrJiBTY3JhdGNoQnVmZmVyOjps
b2NrKCkKK1VuY2hlY2tlZExvY2smIFNjcmF0Y2hCdWZmZXI6OmxvY2soKQogewotICAgIHN0YXRp
YyBMb2NrIGxvY2s7CisgICAgc3RhdGljIFVuY2hlY2tlZExvY2sgbG9jazsKICAgICByZXR1cm4g
bG9jazsKIH0KIApAQCAtNjk2LDcgKzY5Niw3IEBAIHZvaWQgU2hhZG93Qmx1cjo6ZHJhd1JlY3RT
aGFkb3dXaXRoVGlsaW5nKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtLCBjb25zCiB7
CiAgICAgUmVmUHRyPEltYWdlQnVmZmVyPiBsYXllckltYWdlQnVmZmVyOwogI2lmIFVTRShDRykK
LSAgICBhdXRvIGxvY2tlciA9IExvY2tlcjxMb2NrPjo6dHJ5TG9jayhTY3JhdGNoQnVmZmVyOjps
b2NrKCkpOworICAgIGF1dG8gbG9ja2VyID0gTG9ja2VyPFVuY2hlY2tlZExvY2s+Ojp0cnlMb2Nr
KFNjcmF0Y2hCdWZmZXI6OmxvY2soKSk7CiAgICAgaWYgKGxvY2tlcikgewogICAgICAgICBsYXll
ckltYWdlQnVmZmVyID0gU2NyYXRjaEJ1ZmZlcjo6c2luZ2xldG9uKCkuZ2V0U2NyYXRjaEJ1ZmZl
cih0ZW1wbGF0ZVNpemUpOwogICAgICAgICBpZiAoIWxheWVySW1hZ2VCdWZmZXIpCkBAIC03NTYs
NyArNzU2LDcgQEAgdm9pZCBTaGFkb3dCbHVyOjpkcmF3SW5zZXRTaGFkb3dXaXRoVGlsaW5nKGNv
bnN0IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtLCBjb24KIHsKICAgICBSZWZQdHI8SW1hZ2VC
dWZmZXI+IGxheWVySW1hZ2VCdWZmZXI7CiAjaWYgVVNFKENHKQotICAgIGF1dG8gbG9ja2VyID0g
TG9ja2VyPExvY2s+Ojp0cnlMb2NrKFNjcmF0Y2hCdWZmZXI6OmxvY2soKSk7CisgICAgYXV0byBs
b2NrZXIgPSBMb2NrZXI8VW5jaGVja2VkTG9jaz46OnRyeUxvY2soU2NyYXRjaEJ1ZmZlcjo6bG9j
aygpKTsKICAgICBpZiAobG9ja2VyKSB7CiAgICAgICAgIGxheWVySW1hZ2VCdWZmZXIgPSBTY3Jh
dGNoQnVmZmVyOjpzaW5nbGV0b24oKS5nZXRTY3JhdGNoQnVmZmVyKHRlbXBsYXRlU2l6ZSk7CiAg
ICAgICAgIGlmICghbGF5ZXJJbWFnZUJ1ZmZlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAppbmRleCBkOGFiOWM2NjcyY2E3ZWYxYjY0
ZTZlYTEwYTBiMWYxZTcwOGZlOThkLi4wZmYxYjc4ZGMyNWJhMTAyOWYyMjU1OTYxZDJhYjA2NGQ4
YzAyMjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbi5oCkBAIC0zMSw5ICszMSw5IEBACiAjaW5jbHVkZSAiSW5iYW5kVGV4dFRyYWNr
UHJpdmF0ZUFWRi5oIgogI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZS5oIgogI2luY2x1ZGUg
IlRpbWVyLmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0Rl
cXVlLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4K
ICNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4K
IApAQCAtMzIzLDcgKzMyMyw3IEBAIHByaXZhdGU6CiAKICAgICBXVEY6OkZ1bmN0aW9uPHZvaWQo
KT4gbV9wZW5kaW5nU2VlazsKIAotICAgIG11dGFibGUgQ2hlY2tlZExvY2sgbV9xdWV1ZWROb3Rp
ZmljYXRpb25zTG9jazsKKyAgICBtdXRhYmxlIExvY2sgbV9xdWV1ZWROb3RpZmljYXRpb25zTG9j
azsKICAgICBEZXF1ZTxOb3RpZmljYXRpb24+IG1fcXVldWVkTm90aWZpY2F0aW9ucyBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fcXVldWVkTm90aWZpY2F0aW9uc0xvY2spOwogCiAgICAgbXV0YWJsZSBz
dGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBtX2NhY2hlZExvYWRlZFRpbWVSYW5n
ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbkNGLmNwcAppbmRleCA4NTM0YjFmMGQ1NDBjODYzMTNlOTk1ZjAxZGM3Nzg5
NWYwZGRmM2U2Li4xNzM5ZjUyNzNkZmM0MDg4MmNhOTkxNmM1MDBjZDMzM2IyNDllNjJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2Yv
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25DRi5jcHAKQEAgLTE2Nyw3ICsxNjcsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAg
IGlubGluZSB2b2lkKiBjYWxsYmFja0NvbnRleHQoKSBjb25zdCB7IHJldHVybiByZWludGVycHJl
dF9jYXN0PHZvaWQqPihtX29iamVjdElEKTsgfQogCi0gICAgc3RhdGljIENoZWNrZWRMb2NrIG1h
cExvY2s7CisgICAgc3RhdGljIExvY2sgbWFwTG9jazsKICAgICBzdGF0aWMgSGFzaE1hcDx1aW50
cHRyX3QsIEFWRldyYXBwZXIqPiYgbWFwKCkgV1RGX1JFUVVJUkVTX0xPQ0sobWFwTG9jayk7CiAg
ICAgc3RhdGljIEFWRldyYXBwZXIqIGF2ZldyYXBwZXJGb3JDYWxsYmFja0NvbnRleHQodm9pZCop
IFdURl9SRVFVSVJFU19MT0NLKG1hcExvY2spOwogICAgIHZvaWQgYWRkVG9NYXAoKTsKQEAgLTE0
MTYsNyArMTQxNiw3IEBAIEFWRldyYXBwZXI6On5BVkZXcmFwcGVyKCkKICAgICBtX2F2UGxheWVy
ID0gMDsKIH0KIAotQ2hlY2tlZExvY2sgQVZGV3JhcHBlcjo6bWFwTG9jazsKK0xvY2sgQVZGV3Jh
cHBlcjo6bWFwTG9jazsKIEhhc2hNYXA8dWludHB0cl90LCBBVkZXcmFwcGVyKj4mIEFWRldyYXBw
ZXI6Om1hcCgpCiB7CiAgICAgc3RhdGljIEhhc2hNYXA8dWludHB0cl90LCBBVkZXcmFwcGVyKj4m
IG1hcCA9ICpuZXcgSGFzaE1hcDx1aW50cHRyX3QsIEFWRldyYXBwZXIqPjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLmgKaW5kZXggMWJkNDlmMTRlMWJhM2FlYTE3NzM3OGQ5YjkwMzNhODY0NDhmZWNj
Zi4uYTRlYWUzYzNiNmZmNGEwYjQ4ZWYzMDhlOTkwNTgxNmM4MWJiZDA3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
dHJlYW1BVkZPYmpDLmgKQEAgLTMxLDkgKzMxLDkgQEAKICNpbmNsdWRlICJNZWRpYVNhbXBsZS5o
IgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtUHJpdmF0ZS5oIgogI2luY2x1ZGUgIlNhbXBsZUJ1ZmZl
ckRpc3BsYXlMYXllci5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUg
PHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0xv
Y2suaD4KICNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAKIE9CSkNfQ0xBU1MgQVZTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXI7CkBAIC0yNjUsNyArMjY1LDcgQEAgcHJpdmF0ZToKIAogICAg
IFJldGFpblB0cjxXZWJSb290U2FtcGxlQnVmZmVyQm91bmRzQ2hhbmdlTGlzdGVuZXI+IG1fYm91
bmRzQ2hhbmdlTGlzdGVuZXI7CiAKLSAgICBDaGVja2VkTG9jayBtX2N1cnJlbnRWaWRlb1NhbXBs
ZUxvY2s7CisgICAgTG9jayBtX2N1cnJlbnRWaWRlb1NhbXBsZUxvY2s7CiAgICAgUmVmUHRyPE1l
ZGlhU2FtcGxlPiBtX2N1cnJlbnRWaWRlb1NhbXBsZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fY3Vy
cmVudFZpZGVvU2FtcGxlTG9jayk7CiAKICAgICBib29sIG1fcGxheWluZyB7IGZhbHNlIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0
Zm9ybUNBTGF5ZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L2NvY29hL1BsYXRmb3JtQ0FMYXllckNvY29hLm1tCmluZGV4IGZiMjFkZTUwOTZkNmE5NGVkZjI1
NDE1ZDY0YmE2N2MyNmEwMmE5NjEuLjlkYzhhN2Y4ZmIxMzM2M2E3ZGYyOGJmOTRiM2M3OTI0YTJm
NGFjMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2Nv
Y29hL1BsYXRmb3JtQ0FMYXllckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FMYXllckNvY29hLm1tCkBAIC01Myw3ICs1Myw3
IEBACiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja09iakNFeGNl
cHRpb25zLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KLSNpbXBvcnQgPHd0Zi9DaGVja2Vk
TG9jay5oPgorI2ltcG9ydCA8d3RmL0xvY2suaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4K
ICNpbXBvcnQgPHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgogCkBAIC03Niw3ICs3Niw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgTGF5ZXJUb1BsYXRmb3JtQ0FMYXllck1hcCA9IEhh
c2hNYXA8dm9pZCosIFBsYXRmb3JtQ0FMYXllcio+OwogCi1zdGF0aWMgQ2hlY2tlZExvY2sgbGF5
ZXJUb1BsYXRmb3JtTGF5ZXJNYXBMb2NrOworc3RhdGljIExvY2sgbGF5ZXJUb1BsYXRmb3JtTGF5
ZXJNYXBMb2NrOwogc3RhdGljIExheWVyVG9QbGF0Zm9ybUNBTGF5ZXJNYXAmIGxheWVyVG9QbGF0
Zm9ybUxheWVyTWFwKCkgV1RGX1JFUVVJUkVTX0xPQ0sobGF5ZXJUb1BsYXRmb3JtTGF5ZXJNYXBM
b2NrKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxMYXllclRvUGxhdGZvcm1DQUxheWVy
TWFwPiBsYXllck1hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0lPU3VyZmFjZVBvb2wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0lPU3VyZmFjZVBvb2wuaAppbmRleCBlNjIxNjhiOWQ2MDEyYTQ2MjNjOWZhODk5YTIzODI1
ZTllMjdlMWI1Li43YTBiNGUzMjY5NjIwM2MwNzNjMmZlN2IzM2M4Y2MwMDcyNWZlODczIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29s
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9v
bC5oCkBAIC0zMSw5ICszMSw5IEBACiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIklu
dFNpemVIYXNoLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExv
Y2suaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgor
I2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAj
aW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIApAQCAtMTAzLDcgKzEwMyw3IEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIHNob3dQb29sU3RhdGlzdGljcyhjb25zdCBjaGFyKik7CiAKLSAgICBDaGVja2Vk
TG9jayBtX2xvY2s7CisgICAgTG9jayBtX2xvY2s7CiAgICAgUnVuTG9vcDo6VGltZXI8SU9TdXJm
YWNlUG9vbD4gbV9jb2xsZWN0aW9uVGltZXIgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOwog
ICAgIENhY2hlZFN1cmZhY2VNYXAgbV9jYWNoZWRTdXJmYWNlcyBXVEZfR1VBUkRFRF9CWV9MT0NL
KG1fbG9jayk7CiAgICAgQ2FjaGVkU3VyZmFjZVF1ZXVlIG1faW5Vc2VTdXJmYWNlcyBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fbG9jayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmgKaW5kZXggNTM1OGI4
NTdlNTE4NzY3ZmZmNWIyZjNmNzkyMDRhZjM1YjRiZWYwMy4uZGUxMWUzMGYxZDRjMTI1Y2VhNjg2
NzQxMGNlODhjZGVmMTEzMDg4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuaApAQCAtMjksMTAg
KzI5LDEwIEBACiAjaW5jbHVkZSAiVGltZXIuaCIKIAogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9D
b3JlR3JhcGhpY3MuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3
dGYvSGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoVHJhaXRzLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYv
UmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIApAQCAtOTcsNyArOTcsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgcHJ1bmUoKSBXVEZfUkVRVUlSRVNfTE9DSyhtX2xvY2spOwog
ICAgIHZvaWQgY2xlYXJBbGwoKTsKIAotICAgIENoZWNrZWRMb2NrIG1fbG9jazsKKyAgICBMb2Nr
IG1fbG9jazsKICAgICBIYXNoQ291bnRlZFNldDxDR0ltYWdlUmVmPiBtX2ltYWdlQ291bnRzIFdU
Rl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKICAgICBTdWJpbWFnZUNhY2hlSGFzaFNldCBtX2Nh
Y2hlIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKICAgICBSdW5Mb29wOjpUaW1lcjxTdWJp
bWFnZUNhY2hlV2l0aFRpbWVyPiBtX3RpbWVyIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRleCA5NGNhZTA5Y2VlZjFmYjNkYmJkYTU2ZTMxMzM2
YzMyMmZkNWQwMTFlLi40NzUyZmFjMjUwMDM4NGM4OTRkYTdkN2U2Mzk2OGNkNzFiM2JmY2IwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2Fj
aGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBAIC0zNSw4ICszNSw4IEBACiAKICNpbmNsdWRlIDxD
b3JlVGV4dC9TRk5UTGF5b3V0VHlwZXMuaD4KIAotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNs
dWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9NZW1vcnlQcmVzc3VyZUhhbmRs
ZXIuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KQEAgLTkxMCw3ICs5MTAsNyBA
QCBwcml2YXRlOgogICAgIHsKICAgICB9CiAKLSAgICBDaGVja2VkTG9jayBtX2ZhbWlseU5hbWVU
b0ZvbnREZXNjcmlwdG9yc0xvY2s7CisgICAgTG9jayBtX2ZhbWlseU5hbWVUb0ZvbnREZXNjcmlw
dG9yc0xvY2s7CiAgICAgSGFzaE1hcDxTdHJpbmcsIHN0ZDo6dW5pcXVlX3B0cjxJbnN0YWxsZWRG
b250RmFtaWx5Pj4gbV9mYW1pbHlOYW1lVG9Gb250RGVzY3JpcHRvcnMgV1RGX0dVQVJERURfQllf
TE9DSyhtX2ZhbWlseU5hbWVUb0ZvbnREZXNjcmlwdG9yc0xvY2spOwogICAgIEhhc2hNYXA8U3Ry
aW5nLCBJbnN0YWxsZWRGb250PiBtX3Bvc3RTY3JpcHROYW1lVG9Gb250RGVzY3JpcHRvcnM7CiAg
ICAgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgbV9hbGxvd1VzZXJJbnN0YWxsZWRGb250czsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbWFn
ZURlY29kZXJHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9JbWFnZURlY29kZXJHU3RyZWFtZXIuaAppbmRleCBmMjQ3NzM0ODEwYTUxMjQzMWI3
M2QzNTc1YWRmY2E4NTk3ZTgzZWMyLi44Zjk2OWZlZWUxMmJkMGUwNTU2OTZjOTQ0Yzg2YjBkYjBm
ZGY3NDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvSW1hZ2VEZWNvZGVyR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0ltYWdlRGVjb2RlckdTdHJlYW1lci5oCkBAIC0yNiw5ICsy
Niw5IEBACiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIlNhbXBsZU1h
cC5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkQ29u
ZGl0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0Nv
bmRpdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0xvY2su
aD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAK
QEAgLTExNiw4ICsxMTYsOCBAQCBwcml2YXRlOgogICAgICAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+
IG1fZGVjb2RlYmluOwogICAgICAgICBSdW5Mb29wJiBtX3J1bkxvb3A7CiAKLSAgICAgICAgQ2hl
Y2tlZENvbmRpdGlvbiBtX21lc3NhZ2VDb25kaXRpb247Ci0gICAgICAgIENoZWNrZWRMb2NrIG1f
bWVzc2FnZUxvY2s7CisgICAgICAgIENvbmRpdGlvbiBtX21lc3NhZ2VDb25kaXRpb247CisgICAg
ICAgIExvY2sgbV9tZXNzYWdlTG9jazsKICAgICAgICAgYm9vbCBtX21lc3NhZ2VEaXNwYXRjaGVk
IFdURl9HVUFSREVEX0JZX0xPQ0sobV9tZXNzYWdlTG9jaykgeyBmYWxzZSB9OwogICAgIH07CiAK
QEAgLTEzNCwxMSArMTM0LDExIEBAIHByaXZhdGU6CiAgICAgT3B0aW9uYWw8SW50U2l6ZT4gbV9z
aXplOwogICAgIFN0cmluZyBtX21pbWVUeXBlOwogICAgIFJlZlB0cjxJbWFnZURlY29kZXJHU3Ry
ZWFtZXI6OklubmVyRGVjb2Rlcj4gbV9pbm5lckRlY29kZXI7Ci0gICAgQ2hlY2tlZENvbmRpdGlv
biBtX3NhbXBsZUNvbmRpdGlvbjsKLSAgICBDaGVja2VkTG9jayBtX3NhbXBsZUxvY2s7CisgICAg
Q29uZGl0aW9uIG1fc2FtcGxlQ29uZGl0aW9uOworICAgIExvY2sgbV9zYW1wbGVMb2NrOwogICAg
IEdSZWZQdHI8R3N0U2FtcGxlPiBtX3NhbXBsZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fc2FtcGxl
TG9jayk7Ci0gICAgQ2hlY2tlZENvbmRpdGlvbiBtX2hhbmRsZXJDb25kaXRpb247Ci0gICAgQ2hl
Y2tlZExvY2sgbV9oYW5kbGVyTG9jazsKKyAgICBDb25kaXRpb24gbV9oYW5kbGVyQ29uZGl0aW9u
OworICAgIExvY2sgbV9oYW5kbGVyTG9jazsKIH07CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NYWluVGhyZWFkTm90aWZp
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NYWluVGhy
ZWFkTm90aWZpZXIuaAppbmRleCA4ZDk0MjQwYmIwNmVjNDFiN2Q3NzVjMmY0MDM1M2FjY2M1MjQ2
MjY2Li40NzUzZWQ5ZTIzMmIwMjdlODhmZjJmN2IxMmQxYzYyYTkyNzQxNGEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWFpblRocmVhZE5v
dGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01haW5UaHJlYWROb3RpZmllci5oCkBAIC02OCw4ICs2OCw4IEBAIHB1YmxpYzoKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBGPgogICAgIHZvaWQgbm90aWZ5QW5kV2FpdChUIG5vdGlmaWNhdGlvblR5
cGUsIEYmJiBjYWxsYmFja0Z1bmN0b3IpCiAgICAgewotICAgICAgICBDaGVja2VkTG9jayBsb2Nr
OwotICAgICAgICBDaGVja2VkQ29uZGl0aW9uIGNvbmRpdGlvbjsKKyAgICAgICAgTG9jayBsb2Nr
OworICAgICAgICBDb25kaXRpb24gY29uZGl0aW9uOwogCiAgICAgICAgIG5vdGlmeShub3RpZmlj
YXRpb25UeXBlLCBbZnVuY3RvciA9IFdURk1vdmUoY2FsbGJhY2tGdW5jdG9yKSwgJmNvbmRpdGlv
biwgJmxvY2tdIHsKICAgICAgICAgICAgIGZ1bmN0b3IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCAxMTM1NjI2ZGExMjE2ZjhjODQ4MThlNTM4
ZGUzOGJhY2MzNWJmMjM4Li40NzU4NGE2ZmMyNzExNWU0MmI1MGRkZTJmMzk1YjY3ZDcyNmViMTQ5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC0z
OCw5ICszOCw5IEBACiAjaW5jbHVkZSA8Z3N0L2dzdC5oPgogI2luY2x1ZGUgPGdzdC9wYnV0aWxz
L2luc3RhbGwtcGx1Z2lucy5oPgogI2luY2x1ZGUgPHd0Zi9BdG9taWNzLmg+Ci0jaW5jbHVkZSA8
d3RmL0NoZWNrZWRDb25kaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNp
bmNsdWRlIDx3dGYvQ29uZGl0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNs
dWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNpbmNsdWRl
IDx3dGYvUnVuTG9vcC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CkBAIC0zNzYsOCArMzc2
LDggQEAgcHJvdGVjdGVkOgogICAgIEltYWdlT3JpZW50YXRpb24gbV92aWRlb1NvdXJjZU9yaWVu
dGF0aW9uOwogCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKLSAgICBDaGVja2VkTG9jayBt
X2NkbUF0dGFjaG1lbnRMb2NrOwotICAgIENoZWNrZWRDb25kaXRpb24gbV9jZG1BdHRhY2htZW50
Q29uZGl0aW9uOworICAgIExvY2sgbV9jZG1BdHRhY2htZW50TG9jazsKKyAgICBDb25kaXRpb24g
bV9jZG1BdHRhY2htZW50Q29uZGl0aW9uOwogICAgIFJlZlB0cjxDRE1JbnN0YW5jZVByb3h5PiBt
X2NkbUluc3RhbmNlOwogCiAgICAgTG9jayBtX3Byb3RlY3Rpb25NdXRleDsgLy8gR3VhcmRzIGFj
Y2VzcyB0byBtX2hhbmRsZWRQcm90ZWN0aW9uRXZlbnRzLgpAQCAtNDc1LDggKzQ3NSw4IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBNZWRpYVRpbWUgbV9tYXhUaW1lTG9hZGVkQXRMYXN0RGlkTG9h
ZGluZ1Byb2dyZXNzOwogICAgIGJvb2wgbV9oYXNWaWRlbyB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2hhc0F1ZGlvIHsgZmFsc2UgfTsKLSAgICBDaGVja2VkQ29uZGl0aW9uIG1fZHJhd0NvbmRpdGlv
bjsKLSAgICBDaGVja2VkTG9jayBtX2RyYXdMb2NrOworICAgIENvbmRpdGlvbiBtX2RyYXdDb25k
aXRpb247CisgICAgTG9jayBtX2RyYXdMb2NrOwogICAgIFJ1bkxvb3A6OlRpbWVyPE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lcj4gbV9kcmF3VGltZXIgV1RGX0dVQVJERURfQllfTE9DSyhtX2Ry
YXdMb2NrKTsKICAgICBSdW5Mb29wOjpUaW1lcjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+
IG1fcmVhZHlUaW1lckhhbmRsZXI7CiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lu
a0dTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcAppbmRleCAxMWJlYTEyYjY2ZGM1NDYyNWE4MjlmOTA3
NGE5MmMwMzc0Y2UyODk1Li41N2E3MmFjNTgwY2VjZjE2YTBlM2FiODBmY2YzOWUzOTVmZDA4OGFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
VmlkZW9TaW5rR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcApAQCAtMTA3LDcgKzEwNyw3IEBA
IHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgTG9jayBtX3NhbXBsZU11dGV4OworICAg
IFVuY2hlY2tlZExvY2sgbV9zYW1wbGVNdXRleDsKICAgICBHUmVmUHRyPEdzdFNhbXBsZT4gbV9z
YW1wbGU7CiAKICAgICAvLyBJZiB0aGlzIGlzIHRydWUgYWxsIHByb2Nlc3Npbmcgc2hvdWxkIGZp
bmlzaCBBU0FQCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCmlu
ZGV4IGQ0NzZlNDE3NzFlMjlhMTBmODdhMDJkMDYzZDI5ZDVjYmE2NDVhMDEuLjVjN2M5ODA2ZDM0
Y2I4YzEzODU5YzkxYTljOWNiMmFkOTkxNjc3NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRX
ZWJTb3VyY2VHU3RyZWFtZXIuY3BwCkBAIC0xNDAsNyArMTQwLDcgQEAgc3RydWN0IFdlYktpdFdl
YlNyY1ByaXZhdGUgewogCiAgICAgICAgIC8vIFByb3BlcnRpZXMgdXNlZCBmb3IgR1N0cmVhbWVy
IGRhdGEtZmxvdyBpbiBjcmVhdGUoKS4KICAgICAgICAgYm9vbCBpc0ZsdXNoaW5nIHsgZmFsc2Ug
fTsKLSAgICAgICAgQ29uZGl0aW9uIHJlc3BvbnNlQ29uZGl0aW9uOyAvLyBNdXN0IGJlIHNpZ25h
bGVkIGFmdGVyIGFueSB1cGRhdGVzIG9uIEhUVFAgcmVxdWVzdHMsIGFuZCB3aGVuIGZsdXNoaW5n
LgorICAgICAgICBVbmNoZWNrZWRDb25kaXRpb24gcmVzcG9uc2VDb25kaXRpb247IC8vIE11c3Qg
YmUgc2lnbmFsZWQgYWZ0ZXIgYW55IHVwZGF0ZXMgb24gSFRUUCByZXF1ZXN0cywgYW5kIHdoZW4g
Zmx1c2hpbmcuCiAgICAgICAgIEdSZWZQdHI8R3N0QWRhcHRlcj4gYWRhcHRlcjsKICAgICAgICAg
Ym9vbCBpc0R1cmF0aW9uU2V0OwogICAgICAgICB1aW50NjRfdCByZWFkUG9zaXRpb247CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dl
YktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9u
RGVjcnlwdG9yR1N0cmVhbWVyLmNwcAppbmRleCAzMjAxNzRkNWJmZTg3NmRiOGMxNDIzNTlhOGUx
YTAxYWE4NmMwZmRiLi5lYjA4ODUxY2M4NjIxMmI0NmJiODI4YzdiMzc4M2RiMzE1NjRhN2VkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1l
L1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q29tbW9uRW5j
cnlwdGlvbkRlY3J5cHRvckdTdHJlYW1lci5jcHAKQEAgLTU2LDggKzU2LDggQEAgc3RydWN0IF9X
ZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0UHJpdmF0ZSB7CiAgICAgUmVmUHRyPENE
TVByb3h5PiBjZG1Qcm94eTsKIAogICAgIC8vIFByb3RlY3QgdGhlIGFjY2VzcyB0byB0aGUgc3Ry
dWN0dXJlIG1lbWJlcnMuCi0gICAgTG9jayBtdXRleDsKLSAgICBDb25kaXRpb24gY29uZGl0aW9u
OworICAgIFVuY2hlY2tlZExvY2sgbXV0ZXg7CisgICAgVW5jaGVja2VkQ29uZGl0aW9uIGNvbmRp
dGlvbjsKIAogICAgIGJvb2wgaXNGbHVzaGluZyB7IGZhbHNlIH07CiAgICAgc3RkOjp1bmlxdWVf
cHRyPENETVByb3h5RGVjcnlwdGlvbkNsaWVudEltcGxlbWVudGF0aW9uPiBjZG1Qcm94eURlY3J5
cHRpb25DbGllbnRJbXBsZW1lbnRhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvV2ViS2l0TWVkaWFTb3VyY2VHU3RyZWFtZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9XZWJL
aXRNZWRpYVNvdXJjZUdTdHJlYW1lci5jcHAKaW5kZXggNmQwM2RmOTZhZDQzNzkwZDVhZjNkMmI3
MmQ3NzAwZDE2ZmYyYTRmYS4uYWE3Y2VlYjczOThhZTExOWRkZWFmMDUxNzZkZTJlOGYxYzRjNjI3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L21zZS9XZWJLaXRNZWRpYVNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9XZWJLaXRNZWRpYVNvdXJjZUdTdHJlYW1l
ci5jcHAKQEAgLTE4NCw4ICsxODQsOCBAQCBzdHJ1Y3QgU3RyZWFtIDogcHVibGljIFRocmVhZFNh
ZmVSZWZDb3VudGVkPFN0cmVhbT4gewogICAgICAgICBHc3RTZWdtZW50IHNlZ21lbnQ7CiAgICAg
ICAgIEdSZWZQdHI8R3N0Q2Fwcz4gcGVuZGluZ0luaXRpYWxDYXBzOwogICAgICAgICBHUmVmUHRy
PEdzdENhcHM+IHByZXZpb3VzQ2FwczsgLy8gQ2FwcyBmcm9tIGVucXVldWVkIHNhbXBsZXMgYXJl
IGNvbXBhcmVkIHRvIHRoZXNlIHRvIHB1c2ggQ0FQUyBldmVudHMgYXMgbmVlZGVkLgotICAgICAg
ICBDb25kaXRpb24gcGFkTGlua2VkT3JGbHVzaGVkQ29uZGl0aW9uOwotICAgICAgICBDb25kaXRp
b24gcXVldWVDaGFuZ2VkT3JGbHVzaGVkQ29uZGl0aW9uOworICAgICAgICBVbmNoZWNrZWRDb25k
aXRpb24gcGFkTGlua2VkT3JGbHVzaGVkQ29uZGl0aW9uOworICAgICAgICBVbmNoZWNrZWRDb25k
aXRpb24gcXVldWVDaGFuZ2VkT3JGbHVzaGVkQ29uZGl0aW9uOwogICAgICAgICBib29sIGlzRmx1
c2hpbmcgeyBmYWxzZSB9OwogCiAgICAgICAgIC8vIEZsdXNoZXMgYmVmb3JlIGFueSBidWZmZXIg
aGFzIGJlZW4gcG9wcGVkIGZyb20gdGhlIHF1ZXVlIGFuZCBzZW50IGRvd25zdHJlYW0gY2FuIGJl
IGF2b2lkZWQganVzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclBy
b3h5LmgKaW5kZXggYzA4OTE1MDEwN2Q2OTAyNDBhYzBjYjI1YTA0M2Q0YTU3OGRlMTkxNC4uZmRi
YmQyNGI3MjhiNDUyMTM0MWExNWE2NmEyNjEyNTVmZmRmNTJjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxh
eWVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5oCkBAIC0yOCw5ICsyOCw5IEBACiAjaWYg
VVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckdMSGVh
ZGVycy5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+Ci0jaW5jbHVkZSA8d3Rm
L0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0NvbmRpdGlvbi5oPgogI2luY2x1ZGUgPHd0
Zi9GdW5jdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxv
b3AuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CkBAIC02MCw3ICs2MCw3IEBAIHB1YmxpYzoKICAgICAvLyBUbyBhdm9pZCBt
dWx0aXBsZSBsb2NrL3JlbGVhc2Ugc2l0dWF0aW9uIHRvIHVwZGF0ZSBhIHNpbmdsZSBmcmFtZSwK
ICAgICAvLyB0aGUgaW1wbGVtZW50YXRpb24gb2YgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQ
cm94eVByb3ZpZGVyIHNob3VsZAogICAgIC8vIGFxdWlyZSAvIHJlbGVhc2UgdGhlIGxvY2sgZXhw
bGljaXRseSB0byB1c2UgYmVsb3cgbWV0aG9kcy4KLSAgICBDaGVja2VkTG9jayYgbG9jaygpIFdU
Rl9SRVRVUk5TX0xPQ0sobV9sb2NrKSB7IHJldHVybiBtX2xvY2s7IH0KKyAgICBMb2NrJiBsb2Nr
KCkgV1RGX1JFVFVSTlNfTE9DSyhtX2xvY2spIHsgcmV0dXJuIG1fbG9jazsgfQogICAgIHN0ZDo6
dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1ZmZlcj4gZ2V0QXZhaWxhYmxl
QnVmZmVyKGNvbnN0IEludFNpemUmLCBHTGludCBpbnRlcm5hbEZvcm1hdCk7CiAgICAgdm9pZCBw
dXNoTmV4dEJ1ZmZlcihzdGQ6OnVuaXF1ZV9wdHI8VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJC
dWZmZXI+JiYpOwogICAgIGJvb2wgaXNBY3RpdmUoKTsKQEAgLTg0LDEwICs4NCwxMCBAQCBwcml2
YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1ZmZl
cj4gbV9jdXJyZW50QnVmZmVyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVyUGxh
dGZvcm1MYXllckJ1ZmZlcj4gbV9wZW5kaW5nQnVmZmVyOwogCi0gICAgQ2hlY2tlZExvY2sgbV9s
b2NrOworICAgIExvY2sgbV9sb2NrOwogCi0gICAgQ2hlY2tlZExvY2sgbV93YXNCdWZmZXJEcm9w
cGVkTG9jazsKLSAgICBDaGVja2VkQ29uZGl0aW9uIG1fd2FzQnVmZmVyRHJvcHBlZENvbmRpdGlv
bjsKKyAgICBMb2NrIG1fd2FzQnVmZmVyRHJvcHBlZExvY2s7CisgICAgQ29uZGl0aW9uIG1fd2Fz
QnVmZmVyRHJvcHBlZENvbmRpdGlvbjsKICAgICBib29sIG1fd2FzQnVmZmVyRHJvcHBlZCBXVEZf
R1VBUkRFRF9CWV9MT0NLKG1fd2FzQnVmZmVyRHJvcHBlZExvY2spIHsgZmFsc2UgfTsKIAogICAg
IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZmZXI+
PiBtX3VzZWRCdWZmZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1h
Z2UtZGVjb2RlcnMvU2NhbGFibGVJbWFnZURlY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL1NjYWxhYmxlSW1hZ2VEZWNvZGVyLmgKaW5kZXggNTAyOGNiYWJk
ODZlMDg1YjRjNWNlYWUxMmQyZjg4MzAwYmU4NDAxNy4uNTdjMTJmYzEzNjY5YzhiYTAxOTNhZDZj
NTE5ZjlkYzU2MWJiZDQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1h
Z2UtZGVjb2RlcnMvU2NhbGFibGVJbWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9TY2FsYWJsZUltYWdlRGVjb2Rlci5oCkBAIC0zMyw3ICsz
Myw3IEBACiAjaW5jbHVkZSAiU2NhbGFibGVJbWFnZURlY29kZXJGcmFtZS5oIgogI2luY2x1ZGUg
IlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8
d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgpAQCAtMTk3LDcgKzE5Nyw3IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBS
ZWZQdHI8U2hhcmVkQnVmZmVyOjpEYXRhU2VnbWVudD4gbV9kYXRhOwogICAgIFZlY3RvcjxTY2Fs
YWJsZUltYWdlRGVjb2RlckZyYW1lLCAxPiBtX2ZyYW1lQnVmZmVyQ2FjaGUgV1RGX0dVQVJERURf
QllfTE9DSyhtX2xvY2spOwotICAgIG11dGFibGUgQ2hlY2tlZExvY2sgbV9sb2NrOworICAgIG11
dGFibGUgTG9jayBtX2xvY2s7CiAgICAgYm9vbCBtX3ByZW11bHRpcGx5QWxwaGE7CiAgICAgYm9v
bCBtX2lnbm9yZUdhbW1hQW5kQ29sb3JQcm9maWxlOwogICAgIEltYWdlT3JpZW50YXRpb24gbV9v
cmllbnRhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9RdWlj
a0xvb2subW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUXVpY2tMb29rLm1tCmluZGV4
IGJlODdhZDJkM2RkZGVlNjU2ZWQ4MmE0ZDQyZTZlYWM0Y2RkY2IyODQuLmUzYzMwN2M4MWUxYjlj
N2YyOWYwM2ViNDMyM2E4MWYzYTg5ZTkxZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9RdWlja0xvb2subW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1F1aWNrTG9vay5tbQpAQCAtMzAsNyArMzAsNiBAQAogCiAjaW1wb3J0ICJSZXNvdXJjZVJlcXVl
c3QuaCIKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNGaWxlTWFuYWdlclNQSS5oPgotI2ltcG9y
dCA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5oPgogI2ltcG9y
dCA8d3RmL0xvY2suaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpAQCAtNDcsNyAr
NDYsNyBAQCBOU1NldCAqUUxQcmV2aWV3R2V0U3VwcG9ydGVkTUlNRVR5cGVzU2V0KCkKICAgICBy
ZXR1cm4gc2V0LmdldCgpLmdldCgpOwogfQogCi1zdGF0aWMgQ2hlY2tlZExvY2sgcWxQcmV2aWV3
Q29udmVydGVyRGljdGlvbmFyeUxvY2s7CitzdGF0aWMgTG9jayBxbFByZXZpZXdDb252ZXJ0ZXJE
aWN0aW9uYXJ5TG9jazsKIAogc3RhdGljIE5TTXV0YWJsZURpY3Rpb25hcnkgKlFMUHJldmlld0Nv
bnZlcnRlckRpY3Rpb25hcnkoKSBXVEZfUkVRVUlSRVNfTE9DSyhxbFByZXZpZXdDb252ZXJ0ZXJE
aWN0aW9uYXJ5TG9jaykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCmluZGV4IDcwNzIyYTk2
OWM2OWI3YmY3MWUwMzc0OGE0MzNiZmYzOWY3NWQ2NzUuLjI3ZGI1MzJmYzBiMmI4NWM4YmEwN2Qy
OThmY2Y2NmQ0OWNiYTQ4YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5tbQpAQCAtMzEsNyAr
MzEsNyBAQAogI2ltcG9ydCAiV2ViQmFja2dyb3VuZFRhc2tDb250cm9sbGVyLmgiCiAjaW1wb3J0
IDxXZWJDb3JlL0RhdGFiYXNlVHJhY2tlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9TUUxpdGVEYXRh
YmFzZVRyYWNrZXIuaD4KLSNpbXBvcnQgPHd0Zi9DaGVja2VkTG9jay5oPgorI2ltcG9ydCA8d3Rm
L0xvY2suaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KIApAQCAtODUsNyArODUsNyBAQCB2b2lkIFdlYlNRTGl0ZURhdGFiYXNlVHJh
Y2tlckNsaWVudDo6aHlzdGVyZXNpc1VwZGF0ZWQoUEFMOjpIeXN0ZXJlc2lzU3RhdGUgc3RhdAog
CiB9CiAKLXN0YXRpYyBDaGVja2VkTG9jayB0cmFuc2FjdGlvbkJhY2tncm91bmRUYXNrSWRlbnRp
ZmllckxvY2s7CitzdGF0aWMgTG9jayB0cmFuc2FjdGlvbkJhY2tncm91bmRUYXNrSWRlbnRpZmll
ckxvY2s7CiAKIHN0YXRpYyBOU1VJbnRlZ2VyIHRyYW5zYWN0aW9uQmFja2dyb3VuZFRhc2tJZGVu
dGlmaWVyIFdURl9HVUFSREVEX0JZX0xPQ0sodHJhbnNhY3Rpb25CYWNrZ3JvdW5kVGFza0lkZW50
aWZpZXJMb2NrKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dh
ay9XZWJDb3JlVGhyZWFkUnVuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsv
V2ViQ29yZVRocmVhZFJ1bi5jcHAKaW5kZXggOGY4MWQ3YzFhY2E0Njk1NTUxZmM0NDBiNDdlOTA2
MWQ0YjM1ZGYyZC4uNzIwNDFlOWUxZmU5ZmU5ZDU2YWUyNzdiNzBmOGRlOGJmNmEzYmY3YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkUnVu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWRS
dW4uY3BwCkBAIC00NSw5ICs0NSw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgd2FpdEZvckNvbXBs
ZXRpb24oKQogICAgIHsKLSAgICAgICAgc3RkOjp1bmlxdWVfbG9jazxMb2NrPiBsb2NrKG1fc3Rh
dGVNdXRleCk7CisgICAgICAgIExvY2tlciBsb2NrIHsgbV9zdGF0ZU11dGV4IH07CiAKLSAgICAg
ICAgbV9jb21wbGV0aW9uQ29uZGl0aW9uVmFyaWFibGUud2FpdChsb2NrLCBbdGhpc10geyByZXR1
cm4gbV9jb21wbGV0ZWQ7IH0pOworICAgICAgICBtX2NvbXBsZXRpb25Db25kaXRpb25WYXJpYWJs
ZS53YWl0KG1fc3RhdGVNdXRleCwgW3RoaXNdIHsgcmV0dXJuIG1fY29tcGxldGVkOyB9KTsKICAg
ICB9CiAKICAgICB2b2lkIHNldENvbXBsZXRlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlTW9jay5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1v
Y2suaAppbmRleCA5MDIzMGQ4NTYzYmJiNTkxZmNmZGYwOTI3ZGZjOGUxODFmMTFlMmIxLi40OWNh
ZGJkZmEyMTBhZDhiZDUwYmVkNTQ0ZjU4NzNmYTViMDdkMDEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlTW9jay5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
clByaXZhdGVNb2NrLmgKQEAgLTI3LDcgKzI3LDcgQEAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQogCiAjaW5jbHVkZSAiTWVkaWFSZWNvcmRlclByaXZhdGUuaCIKLSNpbmNsdWRlIDx3dGYvQ2hl
Y2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0J1aWxkZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTIsNyArNTIsNyBAQCBw
cml2YXRlOgogCiAgICAgdm9pZCBnZW5lcmF0ZU1vY2tDb3VudGVyU3RyaW5nKCkgV1RGX1JFUVVJ
UkVTX0xPQ0sobV9idWZmZXJMb2NrKTsKIAotICAgIG11dGFibGUgQ2hlY2tlZExvY2sgbV9idWZm
ZXJMb2NrOworICAgIG11dGFibGUgTG9jayBtX2J1ZmZlckxvY2s7CiAgICAgU3RyaW5nQnVpbGRl
ciBtX2J1ZmZlciBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fYnVmZmVyTG9jayk7CiAgICAgdW5zaWdu
ZWQgbV9jb3VudGVyIHsgMCB9OwogICAgIFN0cmluZyBtX2F1ZGlvVHJhY2tJRDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNv
cmRlclByaXZhdGVXcml0ZXJDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFy
ZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmgKaW5kZXggNjNk
MTI2Zjk5YjAxMmFlNjU0OGFiMzVhZjU5Y2E1MWVlOTE4OWJjMC4uMmUzODdlYmY3MmJkYmNkN2Vh
ZWM3NTg1ZDIyYTRmMWY0NDhlYTQwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJl
Y29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmgKQEAgLTI5LDkgKzI5LDkgQEAKICNpbmNsdWRlICJB
dWRpb1N0cmVhbURlc2NyaXB0aW9uLmgiCiAKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKLSNp
bmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRs
ZXIuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50
ZWQuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgpAQCAtMTE4LDcgKzExOCw3IEBAIHByaXZh
dGU6CiAKICAgICBSZXRhaW5QdHI8QVZBc3NldFdyaXRlcj4gbV93cml0ZXI7CiAKLSAgICBDaGVj
a2VkTG9jayBtX2RhdGFMb2NrOworICAgIExvY2sgbV9kYXRhTG9jazsKICAgICBSZWZQdHI8U2hh
cmVkQnVmZmVyPiBtX2RhdGEgV1RGX0dVQVJERURfQllfTE9DSyhtX2RhdGFMb2NrKTsKICAgICBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxTaGFyZWRCdWZmZXI+JiYsIGRvdWJsZSk+IG1f
ZmV0Y2hEYXRhQ29tcGxldGlvbkhhbmRsZXI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaAppbmRleCBlZjA3
ZWFhODlhNDNjMDExNzk1MTJhMzAzZTIyZDZmYTJhOTA1MGE0Li43Y2RhMzMyZGQ3MjAwMjY0N2Zh
YzAwODljNTBkYTA5NDJiZjhiZTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oCkBAIC00Miw4ICs0Miw4
IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1MYXllci5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFT
b3VyY2VDYXBhYmlsaXRpZXMuaCIKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlRmFjdG9y
eS5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0
aW9uSGFuZGxlci5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0xvZ2dl
ckhlbHBlci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTI3NiwxMCArMjc2LDEwIEBAIHByaXZhdGU6CiAgICAgU3Ry
aW5nIG1fbmFtZTsKICAgICBXZWFrSGFzaFNldDxPYnNlcnZlcj4gbV9vYnNlcnZlcnM7CiAKLSAg
ICBtdXRhYmxlIENoZWNrZWRMb2NrIG1fYXVkaW9TYW1wbGVPYnNlcnZlcnNMb2NrOworICAgIG11
dGFibGUgTG9jayBtX2F1ZGlvU2FtcGxlT2JzZXJ2ZXJzTG9jazsKICAgICBIYXNoU2V0PEF1ZGlv
U2FtcGxlT2JzZXJ2ZXIqPiBtX2F1ZGlvU2FtcGxlT2JzZXJ2ZXJzIFdURl9HVUFSREVEX0JZX0xP
Q0sobV9hdWRpb1NhbXBsZU9ic2VydmVyc0xvY2spOwogCi0gICAgbXV0YWJsZSBDaGVja2VkTG9j
ayBtX3ZpZGVvU2FtcGxlT2JzZXJ2ZXJzTG9jazsKKyAgICBtdXRhYmxlIExvY2sgbV92aWRlb1Nh
bXBsZU9ic2VydmVyc0xvY2s7CiAgICAgSGFzaFNldDxWaWRlb1NhbXBsZU9ic2VydmVyKj4gbV92
aWRlb1NhbXBsZU9ic2VydmVycyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fdmlkZW9TYW1wbGVPYnNl
cnZlcnNMb2NrKTsKIAogICAgIC8vIFNldCBvbiB0aGUgbWFpbiB0aHJlYWQgZnJvbSBjb25zdHJh
aW50cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1Jl
YWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmgKaW5kZXggNTMwODVjZjViNDlk
ODdiZjhiZTQxZWFiMWRkMDAzNTMwNTA2M2M2Yi4uMjg3MmI0NTliYjdiMzczOTFhMDBkNThlMWI3
YzUwMzFhNjA0OGExNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmgKQEAgLTQx
LDcgKzQxLDcgQEAgQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KIAogQUxMT1dfVU5VU0VE
X1BBUkFNRVRFUlNfRU5ECiAKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRl
IDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3
dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KIApAQCAtMTI4LDcgKzEyOCw3IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX211dGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fZW5hYmxlZCB7IHRydWUg
fTsKIAotICAgIG11dGFibGUgQ2hlY2tlZExvY2sgbV9zaW5rc0xvY2s7CisgICAgbXV0YWJsZSBM
b2NrIG1fc2lua3NMb2NrOwogICAgIEhhc2hTZXQ8d2VicnRjOjpBdWRpb1RyYWNrU2lua0ludGVy
ZmFjZSo+IG1fc2lua3MgV1RGX0dVQVJERURfQllfTE9DSyhtX3NpbmtzTG9jayk7CiAKICNpZiAh
UkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmgKaW5k
ZXggNWJkMWRkODUwM2VmNTg1YjJmYTJhZDA1M2Q0YmViYWJlMGRjMWU1MS4uZGQ0NTgwMGE0MGFm
OTVlZjhiMjVhMDJlNjIwMjVhNjg1MjZmYjQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVv
U291cmNlLmgKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlICJMaWJXZWJSVENNYWNyb3MuaCIK
ICNpbmNsdWRlICJNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oIgogI2luY2x1ZGUgPFRpbWVyLmg+
Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KIAog
QUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KIApAQCAtMTQyLDcgKzE0Miw3IEBAIHByaXZh
dGU6CiAgICAgVGltZXIgbV9ibGFja0ZyYW1lVGltZXI7CiAgICAgcnRjOjpzY29wZWRfcmVmcHRy
PHdlYnJ0Yzo6VmlkZW9GcmFtZUJ1ZmZlcj4gbV9ibGFja0ZyYW1lOwogCi0gICAgbXV0YWJsZSBD
aGVja2VkTG9jayBtX3NpbmtzTG9jazsKKyAgICBtdXRhYmxlIExvY2sgbV9zaW5rc0xvY2s7CiAg
ICAgSGFzaFNldDxydGM6OlZpZGVvU2lua0ludGVyZmFjZTx3ZWJydGM6OlZpZGVvRnJhbWU+Kj4g
bV9zaW5rcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fc2lua3NMb2NrKTsKICAgICBib29sIG1fYXJl
U2lua3NBc2tpbmdUb0FwcGx5Um90YXRpb24geyBmYWxzZSB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9BdWRpb01lZGlhU3RyZWFtVHJh
Y2tSZW5kZXJlclVuaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nv
Y29hL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5oCmluZGV4IGM2MzQ0ZjE3OGQ5
OWI3NjQxZGY1YjhhMjRkMTFhZTkyOTlmZTI2ZTEuLjNiNzdjOWQ1M2U1NzBhNzM4MjBiZTM4OWUw
MjM3NmIyMWU1YzIxYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2NvY29hL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0F1ZGlvTWVkaWFTdHJlYW1U
cmFja1JlbmRlcmVyVW5pdC5oCkBAIC0yOCw5ICsyOCw5IEBACiAjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKIAogI2luY2x1ZGUgIkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVySW50ZXJuYWxV
bml0LmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAj
aW5jbHVkZSA8d3RmL1VuaXF1ZVJlZi5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAt
NzEsNyArNzEsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxSZWY8QXVkaW9TYW1wbGVEYXRhU291
cmNlPj4gbV9wZW5kaW5nUmVuZGVyU291cmNlcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcGVuZGlu
Z1JlbmRlclNvdXJjZXNMb2NrKTsKICAgICBWZWN0b3I8UmVmPEF1ZGlvU2FtcGxlRGF0YVNvdXJj
ZT4+IG1fcmVuZGVyU291cmNlczsKICAgICBib29sIG1faGFzUGVuZGluZ1JlbmRlclNvdXJjZXMg
V1RGX0dVQVJERURfQllfTE9DSyhtX3BlbmRpbmdSZW5kZXJTb3VyY2VzTG9jaykgeyBmYWxzZSB9
OwotICAgIENoZWNrZWRMb2NrIG1fcGVuZGluZ1JlbmRlclNvdXJjZXNMb2NrOworICAgIExvY2sg
bV9wZW5kaW5nUmVuZGVyU291cmNlc0xvY2s7CiAgICAgVW5pcXVlUmVmPEF1ZGlvTWVkaWFTdHJl
YW1UcmFja1JlbmRlcmVySW50ZXJuYWxVbml0PiBtX2ludGVybmFsVW5pdDsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9SZWFs
dGltZU91dGdvaW5nQXVkaW9Tb3VyY2VMaWJXZWJSVEMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2VMaWJX
ZWJSVEMuaAppbmRleCBlMDUzYjAxMGQyN2ZiMGM0ZjZhOTJhMDZiNDE5M2IyMTYwMTZlZTNlLi41
OTIzZDYyNjhiM2E0YWNhMDYyNTIwZjI0YzUyMzk5ZjZhN2Q3M2FjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2lu
Z0F1ZGlvU291cmNlTGliV2ViUlRDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vZ3N0cmVhbWVyL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUxpYldlYlJUQy5o
CkBAIC0yNSw3ICsyNSw3IEBACiAjaW5jbHVkZSAiUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNl
LmgiCiAKICNpbmNsdWRlIDxnc3QvYXVkaW8vYXVkaW8uaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tl
ZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTUyLDcgKzUyLDcgQEAgcHJpdmF0ZToKICAgICBHc3RBdWRpb0luZm8gbV9pbnB1dFN0cmVh
bURlc2NyaXB0aW9uOwogICAgIEdzdEF1ZGlvSW5mbyBtX291dHB1dFN0cmVhbURlc2NyaXB0aW9u
OwogCi0gICAgQ2hlY2tlZExvY2sgbV9hZGFwdGVyTG9jazsKKyAgICBMb2NrIG1fYWRhcHRlckxv
Y2s7CiAgICAgR1JlZlB0cjxHc3RBZGFwdGVyPiBtX2FkYXB0ZXIgV1RGX0dVQVJERURfQllfTE9D
SyhtX2FkYXB0ZXJMb2NrKTsKICAgICBWZWN0b3I8dWludDhfdD4gbV9hdWRpb0J1ZmZlcjsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0xvYWRlclJ1
bkxvb3BDRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0xvYWRlclJ1
bkxvb3BDRi5jcHAKaW5kZXggMDVhMjRmNTI1MjViNTRiN2ZmODFkNDcxMWM1ZWMwMGM5ODZjOTg0
OC4uNmZlNDNhYjk0ZGQ3MGI5OTUwNGU0OTBlY2RkMjJjYjA0ZGRhOTI1MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Mb2FkZXJSdW5Mb29wQ0YuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvTG9hZGVyUnVuTG9vcENGLmNw
cApAQCAtNTMsNyArNTMsNyBAQCBDRlJ1bkxvb3BSZWYgbG9hZGVyUnVuTG9vcCgpCiB7CiAgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgIHN0ZDo6dW5pcXVlX2xvY2s8TG9jaz4gbG9j
ayhsb2FkZXJSdW5Mb29wTXV0ZXgpOworICAgIExvY2tlciBsb2NrZXIgeyBsb2FkZXJSdW5Mb29w
TXV0ZXggfTsKIAogICAgIGlmICghbG9hZGVyUnVuTG9vcE9iamVjdCkgewogICAgICAgICBUaHJl
YWQ6OmNyZWF0ZSgiV2ViQ29yZTogQ0ZOZXR3b3JrIExvYWRlciIsIFtdIHsKQEAgLTc3LDcgKzc3
LDcgQEAgQ0ZSdW5Mb29wUmVmIGxvYWRlclJ1bkxvb3AoKQogICAgICAgICAgICAgfSB3aGlsZSAo
cmVzdWx0ICE9IGtDRlJ1bkxvb3BSdW5TdG9wcGVkICYmIHJlc3VsdCAhPSBrQ0ZSdW5Mb29wUnVu
RmluaXNoZWQpOwogICAgICAgICB9LCBUaHJlYWRUeXBlOjpOZXR3b3JrKTsKIAotICAgICAgICBs
b2FkZXJSdW5Mb29wQ29uZGl0aW9uVmFyaWFibGUud2FpdChsb2NrLCBbXSB7IHJldHVybiBsb2Fk
ZXJSdW5Mb29wT2JqZWN0OyB9KTsKKyAgICAgICAgbG9hZGVyUnVuTG9vcENvbmRpdGlvblZhcmlh
YmxlLndhaXQobG9hZGVyUnVuTG9vcE11dGV4LCBbXSB7IHJldHVybiBsb2FkZXJSdW5Mb29wT2Jq
ZWN0OyB9KTsKICAgICB9CiAKICAgICByZXR1cm4gbG9hZGVyUnVuTG9vcE9iamVjdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29yZU5TVVJM
U2Vzc2lvbi5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29y
ZU5TVVJMU2Vzc2lvbi5tbQppbmRleCAzYTU2MWJlYWVmNWYzZDA5MGMzNzUxMDkzZmRkMDRhOTAx
MTNmYzkxLi40YmZlMTMzMmRhN2JkMGEzNTgxNmEzZTUwNTc2MGViNTAzOThkMWRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1dlYkNvcmVOU1VSTFNl
c3Npb24ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9XZWJD
b3JlTlNVUkxTZXNzaW9uLm1tCkBAIC0zMiw4ICszMiw4IEBACiAjaW1wb3J0ICJTdWJyZXNvdXJj
ZUxvYWRlci5oIgogI2ltcG9ydCA8cGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaD4KICNpbXBvcnQg
PHd0Zi9CbG9ja1B0ci5oPgotI2ltcG9ydCA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW1wb3J0IDx3
dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KKyNpbXBvcnQgPHd0Zi9Mb2NrLmg+CiAjaW1wb3J0IDx3
dGYvV2Vha09iakNQdHIuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgogCkBA
IC01NzMsNyArNTczLDcgQEAgcHVibGljOgogICAgIHZvaWQgbG9hZEZpbmlzaGVkKFBsYXRmb3Jt
TWVkaWFSZXNvdXJjZSYsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIG92ZXJyaWRlOwogCiBw
cml2YXRlOgotICAgIENoZWNrZWRMb2NrIG1fdGFza0xvY2s7CisgICAgTG9jayBtX3Rhc2tMb2Nr
OwogICAgIFdlYWtPYmpDUHRyPFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzaz4gbV90YXNrIFdU
Rl9HVUFSREVEX0JZX0xPQ0sobV90YXNrTG9jayk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0KaW5kZXggNjZlMjdlYTUy
MjRhZjhkYjE5YzJhOWYxNjlhOTFjMWMzZDgzOGJhMC4uY2ViYmNhNWIyNGNiZjhkMGMwZTE4ZmRi
MjQ4NGUwODI0OGNiMzYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvVVRJVXRpbGl0aWVzLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29u
ZmlnLmgiCiAjaW1wb3J0ICJVVElVdGlsaXRpZXMuaCIKIAotI2ltcG9ydCA8d3RmL0NoZWNrZWRM
b2NrLmg+CisjaW1wb3J0IDx3dGYvTG9jay5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4K
ICNpbXBvcnQgPHd0Zi9Tb3J0ZWRBcnJheU1hcC5oPgogI2ltcG9ydCA8d3RmL1RpbnlMUlVDYWNo
ZS5oPgpAQCAtMTEyLDcgKzExMiw3IEBAIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VO
RAogICAgIHN0YXRpYyBTdHJpbmcgY3JlYXRlS2V5Rm9yU3RvcmFnZShjb25zdCBTdHJpbmcmIGtl
eSkgeyByZXR1cm4ga2V5Lmlzb2xhdGVkQ29weSgpOyB9CiB9OwogCi1zdGF0aWMgQ2hlY2tlZExv
Y2sgY2FjaGVVVElGcm9tTUlNRVR5cGVMb2NrOworc3RhdGljIExvY2sgY2FjaGVVVElGcm9tTUlN
RVR5cGVMb2NrOwogc3RhdGljIFRpbnlMUlVDYWNoZTxTdHJpbmcsIFJldGFpblB0cjxDRlN0cmlu
Z1JlZj4sIDE2LCBVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeT4mIGNhY2hlVVRJRnJvbU1JTUVU
eXBlKCkgV1RGX1JFUVVJUkVTX0xPQ0soY2FjaGVVVElGcm9tTUlNRVR5cGVMb2NrKQogewogICAg
IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxUaW55TFJVQ2FjaGU8U3RyaW5nLCBSZXRhaW5QdHI8Q0ZT
dHJpbmdSZWY+LCAxNiwgVVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3k+PiBjYWNoZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJj
ZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVn
YXRlLmgKaW5kZXggYTZkMjA0MzYyY2JhMDZhMzgxNTExOTU2M2Q3NDVmOGEzMzVmMTFhMS4uYjRl
NTNlZGU1MDFkNDgxYzU0MjBiZDI4M2EyZDBhNzUxMTA4MGYyMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVy
YXRpb25RdWV1ZURlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmgKQEAg
LTI0LDggKzI0LDggQEAKICAqLwogCiAjaW1wb3J0IDxkaXNwYXRjaC9kaXNwYXRjaC5oPgotI2lt
cG9ydCA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW1wb3J0IDx3dGYvRnVuY3Rpb24uaD4KKyNpbXBv
cnQgPHd0Zi9Mb2NrLmg+CiAjaW1wb3J0IDx3dGYvTWVzc2FnZVF1ZXVlLmg+CiAjaW1wb3J0IDx3
dGYvUmVmUHRyLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CkBAIC0zOCw3ICszOCw3IEBA
IGNsYXNzIFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlOwogfQogCiBAaW50ZXJmYWNlIFdl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxO
U1VSTENvbm5lY3Rpb25EZWxlZ2F0ZT4gewotICAgIENoZWNrZWRMb2NrIG1fbG9jazsKKyAgICBM
b2NrIG1fbG9jazsKICAgICBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSogbV9oYW5kbGUgV1RGX0dV
QVJERURfQllfTE9DSyhtX2xvY2spOwogCiAgICAgLy8gU3luY2hyb25vdXMgZGVsZWdhdGVzIG9u
IG9wZXJhdGlvbiBxdWV1ZSB3YWl0IHVudGlsIG1haW4gdGhyZWFkIHNlbmRzIGFuIGFzeW5jaHJv
bm91cyByZXNwb25zZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9T
UUxpdGVEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0
YWJhc2UuY3BwCmluZGV4IDE1NzdhYTYxYjJmNTY5YjJkMTY3MmNiMjcxNzNjMmE4NmRlNGUwMWEu
LjU5YjkzOTAzMmYxNjRlZmIzYmVjZDdhZjhjNzZjN2E2ZjIwOWQwMTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcApAQCAtMzYsOCArMzYsOCBA
QAogI2luY2x1ZGUgPG11dGV4PgogI2luY2x1ZGUgPHNxbGl0ZTMuaD4KICNpbmNsdWRlIDx0aHJl
YWQ+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0
ZW0uaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5n
Q29uY2F0ZW5hdGVOdW1iZXJzLmg+CkBAIC03Miw3ICs3Miw3IEBAIHN0YXRpYyB2b2lkIGluaXRp
YWxpemVTUUxpdGVJZk5lY2Vzc2FyeSgpCiAgICAgfSk7CiB9CiAKLXN0YXRpYyBDaGVja2VkTG9j
ayBpc0RhdGFiYXNlT3BlbmluZ0ZvcmJpZGRlbkxvY2s7CitzdGF0aWMgTG9jayBpc0RhdGFiYXNl
T3BlbmluZ0ZvcmJpZGRlbkxvY2s7CiBzdGF0aWMgYm9vbCBpc0RhdGFiYXNlT3BlbmluZ0ZvcmJp
ZGRlbiBXVEZfR1VBUkRFRF9CWV9MT0NLKGlzRGF0YWJhc2VPcGVuaW5nRm9yYmlkZGVuTG9jaykg
eyBmYWxzZSB9OwogCiB2b2lkIFNRTGl0ZURhdGFiYXNlOjpzZXRJc0RhdGFiYXNlT3BlbmluZ0Zv
cmJpZGRlbihib29sIGlzRm9yYmlkZGVuKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwv
U1FMaXRlRGF0YWJhc2UuaAppbmRleCA0YTI0NGM2NWZhODdmMWMzYmE5NThhMmMwMjBkMzQ1Njk0
NTJiNjg0Li5jYTY1NWVlOTA3ZjM2NzQ4MjY5ZjRmZmQzNTZiNDI4NzE5MmQwZmI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaApAQCAtMjgsOCArMjgs
OCBAQAogCiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KICNpbmNsdWRlIDxzcWxpdGUzLmg+Ci0jaW5j
bHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0V4cGVjdGVkLmg+CisjaW5j
bHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8
d3RmL1VuaXF1ZVJlZi5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CkBAIC0xODAsNyArMTgw
LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV91c2VXQUwgeyBmYWxzZSB9OwogCi0gICAgQ2hl
Y2tlZExvY2sgbV9hdXRob3JpemVyTG9jazsKKyAgICBMb2NrIG1fYXV0aG9yaXplckxvY2s7CiAg
ICAgUmVmUHRyPERhdGFiYXNlQXV0aG9yaXplcj4gbV9hdXRob3JpemVyIFdURl9HVUFSREVEX0JZ
X0xPQ0sobV9hdXRob3JpemVyTG9jayk7CiAKICAgICBMb2NrIG1fbG9ja2luZ011dGV4OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlVHJhY2tl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2VUcmFja2Vy
LmNwcAppbmRleCAzZjhlM2M5N2VkZTgwZTQyOTE1ODQ0ZTdmYmNhNWE2MmYxNDlkNzc1Li5jZTYz
N2ZjNTM0ZWJmMWI1NWEzM2EyN2I3NDc4Mjk4ODI5MDk5YWEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcApAQCAtMjcs
MTMgKzI3LDEzIEBACiAjaW5jbHVkZSAiU1FMaXRlRGF0YWJhc2VUcmFja2VyLmgiCiAKICNpbmNs
dWRlIDxtdXRleD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYv
TG9jay5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBTUUxpdGVEYXRhYmFz
ZVRyYWNrZXIgewogCi1zdGF0aWMgQ2hlY2tlZExvY2sgdHJhbnNhY3Rpb25JblByb2dyZXNzTG9j
azsKK3N0YXRpYyBMb2NrIHRyYW5zYWN0aW9uSW5Qcm9ncmVzc0xvY2s7CiBzdGF0aWMgU1FMaXRl
RGF0YWJhc2VUcmFja2VyQ2xpZW50KiBzX3N0YXRpY1NRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVu
dCBXVEZfR1VBUkRFRF9CWV9MT0NLKHRyYW5zYWN0aW9uSW5Qcm9ncmVzc0xvY2spIHsgbnVsbHB0
ciB9Owogc3RhdGljIHVuc2lnbmVkIHNfdHJhbnNhY3Rpb25JblByb2dyZXNzQ291bnRlciBXVEZf
R1VBUkRFRF9CWV9MT0NLKHRyYW5zYWN0aW9uSW5Qcm9ncmVzc0xvY2spIHsgMCB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnku
Y3BwCmluZGV4IGUxYmM1MzZjYzZhMDQ4NTc3ODYyY2ZkMWMzMTc0Y2Q2NzQ3MTZmNGUuLmRiYTlm
NWYwMDc1MDEzYWYzZTI4NmIzYTUwMzRmNzE1NGU2YzM5MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwCkBAIC0zOSw5
ICszOSw5IEBACiAjaW5jbHVkZSA8bXV0ZXg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4K
ICNpbmNsdWRlIDx3dGYvQ2hlY2tlZEFyaXRobWV0aWMuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tl
ZExvY2suaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0
Lmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgog
I2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CkBAIC05MSw3ICs5MSw3IEBAIHN0cnVjdCBUZXh0RW5jb2RpbmdOYW1lSGFzaCB7CiB1c2lu
ZyBUZXh0RW5jb2RpbmdOYW1lTWFwID0gSGFzaE1hcDxjb25zdCBjaGFyKiwgY29uc3QgY2hhcios
IFRleHRFbmNvZGluZ05hbWVIYXNoPjsKIHVzaW5nIFRleHRDb2RlY01hcCA9IEhhc2hNYXA8Y29u
c3QgY2hhciosIE5ld1RleHRDb2RlY0Z1bmN0aW9uPjsKIAotc3RhdGljIENoZWNrZWRMb2NrIGVu
Y29kaW5nUmVnaXN0cnlMb2NrOworc3RhdGljIExvY2sgZW5jb2RpbmdSZWdpc3RyeUxvY2s7CiAK
IHN0YXRpYyBUZXh0RW5jb2RpbmdOYW1lTWFwKiB0ZXh0RW5jb2RpbmdOYW1lTWFwIFdURl9HVUFS
REVEX0JZX0xPQ0soZW5jb2RpbmdSZWdpc3RyeUxvY2spOwogc3RhdGljIFRleHRDb2RlY01hcCog
dGV4dENvZGVjTWFwIFdURl9HVUFSREVEX0JZX0xPQ0soZW5jb2RpbmdSZWdpc3RyeUxvY2spOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIuaAppbmRleCBkNzNm
YzRlYjI1NDFlZDFiZWJhMGI0ZDJhNjI1ZDRhMDJhOGYxNzc4Li41YjM1NjU3MmQ0OGJiNDI3NTlj
YTFlZjVhNDU5MGM4YzAyMzY0ZTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L1N0b3JhZ2VRdW90YU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3Jh
Z2VRdW90YU1hbmFnZXIuaApAQCAtMjUsOSArMjUsOSBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lu
Y2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxl
ci5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5j
bHVkZSA8d3RmL1dlYWtQdHIuaD4KICNpbmNsdWRlIDx3dGYvV29ya1F1ZXVlLmg+CiAKQEAgLTU3
LDcgKzU3LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgdXBkYXRlUXVvdGFCYXNlZE9uVXNhZ2Uo
KTsKIAotICAgIENoZWNrZWRMb2NrIG1fcXVvdGFDb3VudERvd25Mb2NrOworICAgIExvY2sgbV9x
dW90YUNvdW50RG93bkxvY2s7CiAgICAgdWludDY0X3QgbV9xdW90YUNvdW50RG93biBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fcXVvdGFDb3VudERvd25Mb2NrKSB7IDAgfTsKICAgICB1aW50NjRfdCBt
X3F1b3RhIHsgMCB9OwogICAgIHVpbnQ2NF90IG1fdXNhZ2UgeyAwIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDBkNjE0OTFkZDFhYWUwZTNi
NDc3N2EyZTk0ZWU2NWE2MjQ4YTAwYTcuLmVkZjA1MjljMTE4YjA2NWZkOGIyYjUwODk5M2MxM2Q4
ODc0ZGNlMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwCkBAIC01NywxMyArNTcsMTMgQEAKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRBcmd1bWVudHMuaD4KICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2suaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExv
Y2suaD4KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorI2luY2x1ZGUgPHd0Zi9M
b2NrLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7
CiAKLXN0YXRpYyBDaGVja2VkTG9jayBhbGxXb3JrZXJHbG9iYWxTY29wZUlkZW50aWZpZXJzTG9j
azsKK3N0YXRpYyBMb2NrIGFsbFdvcmtlckdsb2JhbFNjb3BlSWRlbnRpZmllcnNMb2NrOwogc3Rh
dGljIEhhc2hTZXQ8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+JiBhbGxXb3JrZXJH
bG9iYWxTY29wZUlkZW50aWZpZXJzKCkgV1RGX1JFUVVJUkVTX0xPQ0soYWxsV29ya2VyR2xvYmFs
U2NvcGVJZGVudGlmaWVyc0xvY2spCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hT
ZXQ8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+PiBpZGVudGlmaWVyczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJv
bGxlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250
cm9sbGVyLmgKaW5kZXggY2ZjYTc0NDRiNDk4OTVjMmQwZTE5YmFhYWEyNWRlNzUxOTgzYmVmMC4u
YTVjMWExZGRhNWQ2ZDAyZTg1NmZmNWE2MGJkNzlhNGE2ODU0NTRhNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVy
LmgKQEAgLTMwLDggKzMwLDggQEAKICNpbmNsdWRlICJXb3JrZXJUaHJlYWRUeXBlLmgiCiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvRGVidWdnZXIuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9KU1J1bkxvb3BUaW1lci5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYv
TWVzc2FnZVF1ZXVlLmg+CiAjaW5jbHVkZSA8d3RmL05ha2VkUHRyLmg+CiAKQEAgLTEyMSw3ICsx
MjEsNyBAQCBwcml2YXRlOgogICAgIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKiBtX2dsb2Jh
bFNjb3BlOwogICAgIEpTQzo6U3Ryb25nPEpTRE9NR2xvYmFsT2JqZWN0PiBtX2dsb2JhbFNjb3Bl
V3JhcHBlcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyQ29uc29sZUNsaWVudD4gbV9jb25z
b2xlQ2xpZW50OwotICAgIG11dGFibGUgQ2hlY2tlZExvY2sgbV9zY2hlZHVsZWRUZXJtaW5hdGlv
bkxvY2s7CisgICAgbXV0YWJsZSBMb2NrIG1fc2NoZWR1bGVkVGVybWluYXRpb25Mb2NrOwogICAg
IGJvb2wgbV9pc1Rlcm1pbmF0aW5nRXhlY3V0aW9uIFdURl9HVUFSREVEX0JZX0xPQ0sobV9zY2hl
ZHVsZWRUZXJtaW5hdGlvbkxvY2spIHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0VGhyZWFkLmNwcAppbmRleCA4NWIzZTQwMjdiNmVk
Y2M3OTk0ZGQ4MmM5MzU5MTljNGI2NDUxNmQ5Li45NGE1OTJiNjMyNjY0MDc3NTViZWVjYTI0N2E1
Y2NkYWQ1YzAyNThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9y
V29ya2xldFRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldv
cmtsZXRUaHJlYWQuY3BwCkBAIC00MCw5ICs0MCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotQ2hlY2tlZExvY2sgV29ya2VyT3JXb3JrbGV0VGhyZWFkOjpzX3dvcmtlck9yV29ya2xldFRo
cmVhZHNMb2NrOworTG9jayBXb3JrZXJPcldvcmtsZXRUaHJlYWQ6OnNfd29ya2VyT3JXb3JrbGV0
VGhyZWFkc0xvY2s7CiAKLUNoZWNrZWRMb2NrJiBXb3JrZXJPcldvcmtsZXRUaHJlYWQ6Ondvcmtl
ck9yV29ya2xldFRocmVhZHNMb2NrKCkKK0xvY2smIFdvcmtlck9yV29ya2xldFRocmVhZDo6d29y
a2VyT3JXb3JrbGV0VGhyZWFkc0xvY2soKQogewogICAgIHJldHVybiBzX3dvcmtlck9yV29ya2xl
dFRocmVhZHNMb2NrOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJPcldvcmtsZXRUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3Jr
bGV0VGhyZWFkLmgKaW5kZXggOTczZmM3MTA0YzYzZmQxYTNkN2U1OGYwNTYyZjEyYjM2MWE3Y2I1
My4uMWVlOGEzNGIyMjIxN2QwYjIwOWU5NGM5OTk1N2E4MmRiYjBkMDgxNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRUaHJlYWQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFRocmVhZC5oCkBAIC0yNiw5ICsyNiw5
IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKLSNpbmNsdWRl
IDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9GdW5jdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1Ro
cmVhZFNhZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RocmVhZHMvQmluYXJ5U2VtYXBo
b3JlLmg+CiAKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQogCiAgICAgc3RhdGljIEhh
c2hTZXQ8V29ya2VyT3JXb3JrbGV0VGhyZWFkKj4mIHdvcmtlck9yV29ya2xldFRocmVhZHMoKSBX
VEZfUkVRVUlSRVNfTE9DSyh3b3JrZXJPcldvcmtsZXRUaHJlYWRzTG9jaygpKTsKLSAgICBzdGF0
aWMgQ2hlY2tlZExvY2smIHdvcmtlck9yV29ya2xldFRocmVhZHNMb2NrKCkgV1RGX1JFVFVSTlNf
TE9DSyhzX3dvcmtlck9yV29ya2xldFRocmVhZHNMb2NrKTsKKyAgICBzdGF0aWMgTG9jayYgd29y
a2VyT3JXb3JrbGV0VGhyZWFkc0xvY2soKSBXVEZfUkVUVVJOU19MT0NLKHNfd29ya2VyT3JXb3Jr
bGV0VGhyZWFkc0xvY2spOwogICAgIHN0YXRpYyB2b2lkIHJlbGVhc2VGYXN0TWFsbG9jRnJlZU1l
bW9yeUluQWxsVGhyZWFkcygpOwogCiBwcm90ZWN0ZWQ6CkBAIC04Miw3ICs4Miw3IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIGV2YWx1YXRlU2NyaXB0SWZOZWNlc3NhcnkoU3RyaW5nJikg
eyB9CiAgICAgdmlydHVhbCBib29sIHNob3VsZFdhaXRGb3JXZWJJbnNwZWN0b3JPblN0YXJ0dXAo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCi0gICAgc3RhdGljIENoZWNrZWRMb2NrIHNfd29y
a2VyT3JXb3JrbGV0VGhyZWFkc0xvY2s7CisgICAgc3RhdGljIExvY2sgc193b3JrZXJPcldvcmts
ZXRUaHJlYWRzTG9jazsKIAogICAgIFN0cmluZyBtX2lkZW50aWZpZXI7CiAgICAgTG9jayBtX3Ro
cmVhZENyZWF0aW9uQW5kR2xvYmFsU2NvcGVMb2NrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtsZXRzL1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmgKaW5kZXggODhhYjgxZjhlNDA5Y2U4NTU5
NzA3N2IzMGQxMTgxMmViYzk5OWRkZC4uZGMxYzM3OGE3YjA5NjMxYzhiMjc1YTEwMDM2MDA0ZDk5
ZjExYzVmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3JrbGV0
R2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9QYWludFdvcmtsZXRH
bG9iYWxTY29wZS5oCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiV29ya2xldEdsb2JhbFNj
b3BlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4KICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9TdHJvbmcuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNp
bmNsdWRlIDx3dGYvTG9jay5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIEpTT2JqZWN0OwpA
QCAtNjIsNyArNjIsNyBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIEhhc2hNYXA8U3RyaW5nLCBz
dGQ6OnVuaXF1ZV9wdHI8UGFpbnREZWZpbml0aW9uPj4mIHBhaW50RGVmaW5pdGlvbk1hcCgpIFdU
Rl9SRVFVSVJFU19MT0NLKG1fcGFpbnREZWZpbml0aW9uTG9jayk7Ci0gICAgQ2hlY2tlZExvY2sm
IHBhaW50RGVmaW5pdGlvbkxvY2soKSBXVEZfUkVUVVJOU19MT0NLKG1fcGFpbnREZWZpbml0aW9u
TG9jaykgeyByZXR1cm4gbV9wYWludERlZmluaXRpb25Mb2NrOyB9CisgICAgTG9jayYgcGFpbnRE
ZWZpbml0aW9uTG9jaygpIFdURl9SRVRVUk5TX0xPQ0sobV9wYWludERlZmluaXRpb25Mb2NrKSB7
IHJldHVybiBtX3BhaW50RGVmaW5pdGlvbkxvY2s7IH0KIAogICAgIHZvaWQgcHJlcGFyZUZvckRl
c3RydWN0aW9uKCkgZmluYWwKICAgICB7CkBAIC05Myw3ICs5Myw3IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBpc1BhaW50V29ya2xldEdsb2JhbFNjb3BlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1
ZTsgfQogCiAgICAgSGFzaE1hcDxTdHJpbmcsIHN0ZDo6dW5pcXVlX3B0cjxQYWludERlZmluaXRp
b24+PiBtX3BhaW50RGVmaW5pdGlvbk1hcCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcGFpbnREZWZp
bml0aW9uTG9jayk7Ci0gICAgQ2hlY2tlZExvY2sgbV9wYWludERlZmluaXRpb25Mb2NrOworICAg
IExvY2sgbV9wYWludERlZmluaXRpb25Mb2NrOwogICAgIGJvb2wgbV9oYXNQcmVwYXJlZEZvckRl
c3RydWN0aW9uIHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRHTC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlR3JhcGhpY3NDb250ZXh0R0wuY3BwCmluZGV4
IDZkMWQxZGFlOTdhOWI1ZTc2YzdhNDFhNTkwODNjOWUwYTg4MzRiNmYuLjE1NTNkZWYwMjVmZmY5
MGYxMzc1ZjUxMGQ1MGNhNDVkMmM1MTM1NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVHcmFwaGljc0NvbnRleHRHTC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUdyYXBoaWNzQ29udGV4dEdMLmNwcApA
QCAtMjEyLDcgKzIxMiw3IEBAIHZvaWQgUmVtb3RlR3JhcGhpY3NDb250ZXh0R0w6OnBhaW50UGl4
ZWxCdWZmZXJUb0ltYWdlQnVmZmVyKE9wdGlvbmFsPFdlYkNvcmU6OlBpCiAgICAgYXNzZXJ0SXND
dXJyZW50KG1fc3RyZWFtVGhyZWFkKTsKICAgICAvLyBGSVhNRTogV2UgZG8gbm90IGhhdmUgZnVu
Y3Rpb25pbmcgcmVhZC93cml0ZSBmZW5jZXMgaW4gUmVtb3RlUmVuZGVyaW5nQmFja2VuZC4gVGh1
cyB0aGlzIGlzIHN5bmNocm9ub3VzLAogICAgIC8vIGFzIGFyZSB0aGUgbWVzc2FnZXMgdGhhdCBj
YWxsIHRoZXNlLgotICAgIExvY2sgbXV0ZXg7CisgICAgTG9jayBsb2NrOwogICAgIENvbmRpdGlv
biBjb25kaXRpb25WYXJpYWJsZTsKICAgICBib29sIGlzRmluaXNoZWQgPSBmYWxzZTsKICAgICBt
X3JlbmRlcmluZ0JhY2tlbmQtPmRpc3BhdGNoKFsmLCBjb250ZXh0QXR0cmlidXRlcyA9IG1fY29u
dGV4dC0+Y29udGV4dEF0dHJpYnV0ZXMoKV0oKSBtdXRhYmxlIHsKQEAgLTIyNiwxMSArMjI2LDEx
IEBAIHZvaWQgUmVtb3RlR3JhcGhpY3NDb250ZXh0R0w6OnBhaW50UGl4ZWxCdWZmZXJUb0ltYWdl
QnVmZmVyKE9wdGlvbmFsPFdlYkNvcmU6OlBpCiAgICAgICAgICAgICAvLyBVbmZvcnR1bmF0ZWx5
ICJmbHVzaCIgaW1wbGVtZW50YXRpb24gaW4gUmVtb3RlUmVuZGVyaW5nQmFja2VuZCBvdmVybG9h
ZHMgb3JkZXJpbmcgYW5kIGVmZmVjdHMuCiAgICAgICAgICAgICBpbWFnZUJ1ZmZlci0+Zmx1c2hD
b250ZXh0KCk7CiAgICAgICAgIH0KLSAgICAgICAgTG9ja2VyIGxvY2tlciB7IG11dGV4IH07Cisg
ICAgICAgIExvY2tlciBsb2NrZXIgeyBsb2NrIH07CiAgICAgICAgIGlzRmluaXNoZWQgPSB0cnVl
OwogICAgICAgICBjb25kaXRpb25WYXJpYWJsZS5ub3RpZnlPbmUoKTsKICAgICB9KTsKLSAgICBz
dGQ6OnVuaXF1ZV9sb2NrPExvY2s+IGxvY2sobXV0ZXgpOworICAgIExvY2tlciBsb2NrZXIgeyBs
b2NrIH07CiAgICAgY29uZGl0aW9uVmFyaWFibGUud2FpdChsb2NrLCBbJl0gewogICAgICAgICBy
ZXR1cm4gaXNGaW5pc2hlZDsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaAppbmRleCA0MWE0Yzg3ZGU2NzAw
ZjE2N2QzZDU5YjAwOWY5ZTQ5ZTU1NDYwODA1Li5kOThmNzJjYTUyYTFmMWMxZWY4YjI5YjhmNzEy
MjQyMzVjODE4ZjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRj
L0xpYldlYlJUQ0NvZGVjc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dl
YnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSAi
UlRDRGVjb2RlcklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJSVENFbmNvZGVySWRlbnRpZmllci5o
IgogI2luY2x1ZGUgPFdlYkNvcmUvSW1hZ2VUcmFuc2ZlclNlc3Npb25WVC5oPgotI2luY2x1ZGUg
PHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAKIG5hbWVzcGFjZSBJ
UEMgewogY2xhc3MgQ29ubmVjdGlvbjsKQEAgLTg4LDcgKzg4LDcgQEAgcHJpdmF0ZToKIAogICAg
IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzczsK
IAotICAgIG11dGFibGUgQ2hlY2tlZExvY2sgbV9sb2NrOworICAgIG11dGFibGUgTG9jayBtX2xv
Y2s7CiAgICAgSGFzaE1hcDxSVENEZWNvZGVySWRlbnRpZmllciwgd2VicnRjOjpMb2NhbERlY29k
ZXI+IG1fZGVjb2RlcnMgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOyAvLyBPbmx5IG1vZGlm
aWVkIG9uIHRoZSBsaWJXZWJSVENDb2RlY3NRdWV1ZSBidXQgbWF5IGdldCBhY2Nlc3NlZCBmcm9t
IHRoZSBtYWluIHRocmVhZC4KICAgICBIYXNoTWFwPFJUQ0VuY29kZXJJZGVudGlmaWVyLCB3ZWJy
dGM6OkxvY2FsRW5jb2Rlcj4gbV9lbmNvZGVycyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7
IC8vIE9ubHkgbW9kaWZpZWQgb24gdGhlIGxpYldlYlJUQ0NvZGVjc1F1ZXVlIGJ1dCBtYXkgZ2V0
IGFjY2Vzc2VkIGZyb20gdGhlIG1haW4gdGhyZWFkLgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCmluZGV4IGU0M2NlNDIyYmMxYzJlYjMxOTY1N2Iy
ZjkxZGRhZGFiZTVmOWNlYzUuLmE3NjM2YjNkNGVjODhhMzc1ZGM5ZmY4ODBmMTJjOWQ4YzQ0M2Yz
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9X
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3Bw
CkBAIC02MCw4ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6U3RhdGUgV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzdXNwZW5kZWRTdGF0ZSB7IFdlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZTo6U3RhdGU6OlJ1bm5pbmcgfTsKLUNoZWNrZWRMb2NrIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZTo6c3VzcGVuZGVkU3RhdGVMb2NrOwotQ2hlY2tlZENvbmRpdGlv
biBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnN1c3BlbmRlZFN0YXRlQ2hhbmdlQ29u
ZGl0aW9uOworTG9jayBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnN1c3BlbmRlZFN0
YXRlTG9jazsKK0NvbmRpdGlvbiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnN1c3Bl
bmRlZFN0YXRlQ2hhbmdlQ29uZGl0aW9uOwogCiBjb25zdCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFU
eXBlPiYgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjptb25pdG9yZWREYXRhVHlwZXMo
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVy
L1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCmluZGV4
IDk2M2VhNDczZDMyODg5NzY2NWFmMmU4OTk5N2ViY2QyYWI2YjVkMjQuLmM4NTIxNzQ1ZGNkZWJi
ZjBjNTRhMjVlZDNhMzc5YjQ5YTVhNzQ3OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlLmgKQEAgLTQwLDkgKzQwLDkgQEAKICNpbmNsdWRlIDxXZWJDb3Jl
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWdpc3RyYWJs
ZURvbWFpbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaD4KLSNp
bmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9j
ay5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgorI2luY2x1ZGUgPHd0Zi9D
b25kaXRpb24uaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29w
Lmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgpAQCAtMzYzLDkgKzM2Myw5IEBAIHByaXZhdGU6CiAgICAgICAgIFdpbGxTdXNw
ZW5kLAogICAgICAgICBTdXNwZW5kZWQKICAgICB9OwotICAgIHN0YXRpYyBDaGVja2VkTG9jayBz
dXNwZW5kZWRTdGF0ZUxvY2s7CisgICAgc3RhdGljIExvY2sgc3VzcGVuZGVkU3RhdGVMb2NrOwog
ICAgIHN0YXRpYyBTdGF0ZSBzdXNwZW5kZWRTdGF0ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKHN1c3Bl
bmRlZFN0YXRlTG9jayk7Ci0gICAgc3RhdGljIENoZWNrZWRDb25kaXRpb24gc3VzcGVuZGVkU3Rh
dGVDaGFuZ2VDb25kaXRpb247CisgICAgc3RhdGljIENvbmRpdGlvbiBzdXNwZW5kZWRTdGF0ZUNo
YW5nZUNvbmRpdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9t
UHJvdG9jb2xNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0N1c3RvbVBy
b3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXIuaAppbmRleCA3ODUyZjk3YTVkOTQx
YTA3NjYxOWU0ZmI3NjUwOTU1ZGVkNjRlOTkzLi44OTU2ZTRkMTA1Mjk0YWE5M2Q5NjQ2ZGQ3ZGQ0
NjIzYmY5OTFmNGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0N1
c3RvbVByb3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2Nv
bE1hbmFnZXIuaApAQCAtMjksOSArMjksOSBAQAogI2luY2x1ZGUgIkxlZ2FjeUN1c3RvbVByb3Rv
Y29sSUQuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJOZXR3b3Jr
UHJvY2Vzc1N1cHBsZW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVkZSA8
d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTk3LDExICs5NywxMSBAQCBwcml2YXRlOgogCiAg
ICAgdHlwZWRlZiBIYXNoTWFwPExlZ2FjeUN1c3RvbVByb3RvY29sSUQsIEN1c3RvbVByb3RvY29s
PiBDdXN0b21Qcm90b2NvbE1hcDsKICAgICBDdXN0b21Qcm90b2NvbE1hcCBtX2N1c3RvbVByb3Rv
Y29sTWFwIFdURl9HVUFSREVEX0JZX0xPQ0sobV9jdXN0b21Qcm90b2NvbE1hcExvY2spOwotICAg
IENoZWNrZWRMb2NrIG1fY3VzdG9tUHJvdG9jb2xNYXBMb2NrOworICAgIExvY2sgbV9jdXN0b21Q
cm90b2NvbE1hcExvY2s7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBIYXNoU2V0PFN0cmlu
ZywgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiBtX3JlZ2lzdGVyZWRTY2hlbWVzIFdURl9HVUFS
REVEX0JZX0xPQ0sobV9yZWdpc3RlcmVkU2NoZW1lc0xvY2spOwotICAgIENoZWNrZWRMb2NrIG1f
cmVnaXN0ZXJlZFNjaGVtZXNMb2NrOworICAgIExvY2sgbV9yZWdpc3RlcmVkU2NoZW1lc0xvY2s7
CiAKICAgICAvLyBXS0N1c3RvbVByb3RvY29sIG9iamVjdHMgY2FuIGJlIHJlbW92ZWQgZnJvbSB0
aGUgbV9jdXN0b21Qcm90b2NvbE1hcCBmcm9tIG11bHRpcGxlIHRocmVhZHMuCiAgICAgLy8gV2Ug
cmV0dXJuIGEgUmV0YWluUHRyIGhlcmUgYmVjYXVzZSBpdCBpcyB1bnNhZmUgdG8gcmV0dXJuIGEg
cmF3IHBvaW50ZXIgc2luY2UgdGhlIG9iamVjdCBtaWdodCBpbW1lZGlhdGVseSBiZSBkZXN0cm95
ZWQgZnJvbSBhIGRpZmZlcmVudCB0aHJlYWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmNwcAppbmRleCA5MWI4ODk0MWE3
NmE4MDcxZDMwZDdmZWQ3NDE2M2ZiMDlmN2I4NzIxLi41NDdkYWE4ZDRlMDAxNDA2ZmMyMDFhYmFk
NmNmNDc3MGM5MWE1NTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvSW5kZXhlZERCL1dlYklEQlNlcnZlci5jcHAKQEAgLTExOSw3ICsxMTksNyBAQCB2b2lk
IFdlYklEQlNlcnZlcjo6cmVuYW1lT3JpZ2luKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
RGF0YSYgb2xkT3JpZ2luLCBjbwogICAgIH0pOwogfQogCi12b2lkIFdlYklEQlNlcnZlcjo6c3Vz
cGVuZCgpCit2b2lkIFdlYklEQlNlcnZlcjo6c3VzcGVuZCgpIFdURl9JR05PUkVTX1RIUkVBRF9T
QUZFVFlfQU5BTFlTSVMKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCkBAIC0x
MzIsNyArMTMyLDcgQEAgdm9pZCBXZWJJREJTZXJ2ZXI6OnN1c3BlbmQoKQogICAgICAgICBtX3Nl
cnZlci0+c3RvcERhdGFiYXNlQWN0aXZpdGllc09uTWFpblRocmVhZCgpOwogfQogCi12b2lkIFdl
YklEQlNlcnZlcjo6cmVzdW1lKCkKK3ZvaWQgV2ViSURCU2VydmVyOjpyZXN1bWUoKSBXVEZfSUdO
T1JFU19USFJFQURfU0FGRVRZX0FOQUxZU0lTCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFp
bigpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5o
CmluZGV4IGI0ZmUyYzhlM2Y2NjQyMTZmMWE3NTZkY2U1N2ZlZWQ4Y2RmNDE0ZjguLjA4MzM4MmM5
OWEwN2IyNmZkNTg5MjFjNWM4N2UyYTYxYjIxMDc2MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTUxLDEwICs1MSwxMCBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvU2VydmljZVdvcmtlcklkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1NlcnZpY2VXb3JrZXJUeXBlcy5oPgogI2luY2x1ZGUgPG1lbW9yeT4KLSNpbmNsdWRlIDx3dGYv
Q2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvQ3Jvc3NUaHJlYWRUYXNrLmg+CiAjaW5jbHVk
ZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3
dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaD4KICNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CkBA
IC01ODUsNyArNTg1LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8UlRDRGF0YUNoYW5uZWxSZW1v
dGVNYW5hZ2VyUHJveHk+IG1fcnRjRGF0YUNoYW5uZWxQcm94eTsKICNlbmRpZgogCi0gICAgQ2hl
Y2tlZExvY2sgbV9zZXNzaW9uU3RvcmFnZVF1b3RhTWFuYWdlcnNMb2NrOworICAgIExvY2sgbV9z
ZXNzaW9uU3RvcmFnZVF1b3RhTWFuYWdlcnNMb2NrOwogICAgIEhhc2hNYXA8UEFMOjpTZXNzaW9u
SUQsIHN0ZDo6dW5pcXVlX3B0cjxTZXNzaW9uU3RvcmFnZVF1b3RhTWFuYWdlcj4+IG1fc2Vzc2lv
blN0b3JhZ2VRdW90YU1hbmFnZXJzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9zZXNzaW9uU3RvcmFn
ZVF1b3RhTWFuYWdlcnNMb2NrKTsKICAgICBib29sIG1fcXVvdGFMb2dnaW5nRW5hYmxlZCB7IGZh
bHNlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3Rv
cmFnZS9TdG9yYWdlTWFuYWdlclNldC5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9X
ZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmgKaW5kZXggNDMwZjk2ZGE1YzY4ODg1OWQ2MGRj
NzgxYWUwMDFlMDU1MTIzYWEwYS4uNzBhNjVhNGJhNjhmNzcyNWI5MGY1MmY0ZDdhOWM1NWZkOTZi
Y2ZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdl
L1N0b3JhZ2VNYW5hZ2VyU2V0LmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9X
ZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmgKQEAgLTMxLDggKzMxLDggQEAKICNpbmNsdWRl
ICJTdG9yYWdlTWFuYWdlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW5EYXRh
Lmg+CiAjaW5jbHVkZSA8cGFsL1Nlc3Npb25JRC5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkQ29u
ZGl0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0Nv
bmRpdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIu
aD4KIAogdXNpbmcgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhOwpAQCAtMTA0LDggKzEwNCw4
IEBAIHByaXZhdGU6CiAgICAgICAgIFN1c3BlbmRlZAogICAgIH07CiAgICAgU3RhdGUgbV9zdGF0
ZSB7IFN0YXRlOjpSdW5uaW5nIH07Ci0gICAgQ2hlY2tlZExvY2sgbV9zdGF0ZUxvY2s7Ci0gICAg
Q2hlY2tlZENvbmRpdGlvbiBtX3N0YXRlQ2hhbmdlQ29uZGl0aW9uOworICAgIExvY2sgbV9zdGF0
ZUxvY2s7CisgICAgQ29uZGl0aW9uIG1fc3RhdGVDaGFuZ2VDb25kaXRpb247CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCmluZGV4IGY1ODc0NTI1N2YyODNl
MzZmODA3ZmY4NThkZDRiODg4M2E1NWIzYWMuLmNhNTk1ZDJjODk0MDkzZTVmZmM4NmFiZGE4NGFi
NDhiN2Y4M2ExZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcApAQCAtMzIsOSArMzIsOSBAQAogI2lu
Y2x1ZGUgIk5ldHdvcmtDYWNoZUZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVJ
T0NoYW5uZWwuaCIKICNpbmNsdWRlIDxtdXRleD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRp
dGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25k
aXRpb24uaD4KICNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgorI2luY2x1ZGUgPHd0Zi9Mb2Nr
Lmg+CiAjaW5jbHVkZSA8d3RmL1BhZ2VCbG9jay5oPgogI2luY2x1ZGUgPHd0Zi9SYW5kb21OdW1i
ZXIuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgpAQCAtMTYyLDggKzE2Miw4IEBAIHB1Ymxp
YzoKICAgICBjb25zdCBPcHRpb25TZXQ8VHJhdmVyc2VGbGFnPiBmbGFnczsKICAgICBjb25zdCBU
cmF2ZXJzZUhhbmRsZXIgaGFuZGxlcjsKIAotICAgIENoZWNrZWRMb2NrIGFjdGl2ZUxvY2s7Ci0g
ICAgQ2hlY2tlZENvbmRpdGlvbiBhY3RpdmVDb25kaXRpb247CisgICAgTG9jayBhY3RpdmVMb2Nr
OworICAgIENvbmRpdGlvbiBhY3RpdmVDb25kaXRpb247CiAgICAgdW5zaWduZWQgYWN0aXZlQ291
bnQgV1RGX0dVQVJERURfQllfTE9DSyhhY3RpdmVMb2NrKSB7IDAgfTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTGF1bmNoU2VydmljZXNEYXRh
YmFzZU9ic2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL0xhdW5j
aFNlcnZpY2VzRGF0YWJhc2VPYnNlcnZlci5oCmluZGV4IDg0ZGYyODFjMTc4Y2EwMmFmN2Y1YWRk
NDU1NjNiNDAwYzIwNjg0ZmQuLjA3MDRlZDQ0MGI4ZjA5NzU1ODM4N2ExYWIyNGFlODEzZjAzMjdj
ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTGF1bmNo
U2VydmljZXNEYXRhYmFzZU9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9MYXVuY2hTZXJ2aWNlc0RhdGFiYXNlT2JzZXJ2ZXIuaApAQCAtMjgsNyArMjgs
NyBAQAogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nl
c3NTdXBwbGVtZW50LmgiCiAjaW5jbHVkZSAiWFBDRW5kcG9pbnQuaCIKLSNpbmNsdWRlIDx3dGYv
Q2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9PU09i
amVjdFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIApAQCAtNTUsNyArNTUsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgaW5pdGlhbGl6ZUNvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9u
KikgZmluYWw7CiAKICAgICBSZXRhaW5QdHI8aWQ+IG1fb2JzZXJ2ZXI7Ci0gICAgQ2hlY2tlZExv
Y2sgbV9jb25uZWN0aW9uc0xvY2s7CisgICAgTG9jayBtX2Nvbm5lY3Rpb25zTG9jazsKICAgICBW
ZWN0b3I8T1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4+IG1fY29ubmVjdGlvbnMgV1RGX0dV
QVJERURfQllfTE9DSyhtX2Nvbm5lY3Rpb25zTG9jayk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2dsaWIvRE5TQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvZ2xpYi9ETlNDYWNoZS5oCmluZGV4IDRmZTIxOTkwMWYyYjNlMGQ4NjEz
NmNiZDk5NDcxNzY1NDE5MjIwZWEuLjVlNzA3MmRkMDVmZjljMWYxNDA3MDQ2YjIxNTZmYjI1MzYz
OTY4NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvZ2xpYi9ETlND
YWNoZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvZ2xpYi9ETlNDYWNoZS5o
CkBAIC0yNSw4ICsyNSw4IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSA8d3RmL0NoZWNr
ZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5o
PgogI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFs
Lmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KQEAgLTYxLDcgKzYxLDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIHJlbW92ZUV4cGlyZWRSZXNwb25zZXNJbk1hcChETlNDYWNoZU1hcCYpOwogICAg
IHZvaWQgcHJ1bmVSZXNwb25zZXNJbk1hcChETlNDYWNoZU1hcCYpOwogCi0gICAgQ2hlY2tlZExv
Y2sgbV9sb2NrOworICAgIExvY2sgbV9sb2NrOwogICAgIEROU0NhY2hlTWFwIG1fZG5zTWFwIFdU
Rl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKICNpZiBHTElCX0NIRUNLX1ZFUlNJT04oMiwgNTks
IDApCiAgICAgRE5TQ2FjaGVNYXAgbV9pcHY0TWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy9Db25uZWN0aW9uLmNwcAppbmRleCAxNjVjNDU2MDUyMmNmODkyZDViNTExNGJjNDllNGU4MDQ0
M2IwMTc2Li5kM2NlZmVhOTViYzBkYmJmNTg4YjZlM2NkNzk5ZGRlZjkzMDgyNDk4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcApAQCAtMTA4LDcgKzEwOCw3IEBA
IHByaXZhdGU6CiAgICAgQmluYXJ5U2VtYXBob3JlIG1fd2FpdEZvclN5bmNSZXBseVNlbWFwaG9y
ZTsKIAogICAgIC8vIFByb3RlY3RzIG1fZGlkU2NoZWR1bGVEaXNwYXRjaE1lc3NhZ2VzV29ya1Nl
dCBhbmQgbV9tZXNzYWdlc1RvRGlzcGF0Y2hXaGlsZVdhaXRpbmdGb3JTeW5jUmVwbHkuCi0gICAg
Q2hlY2tlZExvY2sgbV9sb2NrOworICAgIExvY2sgbV9sb2NrOwogCiAgICAgLy8gVGhlIHNldCBv
ZiBjb25uZWN0aW9ucyBmb3Igd2hpY2ggd2UndmUgc2NoZWR1bGVkIGEgY2FsbCB0byBkaXNwYXRj
aE1lc3NhZ2VBbmRSZXNldERpZFNjaGVkdWxlRGlzcGF0Y2hNZXNzYWdlc0ZvckNvbm5lY3Rpb24u
CiAgICAgSGFzaFNldDxSZWZQdHI8Q29ubmVjdGlvbj4+IG1fZGlkU2NoZWR1bGVEaXNwYXRjaE1l
c3NhZ2VzV29ya1NldCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CkBAIC0yNzQsNyArMjc0
LDcgQEAgc3RhdGljIEhhc2hNYXA8SVBDOjpDb25uZWN0aW9uOjpVbmlxdWVJRCwgQ29ubmVjdGlv
bio+JiBhbGxDb25uZWN0aW9ucygpCiAgICAgcmV0dXJuIG1hcDsKIH0KIAotc3RhdGljIENoZWNr
ZWRMb2NrIGFzeW5jUmVwbHlIYW5kbGVyTWFwTG9jazsKK3N0YXRpYyBMb2NrIGFzeW5jUmVwbHlI
YW5kbGVyTWFwTG9jazsKIHN0YXRpYyBIYXNoTWFwPHVpbnRwdHJfdCwgSGFzaE1hcDx1aW50NjRf
dCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChEZWNvZGVyKik+Pj4mIGFzeW5jUmVwbHlIYW5kbGVy
TWFwKCkgV1RGX1JFUVVJUkVTX0xPQ0soYXN5bmNSZXBseUhhbmRsZXJNYXBMb2NrKQogewogICAg
IEFTU0VSVChhc3luY1JlcGx5SGFuZGxlck1hcExvY2suaXNIZWxkKCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCmluZGV4IGMwZDU0ZTYzNTA2MTFiOWQwNmFlZTc1YWM5
Njk2ZDMyOTYwNjk5MWIuLmZmZTNmMjM5OTkzZTkwYTE4MDBiMWY2MTU3MDU5YWEyMWVlMTlmZjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKQEAgLTMzLDEyICszMywx
MiBAQAogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlUXVldWVNYXAuaCIKICNpbmNsdWRlICJNZXNz
YWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJUaW1lb3V0LmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNr
ZWRDb25kaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3
dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KKyNpbmNsdWRlIDx3dGYvQ29uZGl0aW9uLmg+CiAjaW5j
bHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL09iamVj
dElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0Lmg+CiAjaW5jbHVkZSA8d3Rm
L1J1bkxvb3AuaD4KQEAgLTQwNCwzMCArNDA0LDMwIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2Rp
ZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSB7IGZhbHNlIH07CiAKICAgICAvLyBJbmNvbWluZyBtZXNz
YWdlcy4KLSAgICBDaGVja2VkTG9jayBtX2luY29taW5nTWVzc2FnZXNMb2NrOworICAgIExvY2sg
bV9pbmNvbWluZ01lc3NhZ2VzTG9jazsKICAgICBEZXF1ZTxzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rl
cj4+IG1faW5jb21pbmdNZXNzYWdlcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1faW5jb21pbmdNZXNz
YWdlc0xvY2spOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdlc1Rocm90dGxlcj4gbV9pbmNv
bWluZ01lc3NhZ2VzVGhyb3R0bGVyOwogICAgIE1lc3NhZ2VSZWNlaXZlUXVldWVNYXAgbV9yZWNl
aXZlUXVldWVzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9pbmNvbWluZ01lc3NhZ2VzTG9jayk7CiAK
ICAgICAvLyBPdXRnb2luZyBtZXNzYWdlcy4KLSAgICBDaGVja2VkTG9jayBtX291dGdvaW5nTWVz
c2FnZXNMb2NrOworICAgIExvY2sgbV9vdXRnb2luZ01lc3NhZ2VzTG9jazsKICAgICBEZXF1ZTxV
bmlxdWVSZWY8RW5jb2Rlcj4+IG1fb3V0Z29pbmdNZXNzYWdlcyBXVEZfR1VBUkRFRF9CWV9MT0NL
KG1fb3V0Z29pbmdNZXNzYWdlc0xvY2spOwogCi0gICAgQ2hlY2tlZENvbmRpdGlvbiBtX3dhaXRG
b3JNZXNzYWdlQ29uZGl0aW9uOwotICAgIENoZWNrZWRMb2NrIG1fd2FpdEZvck1lc3NhZ2VMb2Nr
OworICAgIENvbmRpdGlvbiBtX3dhaXRGb3JNZXNzYWdlQ29uZGl0aW9uOworICAgIExvY2sgbV93
YWl0Rm9yTWVzc2FnZUxvY2s7CiAKICAgICBzdHJ1Y3QgV2FpdEZvck1lc3NhZ2VTdGF0ZTsKICAg
ICBXYWl0Rm9yTWVzc2FnZVN0YXRlKiBtX3dhaXRpbmdGb3JNZXNzYWdlIFdURl9HVUFSREVEX0JZ
X0xPQ0sobV93YWl0Rm9yTWVzc2FnZUxvY2spIHsgbnVsbHB0ciB9OyAvLyBOT0xJTlQKIAogICAg
IGNsYXNzIFN5bmNNZXNzYWdlU3RhdGU7CiAKLSAgICBDaGVja2VkTG9jayBtX3N5bmNSZXBseVN0
YXRlTG9jazsKKyAgICBMb2NrIG1fc3luY1JlcGx5U3RhdGVMb2NrOwogICAgIGJvb2wgbV9zaG91
bGRXYWl0Rm9yU3luY1JlcGxpZXMgV1RGX0dVQVJERURfQllfTE9DSyhtX3N5bmNSZXBseVN0YXRl
TG9jaykgeyB0cnVlIH07CiAgICAgYm9vbCBtX3Nob3VsZFdhaXRGb3JNZXNzYWdlcyBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fd2FpdEZvck1lc3NhZ2VMb2NrKSB7IHRydWUgfTsKICAgICBzdHJ1Y3Qg
UGVuZGluZ1N5bmNSZXBseTsKICAgICBWZWN0b3I8UGVuZGluZ1N5bmNSZXBseT4gbV9wZW5kaW5n
U3luY1JlcGxpZXMgV1RGX0dVQVJERURfQllfTE9DSyhtX3N5bmNSZXBseVN0YXRlTG9jayk7CiAK
LSAgICBDaGVja2VkTG9jayBtX2luY29taW5nU3luY01lc3NhZ2VDYWxsYmFja0xvY2s7CisgICAg
TG9jayBtX2luY29taW5nU3luY01lc3NhZ2VDYWxsYmFja0xvY2s7CiAgICAgSGFzaE1hcDx1aW50
NjRfdCwgV1RGOjpGdW5jdGlvbjx2b2lkKCk+PiBtX2luY29taW5nU3luY01lc3NhZ2VDYWxsYmFj
a3MgV1RGX0dVQVJERURfQllfTE9DSyhtX2luY29taW5nU3luY01lc3NhZ2VDYWxsYmFja0xvY2sp
OwogICAgIFJlZlB0cjxXb3JrUXVldWU+IG1faW5jb21pbmdTeW5jTWVzc2FnZUNhbGxiYWNrUXVl
dWUgV1RGX0dVQVJERURfQllfTE9DSyhtX2luY29taW5nU3luY01lc3NhZ2VDYWxsYmFja0xvY2sp
OwogICAgIHVpbnQ2NF90IG1fbmV4dEluY29taW5nU3luY01lc3NhZ2VDYWxsYmFja0lEIFdURl9H
VUFSREVEX0JZX0xPQ0sobV9pbmNvbWluZ1N5bmNNZXNzYWdlQ2FsbGJhY2tMb2NrKSB7IDAgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbUNvbm5lY3Rpb25X
b3JrUXVldWUuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbUNvbm5lY3Rpb25X
b3JrUXVldWUuaAppbmRleCBjYTRiYzViZDJjZWEyMGE0MDA3Yjc4YmU4OWZhMDNkMzQwMTkyNWVi
Li4wMDRiMzI5OGFkNDkwMTBlMWRmMTE3M2RhMGU2MmZiYmFhODQ0N2VlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlLmgKKysr
IGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtQ29ubmVjdGlvbldvcmtRdWV1ZS5o
CkBAIC0yOCwxMCArMjgsMTAgQEAKICNpbmNsdWRlICJJUENTZW1hcGhvcmUuaCIKICNpbmNsdWRl
ICJTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSA8YXRvbWljPgotI2luY2x1ZGUg
PHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0
Zi9GdW5jdGlvbkRpc3BhdGNoZXIuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1
ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2Ug
SVBDIHsKQEAgLTYwLDcgKzYwLDcgQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6YXRvbWljPGJvb2w+
IG1fc2hvdWxkUXVpdCB7IGZhbHNlIH07CiAKLSAgICBDaGVja2VkTG9jayBtX2xvY2s7CisgICAg
TG9jayBtX2xvY2s7CiAgICAgRGVxdWU8RnVuY3Rpb248dm9pZCgpPj4gbV9mdW5jdGlvbnMgV1RG
X0dVQVJERURfQllfTE9DSyhtX2xvY2spOwogICAgIEhhc2hTZXQ8UmVmPFN0cmVhbVNlcnZlckNv
bm5lY3Rpb25CYXNlPj4gbV9jb25uZWN0aW9ucyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtU2VydmVy
Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtU2VydmVyQ29u
bmVjdGlvbi5oCmluZGV4IDRmNjE2ZWY4MjNlOTNhNTM4NGQ0YWQxNTQ0NDAzNjY3NzIxMmI4Yjcu
LjM5ODRhMDc4NTI2NzkzNDEzZjIwMWU1MjUwNzFlNTZkOGY2MTc0MmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbVNlcnZlckNvbm5lY3Rpb24uaAorKysgYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJlYW1TZXJ2ZXJDb25uZWN0aW9uLmgKQEAgLTMx
LDggKzMxLDggQEAKICNpbmNsdWRlICJNZXNzYWdlTmFtZXMuaCIKICNpbmNsdWRlICJTdHJlYW1D
b25uZWN0aW9uQnVmZmVyLmgiCiAjaW5jbHVkZSAiU3RyZWFtQ29ubmVjdGlvbkVuY29kZXIuaCIK
LSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KKyNp
bmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNw
YWNlIElQQyB7CkBAIC05Myw3ICs5Myw3IEBAIHByb3RlY3RlZDoKICAgICBzaXplX3QgbV9zZXJ2
ZXJPZmZzZXQgeyAwIH07CiAgICAgU3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciBtX2J1ZmZlcjsKIAot
ICAgIENoZWNrZWRMb2NrIG1fb3V0T2ZTdHJlYW1NZXNzYWdlc0xvY2s7CisgICAgTG9jayBtX291
dE9mU3RyZWFtTWVzc2FnZXNMb2NrOwogICAgIERlcXVlPHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVy
Pj4gbV9vdXRPZlN0cmVhbU1lc3NhZ2VzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9vdXRPZlN0cmVh
bU1lc3NhZ2VzTG9jayk7CiAKICAgICBib29sIG1faXNEaXNwYXRjaGluZ1N0cmVhbU1lc3NhZ2Ug
eyBmYWxzZSB9OwpAQCAtMTU1LDcgKzE1NSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBwcm9jZXNz
U2V0U3RyZWFtRGVzdGluYXRpb25JRChEZWNvZGVyJiYsIFJlZlB0cjxSZWNlaXZlcj4mIGN1cnJl
bnRSZWNlaXZlcik7CiAgICAgYm9vbCBkaXNwYXRjaFN0cmVhbU1lc3NhZ2UoRGVjb2RlciYmLCBS
ZWNlaXZlciYpOwogICAgIGJvb2wgZGlzcGF0Y2hPdXRPZlN0cmVhbU1lc3NhZ2UoRGVjb2RlciYm
KTsKLSAgICBDaGVja2VkTG9jayBtX3JlY2VpdmVyc0xvY2s7CisgICAgTG9jayBtX3JlY2VpdmVy
c0xvY2s7CiAgICAgdXNpbmcgUmVjZWl2ZXJzTWFwID0gSGFzaE1hcDxzdGQ6OnBhaXI8dWludDhf
dCwgdWludDY0X3Q+LCBSZWY8UmVjZWl2ZXI+PjsKICAgICBSZWNlaXZlcnNNYXAgbV9yZWNlaXZl
cnMgV1RGX0dVQVJERURfQllfTE9DSyhtX3JlY2VpdmVyc0xvY2spOwogICAgIHVpbnQ2NF90IG1f
Y3VycmVudERlc3RpbmF0aW9uSUQgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9CbG9ja2luZ1Jlc3BvbnNlTWFwLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9CbG9ja2lu
Z1Jlc3BvbnNlTWFwLmgKaW5kZXggODhiMDYzOTJmZmI4NDUyOTUwMGYxZjA0Y2JjZDY1OTdmMTQx
OTljYy4uNzVkYTI3MjVjMzI1YWY4MGEzZTQxM2I5MDQwYzE3Mjk0OWVjZmRlNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQmxvY2tpbmdSZXNwb25zZU1hcC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0Jsb2NraW5nUmVzcG9uc2VNYXAuaApAQCAtMjYsOSArMjYsOSBAQAog
I2lmbmRlZiBCbG9ja2luZ1Jlc3BvbnNlTWFwX2gKICNkZWZpbmUgQmxvY2tpbmdSZXNwb25zZU1h
cF9oCiAKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9D
aGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4KICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CkBAIC03NSw4ICs3NSw4IEBAIHB1YmxpYzoK
ICAgICB9CiAKIHByaXZhdGU6Ci0gICAgQ2hlY2tlZExvY2sgbV9yZXNwb25zZXNMb2NrOwotICAg
IENoZWNrZWRDb25kaXRpb24gbV9jb25kaXRpb247CisgICAgTG9jayBtX3Jlc3BvbnNlc0xvY2s7
CisgICAgQ29uZGl0aW9uIG1fY29uZGl0aW9uOwogCiAgICAgSGFzaE1hcDx1aW50NjRfdCwgc3Rk
Ojp1bmlxdWVfcHRyPFQ+PiBtX3Jlc3BvbnNlcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcmVzcG9u
c2VzTG9jayk7CiAgICAgYm9vbCBtX2NhbmNlbGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvWFBDRW5kcG9pbnRDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0NvY29hL1hQQ0VuZHBvaW50Q2xpZW50LmgKaW5kZXggNWI4MjliYzY5YWFlMTlmYmY5YmJjMTk1
MTE2OTU2MDYwZTEwZDQ1Ni4uYjMxYTIwOTc4MDRhOGIyYjhlZTA2ODNiYjdlOTQwYjNmOWM5MGEx
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvWFBDRW5kcG9pbnRDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9YUENFbmRwb2ludENsaWVudC5o
CkBAIC0yNiw3ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIldLRGVjbGFyYXRp
b25TcGVjaWZpZXJzLmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8
d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvT1NPYmplY3RQdHIuaD4KICNpbmNsdWRlIDx3dGYv
c3BpL2Rhcndpbi9YUENTUEkuaD4KIApAQCAtNDUsNyArNDUsNyBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBoYW5kbGVFdmVudCh4cGNfb2JqZWN0X3QpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkQ29ubmVjdCgpID0gMDsKIAotICAgIENoZWNrZWRMb2NrIG1fY29ubmVjdGlvbkxvY2s7
CisgICAgTG9jayBtX2Nvbm5lY3Rpb25Mb2NrOwogICAgIE9TT2JqZWN0UHRyPHhwY19jb25uZWN0
aW9uX3Q+IG1fY29ubmVjdGlvbiBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fY29ubmVjdGlvbkxvY2sp
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFw
aGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmggYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21wb3Np
dGluZ1J1bkxvb3AuaAppbmRleCA3N2M0NjdiYTJmYzJlZDYxMzM1NGYzZTgxYTdmNDc1MWFlNGEw
YmU4Li4wMTM1Yzc0NDdmNmM0ZDEyNDMyOWZmYWY1MjRkMzcwYzg2YWU4NDU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9z
aXRvci9Db21wb3NpdGluZ1J1bkxvb3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29y
ZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxvb3AuaApA
QCAtMjgsMTAgKzI4LDEwIEBACiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiAjaW5j
bHVkZSA8d3RmL0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgot
I2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4K
ICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgor
I2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAj
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KQEAg
LTcxLDggKzcxLDggQEAgcHJpdmF0ZToKICAgICBSdW5Mb29wKiBtX3J1bkxvb3AgeyBudWxscHRy
IH07CiAgICAgUnVuTG9vcDo6VGltZXI8Q29tcG9zaXRpbmdSdW5Mb29wPiBtX3VwZGF0ZVRpbWVy
OwogICAgIEZ1bmN0aW9uPHZvaWQgKCk+IG1fdXBkYXRlRnVuY3Rpb247Ci0gICAgQ2hlY2tlZExv
Y2sgbV9kaXNwYXRjaFN5bmNDb25kaXRpb25Mb2NrOwotICAgIENoZWNrZWRDb25kaXRpb24gbV9k
aXNwYXRjaFN5bmNDb25kaXRpb247CisgICAgTG9jayBtX2Rpc3BhdGNoU3luY0NvbmRpdGlvbkxv
Y2s7CisgICAgQ29uZGl0aW9uIG1fZGlzcGF0Y2hTeW5jQ29uZGl0aW9uOwogCiAgICAgc3RydWN0
IHsKICAgICAgICAgTG9jayBsb2NrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
bWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhRm9ybWF0UmVhZGVyLmggYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFGb3JtYXRSZWFkZXIuaAppbmRleCBj
NzZlYmM0NDg2YTUzNTE0OWE1MjNjOGIwN2Q3OWQxMjg2ZWI1NDM4Li5kZDJjNDQ3MTMxNjBkOTIy
NDBhNzY4ZmFkOTJjYTEzMjczMGI2NzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFGb3JtYXRSZWFkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFGb3JtYXRSZWFkZXIuaApA
QCAtMjksOCArMjksOCBAQAogCiAjaW5jbHVkZSAiQ29yZU1lZGlhV3JhcHBlZC5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oPgotI2luY2x1ZGUgPHd0Zi9D
aGVja2VkQ29uZGl0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVk
ZSA8d3RmL0NvbmRpdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3Rm
L0xvZ2dlci5oPgogCiBERUNMQVJFX0NPUkVfTUVESUFfVFJBSVRTKEZvcm1hdFJlYWRlcik7CkBA
IC03OSw4ICs3OSw4IEBAIHByaXZhdGU6CiAgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigp
IGNvbnN0IHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQogCiAgICAgUmV0YWluUHRyPE1UUGx1
Z2luQnl0ZVNvdXJjZVJlZj4gbV9ieXRlU291cmNlIFdURl9HVUFSREVEX0JZX0xPQ0sobV9wYXJz
ZVRyYWNrc0xvY2spOwotICAgIENoZWNrZWRDb25kaXRpb24gbV9wYXJzZVRyYWNrc0NvbmRpdGlv
bjsKLSAgICBDaGVja2VkTG9jayBtX3BhcnNlVHJhY2tzTG9jazsKKyAgICBDb25kaXRpb24gbV9w
YXJzZVRyYWNrc0NvbmRpdGlvbjsKKyAgICBMb2NrIG1fcGFyc2VUcmFja3NMb2NrOwogICAgIE1l
ZGlhVGltZSBtX2R1cmF0aW9uIFdURl9HVUFSREVEX0JZX0xPQ0sobV9wYXJzZVRyYWNrc0xvY2sp
OwogICAgIE9wdGlvbmFsPE9TU3RhdHVzPiBtX3BhcnNlVHJhY2tzU3RhdHVzIFdURl9HVUFSREVE
X0JZX0xPQ0sobV9wYXJzZVRyYWNrc0xvY2spOwogICAgIFZlY3RvcjxSZWY8TWVkaWFUcmFja1Jl
YWRlcj4+IG1fdHJhY2tSZWFkZXJzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9wYXJzZVRyYWNrc0xv
Y2spOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVh
ZGVyL01lZGlhU2FtcGxlQ3Vyc29yLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFG
b3JtYXRSZWFkZXIvTWVkaWFTYW1wbGVDdXJzb3IuaAppbmRleCBiMTdjZDkwMzc3ODMzODRhNjE4
YTU1YTY3OTBjOWRlZTI2NmRkZWNiLi5iNzU2ZTI2ZDg3YWYzNWE5MzU3MWEyZGI0OGNhMzFiM2Nk
OTliYmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRS
ZWFkZXIvTWVkaWFTYW1wbGVDdXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMv
TWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFTYW1wbGVDdXJzb3IuaApAQCAtMjksNyArMjksNyBAQAog
CiAjaW5jbHVkZSAiQ29yZU1lZGlhV3JhcHBlZC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvU2FtcGxl
TWFwLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0xvY2su
aD4KICNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4K
IApAQCAtMTA3LDcgKzEwNyw3IEBAIHByaXZhdGU6CiAKICAgICBSZWY8TWVkaWFUcmFja1JlYWRl
cj4gbV90cmFja1JlYWRlcjsKICAgICBtdXRhYmxlIExvY2F0b3IgbV9sb2NhdG9yIFdURl9HVUFS
REVEX0JZX0xPQ0sobV9sb2NhdG9yTG9jayk7Ci0gICAgbXV0YWJsZSBDaGVja2VkTG9jayBtX2xv
Y2F0b3JMb2NrOworICAgIG11dGFibGUgTG9jayBtX2xvY2F0b3JMb2NrOwogICAgIFJlZjxjb25z
dCBXVEY6OkxvZ2dlcj4gbV9sb2dnZXI7CiAgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVy
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJl
YWRlci9NZWRpYVRyYWNrUmVhZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFG
b3JtYXRSZWFkZXIvTWVkaWFUcmFja1JlYWRlci5oCmluZGV4IGI4MzRiOTA5MWYwM2I3ZWU2ZmNm
NWE3MzZhYWIzMDRiMjE3NmQ2ZTQuLjkyMGJiYTFiOWNjNjhkZmU2NzgyMzMyYzBiZTE2NTliODc5
MGQ4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJl
YWRlci9NZWRpYVRyYWNrUmVhZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01l
ZGlhRm9ybWF0UmVhZGVyL01lZGlhVHJhY2tSZWFkZXIuaApAQCAtMjksOCArMjksOCBAQAogCiAj
aW5jbHVkZSAiQ29yZU1lZGlhV3JhcHBlZC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvU2FtcGxlTWFw
Lmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRDb25kaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvQ2hl
Y2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvQ29uZGl0aW9uLmg+CisjaW5jbHVkZSA8d3RmL0xv
Y2suaD4KIAogREVDTEFSRV9DT1JFX01FRElBX1RSQUlUUyhUcmFja1JlYWRlcik7CiAKQEAgLTEw
Niw4ICsxMDYsOCBAQCBwcml2YXRlOgogICAgIGNvbnN0IENNTWVkaWFUeXBlIG1fbWVkaWFUeXBl
OwogICAgIGNvbnN0IE1lZGlhVGltZSBtX2R1cmF0aW9uOwogICAgIHN0ZDo6YXRvbWljPEVuYWJs
ZWQ+IG1faXNFbmFibGVkIHsgRW5hYmxlZDo6VW5rbm93biB9OwotICAgIG11dGFibGUgQ2hlY2tl
ZENvbmRpdGlvbiBtX3NhbXBsZVN0b3JhZ2VDb25kaXRpb247Ci0gICAgbXV0YWJsZSBDaGVja2Vk
TG9jayBtX3NhbXBsZVN0b3JhZ2VMb2NrOworICAgIG11dGFibGUgQ29uZGl0aW9uIG1fc2FtcGxl
U3RvcmFnZUNvbmRpdGlvbjsKKyAgICBtdXRhYmxlIExvY2sgbV9zYW1wbGVTdG9yYWdlTG9jazsK
ICAgICBtdXRhYmxlIHN0ZDo6dW5pcXVlX3B0cjxTYW1wbGVTdG9yYWdlPiBtX3NhbXBsZVN0b3Jh
Z2UgV1RGX0dVQVJERURfQllfTE9DSyhtX3NhbXBsZVN0b3JhZ2VMb2NrKTsKICAgICBSZWY8Y29u
c3QgTG9nZ2VyPiBtX2xvZ2dlcjsKICAgICBjb25zdCB2b2lkKiBtX2xvZ0lkZW50aWZpZXI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2Uu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL0ljb25EYXRhYmFzZS5oCmluZGV4
IGJlYjJmYjgwNmVjNTVjNjYzNGNkNWU1YTAwZDUwNzgzNjE1ZmVmNGIuLjgwZTE3OGU2MWY1MGZh
ZmRmM2VhZDRkMjk4YTE4ODAxYWUwM2M3MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL0ljb25EYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL0ljb25EYXRhYmFzZS5oCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAg
ICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gbV9wYWdlVVJMVG9JY29uVVJMTWFwOwogICAgIExv
Y2sgbV9wYWdlVVJMVG9JY29uVVJMTWFwTG9jazsKICAgICBIYXNoTWFwPFN0cmluZywgc3RkOjpw
YWlyPFdlYkNvcmU6OlBsYXRmb3JtSW1hZ2VQdHIsIE1vbm90b25pY1RpbWU+PiBtX2xvYWRlZElj
b25zOwotICAgIExvY2sgbV9sb2FkZWRJY29uc0xvY2s7CisgICAgVW5jaGVja2VkTG9jayBtX2xv
YWRlZEljb25zTG9jazsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpTUUxpdGVTdGF0
ZW1lbnQ+IG1faWNvbklERm9ySWNvblVSTFN0YXRlbWVudDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
V2ViQ29yZTo6U1FMaXRlU3RhdGVtZW50PiBtX3NldEljb25JREZvclBhZ2VVUkxTdGF0ZW1lbnQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJVUkxTY2hlbWVUYXNrLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJVUkxTY2hlbWVUYXNrLmgKaW5kZXggYjkyOTI4
OTRmYTVjMzRhOWY1ZDhiZjMxY2Y2YTMyMGExZGFmZjM4ZC4uZWFjMDliZGVjYTFkZWMwY2IyMTlh
YzFkMDMzMDhiMmUyNzIzMDljZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViVVJMU2NoZW1lVGFzay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlVSTFNj
aGVtZVRhc2suaApAQCAtMzAsOSArMzAsOSBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VS
ZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4K
ICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvSW5zdGFu
Y2VDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtMTA2LDcgKzEwNiw3IEBAIHBy
aXZhdGU6CiAgICAgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgbV93ZWJQYWdlSUQ7CiAgICAgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0IG1fcmVxdWVzdCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcmVx
dWVzdExvY2spOwogICAgIFJlZjxBUEk6OkZyYW1lSW5mbz4gbV9mcmFtZUluZm87Ci0gICAgbXV0
YWJsZSBDaGVja2VkTG9jayBtX3JlcXVlc3RMb2NrOworICAgIG11dGFibGUgTG9jayBtX3JlcXVl
c3RMb2NrOwogICAgIGJvb2wgbV9zdG9wcGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fcmVzcG9u
c2VTZW50IHsgZmFsc2UgfTsKICAgICBib29sIG1fZGF0YVNlbnQgeyBmYWxzZSB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlMaW5rLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUxpbmsuaAppbmRleCA0Mjg3YTA5N2Y2OWI1MTVl
MjE2OTJmZGY1YzdlNjI4ZTI5NTFjNjY0Li4xOWU4ZGJmMDE2ZTg4MzBkNDQ3NTEwZTQ2OGZiZDQx
Mjg4YTA1YjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxh
eUxpbmsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUxpbmsuaApA
QCAtMzIsOCArMzIsOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvQW5pbWF0aW9uRnJhbWVSYXRlLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9EaXNwbGF5VXBkYXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
bGF0Zm9ybVNjcmVlbi5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KIAogbmFtZXNwYWNlIElQQyB7
CiBjbGFzcyBDb25uZWN0aW9uOwpAQCAtODMsNyArODMsNyBAQCBwcml2YXRlOgogICAgIH07CiAK
ICAgICBDVkRpc3BsYXlMaW5rUmVmIG1fZGlzcGxheUxpbmsgeyBudWxscHRyIH07Ci0gICAgQ2hl
Y2tlZExvY2sgbV9vYnNlcnZlcnNMb2NrOworICAgIExvY2sgbV9vYnNlcnZlcnNMb2NrOwogICAg
IEhhc2hNYXA8UmVmUHRyPElQQzo6Q29ubmVjdGlvbj4sIENvbm5lY3Rpb25DbGllbnRJbmZvPiBt
X29ic2VydmVycyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fb2JzZXJ2ZXJzTG9jayk7CiAgICAgV2Vi
Q29yZTo6UGxhdGZvcm1EaXNwbGF5SUQgbV9kaXNwbGF5SUQ7CiAgICAgV2ViQ29yZTo6RnJhbWVz
UGVyU2Vjb25kIG1fZGlzcGxheU5vbWluYWxGcmFtZXNQZXJTZWNvbmQgeyAwIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcubW0KaW5kZXggOWI3NGYzZWM1
MGQwMjAxNjY0YzczMTI5ODljN2Y2OGMyOWEwNDU0Yy4uZjE4YmE4ZjAxYjI2ZGUzZmQzY2RmYjAy
ODEyODVjZjBkNGE2NjY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFj
L1dLUHJpbnRpbmdWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS1By
aW50aW5nVmlldy5tbQpAQCAtNDE0LDEzICs0MTQsMTMgQEAgLSAoQk9PTClrbm93c1BhZ2VSYW5n
ZTooTlNSYW5nZVBvaW50ZXIpcmFuZ2UKICAgICAgICAgKnJhbmdlID0gTlNNYWtlUmFuZ2UoMSwg
X3ByaW50aW5nUGFnZVJlY3RzLnNpemUoKSk7CiAgICAgZWxzZSBpZiAoIVJ1bkxvb3A6OmlzTWFp
bigpKSB7CiAgICAgICAgIEFTU0VSVCghW3NlbGYgX2lzUHJpbnRpbmdQcmV2aWV3XSk7Ci0gICAg
ICAgIHN0ZDo6dW5pcXVlX2xvY2s8TG9jaz4gbG9jayhfcHJpbnRpbmdDYWxsYmFja011dGV4KTsK
KyAgICAgICAgTG9ja2VyIGxvY2sgeyBfcHJpbnRpbmdDYWxsYmFja011dGV4IH07CiAKICAgICAg
ICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtzZWxmXSB7CiAgICAgICAgICAgICBwcmVwYXJl
RGF0YUZvclByaW50aW5nT25TZWNvbmRhcnlUaHJlYWQoc2VsZik7CiAgICAgICAgIH0pOwogCi0g
ICAgICAgIF9wcmludGluZ0NhbGxiYWNrQ29uZGl0aW9uLndhaXQobG9jayk7CisgICAgICAgIF9w
cmludGluZ0NhbGxiYWNrQ29uZGl0aW9uLndhaXQoX3ByaW50aW5nQ2FsbGJhY2tNdXRleCk7CiAg
ICAgICAgICpyYW5nZSA9IE5TTWFrZVJhbmdlKDEsIF9wcmludGluZ1BhZ2VSZWN0cy5zaXplKCkp
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIEFTU0VSVChbc2VsZiBfaXNQcmludGluZ1ByZXZpZXdd
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVt
b3RlSW1hZ2VCdWZmZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFw
aGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKaW5kZXggYjM3YTRhYmEwZTUwZWM3YzEzYzlm
MmViYjUzNGE5NWQ3NTY1YzdjYS4uY2Y3YTRkMTlkZTQwNWNkNDBmZTYxYzQ5YmFhMTBkZTk5OGNi
M2E4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9S
ZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKQEAgLTM2LDggKzM2LDggQEAKICNp
bmNsdWRlIDxXZWJDb3JlL0Rpc3BsYXlMaXN0UmVjb3JkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0Rpc3BsYXlMaXN0UmVwbGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0
cnkuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9D
aGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4KKyNpbmNsdWRlIDx3dGYv
TG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1N5c3RlbVRyYWNp
bmcuaD4KIApAQCAtMzQxLDggKzM0MSw4IEBAIHByb3RlY3RlZDoKICAgICB9CiAKICAgICBXZWJD
b3JlOjpEaXNwbGF5TGlzdDo6Rmx1c2hJZGVudGlmaWVyIG1fc2VudEZsdXNoSWRlbnRpZmllcjsK
LSAgICBDaGVja2VkTG9jayBtX3JlY2VpdmVkRmx1c2hJZGVudGlmaWVyTG9jazsKLSAgICBDaGVj
a2VkQ29uZGl0aW9uIG1fcmVjZWl2ZWRGbHVzaElkZW50aWZpZXJDaGFuZ2VkQ29uZGl0aW9uOwor
ICAgIExvY2sgbV9yZWNlaXZlZEZsdXNoSWRlbnRpZmllckxvY2s7CisgICAgQ29uZGl0aW9uIG1f
cmVjZWl2ZWRGbHVzaElkZW50aWZpZXJDaGFuZ2VkQ29uZGl0aW9uOwogICAgIFdlYkNvcmU6OkRp
c3BsYXlMaXN0OjpGbHVzaElkZW50aWZpZXIgbV9yZWNlaXZlZEZsdXNoSWRlbnRpZmllciBXVEZf
R1VBUkRFRF9CWV9MT0NLKG1fcmVjZWl2ZWRGbHVzaElkZW50aWZpZXJMb2NrKTsgLy8gT25seSBt
b2RpZmllZCBvbiB0aGUgbWFpbiB0aHJlYWQgYnV0IG1heSBnZXQgcXVlcmllZCBvbiBhIHNlY29u
ZGFyeSB0aHJlYWQuCiAgICAgV2Vha1B0cjxSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk+IG1f
cmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKaW5kZXggNGEwZTY0YjE4
NGU3MTZlM2UwMTExOTIyNDk3ZjZmOTExMjM0NDcwMS4uOWM3YmIzNTU2OTllNzAzMmU3M2E5ODg5
MjY5NmVlNDk4Y2IxM2E1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaD4KICNpbmNsdWRlIDxtYXA+CiAjaW5j
bHVkZSA8d2VicnRjL2FwaS92aWRlby92aWRlb19jb2RlY190eXBlLmg+Ci0jaW5jbHVkZSA8d3Rm
L0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CkBAIC03NSw3ICs3NCw3IEBAIHB1Ymxp
YzoKICAgICAgICAgUlRDRGVjb2RlcklkZW50aWZpZXIgaWRlbnRpZmllcjsKICAgICAgICAgVHlw
ZSB0eXBlOwogICAgICAgICB2b2lkKiBkZWNvZGVkSW1hZ2VDYWxsYmFjayBXVEZfR1VBUkRFRF9C
WV9MT0NLKGRlY29kZWRJbWFnZUNhbGxiYWNrTG9jaykgeyBudWxscHRyIH07Ci0gICAgICAgIENo
ZWNrZWRMb2NrIGRlY29kZWRJbWFnZUNhbGxiYWNrTG9jazsKKyAgICAgICAgTG9jayBkZWNvZGVk
SW1hZ2VDYWxsYmFja0xvY2s7CiAgICAgICAgIGJvb2wgaGFzRXJyb3IgeyBmYWxzZSB9OwogICAg
ICAgICBSZWZQdHI8SVBDOjpDb25uZWN0aW9uPiBjb25uZWN0aW9uOwogICAgIH07CkBAIC0xMDEs
NyArMTAwLDcgQEAgcHVibGljOgogICAgICAgICBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgU3Ry
aW5nPj4gcGFyYW1ldGVyczsKICAgICAgICAgT3B0aW9uYWw8RW5jb2RlckluaXRpYWxpemF0aW9u
RGF0YT4gaW5pdGlhbGl6YXRpb25EYXRhOwogICAgICAgICB2b2lkKiBlbmNvZGVkSW1hZ2VDYWxs
YmFjayBXVEZfR1VBUkRFRF9CWV9MT0NLKGVuY29kZWRJbWFnZUNhbGxiYWNrTG9jaykgeyBudWxs
cHRyIH07Ci0gICAgICAgIENoZWNrZWRMb2NrIGVuY29kZWRJbWFnZUNhbGxiYWNrTG9jazsKKyAg
ICAgICAgTG9jayBlbmNvZGVkSW1hZ2VDYWxsYmFja0xvY2s7CiAgICAgICAgIFJlZlB0cjxJUEM6
OkNvbm5lY3Rpb24+IGNvbm5lY3Rpb247CiAgICAgfTsKIApAQCAtMTQ1LDcgKzE0NCw3IEBAIHBy
aXZhdGU6CiAKICAgICBzdGQ6OmF0b21pYzxib29sPiBtX25lZWRzR1BVUHJvY2Vzc0Nvbm5lY3Rp
b247CiAKLSAgICBDaGVja2VkTG9jayBtX2Nvbm5lY3Rpb25Mb2NrOworICAgIExvY2sgbV9jb25u
ZWN0aW9uTG9jazsKICAgICBSZWZQdHI8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb24gV1RG
X0dVQVJERURfQllfTE9DSyhtX2Nvbm5lY3Rpb25Mb2NrKTsKICAgICBWZWN0b3I8RnVuY3Rpb248
dm9pZCgpPj4gbV90YXNrc1RvRGlzcGF0Y2hBZnRlckVzdGFibGlzaGluZ0Nvbm5lY3Rpb247CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0
cmVhbS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRTdHJl
YW0uY3BwCmluZGV4IDZmZGVkM2I5YzM3YWRkZDE1MTJhOWQ4ZGE0M2MxZmM2ZWNlNGE5MGMuLmJj
MGJjZDlkZWZkMjBlZTJjYjgyOTg4NzJjODkxOTc4MjkyOTVhZDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmNwcApAQCAtMzQs
MTMgKzM0LDEzIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Db29raWVSZXF1ZXN0SGVhZGVyRmllbGRQ
cm94eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU29ja2V0U3RyZWFtRXJyb3IuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1NvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oPgotI2luY2x1ZGUgPHd0Zi9DaGVj
a2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVz
dHJveWVkLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKLXN0YXRpYyBDaGVja2VkTG9jayBnbG9iYWxXZWJTb2NrZXRTdHJlYW1NYXBMb2NrOworc3Rh
dGljIExvY2sgZ2xvYmFsV2ViU29ja2V0U3RyZWFtTWFwTG9jazsKIHN0YXRpYyBIYXNoTWFwPFdl
YlNvY2tldElkZW50aWZpZXIsIFdlYlNvY2tldFN0cmVhbSo+JiBnbG9iYWxXZWJTb2NrZXRTdHJl
YW1NYXAoKSBXVEZfUkVRVUlSRVNfTE9DSyhnbG9iYWxXZWJTb2NrZXRTdHJlYW1NYXBMb2NrKQog
ewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPFdlYlNvY2tldElkZW50aWZpZXIs
IFdlYlNvY2tldFN0cmVhbSo+PiBnbG9iYWxNYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFu
YWdlci5oCmluZGV4IGEwMGE5ZGU0NTA3YjE5MTE0YTczZjMxOTEyODFmYTZhMWU4N2M4NjUuLjM1
NDZkZjExMGIwNTI0NzQ4OTYwNTYwNjZiODI0ZTg0MWY5MGEzM2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
b25uZWN0aW9uTWFuYWdlci5oCkBAIC0yOSw5ICsyOSw5IEBACiAjaWYgRU5BQkxFKE5FVFNDQVBF
X1BMVUdJTl9BUEkpCiAKICNpbmNsdWRlICJQbHVnaW5Qcm9jZXNzLmgiCi0jaW5jbHVkZSA8d3Rm
L0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KQEAgLTY1LDcgKzY1LDcgQEAgcHJpdmF0ZToKIAogICAgIFZlY3RvcjxSZWZQdHI8UGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb24+PiBtX3BsdWdpblByb2Nlc3NDb25uZWN0aW9uczsKIAotICAgIENo
ZWNrZWRMb2NrIG1fdG9rZW5zQW5kQ29ubmVjdGlvbnNMb2NrOworICAgIExvY2sgbV90b2tlbnNB
bmRDb25uZWN0aW9uc0xvY2s7CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPElQQzo6Q29u
bmVjdGlvbj4+IG1fdG9rZW5zQW5kQ29ubmVjdGlvbnMgV1RGX0dVQVJERURfQllfTE9DSyhtX3Rv
a2Vuc0FuZENvbm5lY3Rpb25zTG9jayk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5oCmluZGV4IGZjMjZjNDRlNzhhYjRjODgy
MDNmMjU2Yjc1Yjc3ZTk1ZWM0NDE1NTkuLmVlOGFhZTZhMWVlNzdiYTIwOGEyNTdiNGQ5ZTljZjBj
MzVkOTk2OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2
ZW50RGlzcGF0Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2
ZW50RGlzcGF0Y2hlci5oCkBAIC0zMiw4ICszMiw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0
Zm9ybVdoZWVsRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1doZWVsRXZlbnREZWx0YUZpbHRl
ci5oPgogI2luY2x1ZGUgPG1lbW9yeT4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CkBAIC0xMTgsMTIgKzExOCwxMiBAQCBwcml2YXRlOgog
ICAgIFJlZjxXb3JrUXVldWU+IG1fcXVldWU7CiAKICNpZiBFTkFCTEUoU0NST0xMSU5HX1RIUkVB
RCkKLSAgICBDaGVja2VkTG9jayBtX3Njcm9sbGluZ1RyZWVzTG9jazsKKyAgICBMb2NrIG1fc2Ny
b2xsaW5nVHJlZXNMb2NrOwogICAgIEhhc2hNYXA8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIFJl
ZlB0cjxXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU+PiBtX3Njcm9sbGluZ1RyZWVzIFdU
Rl9HVUFSREVEX0JZX0xPQ0sobV9zY3JvbGxpbmdUcmVlc0xvY2spOwogI2VuZGlmCiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFdlYkNvcmU6OldoZWVsRXZlbnREZWx0YUZpbHRlcj4gbV9yZWNlbnRXaGVl
bEV2ZW50RGVsdGFGaWx0ZXI7CiAjaWYgRU5BQkxFKElPU19UT1VDSF9FVkVOVFMpCi0gICAgQ2hl
Y2tlZExvY2sgbV90b3VjaEV2ZW50c0xvY2s7CisgICAgTG9jayBtX3RvdWNoRXZlbnRzTG9jazsK
ICAgICBIYXNoTWFwPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBUb3VjaEV2ZW50UXVldWU+IG1f
dG91Y2hFdmVudHMgV1RGX0dVQVJERURfQllfTE9DSyhtX3RvdWNoRXZlbnRzTG9jayk7CiAjZW5k
aWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3
VXBkYXRlRGlzcGF0Y2hlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvVmll
d1VwZGF0ZURpc3BhdGNoZXIuaAppbmRleCAxOGIwMzFkNjIyYjA3OWMxZmRjNzUxNDg5ZTk3OGMx
YjRhYzNkZGVhLi5iODE1NTAxYmVjMDdiYWUxOThmMDc3MDEwMzAyOTFmMGI0YWEzYzZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3VXBkYXRlRGlzcGF0
Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdVcGRhdGVE
aXNwYXRjaGVyLmgKQEAgLTMxLDggKzMxLDggQEAKIAogI2luY2x1ZGUgIlZpc2libGVDb250ZW50
UmVjdFVwZGF0ZUluZm8uaCIKICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2VJZGVudGlmaWVyLmg+Ci0j
aW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNp
bmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KIAogbmFtZXNwYWNlIFdl
YktpdCB7CkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIFJlZjxXb3Jr
UXVldWU+IG1fcXVldWU7Ci0gICAgQ2hlY2tlZExvY2sgbV9sYXRlc3RVcGRhdGVMb2NrOworICAg
IExvY2sgbV9sYXRlc3RVcGRhdGVMb2NrOwogICAgIEhhc2hNYXA8V2ViQ29yZTo6UGFnZUlkZW50
aWZpZXIsIFVuaXF1ZVJlZjxVcGRhdGVEYXRhPj4gbV9sYXRlc3RVcGRhdGUgV1RGX0dVQVJERURf
QllfTE9DSyhtX2xhdGVzdFVwZGF0ZUxvY2spOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5oIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5oCmluZGV4IDlmNjFhOGFmZDg3YjQ1MmE2YWNmNTE2
ZjExMzNiZjhlOTc0YjljZDAuLjQzMmRmYjAzNDg0YmRlZmIwZTFlNjdjNjcyNDQ4NjlmNmMxNzNl
MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvU3RvcmFnZS9TdG9yYWdlQXJlYVN5
bmMuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmgK
QEAgLTI3LDkgKzI3LDkgQEAKIAogI2luY2x1ZGUgPFdlYkNvcmUvU1FMaXRlRGF0YWJhc2UuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1RpbWVyLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRDb25kaXRp
b24uaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvQ29uZGl0
aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtOTcsOCArOTcsOCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX3N5bmNDbG9zZURhdGFiYXNl
OwogCi0gICAgbXV0YWJsZSBDaGVja2VkTG9jayBtX2ltcG9ydExvY2s7Ci0gICAgQ2hlY2tlZENv
bmRpdGlvbiBtX2ltcG9ydENvbmRpdGlvbjsKKyAgICBtdXRhYmxlIExvY2sgbV9pbXBvcnRMb2Nr
OworICAgIENvbmRpdGlvbiBtX2ltcG9ydENvbmRpdGlvbjsKICAgICBib29sIG1faW1wb3J0Q29t
cGxldGUgV1RGX0dVQVJERURfQllfTE9DSyhtX2ltcG9ydExvY2spOwogICAgIHZvaWQgbWFya0lt
cG9ydGVkKCk7CiAgICAgdm9pZCBtaWdyYXRlSXRlbVRhYmxlSWZOZWVkZWQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01JbnRlcm5hbC5tbSBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01JbnRlcm5hbC5tbQppbmRleCBkMzNhNTdiNjMzMTQ4MWIx
Y2NlMTYxZDE1OTU2ZmIwZjgyYWU2ZDEzLi5lMzFiMjA5NTg3ZTNhZTAxNmY1OTQxMzMzOTMyYjVh
MTVlZTc0ZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9NSW50
ZXJuYWwubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUludGVybmFsLm1t
CkBAIC0zMiw4ICszMiw4IEBACiAjaW1wb3J0IDxXZWJDb3JlL1NjcmlwdENvbnRyb2xsZXIuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvV2ViU2NyaXB0T2JqZWN0UHJpdmF0ZS5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9ydW50aW1lX3Jvb3QuaD4KLSNpbXBvcnQgPHd0Zi9DaGVja2VkTG9jay5oPgogI2ltcG9y
dCA8d3RmL0hhc2hNYXAuaD4KKyNpbXBvcnQgPHd0Zi9Mb2NrLmg+CiAjaW1wb3J0IDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC00NCw3ICs0NCw3
IEBACiAvLyBXcmFwcGluZyBXZWJDb3JlIGltcGxlbWVudGF0aW9uIG9iamVjdHMKIAogI2lmZGVm
IE5FRURTX1dSQVBQRVJfQ0FDSEVfTE9DSwotc3RhdGljIENoZWNrZWRMb2NrIHdyYXBwZXJDYWNo
ZUxvY2s7CitzdGF0aWMgTG9jayB3cmFwcGVyQ2FjaGVMb2NrOwogc3RhdGljIEhhc2hNYXA8RE9N
T2JqZWN0SW50ZXJuYWwqLCBOU09iamVjdCAqPiYgd3JhcHBlckNhY2hlKCkgV1RGX1JFUVVJUkVT
X0xPQ0sod3JhcHBlckNhY2hlTG9jaykKICNlbHNlCiBzdGF0aWMgSGFzaE1hcDxET01PYmplY3RJ
bnRlcm5hbCosIE5TT2JqZWN0ICo+JiB3cmFwcGVyQ2FjaGUoKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDFhZTI3NjY0MWU2Nzk3YWMzMTk0Mjlm
MjIzNzQ1ZTlmMGJkNWRjMmIuLjk4ZjAwYTM2NmIzMWRhN2U5NTgxYTRhMmNjMzEyNzllOTZhZTg3
Y2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw2NCBAQAorMjAyMS0wNS0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgorCisgICAgICAgIERyb3AgQ2hlY2tlZExvY2sgLyBDaGVja2VkQ29uZGl0aW9uIGFsaWFzZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjE3Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgQ2hl
Y2tlZExvY2sgLyBDaGVja2VkQ29uZGl0aW9uIGFsaWFzZXMgbm93IHRoYXQgdGhleSBhcmUgdGhl
IGRlZmF1bHQuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0OgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NoZWNrZWRDb25kaXRpb25U
ZXN0LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9DaGVj
a2VkTG9ja1Rlc3QuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL0NvbmRpdGlvbi5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Mb2NrLmNwcDoKKyAgICAgICAgKFRlc3RXZWJL
aXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01ldGFBbGxv
Y2F0b3IuY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpBWFRocmVhZDo6Y3JlYXRl
VGhyZWFkSWZOZWVkZWQpOgorCisyMDIxLTA1LTIzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CisKKyAgICAgICAgTWFrZSBDaGVja2VkTG9jayB0aGUgZGVmYXVsdCBMb2NrCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYxNTcKKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBNYWtlIENoZWNrZWRMb2Nr
IHRoZSBkZWZhdWx0IExvY2sgc28gdGhhdCB3ZSBnZXQgbW9yZSBiZW5lZml0cyBmcm9tIENsYW5n
CisgICAgICAgIFRocmVhZCBTYWZldHkgQW5hbHlzaXMuIE5vdGUgdGhhdCBDaGVja2VkTG9jayAx
MDAlIHJlbGllcyBvbiB0aGUgZXhpc3RpbmcKKyAgICAgICAgTG9jayBpbXBsZW1lbnRhdGlvbiBh
bmQgbWVyZWx5IGFkZHMgdGhlIGNsYW5nIGFub3RhdGlvbnMgZm9yIHRocmVhZCAKKyAgICAgICAg
c2FmZXR5LgorCisgICAgICAgIFRoYXQgdGhpcyBwYXRjaCBkb2VzIGlzOgorICAgICAgICAxLiBS
ZW5hbWUgdGhlIExvY2sgY2xhc3MgdG8gVW5jaGVja2VkTG9jaworICAgICAgICAyLiBSZW5hbWUg
dGhlIENoZWNrZWRMb2NrIGNsYXNzIHRvIExvY2sKKyAgICAgICAgMy4gUmVuYW1lIHRoZSBDb25k
aXRpb24gY2xhc3MgdG8gVW5jaGVja2VkQ29uZGl0aW9uCisgICAgICAgIDQuIFJlbmFtZSB0aGUg
Q2hlY2tlZENvbmRpdGlvbiBjbGFzcyB0byBDb25kaXRpb24KKyAgICAgICAgNS4gVXBkYXRlIHRo
ZSB0eXBlcyBvZiBjZXJ0YWluIHZhcmlhYmxlcyBmcm9tIExvY2sgLyBDb25kaXRpb24gdG8KKyAg
ICAgICAgICAgVW5jaGVja2VkTG9jayAvIFVuY2hlY2tlZENvbmRpdGlvbiBpZiBJIGdvdCBhIGJ1
aWxkIGZhaWx1cmUuIEJ1aWxkIAorICAgICAgICAgICBmYWlsdXJlcyBhcmUgdXN1YWxseSBjYXVz
ZWQgYnkgdGhlIGZvbGxvd2luZyBmYWN0czoKKyAgICAgICAgICAgLSBMb2NrZXI8Q2hlY2tlZExv
Y2s+IGRvZXNuJ3Qgc3ViY2xhc3MgQWJzdHJhY3RMb2NrZXIgd2hpY2ggYSBsb3Qgb2YKKyAgICAg
ICAgICAgICBKU0MgY29kZSBwYXNzZXMgYXMgYXJndW1lbnQKKyAgICAgICAgICAgLSBMb2NrZXI8
Q2hlY2tlZExvY2s+IGhhcyBubyBtb3ZlIGNvbnN0cnVjdG9yCisgICAgICAgICAgIC0gTG9ja2Vy
PENoZWNrZWRMb2NrPiBjYW5ub3QgYmUgY29uc3RydWN0ZWQgZnJvbSBhIGxvY2sgcG9pbnRlciwg
b25seQorICAgICAgICAgICAgIGEgcmVmZXJlbmNlCisKKyAgICAgICAgRm9yIG5vdywgQ2hlY2tl
ZExvY2sgYW5kIENoZWNrZWRDb25kaXRpb24gcmVtYWluIGFzIGFsaWFzZXMgdG8gTG9jayBhbmQg
CisgICAgICAgIENvbmRpdGlvbiwgaW4gdGhlaXIgcmVzcGVjdGl2ZSBDaGVja2VkTG9jay5oIC8g
Q2hlY2tlZENvbmRpdGlvbi5oIGhlYWRlcnMuCisgICAgICAgIEkgd2lsbCBkcm9wIHRoZW0gaW4g
YSBmb2xsb3ctdXAgdG8gcmVkdWNlIHBhdGNoIHNpemUuCisKKyAgICAgICAgSSB3aWxsIGFsc28g
Zm9sbG93LXVwIHRvIHRyeSBhbmQgZ2V0IHJpZCBvZiBhcyBtdWNoIHVzYWdlIG9mIFVuY2hlY2tl
ZExvY2sKKyAgICAgICAgYW5kIFVuY2hlY2tlZENvbmRpdGlvbiBhcyBwb3NzaWJsZS4gSSBkaWQg
bm90IHRyeSB2ZXJ5IGhhcmQgaW4gdGhpcyBwYXRjaAorICAgICAgICB0byByZWR1Y2UgcGF0Y2gg
c2l6ZS4gCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9DaGVja2VkQ29uZGl0
aW9uVGVzdC5jcHA6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQ29uZGl0aW9u
LmNwcDoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZXRhQWxsb2NhdG9yLmNw
cDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6QVhUaHJlYWQ6OmNyZWF0ZVRocmVhZElm
TmVlZGVkKToKKwogMjAyMS0wNS0yMyAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgQ29udmVydCBEZXN0aW5hdGlvbkNvbG9yU3BhY2UgZnJvbSBhbiBlbnVtIHRvIGNs
YXNzIHdyYXBwaW5nIGEgcGxhdGZvcm0gY29sb3Igc3BhY2UgKENHQ29sb3JTcGFjZVJlZiBmb3Ig
Q0cgcG9ydHMsIGV0Yy4pCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlz
dHMudHh0IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dAppbmRleCBlNDRjYjRi
YjczMmUwNjU3YjUwZGRkNzg5YmZkZDk0NzE0MTk5YTI0Li5kYjQ4Yjk0YjIwN2YxYzBmYmVkMDk4
ODMyMGY3MGI2OWZkMjQzZTAyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NNYWtl
TGlzdHMudHh0CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQKQEAgLTI5
LDcgKzI5LDYgQEAgc2V0KFRlc3RXVEZfU09VUkNFUwogICAgIFRlc3RzL1dURi9CdW1wUG9pbnRl
ckFsbG9jYXRvci5jcHAKICAgICBUZXN0cy9XVEYvQ1N0cmluZy5jcHAKICAgICBUZXN0cy9XVEYv
Q2hlY2tlZEFyaXRobWV0aWNPcGVyYXRpb25zLmNwcAotICAgIFRlc3RzL1dURi9DaGVja2VkTG9j
a1Rlc3QuY3BwCiAgICAgVGVzdHMvV1RGL0NvbXBhY3RSZWZQdHJUdXBsZS5jcHAKICAgICBUZXN0
cy9XVEYvQ29tcGFjdFVuaXF1ZVB0clR1cGxlLmNwcAogICAgIFRlc3RzL1dURi9Db25jdXJyZW50
UHRySGFzaFNldC5jcHAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggM2JiOGViYjYyYjVmNjM1
OWU1YzI4NzFiOGY1ZWQ1ZmEwZmQwY2M2ZC4uYzg3YzBmMTg2MDc5MmNjYjZhOGRiNDA3MGIzMjAx
MmEyNWI5NmUzYiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU4OCw4ICs1ODgsNiBAQAog
CQk3QUU5RTUwOTFBRTVBRThCMDBDRjg3NEIgLyogdGVzdC5wZGYgaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FFOUU1MDgxQUU1QUU4QjAwQ0Y4
NzRCIC8qIHRlc3QucGRmICovOyB9OwogCQk3QUVBRDQ3RjFFMjAxMTZDMDA0MTZFRkUgLyogQ3Jv
c3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0FFQUQ0N0MxRTIwMTEzODAwNDE2RUZFIC8qIENyb3NzUGFy
dGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5tbSAqLzsgfTsKIAkJN0FFQUQ0ODExRTIwMTIyNzAwNDE2
RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRUFENDdEMUUyMDExNEUw
MDQxNkVGRSAvKiBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MuaHRtbCAqLzsgfTsKLQkJ
N0IyNzM5RTAyNjI1NzFDQzAwNDBGMTgyIC8qIENoZWNrZWRMb2NrVGVzdC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QjI3MzlERjI2MjU3MUNDMDA0
MEYxODIgLyogQ2hlY2tlZExvY2tUZXN0LmNwcCAqLzsgfTsKLQkJN0IyNzM5RUYyNjMxNUU3RTAw
NDBGMTgyIC8qIENoZWNrZWRDb25kaXRpb25UZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCMjczOUVFMjYzMTVFN0QwMDQwRjE4MiAvKiBDaGVj
a2VkQ29uZGl0aW9uVGVzdC5jcHAgKi87IH07CiAJCTdCMjczOUYzMjYzMkFCNjQwMDQwRjE4MiAv
KiBUaHJlYWRBc3NlcnRpb25zVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QjI3MzlGMjI2MzJBQjY0MDA0MEYxODIgLyogVGhyZWFkQXNzZXJ0
aW9uc1Rlc3QuY3BwICovOyB9OwogCQk3QjdEMDk2QTI1MTlGOEY5MDAxN0EwNzggLyogV2ViR0xO
b0NyYXNoT25PdGhlclRocmVhZEFjY2Vzcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdCN0QwOTY5MjUxOUY4RjkwMDE3QTA3OCAvKiBXZWJHTE5vQ3Jh
c2hPbk90aGVyVGhyZWFkQWNjZXNzLm1tICovOyB9OwogCQk3QzFBRjc5NTFFOERDQkFCMDAyNjQ1
QjkgLyogUHJlcGFyZUZvck1vdmVUb1dpbmRvdy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMUFGNzkzMUU4RENCQUIwMDI2NDVCOSAvKiBQcmVwYXJl
Rm9yTW92ZVRvV2luZG93Lm1tICovOyB9OwpAQCAtMjQ1Myw4ICsyNDUxLDYgQEAKIAkJN0FFOUU1
MDgxQUU1QUU4QjAwQ0Y4NzRCIC8qIHRlc3QucGRmICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucGRmOyBwYXRoID0gdGVzdC5wZGY7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRUFENDdDMUUyMDExMzgwMDQxNkVGRSAvKiBDcm9z
c1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRUFENDdEMUUyMDExNEUwMDQxNkVGRSAvKiBDcm9zc1Bh
cnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgbmFtZSA9
IENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5odG1sOyBwYXRoID0gVGVzdHMvbWFjL0Ny
b3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5odG1sOyBzb3VyY2VUcmVlID0gU09VUkNFX1JP
T1Q7IH07Ci0JCTdCMjczOURGMjYyNTcxQ0MwMDQwRjE4MiAvKiBDaGVja2VkTG9ja1Rlc3QuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2hlY2tlZExvY2tUZXN0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0IyNzM5RUUyNjMxNUU3RDAwNDBGMTgy
IC8qIENoZWNrZWRDb25kaXRpb25UZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IENoZWNrZWRDb25kaXRpb25UZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0IyNzM5RjIyNjMyQUI2NDAwNDBGMTgyIC8qIFRocmVhZEFzc2VydGlvbnNUZXN0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRocmVhZEFzc2VydGlv
bnNUZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0I3RDA5NjkyNTE5RjhG
OTAwMTdBMDc4IC8qIFdlYkdMTm9DcmFzaE9uT3RoZXJUaHJlYWRBY2Nlc3MubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBXZWJHTE5vQ3Jhc2hPbk90aGVyVGhyZWFkQWNjZXNzLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3QzFBRjc5MzFFOERDQkFCMDAyNjQ1QjkgLyogUHJlcGFy
ZUZvck1vdmVUb1dpbmRvdy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFByZXBhcmVGb3JNb3ZlVG9XaW5kb3cubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC00NDEyLDggKzQ0MDgsNiBAQAogCQkJCTkzQTQyN0FFMTgwREE2MEYwMENEMjRENyAvKiBC
b3hQdHIuY3BwICovLAogCQkJCTA0NTFBNUE2MjM1RTQzOEUwMDlERjk0NSAvKiBCdW1wUG9pbnRl
ckFsbG9jYXRvci5jcHAgKi8sCiAJCQkJQTdBOTY2REExNDBFQ0NDODAwNUVGOUI0IC8qIENoZWNr
ZWRBcml0aG1ldGljT3BlcmF0aW9ucy5jcHAgKi8sCi0JCQkJN0IyNzM5RUUyNjMxNUU3RDAwNDBG
MTgyIC8qIENoZWNrZWRDb25kaXRpb25UZXN0LmNwcCAqLywKLQkJCQk3QjI3MzlERjI2MjU3MUND
MDA0MEYxODIgLyogQ2hlY2tlZExvY2tUZXN0LmNwcCAqLywKIAkJCQlFMzAyQkRBOTI0MDRCOTIz
MDA4NjUyNzcgLyogQ29tcGFjdFJlZlB0clR1cGxlLmNwcCAqLywKIAkJCQk5QjBDMDUxODI0RkRG
QjcwMDBGMkZFMzEgLyogQ29tcGFjdFVuaXF1ZVB0clR1cGxlLmNwcCAqLywKIAkJCQkwRjMwQ0I1
QjFGQ0UxNzkyMDA0QjUzMjMgLyogQ29uY3VycmVudFB0ckhhc2hTZXQuY3BwICovLApAQCAtNTE3
Niw4ICs1MTcwLDYgQEAKIAkJCQk3QzgzREYxODFEMEE1OTBDMDBGRUJDRjMgLyogQm94UHRyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTA0REIyMzk2MjM1RTQzRUMwMDMyOEYxNyAvKiBCdW1wUG9p
bnRlckFsbG9jYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzgzREVBMDFEMEE1OTBDMDBG
RUJDRjMgLyogQ2hlY2tlZEFyaXRobWV0aWNPcGVyYXRpb25zLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTdCMjczOUVGMjYzMTVFN0UwMDQwRjE4MiAvKiBDaGVja2VkQ29uZGl0aW9uVGVzdC5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQk3QjI3MzlFMDI2MjU3MUNDMDA0MEYxODIgLyogQ2hlY2tlZExv
Y2tUZXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUzMDJCREFBMjQwNEI5MjQwMDg2NTI3NyAv
KiBDb21wYWN0UmVmUHRyVHVwbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOUIwQzA1MTkyNEZE
RkI3RDAwRjJGRTMxIC8qIENvbXBhY3RVbmlxdWVQdHJUdXBsZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRjMwQ0I1QzFGQ0UxNzk2MDA0QjUzMjMgLyogQ29uY3VycmVudFB0ckhhc2hTZXQuY3Bw
IGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9DaGVja2VkQ29uZGl0aW9uVGVzdC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9DaGVja2VkQ29uZGl0aW9uVGVzdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDkyOGFhMTkwM2NkZTM2ZWEzMmRjMTAxZjI2YmYzY2M5OTI2OWI4OTMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvQ2hlY2tlZENvbmRpdGlvblRlc3QuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlIDx3dGYvQ2hl
Y2tlZENvbmRpdGlvbi5oPgotCi1uYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7Ci0KLVRFU1QoV1RG
X0NoZWNrZWRMb2NrLCBDaGVja2VkQ29uZGl0aW9uQ29tcGlsZXMpCi17Ci0gICAgQ2hlY2tlZExv
Y2sgbG9jazsKLSAgICBDaGVja2VkQ29uZGl0aW9uIGNvbmRpdGlvbjsKLSAgICBMb2NrZXIgbG9j
a2VyIHsgbG9jayB9OyAvLyBDb21tZW50IHRoaXMgdG8gZW5zdXJlIHRoYXQgdGhyZWFkIHNhZmV0
eSBhbmFseXNpcyBjcmVhdGVzIGEgY29tcGlsZSBlcnJvci4KLSAgICBib29sIHJlc3VsdCA9IGNv
bmRpdGlvbi53YWl0Rm9yKGxvY2ssIDBfcyk7Ci0gICAgRVhQRUNUX0ZBTFNFKHJlc3VsdCk7Ci19
Ci0KLX0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL0NoZWNrZWRMb2NrVGVzdC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9DaGVja2VkTG9ja1Rlc3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA4MTA2ZDRlYzcwYWVhOWE0ZDM2NjMwYzc2MzQ2YWE5MzJjMzcxOTczLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL0NoZWNrZWRMb2NrVGVzdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw2NyAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgot
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgPHd0Zi9D
aGVja2VkTG9jay5oPgotCi1uYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7Ci0KLW5hbWVzcGFjZSB7
Ci1jbGFzcyBNeVZhbHVlIHsKLXB1YmxpYzoKLSAgICB2b2lkIHNldFZhbHVlKGludCB2YWx1ZSkK
LSAgICB7Ci0gICAgICAgIExvY2tlciBob2xkTG9jayB7IG1fbG9jayB9OwotICAgICAgICBtX3Zh
bHVlID0gdmFsdWU7Ci0gICAgfQotICAgIHZvaWQgbWF5YmVTZXRPdGhlclZhbHVlKGludCB2YWx1
ZSkKLSAgICB7Ci0gICAgICAgIGlmICghbV9vdGhlckxvY2sudHJ5TG9jaygpKQotICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICBMb2NrZXIgaG9sZExvY2sgeyBBZG9wdExvY2ssIG1fb3RoZXJM
b2NrIH07Ci0gICAgICAgIG1fb3RoZXJWYWx1ZSA9IHZhbHVlOwotICAgIH0KLSAgICAvLyBUaGlz
IGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIG1hbnVhbGx5IGNoZWNrIHRoYXQgY29tcGlsZSBmYWls
cy4KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIHNob3VsZEZhaWxDb21waWxlKFQgdCkK
LSAgICB7Ci0gICAgICAgIG1fdmFsdWUgPSB0OwotICAgIH0KLSAgICBwcml2YXRlOgotICAgIENo
ZWNrZWRMb2NrIG1fbG9jazsKLSAgICBpbnQgbV92YWx1ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1f
bG9jaykgeyA3NyB9OwotICAgIENoZWNrZWRMb2NrIG1fb3RoZXJMb2NrOwotICAgIGludCBtX290
aGVyVmFsdWUgV1RGX0dVQVJERURfQllfTE9DSyhtX290aGVyTG9jaykgeyA4OCB9OwotfTsKLQot
fQotCi1URVNUKFdURl9DaGVja2VkTG9jaywgQ2hlY2tlZExvY2tDb21waWxlcykKLXsKLSAgICBN
eVZhbHVlIHY7Ci0gICAgdi5zZXRWYWx1ZSg3KTsKLSAgICB2Lm1heWJlU2V0T3RoZXJWYWx1ZSgz
NCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NvbmRpdGlvbi5jcHAgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9Db25kaXRpb24uY3BwCmluZGV4IDNiMzViMDhjYTE0YjgxODg0N2Q2NmVl
NTg3ZmZhZDFhNTkwZDgxMjYuLmZiOTljMjRiNzkyYTVjYWU2MzE3ZTcwZGQyYjI0NjcxZGMzZmIw
NDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NvbmRpdGlvbi5j
cHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQ29uZGl0aW9uLmNwcApAQCAt
NDYsNyArNDYsNyBAQCBlbnVtIE5vdGlmeVN0eWxlIHsKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1l
IEZ1bmN0b3I+Ci12b2lkIHdhaXQoQ29uZGl0aW9uJiBjb25kaXRpb24sIHN0ZDo6dW5pcXVlX2xv
Y2s8TG9jaz4mIGxvY2tlciwgY29uc3QgRnVuY3RvciYgcHJlZGljYXRlLCBTZWNvbmRzIHRpbWVv
dXQpCit2b2lkIHdhaXQoVW5jaGVja2VkQ29uZGl0aW9uJiBjb25kaXRpb24sIHN0ZDo6dW5pcXVl
X2xvY2s8VW5jaGVja2VkTG9jaz4mIGxvY2tlciwgY29uc3QgRnVuY3RvciYgcHJlZGljYXRlLCBT
ZWNvbmRzIHRpbWVvdXQpCiB7CiAgICAgaWYgKHRpbWVvdXQgPT0gU2Vjb25kczo6aW5maW5pdHko
KSkKICAgICAgICAgY29uZGl0aW9uLndhaXQobG9ja2VyLCBwcmVkaWNhdGUpOwpAQCAtNTksNyAr
NTksNyBAQCB2b2lkIHdhaXQoQ29uZGl0aW9uJiBjb25kaXRpb24sIHN0ZDo6dW5pcXVlX2xvY2s8
TG9jaz4mIGxvY2tlciwgY29uc3QgRnVuY3RvciYgcAogICAgIH0KIH0KIAotdm9pZCBub3RpZnko
Tm90aWZ5U3R5bGUgbm90aWZ5U3R5bGUsIENvbmRpdGlvbiYgY29uZGl0aW9uLCBib29sIHNob3Vs
ZE5vdGlmeSkKK3ZvaWQgbm90aWZ5KE5vdGlmeVN0eWxlIG5vdGlmeVN0eWxlLCBVbmNoZWNrZWRD
b25kaXRpb24mIGNvbmRpdGlvbiwgYm9vbCBzaG91bGROb3RpZnkpCiB7CiAgICAgc3dpdGNoIChu
b3RpZnlTdHlsZSkgewogICAgIGNhc2UgQWx3YXlzTm90aWZ5T25lOgpAQCAtODMsOSArODMsOSBA
QCB2b2lkIHJ1blRlc3QoCiB7CiAgICAgRGVxdWU8dW5zaWduZWQ+IHF1ZXVlOwogICAgIGJvb2wg
c2hvdWxkQ29udGludWUgPSB0cnVlOwotICAgIExvY2sgbG9jazsKLSAgICBDb25kaXRpb24gZW1w
dHlDb25kaXRpb247Ci0gICAgQ29uZGl0aW9uIGZ1bGxDb25kaXRpb247CisgICAgVW5jaGVja2Vk
TG9jayBsb2NrOworICAgIFVuY2hlY2tlZENvbmRpdGlvbiBlbXB0eUNvbmRpdGlvbjsKKyAgICBV
bmNoZWNrZWRDb25kaXRpb24gZnVsbENvbmRpdGlvbjsKIAogICAgIFZlY3RvcjxSZWY8VGhyZWFk
Pj4gY29uc3VtZXJUaHJlYWRzOwogICAgIFZlY3RvcjxSZWY8VGhyZWFkPj4gcHJvZHVjZXJUaHJl
YWRzOwpAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgcnVuVGVzdCgKICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgcmVzdWx0OwogICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBzaG91bGRO
b3RpZnkgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg
ICAgICAgc3RkOjp1bmlxdWVfbG9jazxMb2NrPiBsb2NrZXIobG9jayk7CisgICAgICAgICAgICAg
ICAgICAgICAgICBzdGQ6OnVuaXF1ZV9sb2NrPFVuY2hlY2tlZExvY2s+IGxvY2tlcihsb2NrKTsK
ICAgICAgICAgICAgICAgICAgICAgICAgIHdhaXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZW1wdHlDb25kaXRpb24sIGxvY2tlciwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
WyZdICgpIHsKQEAgLTEzNCw3ICsxMzQsNyBAQCB2b2lkIHJ1blRlc3QoCiAgICAgICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG51bU1lc3NhZ2VzUGVyUHJvZHVjZXI7ICsraSkg
ewogICAgICAgICAgICAgICAgICAgICBib29sIHNob3VsZE5vdGlmeSA9IGZhbHNlOwogICAgICAg
ICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9sb2Nr
PExvY2s+IGxvY2tlcihsb2NrKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6dW5pcXVl
X2xvY2s8VW5jaGVja2VkTG9jaz4gbG9ja2VyKGxvY2spOwogICAgICAgICAgICAgICAgICAgICAg
ICAgd2FpdCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdWxsQ29uZGl0aW9uLCBsb2Nr
ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyZdICgpIHsKQEAgLTI0OSw1ICsyNDks
MTQgQEAgVEVTVChXVEZfQ29uZGl0aW9uLCBUaW1lb3V0VGltZXNPdXQpCiAgICAgRVhQRUNUX0ZB
TFNFKHJlc3VsdCk7CiB9CiAKK1RFU1QoV1RGX0NvbmRpdGlvbiwgQmFzaWMpCit7CisgICAgTG9j
ayBsb2NrOworICAgIENvbmRpdGlvbiBjb25kaXRpb247CisgICAgTG9ja2VyIGxvY2tlciB7IGxv
Y2sgfTsgLy8gQ29tbWVudCB0aGlzIHRvIGVuc3VyZSB0aGF0IHRocmVhZCBzYWZldHkgYW5hbHlz
aXMgY3JlYXRlcyBhIGNvbXBpbGUgZXJyb3IuCisgICAgYm9vbCByZXN1bHQgPSBjb25kaXRpb24u
d2FpdEZvcihsb2NrLCAwX3MpOworICAgIEVYUEVDVF9GQUxTRShyZXN1bHQpOworfQorCiB9IC8v
IG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL0xvY2suY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTG9j
ay5jcHAKaW5kZXggNmMwM2E3NmZlZDZlMTlkNzY0MzlmOWZmMzRjMzZiZmVmOGI2ZTdiMi4uYzkz
NGIyYmI4OGUwYTQ0NjI0MTU2MzNjZjUwZGI1NTM1NmFjYTMxMyAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTG9jay5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvTG9jay5jcHAKQEAgLTE4Nyw0ICsxODcsNDAgQEAgVEVTVChXVEZfTG9jaywg
U2VjdGlvbkFkZHJlc3NDb2xsaXNpb24pCiAgICAgcnVuTG9ja1Rlc3Q8TG9jaz4oNCwgMiwgMTAw
MDAsIDIwMDApOwogfQogCituYW1lc3BhY2UgeworY2xhc3MgTXlWYWx1ZSB7CitwdWJsaWM6Cisg
ICAgdm9pZCBzZXRWYWx1ZShpbnQgdmFsdWUpCisgICAgeworICAgICAgICBMb2NrZXIgaG9sZExv
Y2sgeyBtX2xvY2sgfTsKKyAgICAgICAgbV92YWx1ZSA9IHZhbHVlOworICAgIH0KKyAgICB2b2lk
IG1heWJlU2V0T3RoZXJWYWx1ZShpbnQgdmFsdWUpCisgICAgeworICAgICAgICBpZiAoIW1fb3Ro
ZXJMb2NrLnRyeUxvY2soKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgTG9ja2VyIGhv
bGRMb2NrIHsgQWRvcHRMb2NrLCBtX290aGVyTG9jayB9OworICAgICAgICBtX290aGVyVmFsdWUg
PSB2YWx1ZTsKKyAgICB9CisgICAgLy8gVGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byBtYW51
YWxseSBjaGVjayB0aGF0IGNvbXBpbGUgZmFpbHMuCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4g
dm9pZCBzaG91bGRGYWlsQ29tcGlsZShUIHQpCisgICAgeworICAgICAgICBtX3ZhbHVlID0gdDsK
KyAgICB9CisgICAgcHJpdmF0ZToKKyAgICBMb2NrIG1fbG9jazsKKyAgICBpbnQgbV92YWx1ZSBX
VEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jaykgeyA3NyB9OworICAgIExvY2sgbV9vdGhlckxvY2s7
CisgICAgaW50IG1fb3RoZXJWYWx1ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fb3RoZXJMb2NrKSB7
IDg4IH07Cit9OworCit9CisKK1RFU1QoV1RGX0xvY2ssIEJhc2ljKQoreworICAgIE15VmFsdWUg
djsKKyAgICB2LnNldFZhbHVlKDcpOworICAgIHYubWF5YmVTZXRPdGhlclZhbHVlKDM0KTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvTWV0YUFsbG9jYXRvci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9NZXRhQWxsb2NhdG9yLmNwcAppbmRleCBiOTFmNjhlYzBjYzE3ZGQzNzA4ZjJl
NzgwODM2NjU1N2RiMzg3YTY2Li40ZWY1ODNiM2MyYmU5OGVlZmQ5NjE1MWM3OTY5Y2U0M2ViYTA1
NzkzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZXRhQWxsb2Nh
dG9yLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZXRhQWxsb2NhdG9y
LmNwcApAQCAtMTI5LDcgKzEyOSw3IEBAIHB1YmxpYzoKICAgICAgICAgfQogICAgICAgICAKICAg
ICBwcml2YXRlOgotICAgICAgICBMb2NrIG1fbG9jazsKKyAgICAgICAgVW5jaGVja2VkTG9jayBt
X2xvY2s7CiAgICAgICAgIE1ldGFBbGxvY2F0b3JUZXN0KiBtX3BhcmVudDsKICAgICB9OwogCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwCmluZGV4IDk4NDRlNWI2MzM1ZmJjYTI4NmUy
YzExYzZiM2U5ODc4ZDljNDBkMGIuLjZlYmExNGExYTcwYzAzZDU1N2RiMjNiNjA3NjJkZjc5ZmZl
YTRjYWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwCkBAIC0xOTksNyArMTk5
LDcgQEAgQVhUaHJlYWQmIEFYVGhyZWFkOjpzaW5nbGV0b24oKQogdm9pZCBBWFRocmVhZDo6Y3Jl
YXRlVGhyZWFkSWZOZWVkZWQoKQogewogICAgIC8vIFdhaXQgZm9yIHRoZSB0aHJlYWQgdG8gaW5p
dGlhbGl6ZSB0aGUgcnVuIGxvb3AuCi0gICAgc3RkOjp1bmlxdWVfbG9jazxMb2NrPiBsb2NrKG1f
aW5pdGlhbGl6ZVJ1bkxvb3BNdXRleCk7CisgICAgTG9ja2VyIGxvY2sgeyBtX2luaXRpYWxpemVS
dW5Mb29wTXV0ZXggfTsKIAogICAgIGlmICghbV90aHJlYWQpIHsKICAgICAgICAgbV90aHJlYWQg
PSBUaHJlYWQ6OmNyZWF0ZSgiV0tUUjogQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIiLCBbdGhpc10g
ewpAQCAtMjA4LDcgKzIwOCw3IEBAIHZvaWQgQVhUaHJlYWQ6OmNyZWF0ZVRocmVhZElmTmVlZGVk
KCkKICAgICAgICAgfSk7CiAgICAgfQogCi0gICAgbV9pbml0aWFsaXplUnVuTG9vcENvbmRpdGlv
blZhcmlhYmxlLndhaXQobG9jaywgW3RoaXNdIHsKKyAgICBtX2luaXRpYWxpemVSdW5Mb29wQ29u
ZGl0aW9uVmFyaWFibGUud2FpdChtX2luaXRpYWxpemVSdW5Mb29wTXV0ZXgsIFt0aGlzXSB7CiAj
aWYgUExBVEZPUk0oQ09DT0EpCiAgICAgICAgIHJldHVybiBtX3RocmVhZFJ1bkxvb3A7CiAjZWxz
ZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429533</attachid>
            <date>2021-05-24 08:28:53 -0700</date>
            <delta_ts>2021-05-24 11:29:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226176-20210524082853.patch</filename>
            <type>text/plain</type>
            <size>190548</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3OTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
YmE4NmE0M2RlYmJlOTRhOGMyNWUwOGVhYjlhNjNhNThhZDFmNGM0Li40YjBmYmYwZjhkZDA0MGVi
OGQ0N2Q4ZGVkZmUxMzk3ZjRkMmZmYTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4MyBAQAorMjAyMS0wNS0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIERyb3AgQ2hlY2tlZExvY2sgLyBDaGVja2VkQ29uZGl0aW9uIGFsaWFzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjE3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgQ2hlY2tl
ZExvY2sgLyBDaGVja2VkQ29uZGl0aW9uIGFsaWFzZXMgbm93IHRoYXQgdGhleSBhcmUgdGhlIGRl
ZmF1bHQuCisKKyAgICAgICAgKiBBUEkvSlNWaXJ0dWFsTWFjaGluZS5tbToKKyAgICAgICAgKiBB
UEkvZ2xpYi9KU0NWaXJ0dWFsTWFjaGluZS5jcHA6CisgICAgICAgICogYXNzZW1ibGVyL1BlcmZM
b2cuaDoKKyAgICAgICAgKiBhc3NlbWJsZXIvdGVzdG1hc20uY3BwOgorICAgICAgICAqIGJ5dGVj
b2RlL1N0cnVjdHVyZVN0dWJJbmZvLmg6CisgICAgICAgICogYnl0ZWNvZGUvU3VwZXJTYW1wbGVy
LmNwcDoKKyAgICAgICAgKiBkZmcvREZHQ29tbW9uLmNwcDoKKyAgICAgICAgKiBkZmcvREZHQ29t
bW9uRGF0YS5jcHA6CisgICAgICAgICogZGZnL0RGR1BsYW4uaDoKKyAgICAgICAgKiBkZmcvREZH
VGhyZWFkRGF0YS5oOgorICAgICAgICAqIGRmZy9ERkdXb3JrbGlzdC5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6V29ya2xpc3Q6OldvcmtsaXN0KToKKyAgICAgICAgKiBkZmcvREZHV29ya2xpc3Qu
aDoKKyAgICAgICAgKiBkaXNhc3NlbWJsZXIvRGlzYXNzZW1ibGVyLmNwcDoKKyAgICAgICAgKiBk
eW5iZW5jaC5jcHA6CisgICAgICAgICogaGVhcC9CbG9ja0RpcmVjdG9yeS5jcHA6CisgICAgICAg
IChKU0M6OkJsb2NrRGlyZWN0b3J5OjpwYXJhbGxlbE5vdEVtcHR5QmxvY2tTb3VyY2UpOgorICAg
ICAgICAqIGhlYXAvQmxvY2tEaXJlY3RvcnkuaDoKKyAgICAgICAgKEpTQzo6QmxvY2tEaXJlY3Rv
cnk6OmJpdHZlY3RvckxvY2spOgorICAgICAgICAqIGhlYXAvQ29kZUJsb2NrU2V0Lmg6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9ja1NldDo6Z2V0TG9jayk6CisgICAgICAgICogaGVhcC9IZWFwLmNw
cDoKKyAgICAgICAgKEpTQzo6SGVhcDo6SGVhcCk6CisgICAgICAgICogaGVhcC9IZWFwLmg6Cisg
ICAgICAgICogaGVhcC9Jc29TdWJzcGFjZVBlclZNLmg6CisgICAgICAgICogaGVhcC9NYXJrZWRT
cGFjZS5oOgorICAgICAgICAoSlNDOjpNYXJrZWRTcGFjZTo6ZGlyZWN0b3J5TG9jayk6CisgICAg
ICAgICogaGVhcC9NYXJraW5nQ29uc3RyYWludFNvbHZlci5oOgorICAgICAgICAqIGhlYXAvU2xv
dFZpc2l0b3IuY3BwOgorICAgICAgICAoSlNDOjpTbG90VmlzaXRvcjo6ZG9uYXRlS25vd25QYXJh
bGxlbCk6CisgICAgICAgICogaGVhcC9TbG90VmlzaXRvci5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvckNvbm5lY3Rpb25DbGllbnQuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTb2NrZXRFbmRwb2lu
dC5oOgorICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcDoKKyAgICAgICAgKEpT
Qzo6RXhlY3V0YWJsZUFsbG9jYXRvcjo6Z2V0TG9jayBjb25zdCk6CisgICAgICAgIChKU0M6OmR1
bXBKSVRNZW1vcnkpOgorICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmg6CisgICAg
ICAgIChKU0M6OkV4ZWN1dGFibGVBbGxvY2F0b3JCYXNlOjpnZXRMb2NrIGNvbnN0KToKKyAgICAg
ICAgKiBqaXQvSklUV29ya2xpc3QuY3BwOgorICAgICAgICAoSlNDOjpKSVRXb3JrbGlzdDo6SklU
V29ya2xpc3QpOgorICAgICAgICAqIGppdC9KSVRXb3JrbGlzdC5oOgorICAgICAgICAqIGpzYy5j
cHA6CisgICAgICAgICogcHJvZmlsZXIvUHJvZmlsZXJEYXRhYmFzZS5oOgorICAgICAgICAqIHJ1
bnRpbWUvQ29uY3VycmVudEpTTG9jay5oOgorICAgICAgICAqIHJ1bnRpbWUvRGVmZXJyZWRXb3Jr
VGltZXIuaDoKKyAgICAgICAgKiBydW50aW1lL0pTTG9jay5oOgorICAgICAgICAqIHJ1bnRpbWUv
U2FtcGxpbmdQcm9maWxlci5jcHA6CisgICAgICAgIChKU0M6OkZyYW1lV2Fsa2VyOjpGcmFtZVdh
bGtlcik6CisgICAgICAgIChKU0M6OkNGcmFtZVdhbGtlcjo6Q0ZyYW1lV2Fsa2VyKToKKyAgICAg
ICAgKEpTQzo6U2FtcGxpbmdQcm9maWxlcjo6dGFrZVNhbXBsZSk6CisgICAgICAgICogcnVudGlt
ZS9TYW1wbGluZ1Byb2ZpbGVyLmg6CisgICAgICAgIChKU0M6OlNhbXBsaW5nUHJvZmlsZXI6Omdl
dExvY2spOgorICAgICAgICAqIHJ1bnRpbWUvVk0uaDoKKyAgICAgICAgKiBydW50aW1lL1ZNVHJh
cHMuY3BwOgorICAgICAgICAoSlNDOjpWTVRyYXBzOjppbnZhbGlkYXRlQ29kZUJsb2Nrc09uU3Rh
Y2spOgorICAgICAgICAoSlNDOjpWTVRyYXBzOjpWTVRyYXBzKToKKyAgICAgICAgKiBydW50aW1l
L1ZNVHJhcHMuaDoKKyAgICAgICAgKiB0b29scy9GdW5jdGlvbk92ZXJyaWRlcy5oOgorICAgICAg
ICAqIHRvb2xzL1ZNSW5zcGVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6ZW5zdXJlSXNTYWZlVG9M
b2NrKToKKyAgICAgICAgKiB0b29scy9WTUluc3BlY3Rvci5oOgorICAgICAgICAoSlNDOjpWTUlu
c3BlY3Rvcjo6Z2V0TG9jayk6CisgICAgICAgICogd2FzbS9XYXNtQ2FsbGVlUmVnaXN0cnkuaDoK
KyAgICAgICAgKEpTQzo6V2FzbTo6Q2FsbGVlUmVnaXN0cnk6OmdldExvY2spOgorICAgICAgICAq
IHdhc20vV2FzbVBsYW4uaDoKKyAgICAgICAgKiB3YXNtL1dhc21TdHJlYW1pbmdDb21waWxlci5o
OgorICAgICAgICAqIHdhc20vV2FzbVRodW5rcy5oOgorICAgICAgICAqIHdhc20vV2FzbVdvcmts
aXN0LmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6V29ya2xpc3Q6OldvcmtsaXN0KToKKyAgICAg
ICAgKiB3YXNtL1dhc21Xb3JrbGlzdC5oOgorCiAyMDIxLTA1LTIzICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBDaGVja2VkTG9jayB0aGUgZGVmYXVsdCBM
b2NrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdl
TG9nCmluZGV4IDE2M2RjNjY5ZGRjMGNiMDRmMjhiYjllOWNlOTBmMmVmNTg1NmU1YzAuLmMyOTQ1
Yzc2Mjk0NTVjMzY2NWQxYzI5NTlmZTU3NWQ2NGM1MjU2OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzQgQEAK
KzIwMjEtMDUtMjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBE
cm9wIENoZWNrZWRMb2NrIC8gQ2hlY2tlZENvbmRpdGlvbiBhbGlhc2VzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYxNzYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIENoZWNrZWRMb2NrIC8gQ2hl
Y2tlZENvbmRpdGlvbiBhbGlhc2VzIG5vdyB0aGF0IHRoZXkgYXJlIHRoZSBkZWZhdWx0LgorCisg
ICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL0Fz
c2VydGlvbnMuY3BwOgorICAgICAgICAqIHd0Zi9BdXRvbWF0aWNUaHJlYWQuY3BwOgorICAgICAg
ICAoV1RGOjpBdXRvbWF0aWNUaHJlYWRDb25kaXRpb246OndhaXQpOgorICAgICAgICAoV1RGOjpB
dXRvbWF0aWNUaHJlYWRDb25kaXRpb246OndhaXRGb3IpOgorICAgICAgICAoV1RGOjpBdXRvbWF0
aWNUaHJlYWQ6OkF1dG9tYXRpY1RocmVhZCk6CisgICAgICAgICogd3RmL0F1dG9tYXRpY1RocmVh
ZC5oOgorICAgICAgICAqIHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3dGYvQ2hlY2tl
ZENvbmRpdGlvbi5oOiBSZW1vdmVkLgorICAgICAgICAqIHd0Zi9DaGVja2VkTG9jay5oOiBSZW1v
dmVkLgorICAgICAgICAqIHd0Zi9Db25kaXRpb24uaDoKKyAgICAgICAgKiB3dGYvQ3Jvc3NUaHJl
YWRRdWV1ZS5oOgorICAgICAgICAqIHd0Zi9Dcm9zc1RocmVhZFRhc2tIYW5kbGVyLmg6CisgICAg
ICAgICogd3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmNwcDoKKyAgICAgICAgKiB3
dGYvRmFzdE1hbGxvYy5jcHA6CisgICAgICAgICogd3RmL0ZvcndhcmQuaDoKKyAgICAgICAgKiB3
dGYvTGFuZ3VhZ2UuY3BwOgorICAgICAgICAqIHd0Zi9Mb2NrLmNwcDoKKyAgICAgICAgKFdURjo6
VW5jaGVja2VkTG9jazo6bG9ja1Nsb3cpOgorICAgICAgICAoV1RGOjpVbmNoZWNrZWRMb2NrOjp1
bmxvY2tTbG93KToKKyAgICAgICAgKFdURjo6VW5jaGVja2VkTG9jazo6dW5sb2NrRmFpcmx5U2xv
dyk6CisgICAgICAgIChXVEY6OlVuY2hlY2tlZExvY2s6OnNhZmVwb2ludFNsb3cpOgorICAgICAg
ICAqIHd0Zi9Mb2NrLmg6CisgICAgICAgIChXVEY6OldURl9BU1NFUlRTX0FDUVVJUkVEX0xPQ0sp
OgorICAgICAgICAqIHd0Zi9Mb2dnZXIuY3BwOgorICAgICAgICAqIHd0Zi9Mb2dnZXIuaDoKKyAg
ICAgICAgKFdURjo6TG9nZ2VyOjpXVEZfUkVUVVJOU19MT0NLKToKKyAgICAgICAgKiB3dGYvTWVz
c2FnZVF1ZXVlLmg6CisgICAgICAgICogd3RmL01ldGFBbGxvY2F0b3IuY3BwOgorICAgICAgICAo
V1RGOjpNZXRhQWxsb2NhdG9yOjpyZWxlYXNlKToKKyAgICAgICAgKFdURjo6TWV0YUFsbG9jYXRv
cjo6TWV0YUFsbG9jYXRvcik6CisgICAgICAgIChXVEY6Ok1ldGFBbGxvY2F0b3I6OmFsbG9jYXRl
KToKKyAgICAgICAgKFdURjo6TWV0YUFsbG9jYXRvcjo6Y3VycmVudFN0YXRpc3RpY3MpOgorICAg
ICAgICAqIHd0Zi9NZXRhQWxsb2NhdG9yLmg6CisgICAgICAgICogd3RmL09TTG9nUHJpbnRTdHJl
YW0uaDoKKyAgICAgICAgKiB3dGYvUGFyYWxsZWxIZWxwZXJQb29sLmNwcDoKKyAgICAgICAgKFdU
Rjo6UGFyYWxsZWxIZWxwZXJQb29sOjpQYXJhbGxlbEhlbHBlclBvb2wpOgorICAgICAgICAqIHd0
Zi9QYXJhbGxlbEhlbHBlclBvb2wuaDoKKyAgICAgICAgKiB3dGYvUGFyYWxsZWxKb2JzR2VuZXJp
Yy5oOgorICAgICAgICAqIHd0Zi9QYXJhbGxlbFZlY3Rvckl0ZXJhdG9yLmg6CisgICAgICAgICog
d3RmL1JlYWRXcml0ZUxvY2suaDoKKyAgICAgICAgKiB3dGYvUmVjdXJzaXZlTG9ja0FkYXB0ZXIu
aDoKKyAgICAgICAgKiB3dGYvUnVuTG9vcC5oOgorICAgICAgICAqIHd0Zi9TeW5jaHJvbml6ZWRG
aXhlZFF1ZXVlLmg6CisgICAgICAgICogd3RmL1RocmVhZGluZy5jcHA6CisgICAgICAgIChXVEY6
OlRocmVhZDo6YWxsVGhyZWFkc0xvY2spOgorICAgICAgICAqIHd0Zi9UaHJlYWRpbmcuaDoKKyAg
ICAgICAgKiB3dGYvVGltaW5nU2NvcGUuY3BwOgorICAgICAgICAqIHd0Zi9VUkwuY3BwOgorICAg
ICAgICAqIHd0Zi9XVEZTZW1hcGhvcmUuaDoKKyAgICAgICAgKiB3dGYvV29ya1F1ZXVlLmNwcDoK
KyAgICAgICAgKFdURjo6V29ya1F1ZXVlOjpjb25jdXJyZW50QXBwbHkpOgorICAgICAgICAqIHd0
Zi9Xb3JrZXJQb29sLmNwcDoKKyAgICAgICAgKFdURjo6V29ya2VyUG9vbDo6V29ya2VyUG9vbCk6
CisgICAgICAgICogd3RmL1dvcmtlclBvb2wuaDoKKyAgICAgICAgKiB3dGYvY2YvTGFuZ3VhZ2VD
Ri5jcHA6CisgICAgICAgICogd3RmL3RleHQvQXRvbVN0cmluZ0ltcGwuY3BwOgorICAgICAgICAo
V1RGOjpBdG9tU3RyaW5nVGFibGVMb2NrZXI6OkF0b21TdHJpbmdUYWJsZUxvY2tlcik6CisgICAg
ICAgICogd3RmL3RleHQvU3RyaW5nVmlldy5jcHA6CisgICAgICAgICogd3RmL3RocmVhZHMvQmlu
YXJ5U2VtYXBob3JlLmg6CisgICAgICAgICogd3RmL3VuaWNvZGUvaWN1L0NvbGxhdG9ySUNVLmNw
cDoKKwogMjAyMS0wNS0yMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIE1ha2UgQ2hlY2tlZExvY2sgdGhlIGRlZmF1bHQgTG9jawpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGY5NDdj
MDE1NzA3YzNhNDAyMTc5YjRlZmJkZDAxN2I5YWEzNGNkNGMuLjg3NTdhOGVmMGI4ZGIzNzIzNTIw
YTU1NTg1ZWVjYmYwYTg1ODJlNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNDYgQEAKKzIwMjEt
MDUtMjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIENo
ZWNrZWRMb2NrIC8gQ2hlY2tlZENvbmRpdGlvbiBhbGlhc2VzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYxNzYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcm9wIENoZWNrZWRMb2NrIC8gQ2hlY2tlZENv
bmRpdGlvbiBhbGlhc2VzIG5vdyB0aGF0IHRoZXkgYXJlIHRoZSBkZWZhdWx0LgorCisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaDoKKyAgICAgICAgKiBNb2R1bGVz
L2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJDb25uZWN0aW9uUHJveHkuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9zZXJ2ZXIvSURCU2VyaWFsaXphdGlvbkNvbnRleHQuY3BwOgorICAgICAgICAqIE1vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwU0ZyYW1lVHJhbnNmb3JtZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaDoK
KyAgICAgICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkNhcHR1cmVTb3VyY2VJ
bXBsLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb1BhcmFtVGltZWxpbmUuaDoK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5o
OgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuY3BwOgorICAgICAgICAq
IE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRh
dGFiYXNlL0RhdGFiYXNlTWFuYWdlci5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2Uv
RGF0YWJhc2VUYXNrLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRo
cmVhZC5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6b3BlbkRhdGFiYXNlTXV0ZXgp
OgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmg6CisgICAg
ICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9PcmlnaW5Mb2NrLmNwcDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmRhdGFiYXNlL1NRTENhbGxiYWNrV3JhcHBlci5oOgorICAgICAgICAqIE1vZHVsZXMv
d2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9X
ZWJHUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR1BVRGV2aWNlOjppbnN0YW5j
ZXNMb2NrKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaDoKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHUFVQaXBlbGluZTo6aW5zdGFuY2VzTG9jayk6CisgICAgICAgICogTW9kdWxlcy93ZWJn
cHUvV2ViR1BVUGlwZWxpbmUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6YWxsQWN0aXZlV2ViU29ja2V0
c0xvY2spOgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHA6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oOgorICAgICAgICAqIGJyaWRnZS9v
YmpjL1dlYlNjcmlwdE9iamVjdC5tbToKKyAgICAgICAgKiBjcnlwdG8vQ3J5cHRvQWxnb3JpdGht
UmVnaXN0cnkuaDoKKyAgICAgICAgKiBkb20vTWVzc2FnZVBvcnQuY3BwOgorICAgICAgICAqIGRv
bS9Ob2RlLmNwcDoKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6Cisg
ICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6OmNyZWF0ZU1lZGlhUGxheWVyKToKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1Jl
bmRlcmluZ0NvbnRleHQ6Omluc3RhbmNlc0xvY2spOgorICAgICAgICAqIGh0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQuaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTENvbnRl
eHRHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTENvbnRleHRHcm91cDo6b2JqZWN0
R3JhcGhMb2NrRm9yQUNvbnRleHQpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4
dEdyb3VwLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0T2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldlYkdMQ29udGV4dE9iamVjdDo6b2JqZWN0R3JhcGhMb2NrRm9y
Q29udGV4dCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0T2JqZWN0Lmg6Cisg
ICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xPYmplY3QuaDoKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJHTFByb2dyYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xQcm9ncmFtOjppbnN0
YW5jZXNMb2NrKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFByb2dyYW0uaDoKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om9iamVjdEdyYXBoTG9jayk6Cisg
ICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMU2hhcmVkT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMU2hhcmVkT2JqZWN0OjpvYmplY3RHcmFwaExvY2tGb3JDb250ZXh0KToKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTFNoYXJlZE9iamVjdC5oOgorICAgICAgICAqIGluc3BlY3Rvci9h
Z2VudHMvV2ViSGVhcEFnZW50LmNwcDoKKyAgICAgICAgKiBwYWdlL1Jlc291cmNlVXNhZ2VUaHJl
YWQuaDoKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5UG9saWN5LmNwcDoKKyAgICAgICAgKiBwYWdl
L1doZWVsRXZlbnRUZXN0TW9uaXRvci5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6OldURl9SRVRVUk5T
X0xPQ0spOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVMYXRjaGluZ0Nv
bnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1Ry
ZWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6V1RGX1JFVFVS
TlNfTE9DSyk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9BYm9ydGFibGVUYXNrUXVldWUuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9HZW5lcmlj
VGFza1F1ZXVlLmg6CisgICAgICAgICogcGxhdGZvcm0vTGVnYWN5U2NoZW1lUmVnaXN0cnkuY3Bw
OgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvRGVzdGluYXRpb24uaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2VMb2FkZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9hdWRpby9SZXZlcmJDb252b2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmV2ZXJiQ29u
dm9sdmVyOjpiYWNrZ3JvdW5kVGhyZWFkRW50cnkpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlv
L2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlv
L2dzdHJlYW1lci9BdWRpb1NvdXJjZVByb3ZpZGVyR1N0cmVhbWVyLmg6CisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vZ3N0cmVhbWVyL1dlYktpdFdlYkF1ZGlvU291cmNlR1N0cmVhbWVyLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9tYWMvRkZURnJhbWVNYWMuY3BwOgorICAgICAgICAq
IHBsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETVByb3h5Lmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1No
YWRvd0JsdXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyYXRjaEJ1ZmZlcjo6bG9jayk6Cisg
ICAgICAgIChXZWJDb3JlOjpTaGFkb3dCbHVyOjpkcmF3UmVjdFNoYWRvd1dpdGhUaWxpbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6U2hhZG93Qmx1cjo6ZHJhd0luc2V0U2hhZG93V2l0aFRpbGluZyk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHA6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2Ev
UGxhdGZvcm1DQUxheWVyQ29jb2EubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SU9TdXJmYWNlUG9vbC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdl
Q2FjaGVXaXRoVGltZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
Q2FjaGVDb3JlVGV4dC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L0ltYWdlRGVjb2RlckdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NYWluVGhyZWFkTm90aWZpZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHA6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDb21t
b25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvbXNlL1dlYktpdE1lZGlhU291cmNlR1N0cmVhbWVyLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5
ZXJQcm94eS5oOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQ
cm94eTo6V1RGX1JFVFVSTlNfTE9DSyk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2Rl
cnMvU2NhbGFibGVJbWFnZURlY29kZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvUXVpY2tM
b29rLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJD
bGllbnQubW06CisgICAgICAgICogcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkUnVuLmNw
cDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRl
TW9jay5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNv
cmRlclByaXZhdGVXcml0ZXJDb2NvYS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L1JlYWx0aW1lTWVkaWFTb3VyY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
ZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9jb2NvYS9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ0F1
ZGlvU291cmNlTGliV2ViUlRDLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9Mb2Fk
ZXJSdW5Mb29wQ0YuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9hZGVyUnVuTG9vcCk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9jb2NvYS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1VUSVV0aWxpdGllcy5tbToKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVl
RGVsZWdhdGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL3NxbC9TUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3Rl
eHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZVF1
b3RhTWFuYWdlci5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxlci5oOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlck9yV29ya2xldFRocmVhZDo6d29ya2VyT3JXb3JrbGV0VGhyZWFkc0xvY2spOgor
ICAgICAgICAqIHdvcmtlcnMvV29ya2VyT3JXb3JrbGV0VGhyZWFkLmg6CisgICAgICAgICogd29y
a2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaDoKKwogMjAyMS0wNS0yNCAgVGltIE5ndXll
biAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIGhhbmRsaW5nIG9mIGAtd2Vi
a2l0LWlubGluZS1mbGV4YC9gLXdlYmtpdC1mbGV4YCBDU1MgZGlzcGxheSB2YWx1ZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggNDkwZmYxNjVlMTk3MTQwNTU1MThiYTMyYzVjMjRmMjdlZGRlZmEwMi4uNGZlNTUzNjhj
NGY3YmYwODM4Y2EyMTdkY2Y1YjI3MzY0ZTQ3ZTJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBA
QAorMjAyMS0wNS0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IERyb3AgQ2hlY2tlZExvY2sgLyBDaGVja2VkQ29uZGl0aW9uIGFsaWFzZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjE3NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3AgQ2hlY2tlZExvY2sgLyBD
aGVja2VkQ29uZGl0aW9uIGFsaWFzZXMgbm93IHRoYXQgdGhleSBhcmUgdGhlIGRlZmF1bHQuCisK
KyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUdyYXBoaWNzQ29udGV4dEdMLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlR3JhcGhpY3NDb250ZXh0R0w6OnBhaW50UGl4ZWxC
dWZmZXJUb0ltYWdlQnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJS
VENDb2RlY3NQcm94eS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFn
ZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9JbmRleGVkREIvV2ViSURCU2VydmVyLmNw
cDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuaDoKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcDoKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9MYXVuY2hTZXJ2aWNlc0RhdGFiYXNlT2JzZXJ2ZXIuaDoK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9nbGliL0ROU0NhY2hlLmg6CisgICAgICAgICogUGxh
dGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0
aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL1N0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUu
aDoKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvU3RyZWFtU2VydmVyQ29ubmVjdGlvbi5oOgorICAg
ICAgICAqIFNoYXJlZC9CbG9ja2luZ1Jlc3BvbnNlTWFwLmg6CisgICAgICAgICogU2hhcmVkL0Nv
Y29hL1hQQ0VuZHBvaW50Q2xpZW50Lmg6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5oOgorICAgICAgICAq
IFNoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFGb3JtYXRSZWFkZXIuaDoKKyAgICAg
ICAgKiBTaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhU2FtcGxlQ3Vyc29yLmg6Cisg
ICAgICAgICogU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYVRyYWNrUmVhZGVyLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL0ljb25EYXRhYmFzZS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJVUkxTY2hlbWVUYXNrLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9E
aXNwbGF5TGluay5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcubW06
CisgICAgICAgICgtW1dLUHJpbnRpbmdWaWV3IGtub3dzUGFnZVJhbmdlOl0pOgorICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5jcHA6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvVmlld1VwZGF0ZURpc3BhdGNoZXIuaDoKKwogMjAyMS0wNS0yMyAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgQ2hlY2tlZExvY2sgdGhl
IGRlZmF1bHQgTG9jawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZwppbmRleCA3MzZjZTdiMzMzZWIyZmZlMTMx
NDc5MTBkNGVkODQ2NjJkNDEzOGVkLi5iNzBkMDliYzFiYTUzNWZjYTViZjNmYWQ1N2VlNTk2YjBj
ZjhmM2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA1LTI0
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBDaGVja2Vk
TG9jayAvIENoZWNrZWRDb25kaXRpb24gYWxpYXNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MTc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcCBDaGVja2VkTG9jayAvIENoZWNrZWRDb25kaXRp
b24gYWxpYXNlcyBub3cgdGhhdCB0aGV5IGFyZSB0aGUgZGVmYXVsdC4KKworICAgICAgICAqIFN0
b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmg6CisKIDIwMjEtMDUtMjIgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXBsYWNlIExvY2tIb2xkZXIgd2l0aCBMb2NrZXIg
aW4gbG9jYWwgdmFyaWFibGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggNmY2YmI3
MzM4MmNkMmU1N2M3ZDk0ZTdkMTE4MGRhMzFlOTQ3YjkyOC4uNDM4YjdhOTAxMWQ4NGJlNmVmNTg2
ZjYxMjMwNjg3MDk0OGM4NjAxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDIxLTA1LTI0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisK
KyAgICAgICAgRHJvcCBDaGVja2VkTG9jayAvIENoZWNrZWRDb25kaXRpb24gYWxpYXNlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MTc2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHJvcCBDaGVja2Vk
TG9jayAvIENoZWNrZWRDb25kaXRpb24gYWxpYXNlcyBub3cgdGhhdCB0aGV5IGFyZSB0aGUgZGVm
YXVsdC4KKworICAgICAgICAqIERPTS9ET01JbnRlcm5hbC5tbToKKwogMjAyMS0wNS0yMyAgU2Ft
IFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQ29udmVydCBEZXN0aW5hdGlv
bkNvbG9yU3BhY2UgZnJvbSBhbiBlbnVtIHRvIGNsYXNzIHdyYXBwaW5nIGEgcGxhdGZvcm0gY29s
b3Igc3BhY2UgKENHQ29sb3JTcGFjZVJlZiBmb3IgQ0cgcG9ydHMsIGV0Yy4pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmlydHVhbE1hY2hpbmUubW0gYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTVmlydHVhbE1hY2hpbmUubW0KaW5kZXggZjYxMzQ5OGFjODJj
N2NmOTMxNmQzODYyYmI3NmFlMGI0OWMxMzE4My4uMGUyNDg5YzIzNzEzYWYxM2QzMWEzNjRkODBi
MDA1ZDVjNWU2NmIxZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1Zp
cnR1YWxNYWNoaW5lLm1tCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWaXJ0dWFs
TWFjaGluZS5tbQpAQCAtMzgsMTIgKzM4LDEyIEBACiAjaW1wb3J0ICJTaWdpbGxDcmFzaEFuYWx5
emVyLmgiCiAjaW1wb3J0ICJTbG90VmlzaXRvcklubGluZXMuaCIKICNpbXBvcnQgPG11dGV4Pgot
I2ltcG9ydCA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW1wb3J0IDx3dGYvTG9jay5oPgogI2ltcG9y
dCA8d3RmL1JldGFpblB0ci5oPgogCiBzdGF0aWMgTlNNYXBUYWJsZSAqZ2xvYmFsV3JhcHBlckNh
Y2hlID0gMDsKIAotc3RhdGljIENoZWNrZWRMb2NrIHdyYXBwZXJDYWNoZU11dGV4Oworc3RhdGlj
IExvY2sgd3JhcHBlckNhY2hlTXV0ZXg7CiAKIHN0YXRpYyB2b2lkIGluaXRXcmFwcGVyQ2FjaGUo
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQ1ZpcnR1
YWxNYWNoaW5lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvZ2xpYi9KU0NWaXJ0dWFs
TWFjaGluZS5jcHAKaW5kZXggNTEwNWQyNzcwZmRkYWQ3ZGIzZDAxMTkyMzhiMzIyMmUwNzZhZGQ4
ZC4uZjU5ODZlMGI4NzkxZWIzM2EwMTJmYzMwNGQyNTM2MzA2ZWQ5OTE4MCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9nbGliL0pTQ1ZpcnR1YWxNYWNoaW5lLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL2dsaWIvSlNDVmlydHVhbE1hY2hpbmUuY3BwCkBA
IC0yMyw4ICsyMyw4IEBACiAjaW5jbHVkZSAiSlNDQ29udGV4dFByaXZhdGUuaCIKICNpbmNsdWRl
ICJKU0NWaXJ0dWFsTWFjaGluZVByaXZhdGUuaCIKICNpbmNsdWRlICJKU0NvbnRleHRSZWYuaCIK
LSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgor
I2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAj
aW5jbHVkZSA8d3RmL2dsaWIvV1RGR1R5cGUuaD4KIApAQCAtNDksNyArNDksNyBAQCBzdHJ1Y3Qg
X0pTQ1ZpcnR1YWxNYWNoaW5lUHJpdmF0ZSB7CiAKIFdFQktJVF9ERUZJTkVfVFlQRShKU0NWaXJ0
dWFsTWFjaGluZSwganNjX3ZpcnR1YWxfbWFjaGluZSwgR19UWVBFX09CSkVDVCkKIAotc3RhdGlj
IENoZWNrZWRMb2NrIHdyYXBwZXJDYWNoZU11dGV4Oworc3RhdGljIExvY2sgd3JhcHBlckNhY2hl
TXV0ZXg7CiAKIHN0YXRpYyBIYXNoTWFwPEpTQ29udGV4dEdyb3VwUmVmLCBKU0NWaXJ0dWFsTWFj
aGluZSo+JiB3cmFwcGVyTWFwKCkgV1RGX1JFUVVJUkVTX0xPQ0sod3JhcHBlckNhY2hlTXV0ZXgp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJl
U3R1YkluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHVi
SW5mby5oCmluZGV4IGViMzY1NmZjYmQ1NTA1NmFiYjZmYzU1OTg5ZDFmZDY5MWFmZjBkZGMuLjg4
MjU2OGMyNmVhZDYyZTQwZWFlN2YyNzA4MGYwOTIxZWRlYzc2NDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5oCkBAIC0zOCw3ICsz
OCw3IEBACiAjaW5jbHVkZSAiU3RydWN0dXJlU3R1YkNsZWFyaW5nV2F0Y2hwb2ludC5oIgogI2lu
Y2x1ZGUgIlN0dWJJbmZvU3VtbWFyeS5oIgogI2luY2x1ZGUgPHd0Zi9Cb3guaD4KLSNpbmNsdWRl
IDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKIApAQCAtMzkyLDcgKzM5Miw3IEBAIHB1YmxpYzoKICAgICBib29sIHByb3BlcnR5SXNJ
bnQzMiA6IDE7CiAgICAgYm9vbCBwcm9wZXJ0eUlzU3ltYm9sIDogMTsKIHByaXZhdGU6Ci0gICAg
Q2hlY2tlZExvY2sgbV9idWZmZXJlZFN0cnVjdHVyZXNMb2NrOworICAgIExvY2sgbV9idWZmZXJl
ZFN0cnVjdHVyZXNMb2NrOwogfTsKIAogaW5saW5lIENvZGVPcmlnaW4gZ2V0U3RydWN0dXJlU3R1
YkluZm9Db2RlT3JpZ2luKFN0cnVjdHVyZVN0dWJJbmZvJiBzdHJ1Y3R1cmVTdHViSW5mbykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdXBlclNhbXBsZXIuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N1cGVyU2FtcGxlci5jcHAKaW5kZXgg
ZjZlZGI4NDY4NGQ1ZjUyOGZkNjhhZmFhMDE1NGZjZDg1MjdiZWYyNS4uYzc3NzUzZWIxYzcyZjRm
YmFjYTk4NGVkYjRkODgyYTI1ZWYwMmIyNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1N1cGVyU2FtcGxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1N1cGVyU2FtcGxlci5jcHAKQEAgLTI3LDggKzI3LDggQEAKICNpbmNsdWRlICJT
dXBlclNhbXBsZXIuaCIKIAogI2luY2x1ZGUgIk9wdGlvbnMuaCIKLSNpbmNsdWRlIDx3dGYvQ2hl
Y2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvRGF0YUxvZy5oPgorI2luY2x1ZGUgPHd0Zi9Mb2Nr
Lmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTM2
LDcgKzM2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiB2b2xhdGlsZSB1aW50MzJfdCBnX3N1cGVyU2Ft
cGxlckNvdW50Owogdm9sYXRpbGUgYm9vbCBnX3N1cGVyU2FtcGxlckVuYWJsZWQ7CiAKLXN0YXRp
YyBDaGVja2VkTG9jayBsb2NrOworc3RhdGljIExvY2sgbG9jazsKIHN0YXRpYyBkb3VibGUgaW4g
V1RGX0dVQVJERURfQllfTE9DSyhsb2NrKTsKIHN0YXRpYyBkb3VibGUgb3V0IFdURl9HVUFSREVE
X0JZX0xPQ0sobG9jayk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQ29tbW9uRGF0YS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbkRh
dGEuY3BwCmluZGV4IDk3MWY4YjA1YTg3ZTQ1NjY2NTZhOWYxM2E5OWQ4OGQ2ZjBhMjcwOTYuLmIx
ZmVhNjYzZWM5ZTQ0MWE3NDdmYjMzNmE0Njk3NzFkNWYwMTFhMzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uRGF0YS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDb21tb25EYXRhLmNwcApAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1
ZGUgIklubGluZUNhbGxGcmFtZS5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxpbmVzLmgiCiAj
aW5jbHVkZSAiVHJhY2tlZFJlZmVyZW5jZXMuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2su
aD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5o
PgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CkBAIC00NSw3ICs0NSw3IEBAIHZv
aWQgQ29tbW9uRGF0YTo6c2hyaW5rVG9GaXQoKQogICAgIG1fanVtcFJlcGxhY2VtZW50cy5zaHJp
bmtUb0ZpdCgpOwogfQogCi1zdGF0aWMgQ2hlY2tlZExvY2sgcGNDb2RlQmxvY2tNYXBMb2NrOwor
c3RhdGljIExvY2sgcGNDb2RlQmxvY2tNYXBMb2NrOwogaW5saW5lIEhhc2hNYXA8dm9pZCosIENv
ZGVCbG9jayo+JiBwY0NvZGVCbG9ja01hcCgpIFdURl9SRVFVSVJFU19MT0NLKHBjQ29kZUJsb2Nr
TWFwTG9jaykKIHsKICAgICBzdGF0aWMgTGF6eU5ldmVyRGVzdHJveWVkPEhhc2hNYXA8dm9pZCos
IENvZGVCbG9jayo+PiBwY0NvZGVCbG9ja01hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHUGxhbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFu
LmgKaW5kZXggYzFlYjcxMmEyODYxNjE3MDJjYmJjOGRiODAxMzMyODI5NTAxNzI5Yi4uZGZjNzk2
NmUwNjliNDUzNGE1MzI5MDYzMjkzMTRmMjYxOWFiMmQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQbGFuLmgKQEAgLTM4LDggKzM4LDggQEAKICNpbmNsdWRlICJPcGVyYW5kcy5oIgogI2lu
Y2x1ZGUgIlByb2ZpbGVyQ29tcGlsYXRpb24uaCIKICNpbmNsdWRlICJSZWNvcmRlZFN0YXR1c2Vz
LmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291
bnRlZC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTEzOSw3ICsxMzksNyBAQCBwcml2YXRlOgog
CiAgICAgT3BlcmFuZHM8T3B0aW9uYWw8SlNWYWx1ZT4+IG1fbXVzdEhhbmRsZVZhbHVlczsKICAg
ICBib29sIG1fbXVzdEhhbmRsZVZhbHVlc01heUluY2x1ZGVHYXJiYWdlIFdURl9HVUFSREVEX0JZ
X0xPQ0sobV9tdXN0SGFuZGxlVmFsdWVDbGVhbmluZ0xvY2spIHsgdHJ1ZSB9OwotICAgIENoZWNr
ZWRMb2NrIG1fbXVzdEhhbmRsZVZhbHVlQ2xlYW5pbmdMb2NrOworICAgIExvY2sgbV9tdXN0SGFu
ZGxlVmFsdWVDbGVhbmluZ0xvY2s7CiAKICAgICBib29sIG1fd2lsbFRyeVRvVGllclVwIHsgZmFs
c2UgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9E
aXNhc3NlbWJsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9EaXNh
c3NlbWJsZXIuY3BwCmluZGV4IDdiNmM4OTM1NzkyYTMwYjA1MjhmNTNiODcxYzdlMzE2NzhlNjE3
ZDguLjBkMDc1MWIxMTk4YTk2ZGU4ZThjYWMwNDllNmI0YjlkZmQwNDNiNjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvRGlzYXNzZW1ibGVyLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0Rpc2Fzc2VtYmxlci5jcHAKQEAg
LTI3LDEwICsyNywxMCBAQAogI2luY2x1ZGUgIkRpc2Fzc2VtYmxlci5oIgogCiAjaW5jbHVkZSAi
TWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRDb25kaXRpb24u
aD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvQ29uZGl0aW9u
Lmg+CiAjaW5jbHVkZSA8d3RmL0RhdGFMb2cuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KKyNp
bmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApAQCAtMTA5LDggKzEwOSw4IEBAIHByaXZhdGU6CiAg
ICAgICAgIH0KICAgICB9CiAgICAgCi0gICAgQ2hlY2tlZExvY2sgbV9sb2NrOwotICAgIENoZWNr
ZWRDb25kaXRpb24gbV9jb25kaXRpb247CisgICAgTG9jayBtX2xvY2s7CisgICAgQ29uZGl0aW9u
IG1fY29uZGl0aW9uOwogICAgIERlcXVlPHN0ZDo6dW5pcXVlX3B0cjxEaXNhc3NlbWJseVRhc2s+
PiBtX3F1ZXVlIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKICAgICBib29sIG1fd29ya2lu
ZyB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
QmxvY2tEaXJlY3RvcnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQmxvY2tEaXJl
Y3RvcnkuY3BwCmluZGV4IGFkYjc1N2UzZDYwNTg0NjU1OWZhMWYyOTZjMzc5ZjA5YjJhMjg5MmUu
LmUyYTM1NDBmODZkMmQyNjYyY2M1NmE4ODVmZDMyYjlmM2M2NWFiYTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0Jsb2NrRGlyZWN0b3J5LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaGVhcC9CbG9ja0RpcmVjdG9yeS5jcHAKQEAgLTMxLDggKzMxLDggQEAK
ICNpbmNsdWRlICJTdWJzcGFjZUlubGluZXMuaCIKICNpbmNsdWRlICJTdXBlclNhbXBsZXIuaCIK
IAotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvblRy
YWl0cy5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1NpbXBsZVN0YXRz
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtMzQ2LDcgKzM0Niw3IEBAIFJlZlB0cjxTaGFyZWRU
YXNrPE1hcmtlZEJsb2NrOjpIYW5kbGUqKCk+PiBCbG9ja0RpcmVjdG9yeTo6cGFyYWxsZWxOb3RF
bXB0eUJsb2NrCiAgICAgcHJpdmF0ZToKICAgICAgICAgQmxvY2tEaXJlY3RvcnkmIG1fZGlyZWN0
b3J5IFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKICAgICAgICAgc2l6ZV90IG1faW5kZXgg
V1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsgMCB9OwotICAgICAgICBDaGVja2VkTG9jayBt
X2xvY2s7CisgICAgICAgIExvY2sgbV9sb2NrOwogICAgICAgICBib29sIG1fZG9uZSB7IGZhbHNl
IH07CiAgICAgfTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L0hlYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaAppbmRleCA2OGQ5MDc0
ZmRmM2Q4ZWE4ZjQ4N2IwNjQ4N2I4MGQ3YTJiMWI4MDMxLi5hYjI4NDhmOGNjNjM5NDI4ODgxNmI4
NzE4OGI5Yzg2YzMxODhhNGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9IZWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCkBAIC00Miwx
MSArNDIsMTEgQEAKICNpbmNsdWRlICJTeW5jaHJvbm91c25lc3MuaCIKICNpbmNsdWRlICJXZWFr
SGFuZGxlT3duZXIuaCIKICNpbmNsdWRlIDx3dGYvQXV0b21hdGljVGhyZWFkLmg+Ci0jaW5jbHVk
ZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0NvbmN1cnJlbnRQdHJIYXNoU2V0
Lmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hDb3VudGVkU2V0
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2lu
Y2x1ZGUgPHd0Zi9NYXJrYWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXJhbGxlbEhlbHBlclBvb2wu
aD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBAIC02NTcsNyArNjU3LDcgQEAgcHJpdmF0
ZToKICAgICBDRmluYWxpemVyT3duZXIgbV9jRmluYWxpemVyT3duZXI7CiAgICAgTGFtYmRhRmlu
YWxpemVyT3duZXIgbV9sYW1iZGFGaW5hbGl6ZXJPd25lcjsKICAgICAKLSAgICBDaGVja2VkTG9j
ayBtX3BhcmFsbGVsU2xvdFZpc2l0b3JMb2NrOworICAgIExvY2sgbV9wYXJhbGxlbFNsb3RWaXNp
dG9yTG9jazsKICAgICBib29sIG1faXNTYWZlVG9Db2xsZWN0IHsgZmFsc2UgfTsKICAgICBib29s
IG1faXNTaHV0dGluZ0Rvd24geyBmYWxzZSB9OwogICAgIGJvb2wgbV9tdXRhdG9yU2hvdWxkQmVG
ZW5jZWQgeyBPcHRpb25zOjpmb3JjZUZlbmNlZEJhcnJpZXIoKSB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNvU3Vic3BhY2VQZXJWTS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvSXNvU3Vic3BhY2VQZXJWTS5oCmluZGV4IGE5NmMyOTc5NTZlNzI5ZTRh
ZjRiMWViNDEzM2FjODk2NjUxNzc0ZjEuLmJhNzcxZjY0MWIxMDJmNTU4OTMyODc3NDQ1M2U5MTM4
ZDE1ZTFkYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb1N1YnNw
YWNlUGVyVk0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Jc29TdWJzcGFjZVBl
clZNLmgKQEAgLTI2LDkgKzI2LDkgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiSXNvU3Vi
c3BhY2UuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvRnVu
Y3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+
CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC02Miw3ICs2Miw3IEBAIHByaXZhdGU6CiAgICAgY2xh
c3MgQXV0b3JlbW92aW5nSXNvU3Vic3BhY2U7CiAgICAgZnJpZW5kIGNsYXNzIEF1dG9yZW1vdmlu
Z0lzb1N1YnNwYWNlOwogCi0gICAgQ2hlY2tlZExvY2sgbV9sb2NrOworICAgIExvY2sgbV9sb2Nr
OwogICAgIEhhc2hNYXA8Vk0qLCBJc29TdWJzcGFjZSo+IG1fc3Vic3BhY2VQZXJWTSBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fbG9jayk7CiAgICAgRnVuY3Rpb248U3Vic3BhY2VQYXJhbWV0ZXJzKFZN
Jik+IG1fc3Vic3BhY2VQYXJhbWV0ZXJzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JDb25uZWN0aW9u
Q2xpZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQv
UmVtb3RlSW5zcGVjdG9yQ29ubmVjdGlvbkNsaWVudC5oCmluZGV4IGU4NDZmZjNmZDk5MjNjOWVh
NjllZWNkODkzZWM4MzMyY2UyNWQ2NDIuLjI1ZjFmOGNjZTc1NmMwNTQ4MmY0OWJkMGY1MWMzNmZj
NjhlZDBlNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVt
b3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JDb25uZWN0aW9uQ2xpZW50LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvckNv
bm5lY3Rpb25DbGllbnQuaApAQCAtMzAsOSArMzAsOSBAQAogI2luY2x1ZGUgIlJlbW90ZUNvbnRy
b2xsYWJsZVRhcmdldC5oIgogI2luY2x1ZGUgIlJlbW90ZUluc3BlY3Rvck1lc3NhZ2VQYXJzZXIu
aCIKICNpbmNsdWRlICJSZW1vdGVJbnNwZWN0b3JTb2NrZXRFbmRwb2ludC5oIgotI2luY2x1ZGUg
PHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL0pTT05WYWx1ZXMuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTY2LDcgKzY2LDcg
QEAgcHJvdGVjdGVkOgogICAgIHN0YXRpYyBPcHRpb25hbDxFdmVudD4gZXh0cmFjdEV2ZW50KENv
bm5lY3Rpb25JRCwgVmVjdG9yPHVpbnQ4X3Q+JiYpOwogCiAgICAgSGFzaE1hcDxDb25uZWN0aW9u
SUQsIE1lc3NhZ2VQYXJzZXI+IG1fcGFyc2VycyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcGFyc2Vy
c0xvY2spOwotICAgIENoZWNrZWRMb2NrIG1fcGFyc2Vyc0xvY2s7CisgICAgTG9jayBtX3BhcnNl
cnNMb2NrOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlZDNlN2U0YTRkZjZiYmYwMmQxODkwYzM4MGM4
NjgyMjY1OTNkNmE5Li4zODI0MWJiNjA5ODgyYzU5ZTMyNzdiMjUyZmMxMDFmMTRhZDM5MmRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ1Nyw4ICs0NTcs
NiBAQAogCQk3QUZFQzZBRTFFQjIyQUM2MDBEQURFMzYgLyogVVVJRC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBVVUlELmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTdBRkVDNkIwMUVCMjJCNTkwMERBREUzNiAvKiBVVUlELmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFVVSUQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3QjI3MzlEQzI2MjREQUFBMDA0MEYxODIgLyogVGhyZWFkU2FmZXR5QW5hbHlzaXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gVGhyZWFkU2FmZXR5QW5hbHlzaXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJN0IyNzM5REQyNjI0REFDMzAwNDBGMTgyIC8qIENoZWNrZWRMb2NrLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENoZWNrZWRMb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdC
MjczOUYwMjYzMTc5QzMwMDQwRjE4MiAvKiBDaGVja2VkQ29uZGl0aW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENoZWNrZWRDb25kaXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0Iy
NzM5RjEyNjMyQTg5NDAwNDBGMTgyIC8qIFRocmVhZEFzc2VydGlvbnMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVGhyZWFkQXNzZXJ0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzEz
Nzk0MTIyMjMyNkM3MDBEN0E4MjQgLyogQVVUSE9SUyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBVVRIT1JTOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3QzEzNzk0MjIyMjMyNkQ1MDBEN0E4MjQgLyogaWVlZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBpZWVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05ODUs
OCArOTgzLDYgQEAKIAkJCQk0MTNGRThGNTFGOEQyRUFCMDBGNkQ3RDcgLyogQ2FsbGJhY2tBZ2dy
ZWdhdG9yLmggKi8sCiAJCQkJQThBNDcyNkExNTFBODI1QTAwNDEyM0ZGIC8qIENoZWNrZWRBcml0
aG1ldGljLmggKi8sCiAJCQkJQThBNDcyNkIxNTFBODI1QTAwNDEyM0ZGIC8qIENoZWNrZWRCb29s
ZWFuLmggKi8sCi0JCQkJN0IyNzM5RjAyNjMxNzlDMzAwNDBGMTgyIC8qIENoZWNrZWRDb25kaXRp
b24uaCAqLywKLQkJCQk3QjI3MzlERDI2MjREQUMzMDA0MEYxODIgLyogQ2hlY2tlZExvY2suaCAq
LywKIAkJCQkwRjY2QjI4MDFEQzk3QkFCMDA0QTFEM0YgLyogQ2xvY2tUeXBlLmNwcCAqLywKIAkJ
CQkwRjY2QjI4MTFEQzk3QkFCMDA0QTFEM0YgLyogQ2xvY2tUeXBlLmggKi8sCiAJCQkJMEZDNEVE
RTUxNjk2MTQ5NjAwRjY1MDQxIC8qIENvbW1hUHJpbnRlci5oICovLApAQCAtMTA5Nyw2ICsxMDkz
LDggQEAKIAkJCQlDMkJDRkMzRTFGNjFEMTMwMDBDOTIyMkMgLyogTGFuZ3VhZ2UuY3BwICovLAog
CQkJCUMyQkNGQzNGMUY2MUQxMzAwMEM5MjIyQyAvKiBMYW5ndWFnZS5oICovLAogCQkJCTUzOUVC
MDYyMUQ1NTI4NDIwMEM4MkVGNyAvKiBMRUJEZWNvZGVyLmggKi8sCisJCQkJMzM3QjJENjgyNjU0
NkVBQTAwRERGRDNEIC8qIExpa2VseURlbnNlVW5zaWduZWRJbnRlZ2VyU2V0LmNwcCAqLywKKwkJ
CQkzMzdCMkQ2OTI2NTQ2RUFBMDBEREZEM0QgLyogTGlrZWx5RGVuc2VVbnNpZ25lZEludGVnZXJT
ZXQuaCAqLywKIAkJCQlBNzBEQTA4MzE3OTlGMDREMDA1MjlBOUIgLyogTGlzdER1bXAuaCAqLywK
IAkJCQlBOEE0NzJDMTE1MUE4MjVBMDA0MTIzRkYgLyogTGlzdEhhc2hTZXQuaCAqLywKIAkJCQkw
RkY0QjRDNDFFODg5MzlDMDBEQkJFODYgLyogTGl2ZW5lc3MuaCAqLywKQEAgLTEyNTEsOCArMTI0
OSw2IEBACiAJCQkJQThBNDczMEMxNTFBODI1QjAwNDEyM0ZGIC8qIFNpemVMaW1pdHMuY3BwICov
LAogCQkJCTBGQTZGMzkyMjBDQzczQTIwMEEwM0RDRCAvKiBTbWFsbFNldC5jcHAgKi8sCiAJCQkJ
NzkzNkQ2QTkxQzk5RjhBRTAwMEQxQUVEIC8qIFNtYWxsU2V0LmggKi8sCi0JCQkJMzM3QjJENjgy
NjU0NkVBQTAwRERGRDNEIC8qIExpa2VseURlbnNlVW5zaWduZWRJbnRlZ2VyU2V0LmNwcCAqLywK
LQkJCQkzMzdCMkQ2OTI2NTQ2RUFBMDBEREZEM0QgLyogTGlrZWx5RGVuc2VVbnNpZ25lZEludGVn
ZXJTZXQuaCAqLywKIAkJCQlBMzBENDEyRDFGMERFMTNGMDBCNzE5NTQgLyogU29mdExpbmtpbmcu
aCAqLywKIAkJCQk5MzE1NkM4RDI2MkM5ODIyMDBFQUUyN0IgLyogU29ydGVkQXJyYXlNYXAuaCAq
LywKIAkJCQk3OTAzOEUwNTIyNEIwNUE3MDA0QzA3MzggLyogU3Bhbm5pbmdUcmVlLmggKi8sCkBA
IC0xNzA3LDcgKzE3MDMsNiBAQAogCQkJCUE4QTQ3M0I1MTUxQTgyNUIwMDQxMjNGRiAvKiBmaXhl
ZC1kdG9hLmNjIGluIFNvdXJjZXMgKi8sCiAJCQkJMUExRDhCOUUxNzMxODc5ODAwMTQxREE0IC8q
IEZ1bmN0aW9uRGlzcGF0Y2hlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjVCRjE3NjFGMjNE
NDlBMDAyOUQ5MUQgLyogR2lnYWNhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMzM3QjJENkEy
NjU0NkVCMzAwRERGRDNEIC8qIExpa2VseURlbnNlVW5zaWduZWRJbnRlZ2VyU2V0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMzBCQTkwMUU3ODcwOEUwMDJDQTg0NyAvKiBHbG9iYWxWZXJzaW9u
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJDQ0Q4OTJBMTVDMDM5MDIwMDI4NTA4MyAvKiBHcmVn
b3JpYW5EYXRlVGltZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNEODE1MUE4MjVCMDA0
MTIzRkYgLyogSGFzaFRhYmxlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTcxOCw2ICsxNzEzLDcg
QEAKIAkJCQlDMkJDRkM0MDFGNjFEMTMwMDBDOTIyMkMgLyogTGFuZ3VhZ2UuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQzJCQ0ZDNDIxRjYxRDYxNjAwQzkyMjJDIC8qIExhbmd1YWdlQ0YuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMUM1MDNCRTYyM0FBRTBBRTAwNzJFNjZCIC8qIExhbmd1YWdlQ29j
b2EubW0gaW4gU291cmNlcyAqLywKKwkJCQkzMzdCMkQ2QTI2NTQ2RUIzMDBEREZEM0QgLyogTGlr
ZWx5RGVuc2VVbnNpZ25lZEludGVnZXJTZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTNCOEU0
MUQyNEU3Q0U5MjAwMzY1NUQ4IC8qIExpbmVCcmVha0l0ZXJhdG9yUG9vbElDVS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlDMkJDRkM1NTFGNjIxRjNGMDBDOTIyMkMgLyogTGluZUVuZGluZy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwRkUxNjQ2QTFCNkZGQzk2MDA0MDBFN0MgLyogTG9jay5jcHAg
aW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuY3Bw
IGIvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5jcHAKaW5kZXggMGRmMzA4MzJiYmI0ZTUxYWVk
Y2I1OGQ2N2M0ZmE3MGEyNjVlZWYwZS4uNWEwYzdlNzg5MzljMmE4MTUwOGNjZTY5YzhlZTE2YzAw
Y2JkM2MwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5jcHAKKysrIGIv
U291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5jcHAKQEAgLTMxLDggKzMxLDggQEAKICNpbmNsdWRl
IDxtdXRleD4KICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgotI2luY2x1
ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Db21waWxlci5oPgorI2luY2x1
ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2tlci5oPgogI2luY2x1ZGUgPHd0Zi9M
b2dnaW5nQWNjdW11bGF0b3IuaD4KICNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KQEAgLTM2
OCw3ICszNjgsNyBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGdldEFuZFJlc2V0QWNjdW11bGF0ZWRM
b2dzKCk7CiAKIHByaXZhdGU6Ci0gICAgQ2hlY2tlZExvY2sgYWNjdW11bGF0b3JMb2NrOworICAg
IExvY2sgYWNjdW11bGF0b3JMb2NrOwogICAgIFN0cmluZ0J1aWxkZXIgbG9nZ2luZ0FjY3VtdWxh
dG9yIFdURl9HVUFSREVEX0JZX0xPQ0soYWNjdW11bGF0b3JMb2NrKTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93dGYvQ01ha2VM
aXN0cy50eHQKaW5kZXggYWMzZTI5MzU5NmI2MjU4OTVjOTdmN2RmYjk2MTFlMDliYWNmYjc2ZS4u
NWU3YmNjNzQwOWU1ZmJkMTYwNDMwMjdkZDQwZWZjYjhhYjUyOWM3NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0
cy50eHQKQEAgLTI4LDggKzI4LDYgQEAgc2V0KFdURl9QVUJMSUNfSEVBREVSUwogICAgIENhbGxi
YWNrQWdncmVnYXRvci5oCiAgICAgQ2hlY2tlZEFyaXRobWV0aWMuaAogICAgIENoZWNrZWRCb29s
ZWFuLmgKLSAgICBDaGVja2VkQ29uZGl0aW9uLmgKLSAgICBDaGVja2VkTG9jay5oCiAgICAgQ2xv
Y2tUeXBlLmgKICAgICBDb21tYVByaW50ZXIuaAogICAgIENvbXBhY3RQb2ludGVyVHVwbGUuaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ2hlY2tlZENvbmRpdGlvbi5oIGIvU291cmNlL1dU
Ri93dGYvQ2hlY2tlZENvbmRpdGlvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAx
MDZiYmEyMmQwYTYxN2IwZGYwNGIyNzJmOGNhMmQwYjYxY2JhMGI2Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XVEYvd3RmL0NoZWNrZWRDb25k
aXRpb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgPHd0
Zi9Db25kaXRpb24uaD4KLQotbmFtZXNwYWNlIFdURiB7Ci0KLS8vIEZJWE1FOiBVcGRhdGUgY29k
ZSBiYXNlIHRvIHVzZSBDb25kaXRpb24gYW5kIHJlbW92ZSB0aGlzIGhlYWRlci4KLXVzaW5nIENo
ZWNrZWRDb25kaXRpb24gPSBDb25kaXRpb247Ci0KLX0gLy8gbmFtZXNwYWNlIFdURgotCi11c2lu
ZyBXVEY6OkNoZWNrZWRDb25kaXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DaGVj
a2VkTG9jay5oIGIvU291cmNlL1dURi93dGYvQ2hlY2tlZExvY2suaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggOTRhOTgxZDc4ODE5NjA2MWU1Mzc2ZDNjNDJlYWEyNGIwYjQyZDE4Ni4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9DaGVja2VkTG9jay5oCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0j
aW5jbHVkZSA8d3RmL0xvY2suaD4KLQotbmFtZXNwYWNlIFdURiB7Ci0KLS8vIEZJWE1FOiBVcGRh
dGUgY29kZSBiYXNlIHRvIHVzZSBMb2NrIGFuZCByZW1vdmUgdGhpcyBoZWFkZXIuCi11c2luZyBD
aGVja2VkTG9jayA9IExvY2s7Ci0KLX0gLy8gbmFtZXNwYWNlIFdURgotCi11c2luZyBXVEY6OkNo
ZWNrZWRMb2NrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ3Jvc3NUaHJlYWRRdWV1ZS5o
IGIvU291cmNlL1dURi93dGYvQ3Jvc3NUaHJlYWRRdWV1ZS5oCmluZGV4IGJiMWRlNjk1ZmYyYzUx
ZjM5N2I0NzZkZTJkYWY5OGYxODdjZTdkYmYuLjg3MjlhNmFkOWVhZTY5ZjNiNDRmYjU1MDQwZjM4
OWZiYWI3MDljZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Nyb3NzVGhyZWFkUXVldWUu
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Dcm9zc1RocmVhZFF1ZXVlLmgKQEAgLTI3LDggKzI3LDcg
QEAKIAogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2Nr
Lmg+CisjaW5jbHVkZSA8d3RmL0NvbmRpdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgog
I2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CkBAIC01
Myw5ICs1Miw5IEBAIHB1YmxpYzoKICAgICBib29sIGlzRW1wdHkoKSBjb25zdDsKIAogcHJpdmF0
ZToKLSAgICBtdXRhYmxlIENoZWNrZWRMb2NrIG1fbG9jazsKKyAgICBtdXRhYmxlIExvY2sgbV9s
b2NrOwogICAgIERlcXVlPERhdGFUeXBlPiBtX3F1ZXVlIFdURl9HVUFSREVEX0JZX0xPQ0sobV9s
b2NrKTsKLSAgICBDaGVja2VkQ29uZGl0aW9uIG1fY29uZGl0aW9uOworICAgIENvbmRpdGlvbiBt
X2NvbmRpdGlvbjsKICAgICBib29sIG1fa2lsbGVkIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2Nr
KSB7IGZhbHNlIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Dcm9zc1RocmVh
ZFRhc2tIYW5kbGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9Dcm9zc1RocmVhZFRhc2tIYW5kbGVyLmgK
aW5kZXggYTBjOWQzNjIxYzdiZTQ4MWMyM2FjMGY5NjU1ZGQ3MDdjYzVkYWM4OS4uOGFmM2MyZmZi
MjdhYTVhNGVhNmU0ZTNlMGJjNzlhMDIzYjY0ODNlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvQ3Jvc3NUaHJlYWRUYXNrSGFuZGxlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0Nyb3NzVGhy
ZWFkVGFza0hhbmRsZXIuaApAQCAtMjUsOSArMjUsOSBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lu
Y2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Dcm9zc1RocmVhZFF1ZXVl
Lmg+CiAjaW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkVGFzay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2Nr
Lmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTU2
LDcgKzU2LDcgQEAgcHJpdmF0ZToKICAgICBBdXRvZHJhaW5lZFBvb2xGb3JSdW5Mb29wIG1fdXNl
QXV0b2RyYWluZWRQb29sIHsgQXV0b2RyYWluZWRQb29sRm9yUnVuTG9vcDo6RG9Ob3RVc2UgfTsK
IAogICAgIExvY2sgbV90YXNrVGhyZWFkQ3JlYXRpb25Mb2NrOwotICAgIENoZWNrZWRMb2NrIG1f
bWFpblRocmVhZFJlcGx5TG9jazsKKyAgICBMb2NrIG1fbWFpblRocmVhZFJlcGx5TG9jazsKICAg
ICBib29sIG1fbWFpblRocmVhZFJlcGx5U2NoZWR1bGVkIFdURl9HVUFSREVEX0JZX0xPQ0sobV9t
YWluVGhyZWFkUmVwbHlMb2NrKSB7IGZhbHNlIH07CiAKICAgICBDcm9zc1RocmVhZFF1ZXVlPENy
b3NzVGhyZWFkVGFzaz4gbV90YXNrUXVldWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9D
cnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9DcnlwdG9n
cmFwaGljYWxseVJhbmRvbU51bWJlci5jcHAKaW5kZXggMWU3NWFhOWIwZTVmMjRmZTAzNmEzMTI1
NDdiM2IzOTYxZmIyMGMxNS4uY2JhYjk2NWU5MjNiYTQzZjlhNTM5ODY2ZWQxNjNjZDRmNDI2YWM5
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1i
ZXIuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVy
LmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJh
bmRvbU51bWJlci5oPgogCiAjaW5jbHVkZSA8bXV0ZXg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRM
b2NrLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95
ZWQuaD4KICNpbmNsdWRlIDx3dGYvT1NSYW5kb21Tb3VyY2UuaD4KIApAQCAtNjQsNyArNjQsNyBA
QCBwcml2YXRlOgogICAgIGlubGluZSB1aW50OF90IGdldEJ5dGUoKTsKICAgICBpbmxpbmUgdWlu
dDMyX3QgZ2V0V29yZCgpOwogCi0gICAgQ2hlY2tlZExvY2sgbV9sb2NrOworICAgIExvY2sgbV9s
b2NrOwogICAgIEFSQzRTdHJlYW0gbV9zdHJlYW07CiAgICAgaW50IG1fY291bnQ7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9G
YXN0TWFsbG9jLmNwcAppbmRleCBjZjUyYjA1ZTQ4NzEwMjZjYzI3MGM2ODE5ZmExZWY1ZjZmYjZl
NmJlLi5lNGViODQzNWYxOWE5OThkZDI3ZTZkZjdlOGZhYmRlYzEzNWRlMmIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0
TWFsbG9jLmNwcApAQCAtMzksOCArMzksOCBAQAogCiAjaWYgRU5BQkxFKE1BTExPQ19IRUFQX0JS
RUFLRE9XTikKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2Vk
TG9jay5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4K
ICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvU2V0Rm9yU2Nv
cGUuaD4KICNpbmNsdWRlIDx3dGYvU3RhY2tTaG90Lmg+CkBAIC0zNzYsNyArMzc2LDcgQEAgcHJp
dmF0ZToKICAgICAgICAgfQogICAgIH07CiAKLSAgICBDaGVja2VkTG9jayBtX2xvY2s7CisgICAg
TG9jayBtX2xvY2s7CiAgICAgSGFzaE1hcDx2b2lkKiwgc3RkOjp1bmlxdWVfcHRyPE1hbGxvY1Np
dGVEYXRhPj4gbV9hZGRyZXNzTWFsbG9jU2l0ZURhdGEgV1RGX0dVQVJERURfQllfTE9DSyhtX2xv
Y2spOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTGFuZ3VhZ2UuY3BwIGIvU291
cmNlL1dURi93dGYvTGFuZ3VhZ2UuY3BwCmluZGV4IGJlNjI1OGQ4NTdlNTk4OGY5Njk4MzkwMjAy
YmNjOTNjM2MxNzgyMGYuLmU3ODE0ZDc0ZTk2YjY0NGM5ZmUzZjdlMTE3ZjFiNWNmYzFlZTZkYTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0xhbmd1YWdlLmNwcAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9MYW5ndWFnZS5jcHAKQEAgLTI2LDggKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlIDx3dGYvTGFuZ3VhZ2UuaD4KIAotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIApAQCAtMzcsNyArMzcsNyBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotc3RhdGljIENoZWNr
ZWRMb2NrIHByZWZlcnJlZExhbmd1YWdlc092ZXJyaWRlTG9jazsKK3N0YXRpYyBMb2NrIHByZWZl
cnJlZExhbmd1YWdlc092ZXJyaWRlTG9jazsKIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiYgcHJlZmVy
cmVkTGFuZ3VhZ2VzT3ZlcnJpZGUoKSBXVEZfUkVRVUlSRVNfTE9DSyhwcmVmZXJyZWRMYW5ndWFn
ZXNPdmVycmlkZUxvY2spCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxTdHJp
bmc+PiBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xvZ2dlci5jcHAgYi9T
b3VyY2UvV1RGL3d0Zi9Mb2dnZXIuY3BwCmluZGV4IGUwYjQ1MDY4OGZkNzgzOWZmNGNiYjI1ODk5
N2FkOGM0ZjI1NTU3NTAuLmM4ZDg2YzA0NWEzNWJiZmViMzEyNDczZmVlMzhjOWFkMjYyOWI0YTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0xvZ2dlci5jcHAKKysrIGIvU291cmNlL1dURi93
dGYvTG9nZ2VyLmNwcApAQCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotQ2hl
Y2tlZExvY2sgbG9nZ2VyT2JzZXJ2ZXJMb2NrOworTG9jayBsb2dnZXJPYnNlcnZlckxvY2s7CiAK
IFN0cmluZyBMb2dnZXI6OkxvZ1NpdGVJZGVudGlmaWVyOjp0b1N0cmluZygpIGNvbnN0CiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnZXIuaCBiL1NvdXJjZS9XVEYvd3RmL0xvZ2dl
ci5oCmluZGV4IDRmNTQ0N2RhMzE3ZWViMWIxOGQ2YzQ5OTVjM2VkMzlhODYzMzZiZTUuLmZhYmIw
OTUzYjU5MWIzNDA2OWVmY2ZhNjBlMmM2MzBmZTc4MjJhZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL0xvZ2dlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvZ2dlci5oCkBAIC0yNSw3ICsy
NSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+Cisj
aW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKQEAgLTExMiw3ICsxMTIs
NyBAQCBzdHJ1Y3QgQ29uc29sZUxvZ1ZhbHVlPEFyZ3VtZW50LCBmYWxzZT4gewogICAgIH0KIH07
CiAKLVdURl9FWFBPUlRfUFJJVkFURSBleHRlcm4gQ2hlY2tlZExvY2sgbG9nZ2VyT2JzZXJ2ZXJM
b2NrOworV1RGX0VYUE9SVF9QUklWQVRFIGV4dGVybiBMb2NrIGxvZ2dlck9ic2VydmVyTG9jazsK
IAogY2xhc3MgTG9nZ2VyIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPExvZ2dlcj4gewog
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvZ2dlcik7CkBAIC0zNjMsNyArMzYzLDcgQEAgcHJp
dmF0ZToKIAogICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgVmVjdG9yPHN0ZDo6cmVmZXJl
bmNlX3dyYXBwZXI8T2JzZXJ2ZXI+PiYgb2JzZXJ2ZXJzKCkgV1RGX1JFUVVJUkVTX0xPQ0sob2Jz
ZXJ2ZXJMb2NrKCkpOwogCi0gICAgc3RhdGljIENoZWNrZWRMb2NrJiBvYnNlcnZlckxvY2soKSBX
VEZfUkVUVVJOU19MT0NLKGxvZ2dlck9ic2VydmVyTG9jaykKKyAgICBzdGF0aWMgTG9jayYgb2Jz
ZXJ2ZXJMb2NrKCkgV1RGX1JFVFVSTlNfTE9DSyhsb2dnZXJPYnNlcnZlckxvY2spCiAgICAgewog
ICAgICAgICByZXR1cm4gbG9nZ2VyT2JzZXJ2ZXJMb2NrOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL01lc3NhZ2VRdWV1ZS5oIGIvU291cmNlL1dURi93dGYvTWVzc2FnZVF1ZXVl
LmgKaW5kZXggYzhmNGEzMzY5N2Y1Y2QzZTViNzViYWJiNjRkNTFkMzJjZTM0ZTQwOS4uMmNkMzg5
M2I3Y2NjMTk2NDA3MDkyNzE1NzIxMzVhNTRiMmQ4ZWFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvTWVzc2FnZVF1ZXVlLmgKKysrIGIvU291cmNlL1dURi93dGYvTWVzc2FnZVF1ZXVlLmgK
QEAgLTMxLDkgKzMxLDkgQEAKIAogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+Ci0jaW5jbHVkZSA8
d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0NvbmRpdGlvbi5oPgogI2luY2x1ZGUg
PHd0Zi9EZXF1ZS5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL01vbm90
b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIApAQCAtNzgsOCArNzgs
OCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgYm9vbCBpc0VtcHR5KCk7CiAKICAgICBwcml2
YXRlOgotICAgICAgICBtdXRhYmxlIENoZWNrZWRMb2NrIG1fbG9jazsKLSAgICAgICAgQ2hlY2tl
ZENvbmRpdGlvbiBtX2NvbmRpdGlvbjsKKyAgICAgICAgbXV0YWJsZSBMb2NrIG1fbG9jazsKKyAg
ICAgICAgQ29uZGl0aW9uIG1fY29uZGl0aW9uOwogICAgICAgICBEZXF1ZTxzdGQ6OnVuaXF1ZV9w
dHI8RGF0YVR5cGU+PiBtX3F1ZXVlIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKICAgICAg
ICAgYm9vbCBtX2tpbGxlZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CiAgICAgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL09TTG9nUHJpbnRTdHJlYW0uaCBiL1NvdXJjZS9XVEYv
d3RmL09TTG9nUHJpbnRTdHJlYW0uaAppbmRleCBkMGZmNTRiMzExNDFhNWM0OWU2MGJlMzYyYWEx
YjEwOTUxNTExYThkLi5kMDhkNTdhMTkwZDE1MmE2ZTBiZDczZjY1NTVmZjFiMzUzMzkwYmUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9PU0xvZ1ByaW50U3RyZWFtLmgKKysrIGIvU291cmNl
L1dURi93dGYvT1NMb2dQcmludFN0cmVhbS5oCkBAIC0yNyw3ICsyNyw3IEBACiAKICNpZiBPUyhE
QVJXSU4pCiAKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9j
ay5oPgogI2luY2x1ZGUgPHd0Zi9QcmludFN0cmVhbS5oPgogI2luY2x1ZGUgPHd0Zi9SZWN1cnNp
dmVMb2NrQWRhcHRlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTQ5LDcg
KzQ5LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBvc19sb2dfdCBtX2xvZzsKICAgICBvc19s
b2dfdHlwZV90IG1fbG9nVHlwZTsKLSAgICBDaGVja2VkTG9jayBtX3N0cmluZ0xvY2s7CisgICAg
TG9jayBtX3N0cmluZ0xvY2s7CiAgICAgLy8gV2UgbmVlZCBhIGJ1ZmZlciBiZWNhdXNlIG9zX2xv
ZyBkb2Vzbid0IHdhaXQgZm9yIGEgbmV3IGxpbmUgdG8gcHJpbnQgdGhlIGNoYXJhY3RlcnMuCiAg
ICAgQ1N0cmluZyBtX3N0cmluZyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fc3RyaW5nTG9jayk7CiAg
ICAgc2l6ZV90IG1fb2Zmc2V0IHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGFy
YWxsZWxKb2JzR2VuZXJpYy5oIGIvU291cmNlL1dURi93dGYvUGFyYWxsZWxKb2JzR2VuZXJpYy5o
CmluZGV4IDI5NTFhZjExMjJhYjc4ZDE5ZTdmNDAwZTc0YjMyMmU2ODE4ZGU0MzkuLjVhYTYxYjZk
ODA4NjUyZmJjZTkzNjdmM2VjMzE2ODQ4Y2RlZDkwMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1BhcmFsbGVsSm9ic0dlbmVyaWMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QYXJhbGxlbEpv
YnNHZW5lcmljLmgKQEAgLTMwLDggKzMwLDggQEAKIAogI2lmIEVOQUJMRShUSFJFQURJTkdfR0VO
RVJJQykKIAotI2luY2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+Ci0jaW5jbHVkZSA8d3Rm
L0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0NvbmRpdGlvbi5oPgorI2luY2x1ZGUgPHd0
Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVGhy
ZWFkaW5nLmg+CiAKQEAgLTY1LDggKzY1LDggQEAgcHVibGljOgogICAgICAgICB9CiAKICAgICBw
cml2YXRlOgotICAgICAgICBtdXRhYmxlIENoZWNrZWRMb2NrIG1fbG9jazsKLSAgICAgICAgQ2hl
Y2tlZENvbmRpdGlvbiBtX3RocmVhZENvbmRpdGlvbjsKKyAgICAgICAgbXV0YWJsZSBMb2NrIG1f
bG9jazsKKyAgICAgICAgQ29uZGl0aW9uIG1fdGhyZWFkQ29uZGl0aW9uOwogCiAgICAgICAgIFJl
ZlB0cjxUaHJlYWQ+IG1fdGhyZWFkOwogICAgICAgICBib29sIG1fcnVubmluZyB7IGZhbHNlIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QYXJhbGxlbFZlY3Rvckl0ZXJhdG9yLmggYi9T
b3VyY2UvV1RGL3d0Zi9QYXJhbGxlbFZlY3Rvckl0ZXJhdG9yLmgKaW5kZXggZGJhMzcwNjZkYjNl
ZDNiM2VhY2I2ZTc2MWUxNGQ1YmI1MjRmZmMxNi4uZWY3YWViZjk2OGUyYWEzNmMyNDczMjdkODU2
ZjUxM2QwZWJiM2Q3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGFyYWxsZWxWZWN0b3JJ
dGVyYXRvci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BhcmFsbGVsVmVjdG9ySXRlcmF0b3IuaApA
QCAtMjUsOCArMjUsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgPHd0Zi9DaGVja2Vk
TG9jay5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL0xvY2su
aD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC02
Nyw3ICs2Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgfQogICAgIH0KIHByaXZhdGU6Ci0gICAgQ2hl
Y2tlZExvY2sgbV9sb2NrOworICAgIExvY2sgbV9sb2NrOwogICAgIFZlY3RvclR5cGUmIG1fdmVj
dG9yIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKICAgICBzaXplX3QgbV9zaGFyZFNpemUg
V1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOwogICAgIHNpemVfdCBtX25leHQgV1RGX0dVQVJE
RURfQllfTE9DSyhtX2xvY2spIHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUmVh
ZFdyaXRlTG9jay5oIGIvU291cmNlL1dURi93dGYvUmVhZFdyaXRlTG9jay5oCmluZGV4IDEwZjNi
NTdhNTkzZmFkYmYxZGIzMzE0ZDJkMGFhNDVhNjUyYTIzMDQuLjA0MzMyNzUyNWU0ZjJjMDZmZTkw
YjQ0ODNiNzExNmIyMGI4N2FkMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1JlYWRXcml0
ZUxvY2suaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SZWFkV3JpdGVMb2NrLmgKQEAgLTI1LDggKzI1
LDggQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5o
PgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRpb24u
aD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApAQCAtNjEsOCAr
NjEsOCBAQCBwdWJsaWM6CiAgICAgV3JpdGVMb2NrJiB3cml0ZSgpOwogCiBwcml2YXRlOgotICAg
IENoZWNrZWRMb2NrIG1fbG9jazsKLSAgICBDaGVja2VkQ29uZGl0aW9uIG1fY29uZDsKKyAgICBM
b2NrIG1fbG9jazsKKyAgICBDb25kaXRpb24gbV9jb25kOwogICAgIGJvb2wgbV9pc1dyaXRlTG9j
a2VkIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKSB7IGZhbHNlIH07CiAgICAgdW5zaWduZWQg
bV9udW1SZWFkZXJzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKSB7IDAgfTsKICAgICB1bnNp
Z25lZCBtX251bVdhaXRpbmdXcml0ZXJzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKSB7IDAg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaCBiL1NvdXJjZS9XVEYvd3Rm
L1J1bkxvb3AuaAppbmRleCBlNDM2YmYyMzlhYmMyMmYxMmU4ZWQ0MDNiOTk1Y2Y4Yjg2YzUzZTg1
Li43MTRiY2RiYWE2YTFlOTQ5Y2RjNzc1ODM3ZjU2NDU4Njk0ODZmNjQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKKysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCkBA
IC0yOCwxMiArMjgsMTIgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4K
LSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2Vk
TG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUu
aD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbkRpc3Bh
dGNoZXIuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+
CiAjaW5jbHVkZSA8d3RmL09ic2VydmVyLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CkBAIC0yMTcsNyArMjE3LDcgQEAgcHJpdmF0ZToKIAog
ICAgIERlcXVlPEZ1bmN0aW9uPHZvaWQoKT4+IG1fY3VycmVudEl0ZXJhdGlvbjsKIAotICAgIENo
ZWNrZWRMb2NrIG1fbmV4dEl0ZXJhdGlvbkxvY2s7CisgICAgTG9jayBtX25leHRJdGVyYXRpb25M
b2NrOwogICAgIERlcXVlPEZ1bmN0aW9uPHZvaWQoKT4+IG1fbmV4dEl0ZXJhdGlvbiBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fbmV4dEl0ZXJhdGlvbkxvY2spOwogCiAgICAgYm9vbCBtX2lzRnVuY3Rp
b25EaXNwYXRjaFN1c3BlbmRlZCB7IGZhbHNlIH07CkBAIC0yMjgsNyArMjI4LDcgQEAgcHJpdmF0
ZToKICAgICBMUkVTVUxUIHduZFByb2MoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3
UGFyYW0sIExQQVJBTSBsUGFyYW0pOwogICAgIEhXTkQgbV9ydW5Mb29wTWVzc2FnZVdpbmRvdzsK
IAotICAgIENoZWNrZWRMb2NrIG1fbG9vcExvY2s7CisgICAgTG9jayBtX2xvb3BMb2NrOwogI2Vs
aWYgVVNFKENPQ09BX0VWRU5UX0xPT1ApCiAgICAgc3RhdGljIHZvaWQgcGVyZm9ybVdvcmsodm9p
ZCopOwogICAgIFJldGFpblB0cjxDRlJ1bkxvb3BSZWY+IG1fcnVuTG9vcDsKQEAgLTI2MSw5ICsy
NjEsOSBAQCBwcml2YXRlOgogCiAgICAgZnJpZW5kIGNsYXNzIFRpbWVyQmFzZTsKIAotICAgIENo
ZWNrZWRMb2NrIG1fbG9vcExvY2s7CisgICAgTG9jayBtX2xvb3BMb2NrOwogICAgIENvbmRpdGlv
biBtX3JlYWR5VG9SdW47Ci0gICAgQ2hlY2tlZENvbmRpdGlvbiBtX3N0b3BDb25kaXRpb247Cisg
ICAgQ29uZGl0aW9uIG1fc3RvcENvbmRpdGlvbjsKICAgICBWZWN0b3I8UmVmUHRyPFRpbWVyQmFz
ZTo6U2NoZWR1bGVkVGFzaz4+IG1fc2NoZWR1bGVzOwogICAgIFZlY3RvcjxTdGF0dXMqPiBtX21h
aW5Mb29wczsKICAgICBib29sIG1fc2h1dGRvd24geyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvU3luY2hyb25pemVkRml4ZWRRdWV1ZS5oIGIvU291cmNlL1dURi93dGYvU3lu
Y2hyb25pemVkRml4ZWRRdWV1ZS5oCmluZGV4IGIzOTBkZTM5NGZkMmUyMzc0ZTU2NjQzMTMyMzk5
YmU3MzU1MTY5NzguLjEzNmQwZDA2NmRhMDkzYzY2NWYyZTJlNjY2YzA3YWRkNjA3MmE3MjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1N5bmNocm9uaXplZEZpeGVkUXVldWUuaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9TeW5jaHJvbml6ZWRGaXhlZFF1ZXVlLmgKQEAgLTI1LDkgKzI1LDkgQEAK
IAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgotI2lu
Y2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4KICNp
bmNsdWRlIDx3dGYvRGVxdWUuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0
Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTExOSw4ICsx
MTksOCBAQCBwcml2YXRlOgogICAgICAgICBzdGF0aWNfYXNzZXJ0KCEoKEJ1ZmZlclNpemUgLSAx
KSAmIEJ1ZmZlclNpemUpLCAiQnVmZmVyU2l6ZSBtdXN0IGJlIHBvd2VyIG9mIDIuIik7CiAgICAg
fQogCi0gICAgQ2hlY2tlZExvY2sgbV9sb2NrOwotICAgIENoZWNrZWRDb25kaXRpb24gbV9jb25k
aXRpb247CisgICAgTG9jayBtX2xvY2s7CisgICAgQ29uZGl0aW9uIG1fY29uZGl0aW9uOwogCiAg
ICAgYm9vbCBtX29wZW4gV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsgdHJ1ZSB9OwogICAg
IERlcXVlPFQsIEJ1ZmZlclNpemU+IG1fcXVldWUgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2sp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcCBiL1NvdXJjZS9XVEYv
d3RmL1RocmVhZGluZy5jcHAKaW5kZXggZDU2NDJhODIwNjcwNTg0ZTc1N2Q2M2FmMjBjZDNjMDdl
NTU3MzM0YS4uYWYwOGNiZTdiNWQ4OTM4ODA3YTdlMTA5MmJmZmY5MjdmMGEyOGFhZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9U
aHJlYWRpbmcuY3BwCkBAIC00MSw3ICs0MSw3IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi1DaGVj
a2VkTG9jayBUaHJlYWQ6OnNfYWxsVGhyZWFkc0xvY2s7CitMb2NrIFRocmVhZDo6c19hbGxUaHJl
YWRzTG9jazsKIAogc3RhdGljIE9wdGlvbmFsPHNpemVfdD4gc3RhY2tTaXplKFRocmVhZFR5cGUg
dGhyZWFkVHlwZSkKIHsKQEAgLTEwMyw3ICsxMDMsNyBAQCBIYXNoU2V0PFRocmVhZCo+JiBUaHJl
YWQ6OmFsbFRocmVhZHMoKQogICAgIHJldHVybiBhbGxUaHJlYWRzOwogfQogCi1DaGVja2VkTG9j
ayYgVGhyZWFkOjphbGxUaHJlYWRzTG9jaygpCitMb2NrJiBUaHJlYWQ6OmFsbFRocmVhZHNMb2Nr
KCkKIHsKICAgICByZXR1cm4gc19hbGxUaHJlYWRzTG9jazsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL1RocmVhZGluZy5oIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmgKaW5kZXgg
YzQyZTMwNGYzMmJiNGY3ODJiNjgyMjEyMWQzMDViNjk5YTEzMmY0My4uOTgwMDU1MjBlNTE2OWI5
ZDIyOTk2MTFmZjZhNTg2MGQ4YzIxMWJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhy
ZWFkaW5nLmgKKysrIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmgKQEAgLTMzLDEyICszMywx
MiBAQAogI2luY2x1ZGUgPG11dGV4PgogI2luY2x1ZGUgPHN0ZGludC5oPgogI2luY2x1ZGUgPHd0
Zi9BdG9taWNzLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3Rm
L0V4cGVjdGVkLmg+CiAjaW5jbHVkZSA8d3RmL0Zhc3RUTFMuaD4KICNpbmNsdWRlIDx3dGYvRnVu
Y3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0
Lmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvUGxhdGZvcm1SZWdpc3Rl
cnMuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAt
MTE4LDcgKzExOCw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFNldCBvZiBhbGwgV1RGOjpUaHJlYWQg
Y3JlYXRlZCB0aHJlYWRzLgogICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgSGFzaFNldDxU
aHJlYWQqPiYgYWxsVGhyZWFkcygpIFdURl9SRVFVSVJFU19MT0NLKGFsbFRocmVhZHNMb2NrKCkp
OwotICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgQ2hlY2tlZExvY2smIGFsbFRocmVhZHNM
b2NrKCkgV1RGX1JFVFVSTlNfTE9DSyhzX2FsbFRocmVhZHNMb2NrKTsKKyAgICBXVEZfRVhQT1JU
X1BSSVZBVEUgc3RhdGljIExvY2smIGFsbFRocmVhZHNMb2NrKCkgV1RGX1JFVFVSTlNfTE9DSyhz
X2FsbFRocmVhZHNMb2NrKTsKIAogICAgIFdURl9FWFBPUlRfUFJJVkFURSB1bnNpZ25lZCBudW1i
ZXJPZlRocmVhZEdyb3VwcygpOwogCkBAIC0zMjksNyArMzI5LDcgQEAgcHJvdGVjdGVkOgogICAg
IHN0YXRpYyBUaHJlYWQqIGN1cnJlbnRNYXlCZU51bGwoKTsKICNlbmRpZgogCi0gICAgc3RhdGlj
IENoZWNrZWRMb2NrIHNfYWxsVGhyZWFkc0xvY2s7CisgICAgc3RhdGljIExvY2sgc19hbGxUaHJl
YWRzTG9jazsKIAogICAgIEpvaW5hYmxlU3RhdGUgbV9qb2luYWJsZVN0YXRlIHsgSm9pbmFibGUg
fTsKICAgICBib29sIG1faXNTaHV0dGluZ0Rvd24gOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvVGltaW5nU2NvcGUuY3BwIGIvU291cmNlL1dURi93dGYvVGltaW5nU2NvcGUuY3BwCmlu
ZGV4IDYzMTE2NjQwYWRlZjRjZDkyMGUyMTk3ZDc1ZmU1NDE2NGE4ZWM0NWUuLjVmYzc3NGViZjRm
MjQ4YjU1MTM2ZmVhYmJlZWEwYzE4M2VhYzczMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1RpbWluZ1Njb3BlLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaW1pbmdTY29wZS5jcHAKQEAg
LTI2LDggKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlIDx3dGYvVGltaW5n
U2NvcGUuaD4KIAotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKQEAg
LTYwLDcgKzYwLDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIEhhc2hNYXA8Y29uc3QgY2hh
ciosIENhbGxEYXRhPiB0b3RhbHMgV1RGX0dVQVJERURfQllfTE9DSyhsb2NrKTsKLSAgICBDaGVj
a2VkTG9jayBsb2NrOworICAgIExvY2sgbG9jazsKIH07CiAKIFN0YXRlJiBzdGF0ZSgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9VUkwuY3BwIGIvU291cmNlL1dURi93dGYvVVJMLmNwcApp
bmRleCA0ZDZiMGQ1NWMxMGFkYjY3ZDBmMWU3ZWZiM2EzNTRhYTY1NzdkMDlkLi5iN2FiMmY1MWMx
NzIxMmRiNTUyM2U1ZDc1NmZhYjgwNWNjYjI1NTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9VUkwuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1VSTC5jcHAKQEAgLTMwLDggKzMwLDggQEAK
ICNpbmNsdWRlICJVUkxQYXJzZXIuaCIKICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHVu
aWNvZGUvdWlkbmEuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CiAjaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgpAQCAtMjY4LDcgKzI2OCw3IEBAIHN0YXRpYyB2b2lkIGFzc2VydFBy
b3RvY29sSXNHb29kKFN0cmluZ1ZpZXcgcHJvdG9jb2wpCiAKICNlbmRpZgogCi1zdGF0aWMgQ2hl
Y2tlZExvY2sgZGVmYXVsdFBvcnRGb3JQcm90b2NvbE1hcEZvclRlc3RpbmdMb2NrOworc3RhdGlj
IExvY2sgZGVmYXVsdFBvcnRGb3JQcm90b2NvbE1hcEZvclRlc3RpbmdMb2NrOwogCiB1c2luZyBE
ZWZhdWx0UG9ydEZvclByb3RvY29sTWFwRm9yVGVzdGluZyA9IEhhc2hNYXA8U3RyaW5nLCB1aW50
MTZfdD47CiBzdGF0aWMgRGVmYXVsdFBvcnRGb3JQcm90b2NvbE1hcEZvclRlc3RpbmcqJiBkZWZh
dWx0UG9ydEZvclByb3RvY29sTWFwRm9yVGVzdGluZygpIFdURl9SRVFVSVJFU19MT0NLKGRlZmF1
bHRQb3J0Rm9yUHJvdG9jb2xNYXBGb3JUZXN0aW5nTG9jaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL1dURlNlbWFwaG9yZS5oIGIvU291cmNlL1dURi93dGYvV1RGU2VtYXBob3JlLmgKaW5k
ZXggNWE5ODBmNmU2NDYyZWQ1M2VkZWY5YzYxOWJhNzIwMTZmNjkyMTliZC4uZGUxNGEzYTAxNmVi
MTY2NmU5OGEzNzQxMmQ2YzNiNjRmNDJiYTg3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
V1RGU2VtYXBob3JlLmgKKysrIGIvU291cmNlL1dURi93dGYvV1RGU2VtYXBob3JlLmgKQEAgLTI1
LDggKzI1LDggQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRp
dGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25k
aXRpb24uaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTcxLDggKzcxLDggQEAgcHVibGljOgogCiBwcml2
YXRlOgogICAgIHVuc2lnbmVkIG1fdmFsdWUgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsg
MCB9OwotICAgIENoZWNrZWRMb2NrIG1fbG9jazsKLSAgICBDaGVja2VkQ29uZGl0aW9uIG1fY29u
ZGl0aW9uOworICAgIExvY2sgbV9sb2NrOworICAgIENvbmRpdGlvbiBtX2NvbmRpdGlvbjsKIH07
CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvV29ya1F1ZXVlLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL1dvcmtRdWV1ZS5jcHAKaW5kZXggY2NhZDViZTg3NWY0MDhiMDM5MjlmNmIxNzFjMTNl
MDg0ODgwOGMxZi4uMGJkYmQ1YzhjOWI5MTk0MWM5ZGI3M2E4YTkxZmI1NTFmMDc3NjcxNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvV29ya1F1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9Xb3JrUXVldWUuY3BwCkBAIC0yOCwxMCArMjgsMTAgQEAKICNpbmNsdWRlIDx3dGYvV29ya1F1
ZXVlLmg+CiAKICNpbmNsdWRlIDxtdXRleD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlv
bi5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRp
b24uaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4K
KyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgog
I2luY2x1ZGUgPHd0Zi9OdW1iZXJPZkNvcmVzLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgpAQCAt
MTMwLDggKzEzMCw4IEBAIHZvaWQgV29ya1F1ZXVlOjpjb25jdXJyZW50QXBwbHkoc2l6ZV90IGl0
ZXJhdGlvbnMsIFdURjo6RnVuY3Rpb248dm9pZCAoc2l6ZV90IGluCiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KIAotICAgICAgICBDaGVja2VkTG9jayBtX2xvY2s7Ci0gICAgICAgIENoZWNrZWRD
b25kaXRpb24gbV9jb25kaXRpb247CisgICAgICAgIExvY2sgbV9sb2NrOworICAgICAgICBDb25k
aXRpb24gbV9jb25kaXRpb247CiAgICAgICAgIERlcXVlPGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4q
PiBtX3F1ZXVlIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKIAogICAgICAgICBWZWN0b3I8
UmVmPFRocmVhZD4+IG1fd29ya2VyczsKQEAgLTE0OSw4ICsxNDksOCBAQCB2b2lkIFdvcmtRdWV1
ZTo6Y29uY3VycmVudEFwcGx5KHNpemVfdCBpdGVyYXRpb25zLCBXVEY6OkZ1bmN0aW9uPHZvaWQg
KHNpemVfdCBpbgogICAgIHN0ZDo6YXRvbWljPHNpemVfdD4gY3VycmVudEluZGV4KDApOwogICAg
IHN0ZDo6YXRvbWljPHNpemVfdD4gYWN0aXZlVGhyZWFkcyh3b3JrZXJDb3VudCArIDEpOwogCi0g
ICAgQ2hlY2tlZENvbmRpdGlvbiBjb25kaXRpb247Ci0gICAgQ2hlY2tlZExvY2sgbG9jazsKKyAg
ICBDb25kaXRpb24gY29uZGl0aW9uOworICAgIExvY2sgbG9jazsKIAogICAgIEZ1bmN0aW9uPHZv
aWQgKCk+IGFwcGxpZXIgPSBbJiwgZnVuY3Rpb24gPSBXVEZNb3ZlKGZ1bmN0aW9uKV0gewogICAg
ICAgICBzaXplX3QgaW5kZXg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9MYW5ndWFn
ZUNGLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NmL0xhbmd1YWdlQ0YuY3BwCmluZGV4IGUwNzMxMTU0
MjkxYmZkMDdjNGNjMTZkYTA0MmFhYWRiNTljOWUzYjEuLjkxY2Q5MWEyZjBjMTE0ZjY2NzFiYjgy
NDE5NDJiYjcwM2JhZTc0NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NmL0xhbmd1YWdl
Q0YuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2NmL0xhbmd1YWdlQ0YuY3BwCkBAIC0zMCw3ICsz
MCw3IEBACiAjaW5jbHVkZSA8bXV0ZXg+CiAjaW5jbHVkZSA8dW5pY29kZS91bG9jLmg+CiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNp
bmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvc3BpL2NmL0NGQnVuZGxlU1BJ
Lmg+CkBAIC0zOCw3ICszOCw3IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi1zdGF0aWMgQ2hlY2tl
ZExvY2sgcHJlZmVycmVkTGFuZ3VhZ2VzTG9jazsKK3N0YXRpYyBMb2NrIHByZWZlcnJlZExhbmd1
YWdlc0xvY2s7CiAKICNpZiBQTEFURk9STShNQUMpCiBzdGF0aWMgdm9pZCBsYW5ndWFnZVByZWZl
cmVuY2VzRGlkQ2hhbmdlKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkKiwgQ0ZTdHJpbmdS
ZWYsIGNvbnN0IHZvaWQqLCBDRkRpY3Rpb25hcnlSZWYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L1N0cmluZ1ZpZXcuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdWaWV3
LmNwcAppbmRleCAzZTg0NjNmNDkzMDg5ZTM1YWQ5NzQzMGQ1ODMxOWI2MzFjZDQ1NjZiLi4zNzU2
OTFlYWM4NmQzNGIwZDhkYzIwNDliZDA3Y2ZjNGVkZGQ3OGQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1N0cmluZ1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3Ry
aW5nVmlldy5jcHAKQEAgLTMwLDggKzMwLDggQEAgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAjaW5jbHVkZSA8dW5pY29kZS91YnJr
Lmg+CiAjaW5jbHVkZSA8dW5pY29kZS91bm9ybTIuaD4KICNpbmNsdWRlIDx3dGYvQVNDSUlDVHlw
ZS5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdUb0ludGVnZXJDb252ZXJzaW9uLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvVGV4dEJyZWFrSXRlcmF0b3IuaD4KQEAgLTM2MCw3ICszNjAsNyBAQCBTdHJpbmdW
aWV3OjpVbmRlcmx5aW5nU3RyaW5nOjpVbmRlcmx5aW5nU3RyaW5nKGNvbnN0IFN0cmluZ0ltcGwm
IHN0cmluZykKIHsKIH0KIAotc3RhdGljIENoZWNrZWRMb2NrIHVuZGVybHlpbmdTdHJpbmdzTG9j
azsKK3N0YXRpYyBMb2NrIHVuZGVybHlpbmdTdHJpbmdzTG9jazsKIAogc3RhdGljIEhhc2hNYXA8
Y29uc3QgU3RyaW5nSW1wbCosIFN0cmluZ1ZpZXc6OlVuZGVybHlpbmdTdHJpbmcqPiYgdW5kZXJs
eWluZ1N0cmluZ3MoKSBXVEZfUkVRVUlSRVNfTE9DSyh1bmRlcmx5aW5nU3RyaW5nc0xvY2spCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90aHJlYWRzL0JpbmFyeVNlbWFwaG9yZS5oIGIv
U291cmNlL1dURi93dGYvdGhyZWFkcy9CaW5hcnlTZW1hcGhvcmUuaAppbmRleCAzMjg2NTE4ZTcy
MzM1MzMxMGQ2ODg2YTlhOGZhYWU3MmMxMTFkNjllLi4zODljZTczYWYxZTQxNWI3OTY3MTlmYTRi
ZTA4NGFmNDdiZWM1NGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90aHJlYWRzL0JpbmFy
eVNlbWFwaG9yZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RocmVhZHMvQmluYXJ5U2VtYXBob3Jl
LmgKQEAgLTI1LDggKzI1LDggQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlIDx3dGYvQ2hl
Y2tlZENvbmRpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUg
PHd0Zi9Db25kaXRpb24uaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUuaD4K
IApAQCAtNTMsOCArNTMsOCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzU2V0
IFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKSB7IGZhbHNlIH07Ci0gICAgQ2hlY2tlZExvY2sg
bV9sb2NrOwotICAgIENoZWNrZWRDb25kaXRpb24gbV9jb25kaXRpb247CisgICAgTG9jayBtX2xv
Y2s7CisgICAgQ29uZGl0aW9uIG1fY29uZGl0aW9uOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RG
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL2ljdS9Db2xsYXRvcklDVS5jcHAg
Yi9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL2ljdS9Db2xsYXRvcklDVS5jcHAKaW5kZXggZjE3ZTAy
NTlhY2JhY2QxNzJlNmVmNzM2YWVjODk2YTZlMjliYWEwOC4uMjg5MDFjZDQxMjczZGU5ZTBhNzUz
OGYzNTJlMWNhODA1MGU3OGE0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdW5pY29kZS9p
Y3UvQ29sbGF0b3JJQ1UuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvaWN1L0NvbGxh
dG9ySUNVLmNwcApAQCAtMzUsNyArMzUsNyBAQAogCiAjaW5jbHVkZSA8bXV0ZXg+CiAjaW5jbHVk
ZSA8dW5pY29kZS91Y29sLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVk
ZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdWaWV3Lmg+CiAKICNpZiBP
UyhEQVJXSU4pICYmIFVTRShDRikKQEAgLTQ1LDcgKzQ1LDcgQEAKIAogbmFtZXNwYWNlIFdURiB7
CiAKLXN0YXRpYyBDaGVja2VkTG9jayBjYWNoZWRDb2xsYXRvckxvY2s7CitzdGF0aWMgTG9jayBj
YWNoZWRDb2xsYXRvckxvY2s7CiBzdGF0aWMgVUNvbGxhdG9yKiBjYWNoZWRDb2xsYXRvciBXVEZf
R1VBUkRFRF9CWV9MT0NLKGNhY2hlZENvbGxhdG9yTG9jayk7CiBzdGF0aWMgY2hhciogY2FjaGVk
Q29sbGF0b3JMb2NhbGU7CiBzdGF0aWMgYm9vbCBjYWNoZWRDb2xsYXRvclNob3VsZFNvcnRMb3dl
cmNhc2VGaXJzdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQk9iamVjdFN0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJP
YmplY3RTdG9yZS5oCmluZGV4IDRlMGJlZTYyODRlZDdiOWM3NjU1NWVlODI2OWE5MjQ5OTU2YjRl
N2IuLjQ1NDgyMmJjNTFmMTQxMDA3NGZlYjRmOTcyYzg3NDViNjk2Y2E4NWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaApAQCAtMzAs
OCArMzAsOCBAQAogI2luY2x1ZGUgIklEQkN1cnNvckRpcmVjdGlvbi5oIgogI2luY2x1ZGUgIklE
QktleVBhdGguaCIKICNpbmNsdWRlICJJREJPYmplY3RTdG9yZUluZm8uaCIKLSNpbmNsdWRlIDx3
dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8
d3RmL0xvY2suaD4KIAogbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBDYWxsRnJhbWU7CkBAIC0xMzQs
NyArMTM0LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9kZWxldGVkIHsgZmFsc2UgfTsKIAot
ICAgIG11dGFibGUgQ2hlY2tlZExvY2sgbV9yZWZlcmVuY2VkSW5kZXhMb2NrOworICAgIG11dGFi
bGUgTG9jayBtX3JlZmVyZW5jZWRJbmRleExvY2s7CiAgICAgSGFzaE1hcDxTdHJpbmcsIHN0ZDo6
dW5pcXVlX3B0cjxJREJJbmRleD4+IG1fcmVmZXJlbmNlZEluZGV4ZXMgV1RGX0dVQVJERURfQllf
TE9DSyhtX3JlZmVyZW5jZWRJbmRleExvY2spOwogICAgIEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6
dW5pcXVlX3B0cjxJREJJbmRleD4+IG1fZGVsZXRlZEluZGV4ZXMgV1RGX0dVQVJERURfQllfTE9D
SyhtX3JlZmVyZW5jZWRJbmRleExvY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oCmluZGV4IDhmNmYxMGVmM2I2NWIxODI4OTIw
OGFmZTJiYTZhNWE4ZWIwM2FkNDMuLjY1YmM0NTNiZDg2YWJlNmIxOGNkYzAwYjM0ZWM1ZjE1ZDcx
ZmI1ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uaApAQCAtMzYsOSArMzYsOSBAQAogI2luY2x1ZGUgIklEQlRyYW5zYWN0aW9uTW9k
ZS5oIgogI2luY2x1ZGUgIkluZGV4ZWREQi5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCi0jaW5jbHVk
ZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTI1NCw3ICsyNTQsNyBAQCBwcml2YXRlOgogCiAgICAgSGFzaE1hcDxJREJSZXNv
dXJjZUlkZW50aWZpZXIsIFJlZlB0cjxJREJDbGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uPj4g
bV90cmFuc2FjdGlvbk9wZXJhdGlvbk1hcDsKIAotICAgIG11dGFibGUgQ2hlY2tlZExvY2sgbV9y
ZWZlcmVuY2VkT2JqZWN0U3RvcmVMb2NrOworICAgIG11dGFibGUgTG9jayBtX3JlZmVyZW5jZWRP
YmplY3RTdG9yZUxvY2s7CiAgICAgSGFzaE1hcDxTdHJpbmcsIHN0ZDo6dW5pcXVlX3B0cjxJREJP
YmplY3RTdG9yZT4+IG1fcmVmZXJlbmNlZE9iamVjdFN0b3JlcyBXVEZfR1VBUkRFRF9CWV9MT0NL
KG1fcmVmZXJlbmNlZE9iamVjdFN0b3JlTG9jayk7CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgc3Rk
Ojp1bmlxdWVfcHRyPElEQk9iamVjdFN0b3JlPj4gbV9kZWxldGVkT2JqZWN0U3RvcmVzOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29u
bmVjdGlvblByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQv
SURCQ29ubmVjdGlvblByb3h5LmgKaW5kZXggODY1OGNmZDJkOGM5ZGExMzdhOTJiNGI4NjBiMGYx
ODc0YmFjMjVjOS4uYmM0MzczZmM3NTk3ZTAzMmFiYjQwYjAyOTQ4N2Q2N2M1ZThkOTAyZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5l
Y3Rpb25Qcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJDb25uZWN0aW9uUHJveHkuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjaW5jbHVkZSAiSURC
RGF0YWJhc2VOYW1lQW5kVmVyc2lvblJlcXVlc3QuaCIKICNpbmNsdWRlICJJREJSZXNvdXJjZUlk
ZW50aWZpZXIuaCIKICNpbmNsdWRlICJUcmFuc2FjdGlvbk9wZXJhdGlvbi5oIgotI2luY2x1ZGUg
PHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Dcm9zc1RocmVhZFF1ZXVlLmg+CiAj
aW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkVGFzay5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRl
IDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTE1NiwxMiArMTU2LDEyIEBAIHByaXZhdGU6CiAgICAg
SURCQ29ubmVjdGlvblRvU2VydmVyJiBtX2Nvbm5lY3Rpb25Ub1NlcnZlcjsKICAgICBJREJDb25u
ZWN0aW9uSWRlbnRpZmllciBtX3NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyOwogCi0gICAgQ2hl
Y2tlZExvY2sgbV9kYXRhYmFzZUNvbm5lY3Rpb25NYXBMb2NrOwotICAgIENoZWNrZWRMb2NrIG1f
b3BlbkRCUmVxdWVzdE1hcExvY2s7Ci0gICAgQ2hlY2tlZExvY2sgbV90cmFuc2FjdGlvbk1hcExv
Y2s7Ci0gICAgQ2hlY2tlZExvY2sgbV90cmFuc2FjdGlvbk9wZXJhdGlvbkxvY2s7Ci0gICAgQ2hl
Y2tlZExvY2sgbV9kYXRhYmFzZUluZm9NYXBMb2NrOwotICAgIENoZWNrZWRMb2NrIG1fbWFpblRo
cmVhZFRhc2tMb2NrOworICAgIExvY2sgbV9kYXRhYmFzZUNvbm5lY3Rpb25NYXBMb2NrOworICAg
IExvY2sgbV9vcGVuREJSZXF1ZXN0TWFwTG9jazsKKyAgICBMb2NrIG1fdHJhbnNhY3Rpb25NYXBM
b2NrOworICAgIExvY2sgbV90cmFuc2FjdGlvbk9wZXJhdGlvbkxvY2s7CisgICAgTG9jayBtX2Rh
dGFiYXNlSW5mb01hcExvY2s7CisgICAgTG9jayBtX21haW5UaHJlYWRUYXNrTG9jazsKIAogICAg
IEhhc2hNYXA8dWludDY0X3QsIElEQkRhdGFiYXNlKj4gbV9kYXRhYmFzZUNvbm5lY3Rpb25NYXAg
V1RGX0dVQVJERURfQllfTE9DSyhtX2RhdGFiYXNlQ29ubmVjdGlvbk1hcExvY2spOwogICAgIEhh
c2hNYXA8SURCUmVzb3VyY2VJZGVudGlmaWVyLCBSZWZQdHI8SURCT3BlbkRCUmVxdWVzdD4+IG1f
b3BlbkRCUmVxdWVzdE1hcCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fb3BlbkRCUmVxdWVzdE1hcExv
Y2spOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L0lEQlNlcmlhbGl6YXRpb25Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9JREJTZXJpYWxpemF0aW9uQ29udGV4dC5jcHAKaW5kZXggNTM3NmRkOTBl
ZjhjYjIzNjZmMzU2YTBkNjVmZThhM2NmN2NhNzk3Zi4uNzEzYjFiY2U2MjAzMjUxZmI3YzU4MWJh
MzQ1ZTRjNmYwYzFhMTQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL0lEQlNlcmlhbGl6YXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCU2VyaWFsaXphdGlvbkNvbnRleHQuY3Bw
CkBAIC0yOSwxMyArMjksMTMgQEAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNs
dWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNP
YmplY3RJbmxpbmVzLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8
d3RmL0xvY2suaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgSURCU2VydmVy
IHsKIAotc3RhdGljIENoZWNrZWRMb2NrIHNlcmlhbGl6YXRpb25Db250ZXh0TWFwTG9jazsKK3N0
YXRpYyBMb2NrIHNlcmlhbGl6YXRpb25Db250ZXh0TWFwTG9jazsKIAogc3RhdGljIEhhc2hNYXA8
VGhyZWFkKiwgSURCU2VyaWFsaXphdGlvbkNvbnRleHQqPiYgc2VyaWFsaXphdGlvbkNvbnRleHRN
YXAoKSBXVEZfUkVRVUlSRVNfTE9DSyhzZXJpYWxpemF0aW9uQ29udGV4dE1hcExvY2spCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFu
bmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5u
ZWwuY3BwCmluZGV4IDExNTA2ZmJjYjk4NDc4MmM2N2I3NWZhOWI5NTllOWY0ZDcwMGFiZTUuLjRi
MWEyODQ5YjQ1ZTg1NzUwZWZkNzA1NzI3N2I3NTBhYmU5MzY1ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwCkBAIC0z
Nyw4ICszNyw4IEBACiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1
ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FycmF5QnVmZmVy
Vmlldy5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Jc29N
YWxsb2NJbmxpbmVzLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjUzLDcgKzI1Myw3IEBA
IHZvaWQgUlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlRGlzcGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYg
ZXZlbnQpCiAgICAgcXVldWVUYXNrVG9EaXNwYXRjaEV2ZW50KCp0aGlzLCBUYXNrU291cmNlOjpO
ZXR3b3JraW5nLCBXVEZNb3ZlKGV2ZW50KSk7CiB9CiAKLXN0YXRpYyBDaGVja2VkTG9jayBzX3J0
Y0RhdGFDaGFubmVsTG9jYWxNYXBMb2NrOworc3RhdGljIExvY2sgc19ydGNEYXRhQ2hhbm5lbExv
Y2FsTWFwTG9jazsKIHN0YXRpYyBIYXNoTWFwPFJUQ0RhdGFDaGFubmVsTG9jYWxJZGVudGlmaWVy
LCBzdGQ6OnVuaXF1ZV9wdHI8UlRDRGF0YUNoYW5uZWxIYW5kbGVyPj4mIHJ0Y0RhdGFDaGFubmVs
TG9jYWxNYXAoKSBXVEZfUkVRVUlSRVNfTE9DSyhzX3J0Y0RhdGFDaGFubmVsTG9jYWxNYXBMb2Nr
KQogewogICAgIEFTU0VSVChzX3J0Y0RhdGFDaGFubmVsTG9jYWxNYXBMb2NrLmlzSGVsZCgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0Zy
YW1lVHJhbnNmb3JtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwU0ZyYW1lVHJhbnNmb3JtZXIuaAppbmRleCBjYzRlOTRlN2M0MmQzZmFmMTJmMWNiNGM1OGZm
MGY0OGI4YWUxNThiLi5kYzc0OWY0NTViOGJiOWM0YzViMWVjNDEzMjAyYzczOTdkYzI1OTMyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFt
ZVRyYW5zZm9ybWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBTRnJhbWVUcmFuc2Zvcm1lci5oCkBAIC0yOSw3ICsyOSw3IEBACiAKICNpbmNsdWRlICJF
eGNlcHRpb25Pci5oIgogI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKLSNpbmNs
dWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUg
PHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC03
Niw3ICs3Niw3IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IGNvbXB1dGVFbmNyeXB0
ZWREYXRhU2lnbmF0dXJlKGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgbm9uY2UsIGNvbnN0IHVpbnQ4
X3QqIGhlYWRlciwgc2l6ZV90IGhlYWRlclNpemUsIGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVf
dCBkYXRhU2l6ZSwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXkpOwogICAgIHZvaWQgdXBkYXRl
QXV0aGVudGljYXRpb25TaXplKCk7CiAKLSAgICBDaGVja2VkTG9jayBtX2tleUxvY2s7CisgICAg
TG9jayBtX2tleUxvY2s7CiAgICAgYm9vbCBtX2hhc0tleSB7IGZhbHNlIH07CiAgICAgVmVjdG9y
PHVpbnQ4X3Q+IG1fYXV0aGVudGljYXRpb25LZXk7CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IG1fZW5j
cnlwdGlvbktleTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybS5oCmluZGV4IGNiODczM2RiMmFkMDg4MzU0OWQy
OTE0Y2IxNjY3MzMxMmJiNzJhNjUuLjkyMTk3YzA4NjY0MGM5MTU4NzhkNzZlZGM0ODEyOTc5OTYz
ZmY1NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwU2NyaXB0VHJhbnNmb3JtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm0uaApAQCAtMzMsNyArMzMsNyBAQAogI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0pTQ0pTVmFsdWUuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9K
U09iamVjdC5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0cm9uZy5oPgotI2luY2x1ZGUg
PHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3Rm
L1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTgzLDcg
KzgzLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNBdHRhY2hlZCB7IGZhbHNlIH07CiAgICAg
UmVmUHRyPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+IG1fYmFja2VuZDsKIAotICAgIENoZWNrZWRM
b2NrIG1fdHJhbnNmb3JtZXJMb2NrOworICAgIExvY2sgbV90cmFuc2Zvcm1lckxvY2s7CiAgICAg
Ym9vbCBtX2lzVHJhbnNmb3JtZXJJbml0aWFsaXplZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fdHJh
bnNmb3JtZXJMb2NrKSB7IGZhbHNlIH07CiAgICAgV2Vha1B0cjxSVENSdHBTY3JpcHRUcmFuc2Zv
cm1lcj4gbV90cmFuc2Zvcm1lciBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fdHJhbnNmb3JtZXJMb2Nr
KTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5o
CmluZGV4IDNkYTc5OGRiZDQ4NTFmZDVmNjNmYzQ3M2RiYmUzYzExYTM1ZTljOGQuLjg3OTdiMWYw
OGZhMjlmNzgwYTQ4YTJkMmQ0ZDkwNmRmZTE4Y2FmYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0RhdGFDaGFubmVsSGFu
ZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVk
ZSAiUlRDRGF0YUNoYW5uZWxIYW5kbGVyLmgiCiAjaW5jbHVkZSAiUlRDRGF0YUNoYW5uZWxTdGF0
ZS5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9j
ay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAKIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JF
R0lOCiAKQEAgLTgyLDcgKzgyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBvc3RUYXNrKEZ1bmN0
aW9uPHZvaWQoKT4mJik7CiAKICAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpEYXRhQ2hh
bm5lbEludGVyZmFjZT4gbV9jaGFubmVsOwotICAgIENoZWNrZWRMb2NrIG1fY2xpZW50TG9jazsK
KyAgICBMb2NrIG1fY2xpZW50TG9jazsKICAgICBSVENEYXRhQ2hhbm5lbEhhbmRsZXJDbGllbnQq
IG1fY2xpZW50IFdURl9HVUFSREVEX0JZX0xPQ0sobV9jbGllbnRMb2NrKSB7IG51bGxwdHIgfTsK
ICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBtX2NvbnRleHRJZGVudGlmaWVy
OwogICAgIFBlbmRpbmdNZXNzYWdlcyBtX2J1ZmZlcmVkTWVzc2FnZXM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBU
cmFuc2Zvcm1CYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgKaW5kZXggMDM0YTc3OGU2NDhh
N2U4NWRmZGJkNDBiNmZhNjRhZWEwNmY2Yzk1NS4uYjBhYzRjNzk1NzQwMjk2YzdhMGVlN2ZiMzUy
NTUzODJmNTZjNmE1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQuaApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgIkxpYldlYlJUQ01hY3Jv
cy5oIgogI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKICNpbmNsdWRlIDx3ZWJy
dGMvYXBpL3Njb3BlZF9yZWZwdHIuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNp
bmNsdWRlIDx3dGYvTG9jay5oPgogCiBBTExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgogQUxM
T1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KQEAgLTY5LDEwICs2OSwxMCBAQCBwcml2
YXRlOgogICAgIE1lZGlhVHlwZSBtX21lZGlhVHlwZTsKICAgICBTaWRlIG1fc2lkZTsKIAotICAg
IENoZWNrZWRMb2NrIG1faW5wdXRDYWxsYmFja0xvY2s7CisgICAgTG9jayBtX2lucHV0Q2FsbGJh
Y2tMb2NrOwogICAgIENhbGxiYWNrIG1faW5wdXRDYWxsYmFjayBXVEZfR1VBUkRFRF9CWV9MT0NL
KG1faW5wdXRDYWxsYmFja0xvY2spOwogCi0gICAgQ2hlY2tlZExvY2sgbV9vdXRwdXRDYWxsYmFj
a0xvY2s7CisgICAgTG9jayBtX291dHB1dENhbGxiYWNrTG9jazsKICAgICBydGM6OnNjb3BlZF9y
ZWZwdHI8d2VicnRjOjpUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2s+IG1fb3V0cHV0Q2FsbGJhY2sg
V1RGX0dVQVJERURfQllfTE9DSyhtX291dHB1dENhbGxiYWNrTG9jayk7CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkNhcHR1
cmVTb3VyY2VJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNv
Z25pdGlvbkNhcHR1cmVTb3VyY2VJbXBsLmgKaW5kZXggNzM5Y2VlMDlkMjM4YmJlMWFjZTE5MjBl
ZTVjZWQ2Nzk4ZjkxNTRiNy4uYzJjMDY0YjdkY2I5YTA3NjU5NGQ1M2E0ZGI3NjZjNmE2MzFmNzU3
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2du
aXRpb25DYXB0dXJlU291cmNlSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Bl
ZWNoL1NwZWVjaFJlY29nbml0aW9uQ2FwdHVyZVNvdXJjZUltcGwuaApAQCAtMjksNyArMjksNyBA
QAogCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZS5oIgogI2luY2x1ZGUgIlNwZWVjaFJl
Y29nbml0aW9uQ29ubmVjdGlvbkNsaWVudElkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvQ2hl
Y2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiAjaW5jbHVkZSAiQXVkaW9TYW1wbGVEYXRhU291cmNlLmgiCkBAIC03OCw3ICs3OCw3IEBAIHBy
aXZhdGU6CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBSZWZQdHI8QXVkaW9TYW1wbGVEYXRh
U291cmNlPiBtX2RhdGFTb3VyY2UgV1RGX0dVQVJERURfQllfTE9DSyhtX2RhdGFTb3VyY2VMb2Nr
KTsgLy8gT25seSBtb2RpZmllZCBvbiB0aGUgYXVkaW8gdGhyZWFkIGJ1dCBtYXkgZ2V0IHVzZWQg
b24gdGhlIG1haW4gdGhyZWFkLgotICAgIENoZWNrZWRMb2NrIG1fZGF0YVNvdXJjZUxvY2s7Cisg
ICAgTG9jayBtX2RhdGFTb3VyY2VMb2NrOwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUGFyYW1UaW1lbGluZS5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1BhcmFtVGltZWxpbmUuaAppbmRleCA5Yjcy
NjE3ZDQyYzA4YTQ3NGE3NTI1NjQ1MWM1MDM2YzQzMWQ4Mjk4Li5iZGY2MzE3ZDdmZWRiZDRkZjVh
NmYyZDZmYmYyNzdiZTgzOTRiMzgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvUGFyYW1UaW1lbGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9QYXJhbVRpbWVsaW5lLmgKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2lu
Y2x1ZGUgIkF1ZGlvQ29udGV4dC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Zsb2F0MzJB
cnJheS5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2Nr
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0y
MDcsNyArMjA3LDcgQEAgcHJpdmF0ZToKIAogICAgIFZlY3RvcjxQYXJhbUV2ZW50PiBtX2V2ZW50
cyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fZXZlbnRzTG9jayk7CiAKLSAgICBtdXRhYmxlIENoZWNr
ZWRMb2NrIG1fZXZlbnRzTG9jazsKKyAgICBtdXRhYmxlIExvY2sgbV9ldmVudHNMb2NrOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL0RhdGFiYXNlLmNwcAppbmRleCA3MDA3NGM3YTdhYjQyMzk5OWYzZGY5MDQxZjRl
YmNhMDk0YzcxZDY5Li41YWUyNDc5ZTczODdlNjI0ZTE4YjY0OGQ5N2ZmNGY5ZjI2MWVkNDlkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmNwcApA
QCAtNTMsNyArNTMsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAi
Vm9pZENhbGxiYWNrLmgiCiAjaW5jbHVkZSAiV2luZG93RXZlbnRMb29wLmgiCi0jaW5jbHVkZSA8
d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYv
TmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgpAQCAtMTUzLDcgKzE1Myw3IEBAIHN0YXRpYyBib29sIHJldHJpZXZl
VGV4dFJlc3VsdEZyb21EYXRhYmFzZShTUUxpdGVEYXRhYmFzZSYgZGIsIGNvbnN0IFN0cmluZyYg
cXVlCiB9CiAKIC8vIEZJWE1FOiBtb3ZlIGFsbCBndWlkLXJlbGF0ZWQgZnVuY3Rpb25zIHRvIGEg
RGF0YWJhc2VWZXJzaW9uVHJhY2tlciBjbGFzcy4KLXN0YXRpYyBDaGVja2VkTG9jayBndWlkTG9j
azsKK3N0YXRpYyBMb2NrIGd1aWRMb2NrOwogCiBzdGF0aWMgSGFzaE1hcDxEYXRhYmFzZUdVSUQs
IFN0cmluZz4mIGd1aWRUb1ZlcnNpb25NYXAoKSBXVEZfUkVRVUlSRVNfTE9DSyhndWlkTG9jaykK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJh
c2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2UuaAppbmRl
eCBhZDIxMzM4YTc4N2Y5M2NkODQ3N2RkMmZhMGVjNDQzOGQ5MzI1ZDUzLi41ZTNiZTg1NGYwMDlj
ZjYwYTZlYTA4ZGRlZjY3ZDVlMmYxYTVlMGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5oCkBAIC0zMCw4ICszMCw4IEBACiAKICNpbmNsdWRlICJF
eGNlcHRpb25Pci5oIgogI2luY2x1ZGUgIlNRTGl0ZURhdGFiYXNlLmgiCi0jaW5jbHVkZSA8d3Rm
L0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CisjaW5jbHVkZSA8d3RmL0xv
Y2suaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xNzAsNyArMTcwLDcgQEAgcHJpdmF0
ZToKICAgICBSZWY8RGF0YWJhc2VBdXRob3JpemVyPiBtX2RhdGFiYXNlQXV0aG9yaXplcjsKIAog
ICAgIERlcXVlPFJlZjxTUUxUcmFuc2FjdGlvbj4+IG1fdHJhbnNhY3Rpb25RdWV1ZSBXVEZfR1VB
UkRFRF9CWV9MT0NLKG1fdHJhbnNhY3Rpb25JblByb2dyZXNzTG9jayk7Ci0gICAgQ2hlY2tlZExv
Y2sgbV90cmFuc2FjdGlvbkluUHJvZ3Jlc3NMb2NrOworICAgIExvY2sgbV90cmFuc2FjdGlvbklu
UHJvZ3Jlc3NMb2NrOwogICAgIGJvb2wgbV90cmFuc2FjdGlvbkluUHJvZ3Jlc3MgV1RGX0dVQVJE
RURfQllfTE9DSyhtX3RyYW5zYWN0aW9uSW5Qcm9ncmVzc0xvY2spIHsgZmFsc2UgfTsKICAgICBi
b29sIG1faXNUcmFuc2FjdGlvblF1ZXVlRW5hYmxlZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fdHJh
bnNhY3Rpb25JblByb2dyZXNzTG9jaykgeyB0cnVlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5oCmluZGV4IDkyMTNhNGQ0
YjkyMzU5ZTE5NTVmNjEwYmNmZjhmNzY4Nzk4ODk0OGEuLmFhNjIxZDYyMTdlZjU1Yzg2NzJlMzI1
YzY2M2VjOGNmZmU5N2NiZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuaApAQCAtMjgsOCArMjgsOCBAQAogI2luY2x1ZGUg
IkRhdGFiYXNlRGV0YWlscy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtODcsNyArODcsNyBAQCBwcml2YXRlOgogICAgIERhdGFiYXNlTWFuYWdlckNs
aWVudCogbV9jbGllbnQgeyBudWxscHRyIH07CiAgICAgYm9vbCBtX2RhdGFiYXNlSXNBdmFpbGFi
bGUgeyB0cnVlIH07CiAKLSAgICBDaGVja2VkTG9jayBtX3Byb3Bvc2VkRGF0YWJhc2VzTG9jazsK
KyAgICBMb2NrIG1fcHJvcG9zZWREYXRhYmFzZXNMb2NrOwogICAgIEhhc2hTZXQ8UHJvcG9zZWRE
YXRhYmFzZSo+IG1fcHJvcG9zZWREYXRhYmFzZXMgV1RGX0dVQVJERURfQllfTE9DSyhtX3Byb3Bv
c2VkRGF0YWJhc2VzTG9jayk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVGFzay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9EYXRhYmFzZVRhc2suaAppbmRleCA3ZDE2ZDU2N2NhYjEzMzdlMzI2MWRjN2Rk
MzM1NjVmNDMzNjljZDMwLi43ZTEzNWQ4MWY5MGI4ZWIyNjBhYmE2MDI2YWViMzYxYTU1ZDMxOTY0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
VGFzay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VU
YXNrLmgKQEAgLTI5LDkgKzI5LDkgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiRXhjZXB0
aW9uT3IuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgotI2luY2x1ZGUgPHd0
Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4KICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNTgsOCArNTgsOCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgYm9vbCBtX3Rh
c2tDb21wbGV0ZWQgV1RGX0dVQVJERURfQllfTE9DSyhtX3N5bmNocm9ub3VzTG9jaykgeyBmYWxz
ZSB9OwotICAgIENoZWNrZWRMb2NrIG1fc3luY2hyb25vdXNMb2NrOwotICAgIENoZWNrZWRDb25k
aXRpb24gbV9zeW5jaHJvbm91c0NvbmRpdGlvbjsKKyAgICBMb2NrIG1fc3luY2hyb25vdXNMb2Nr
OworICAgIENvbmRpdGlvbiBtX3N5bmNocm9ub3VzQ29uZGl0aW9uOwogI2lmIEFTU0VSVF9FTkFC
TEVECiAgICAgYm9vbCBtX2hhc0NoZWNrZWRGb3JUZXJtaW5hdGlvbiB7IGZhbHNlIH07CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJh
c2VUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VU
aHJlYWQuaAppbmRleCA1ZGM0MTFjYzU2MzNjNDZkYTE2MWFlMDJiYTQ5OWE5YjBiNWE3NDIxLi45
NWI3YzZiZWZlMmE2NDEzNDVlODEyMzg4ZWFkMGZkOWNiMmM3OWJjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVGhyZWFkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRocmVhZC5oCkBAIC0yOSw4
ICsyOSw4IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPG1lbW9yeT4KLSNpbmNsdWRlIDx3
dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0
Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL01lc3NhZ2VRdWV1ZS5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBAIC03Niw3ICs3Niw3IEBAIHBy
aXZhdGU6CiAKICAgICAvLyBUaGlzIHNldCBrZWVwcyB0cmFjayBvZiB0aGUgb3BlbiBkYXRhYmFz
ZXMgdGhhdCBoYXZlIGJlZW4gdXNlZCBvbiB0aGlzIHRocmVhZC4KICAgICB1c2luZyBEYXRhYmFz
ZVNldCA9IEhhc2hTZXQ8UmVmUHRyPERhdGFiYXNlPj47Ci0gICAgbXV0YWJsZSBDaGVja2VkTG9j
ayBtX29wZW5EYXRhYmFzZVNldExvY2s7CisgICAgbXV0YWJsZSBMb2NrIG1fb3BlbkRhdGFiYXNl
U2V0TG9jazsKICAgICBEYXRhYmFzZVNldCBtX29wZW5EYXRhYmFzZVNldCBXVEZfR1VBUkRFRF9C
WV9MT0NLKG1fb3BlbkRhdGFiYXNlU2V0TG9jayk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U1FM
VHJhbnNhY3Rpb25Db29yZGluYXRvcj4gbV90cmFuc2FjdGlvbkNvb3JkaW5hdG9yOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRyYWNrZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmgK
aW5kZXggYmRjZjZkMDdkZDhhMzM2NWRjNGFmZWI5NDNmY2I4YjVhY2U5NGY2ZS4uNWRkN2ZlZTUx
MDA3ZTc3YmVjNDBhMzcyNDcxZTFkYTY0Zjc4YmNlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tlci5oCkBAIC0zMywxMCArMzMs
MTAgQEAKICNpbmNsdWRlICJTUUxpdGVEYXRhYmFzZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luRGF0YS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luSGFzaC5oIgotI2luY2x1ZGUgPHd0
Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoQ291bnRlZFNldC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNsdWRlIDx3
dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9XYWxsVGltZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0hhc2guaD4KIApAQCAtMTYyLDExICsxNjIsMTEgQEAgcHJpdmF0ZToKICAgICB1c2lu
ZyBEYXRhYmFzZU5hbWVNYXAgPSBIYXNoTWFwPFN0cmluZywgRGF0YWJhc2VTZXQqPjsKICAgICB1
c2luZyBEYXRhYmFzZU9yaWdpbk1hcCA9IEhhc2hNYXA8U2VjdXJpdHlPcmlnaW5EYXRhLCBEYXRh
YmFzZU5hbWVNYXAqPjsKIAotICAgIENoZWNrZWRMb2NrIG1fb3BlbkRhdGFiYXNlTWFwR3VhcmQ7
CisgICAgTG9jayBtX29wZW5EYXRhYmFzZU1hcEd1YXJkOwogICAgIG11dGFibGUgc3RkOjp1bmlx
dWVfcHRyPERhdGFiYXNlT3JpZ2luTWFwPiBtX29wZW5EYXRhYmFzZU1hcCBXVEZfR1VBUkRFRF9C
WV9MT0NLKG1fb3BlbkRhdGFiYXNlTWFwR3VhcmQpOwogCiAgICAgLy8gVGhpcyBsb2NrIHByb3Rl
Y3RzIG1fZGF0YWJhc2UsIG1fb3JpZ2luTG9ja01hcCwgbV9kYXRhYmFzZURpcmVjdG9yeVBhdGgs
IG1fb3JpZ2luc0JlaW5nRGVsZXRlZCwgbV9iZWluZ0NyZWF0ZWQsIGFuZCBtX2JlaW5nRGVsZXRl
ZC4KLSAgICBDaGVja2VkTG9jayBtX2RhdGFiYXNlR3VhcmQ7CisgICAgTG9jayBtX2RhdGFiYXNl
R3VhcmQ7CiAgICAgU1FMaXRlRGF0YWJhc2UgbV9kYXRhYmFzZSBXVEZfR1VBUkRFRF9CWV9MT0NL
KG1fZGF0YWJhc2VHdWFyZCk7CiAKICAgICB1c2luZyBPcmlnaW5Mb2NrTWFwID0gSGFzaE1hcDxT
dHJpbmcsIFJlZlB0cjxPcmlnaW5Mb2NrPj47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL1NRTENhbGxiYWNrV3JhcHBlci5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxDYWxsYmFja1dyYXBwZXIuaAppbmRleCBjMmVkMzY2ZTNj
MDhmZTllMTlmZjdjZWM5OTk1NWVkNDQwMTM5OTQxLi5jNDgxMjVlYmM0NmEzN2FiMGRhNjdlZTYx
Njc5ZDEyOGIwZjc2ZjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL1NRTENhbGxiYWNrV3JhcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvU1FMQ2FsbGJhY2tXcmFwcGVyLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNwcmFn
bWEgb25jZQogCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgotI2luY2x1ZGUg
PHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtOTQsNyArOTQsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNDYWxsYmFj
aygpIGNvbnN0IFdURl9JR05PUkVTX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMgeyByZXR1cm4gbV9j
YWxsYmFjazsgfQogCiBwcml2YXRlOgotICAgIENoZWNrZWRMb2NrIG1fbG9jazsKKyAgICBMb2Nr
IG1fbG9jazsKICAgICBSZWZQdHI8VD4gbV9jYWxsYmFjayBXVEZfR1VBUkRFRF9CWV9MT0NLKG1f
bG9jayk7CiAgICAgUmVmUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+IG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5oCmluZGV4IDMx
ZTEwYjcyMzg0MTljZmMwYjcyY2I1MTcwOGUwNmE5YmNlZWYwZTQuLmQyYzgwNzk2NzgxNTYxMGZl
ZDQ2YmE2ZmRmNGYxNDY5ZWU5OTM4MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNs
dWRlICJTUUxUcmFuc2FjdGlvbkJhY2tlbmQuaCIKICNpbmNsdWRlICJTUUxUcmFuc2FjdGlvblN0
YXRlTWFjaGluZS5oIgogI2luY2x1ZGUgIlNRTFZhbHVlLmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNr
ZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4K
IApAQCAtMTM5LDcgKzEzOCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3JlYWRPbmx5IHsgZmFs
c2UgfTsKICAgICBib29sIG1faGFzVmVyc2lvbk1pc21hdGNoIHsgZmFsc2UgfTsKIAotICAgIENo
ZWNrZWRMb2NrIG1fc3RhdGVtZW50TG9jazsKKyAgICBMb2NrIG1fc3RhdGVtZW50TG9jazsKICAg
ICBEZXF1ZTxzdGQ6OnVuaXF1ZV9wdHI8U1FMU3RhdGVtZW50Pj4gbV9zdGF0ZW1lbnRRdWV1ZSBX
VEZfR1VBUkRFRF9CWV9MT0NLKG1fc3RhdGVtZW50TG9jayk7CiAKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8U1FMU3RhdGVtZW50PiBtX2N1cnJlbnRTdGF0ZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAppbmRleCA4MjUwZTJiYjNhNjM0OGRjOWI0
Y2FiYTY0YWU0OGJjNjNkYTNkOTJmLi45MWVjM2UwYzU3NTlhMjFhNzMzMjRjMDUyYmRmN2NiZmQz
ODcyN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVE
ZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmlj
ZS5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoV2ViR1BVRGV2aWNlKTsKIAotQ2hlY2tlZExvY2sgV2ViR1BVRGV2
aWNlOjpzX2luc3RhbmNlc0xvY2s7CitMb2NrIFdlYkdQVURldmljZTo6c19pbnN0YW5jZXNMb2Nr
OwogCiBSZWZQdHI8V2ViR1BVRGV2aWNlPiBXZWJHUFVEZXZpY2U6OnRyeUNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Y29uc3QgV2ViR1BVQWRhcHRlcj4mJiBhZGFw
dGVyKQogewpAQCAtMTEyLDcgKzExMiw3IEBAIEhhc2hTZXQ8V2ViR1BVRGV2aWNlKj4mIFdlYkdQ
VURldmljZTo6aW5zdGFuY2VzKCkKICAgICByZXR1cm4gaW5zdGFuY2VzOwogfQogCi1DaGVja2Vk
TG9jayYgV2ViR1BVRGV2aWNlOjppbnN0YW5jZXNMb2NrKCkKK0xvY2smIFdlYkdQVURldmljZTo6
aW5zdGFuY2VzTG9jaygpCiB7CiAgICAgcmV0dXJuIHNfaW5zdGFuY2VzTG9jazsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgKaW5kZXggNzBmMWIxZGE3
MjkzZGZmYTEzMWEyNTVkNWI2NzVmYWM4YTBmMmEwNy4uZjlhYjA5MmY5NjYxZGFjMjNiNjEwMTU1
OThmOGMyNjhiYTIyMWM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVRGV2aWNlLmgKQEAgLTM0LDggKzM0LDggQEAKICNpbmNsdWRlICJXZWJHUFVBZGFwdGVyLmgi
CiAjaW5jbHVkZSAiV2ViR1BVUXVldWUuaCIKICNpbmNsdWRlICJXZWJHUFVTd2FwQ2hhaW5EZXNj
cmlwdG9yLmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIApAQCAtODYsNyArODYsNyBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZlB0cjxXZWJHUFVEZXZpY2U+IHRyeUNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgUmVmPGNvbnN0IFdlYkdQVUFkYXB0ZXI+JiYpOwogCiAgICAgc3RhdGljIEhh
c2hTZXQ8V2ViR1BVRGV2aWNlKj4mIGluc3RhbmNlcygpIFdURl9SRVFVSVJFU19MT0NLKGluc3Rh
bmNlc0xvY2soKSk7Ci0gICAgc3RhdGljIENoZWNrZWRMb2NrJiBpbnN0YW5jZXNMb2NrKCkgV1RG
X1JFVFVSTlNfTE9DSyhzX2luc3RhbmNlc0xvY2spOworICAgIHN0YXRpYyBMb2NrJiBpbnN0YW5j
ZXNMb2NrKCkgV1RGX1JFVFVSTlNfTE9DSyhzX2luc3RhbmNlc0xvY2spOwogCiAgICAgY29uc3Qg
V2ViR1BVQWRhcHRlciYgYWRhcHRlcigpIGNvbnN0IHsgcmV0dXJuIG1fYWRhcHRlci5nZXQoKTsg
fQogICAgIEdQVURldmljZSYgZGV2aWNlKCkgeyByZXR1cm4gbV9kZXZpY2UuZ2V0KCk7IH0KQEAg
LTEyNyw3ICsxMjcsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBkaXNwYXRjaFVuY2FwdHVyZWRF
cnJvcihHUFVFcnJvciYmKTsKIAotICAgIHN0YXRpYyBDaGVja2VkTG9jayBzX2luc3RhbmNlc0xv
Y2s7CisgICAgc3RhdGljIExvY2sgc19pbnN0YW5jZXNMb2NrOwogCiAgICAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZS5jcHAKaW5kZXggMjA1ZjFlZDFmN2I3
YzYzYjc3NTFiMTM0OTEzZGY0ODdmY2UyY2RjNi4uODRiNzgxMzMwYzY2NDI0YjU0YWMzODE3YmE2
ZGQ4NTg2MzkwMzMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVUGlwZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVVBpcGVsaW5lLmNwcApAQCAtMzksNyArMzksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLUNoZWNrZWRMb2NrIFdlYkdQVVBpcGVsaW5lOjpzX2luc3RhbmNlc0xvY2s7CitMb2NrIFdl
YkdQVVBpcGVsaW5lOjpzX2luc3RhbmNlc0xvY2s7CiAKIEhhc2hNYXA8V2ViR1BVUGlwZWxpbmUq
LCBXZWJHUFVEZXZpY2UqPiYgV2ViR1BVUGlwZWxpbmU6Omluc3RhbmNlcygpCiB7CkBAIC00Nyw3
ICs0Nyw3IEBAIEhhc2hNYXA8V2ViR1BVUGlwZWxpbmUqLCBXZWJHUFVEZXZpY2UqPiYgV2ViR1BV
UGlwZWxpbmU6Omluc3RhbmNlcygpCiAgICAgcmV0dXJuIGluc3RhbmNlczsKIH0KIAotQ2hlY2tl
ZExvY2smIFdlYkdQVVBpcGVsaW5lOjppbnN0YW5jZXNMb2NrKCkKK0xvY2smIFdlYkdQVVBpcGVs
aW5lOjppbnN0YW5jZXNMb2NrKCkKIHsKICAgICByZXR1cm4gc19pbnN0YW5jZXNMb2NrOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmUu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lLmgKaW5kZXgg
OTk5YTk4YWU1MmE2YmIwOWFiNGFlZjY3NGFkMTM0YjY4OTAyNmM4Zi4uZjg0Y2JjN2FmYWFiMmVh
ODEzZjdlNTY0YWJlMTliZWFlNjRjMTc5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFVQaXBlbGluZS5oCkBAIC0zMCw4ICszMCw4IEBACiAjaW5jbHVkZSAiQ29u
dGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJHUFVPYmplY3RCYXNlLmgiCiAj
aW5jbHVkZSAiV2ViR1BVU2hhZGVyTW9kdWxlLmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2Nr
Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgfldlYkdQVVBpcGVsaW5lKCk7CiAKICAgICBzdGF0aWMgSGFzaE1hcDxXZWJHUFVQaXBlbGlu
ZSosIFdlYkdQVURldmljZSo+JiBpbnN0YW5jZXMoKSBXVEZfUkVRVUlSRVNfTE9DSyhpbnN0YW5j
ZXNMb2NrKCkpOwotICAgIHN0YXRpYyBDaGVja2VkTG9jayYgaW5zdGFuY2VzTG9jaygpIFdURl9S
RVRVUk5TX0xPQ0soc19pbnN0YW5jZXNMb2NrKTsKKyAgICBzdGF0aWMgTG9jayYgaW5zdGFuY2Vz
TG9jaygpIFdURl9SRVRVUk5TX0xPQ0soc19pbnN0YW5jZXNMb2NrKTsKIAogICAgIHZpcnR1YWwg
Ym9vbCBpc1JlbmRlclBpcGVsaW5lKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0
dWFsIGJvb2wgaXNDb21wdXRlUGlwZWxpbmUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAt
NjUsNyArNjUsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgV2ViR1BVUGlwZWxpbmUoV2ViR1BVRGV2aWNl
JiwgR1BVRXJyb3JTY29wZXMmKTsKIAogcHJpdmF0ZToKLSAgICBzdGF0aWMgQ2hlY2tlZExvY2sg
c19pbnN0YW5jZXNMb2NrOworICAgIHN0YXRpYyBMb2NrIHNfaW5zdGFuY2VzTG9jazsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldC5jcHAKaW5kZXggZmU4MGQ0MDEwMDVlNTE0YjljOWY0ZDQ0YzA3ZTk3
YzA4ZGQxNTg0Ny4uNjI0YTU4OWFlOGJkYzg0NDAzOTI4YTlhNzZjMDI0MDNmNzFmOGYwNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKQEAg
LTc2LDcgKzc2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoV2ViU29ja2V0KTsKIAotQ2hlY2tlZExvY2sgV2ViU29ja2V0OjpzX2FsbEFjdGl2
ZVdlYlNvY2tldHNMb2NrOworTG9jayBXZWJTb2NrZXQ6OnNfYWxsQWN0aXZlV2ViU29ja2V0c0xv
Y2s7CiAKIGNvbnN0IHNpemVfdCBtYXhSZWFzb25TaXplSW5CeXRlcyA9IDEyMzsKIApAQCAtMTk0
LDcgKzE5NCw3IEBAIEhhc2hTZXQ8V2ViU29ja2V0Kj4mIFdlYlNvY2tldDo6YWxsQWN0aXZlV2Vi
U29ja2V0cygpCiAgICAgcmV0dXJuIGFjdGl2ZVdlYlNvY2tldHM7CiB9CiAKLUNoZWNrZWRMb2Nr
JiBXZWJTb2NrZXQ6OmFsbEFjdGl2ZVdlYlNvY2tldHNMb2NrKCkKK0xvY2smIFdlYlNvY2tldDo6
YWxsQWN0aXZlV2ViU29ja2V0c0xvY2soKQogewogICAgIHJldHVybiBzX2FsbEFjdGl2ZVdlYlNv
Y2tldHNMb2NrOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2Nr
ZXRzL1dlYlNvY2tldC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5oCmluZGV4IDcyNzA2OTk3MjU5M2YwMTZlZTQxMzcxODBhYjg3NDBlZTc2ODc1MjQuLmZm
ODQ1MTUyYmRlZWNjZDJlN2FjZjAyMjc2NmRmOTYyZDhmNDg4MzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNp
bmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9VUkwuaD4KICNpbmNsdWRlICJXZWJTb2Nr
ZXRDaGFubmVsQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVk
ZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYv
TG9jay5oPgpAQCAtNjIsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+V2ViU29ja2V0
KCk7CiAKICAgICBzdGF0aWMgSGFzaFNldDxXZWJTb2NrZXQqPiYgYWxsQWN0aXZlV2ViU29ja2V0
cygpIFdURl9SRVFVSVJFU19MT0NLKHNfYWxsQWN0aXZlV2ViU29ja2V0c0xvY2spOwotICAgIHN0
YXRpYyBDaGVja2VkTG9jayYgYWxsQWN0aXZlV2ViU29ja2V0c0xvY2soKSBXVEZfUkVUVVJOU19M
T0NLKHNfYWxsQWN0aXZlV2ViU29ja2V0c0xvY2spOworICAgIHN0YXRpYyBMb2NrJiBhbGxBY3Rp
dmVXZWJTb2NrZXRzTG9jaygpIFdURl9SRVRVUk5TX0xPQ0soc19hbGxBY3RpdmVXZWJTb2NrZXRz
TG9jayk7CiAKICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgQ09OTkVDVElORyA9IDAsCkBAIC0x
MzIsNyArMTMxLDcgQEAgcHJpdmF0ZToKIAogICAgIGVudW0gY2xhc3MgQmluYXJ5VHlwZSB7IEJs
b2IsIEFycmF5QnVmZmVyIH07CiAKLSAgICBzdGF0aWMgQ2hlY2tlZExvY2sgc19hbGxBY3RpdmVX
ZWJTb2NrZXRzTG9jazsKKyAgICBzdGF0aWMgTG9jayBzX2FsbEFjdGl2ZVdlYlNvY2tldHNMb2Nr
OwogICAgIFJlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gbV9jaGFubmVsOwogCiAg
ICAgU3RhdGUgbV9zdGF0ZSB7IENPTk5FQ1RJTkcgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcApp
bmRleCA5ZmMzODdlNDVjYTI1ODU4MmUzOTkyMWY1NmNjZTllN2QwMTA0YTQwLi5kY2Y3ZWUwNjdk
ZjNjMzJjODI0NTRjNzY3ZTAxZjdiMDZjNDZmOTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3Bw
CkBAIC0zNSw3ICszNSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ2hlY2tlZExvY2sg
QVhJc29sYXRlZFRyZWU6OnNfY2FjaGVMb2NrOworTG9jayBBWElzb2xhdGVkVHJlZTo6c19jYWNo
ZUxvY2s7CiAKIHN0YXRpYyB1bnNpZ25lZCBuZXdUcmVlSUQoKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVl
LmgKaW5kZXggODFhYjkzYzZiOWJiNDZhY2ZhY2E0MmI5OGQxNWIwNDFmZGY5MmM3NS4uMTg5ZGU1
YjIzOGUwZmU2ZDg3NDFkODZhZWI2YTBmMTVmZGZhOTI4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5o
CkBAIC0yOSw4ICsyOSw4IEBACiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmgiCiAjaW5jbHVkZSAiUGFnZUlkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tl
ZExvY2suaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291
bnRlZC5oPgogCkBAIC0zNzQsNyArMzc0LDcgQEAgcHJpdmF0ZToKICAgICBBWElzb2xhdGVkVHJl
ZShBWE9iamVjdENhY2hlKik7CiAgICAgdm9pZCBjbGVhcigpOwogCi0gICAgc3RhdGljIENoZWNr
ZWRMb2NrIHNfY2FjaGVMb2NrOworICAgIHN0YXRpYyBMb2NrIHNfY2FjaGVMb2NrOwogICAgIHN0
YXRpYyBIYXNoTWFwPEFYSXNvbGF0ZWRUcmVlSUQsIFJlZjxBWElzb2xhdGVkVHJlZT4+JiB0cmVl
SURDYWNoZSgpIFdURl9SRVFVSVJFU19MT0NLKHNfY2FjaGVMb2NrKTsKICAgICBzdGF0aWMgSGFz
aE1hcDxQYWdlSWRlbnRpZmllciwgUmVmPEFYSXNvbGF0ZWRUcmVlPj4mIHRyZWVQYWdlQ2FjaGUo
KSBXVEZfUkVRVUlSRVNfTE9DSyhzX2NhY2hlTG9jayk7CiAKQEAgLTQwMSw3ICs0MDEsNyBAQCBw
cml2YXRlOgogICAgIFZlY3RvcjxzdGQ6OnBhaXI8QVhJRCwgVmVjdG9yPEFYSUQ+Pj4gbV9wZW5k
aW5nQ2hpbGRyZW5VcGRhdGVzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9jaGFuZ2VMb2dMb2NrKTsK
ICAgICBBWElEIG1fcGVuZGluZ0ZvY3VzZWROb2RlSUQgV1RGX0dVQVJERURfQllfTE9DSyhtX2No
YW5nZUxvZ0xvY2spIHsgSW52YWxpZEFYSUQgfTsKICAgICBBWElEIG1fZm9jdXNlZE5vZGVJRCB7
IEludmFsaWRBWElEIH07Ci0gICAgQ2hlY2tlZExvY2sgbV9jaGFuZ2VMb2dMb2NrOworICAgIExv
Y2sgbV9jaGFuZ2VMb2dMb2NrOwogfTsKIAogaW5saW5lIEFYT2JqZWN0Q2FjaGUqIEFYSXNvbGF0
ZWRUcmVlOjpheE9iamVjdENhY2hlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbSBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9v
YmpjL1dlYlNjcmlwdE9iamVjdC5tbQppbmRleCAwZjVjMjlhNGFmYzQ1NmZjZWRkYTI0YmI0ZWFi
ZGFhYmJiNjEzZDAxLi4zMWMyMjhjMDIyYjAzYzY3YjdjN2VjNWFjNWZjMTJiOTEwMmIwMTdmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tCkBAIC00
OSw4ICs0OSw4IEBACiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KU0dsb2JhbE9iamVjdC5oPgog
I2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSlNMb2NrLmg+CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29y
ZS9KU1ZhbHVlSW50ZXJuYWwuaD4KLSNpbXBvcnQgPHd0Zi9DaGVja2VkTG9jay5oPgogI2ltcG9y
dCA8d3RmL0hhc2hNYXAuaD4KKyNpbXBvcnQgPHd0Zi9Mb2NrLmg+CiAjaW1wb3J0IDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9UaHJlYWRpbmcuaD4KICNpbXBvcnQgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgpAQCAtNzAsNyArNzAsNyBAQCB1c2luZyBKU0M6Om1ha2VTb3VyY2U7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIENoZWNrZWRMb2NrIHdyYXBwZXJDYWNo
ZUxvY2s7CitzdGF0aWMgTG9jayB3cmFwcGVyQ2FjaGVMb2NrOwogc3RhdGljIENyZWF0ZVdyYXBw
ZXJGdW5jdGlvbiBjcmVhdGVET01XcmFwcGVyRnVuY3Rpb247CiBzdGF0aWMgRGlzY29ubmVjdFdp
bmRvd1dyYXBwZXJGdW5jdGlvbiBkaXNjb25uZWN0V2luZG93V3JhcHBlckZ1bmN0aW9uOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vQ3J5cHRvQWxnb3JpdGhtUmVnaXN0cnku
aCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9DcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5oCmluZGV4
IGNiOTE4NjUxM2U2MDBmMDJmOWFjMmVmNTk3YWE5OTczNDI5MzdhZDUuLjYyODYwOTk0MGRkZDI1
YjFjMGY2MTc4YTI5MzIwODRmNGZjMzBkZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Ny
eXB0by9DcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9DcnlwdG9BbGdvcml0aG1SZWdpc3RyeS5oCkBAIC0yNiw5ICsyNiw5IEBACiAjcHJhZ21hIG9u
Y2UKIAogI2luY2x1ZGUgIkNyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3
dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTYzLDcgKzYz
LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVnaXN0ZXJBbGdvcml0aG0oY29uc3QgU3RyaW5n
JiBuYW1lLCBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBDcnlwdG9BbGdvcml0aG1Db25zdHJ1
Y3Rvcik7CiAKLSAgICBDaGVja2VkTG9jayBtX2xvY2s7CisgICAgTG9jayBtX2xvY2s7CiAgICAg
SGFzaE1hcDxTdHJpbmcsIENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIsIEFTQ0lJQ2FzZUluc2Vu
c2l0aXZlSGFzaD4gbV9pZGVudGlmaWVycyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CiAg
ICAgSGFzaE1hcDx1bnNpZ25lZCwgc3RkOjpwYWlyPFN0cmluZywgQ3J5cHRvQWxnb3JpdGhtQ29u
c3RydWN0b3I+PiBtX2NvbnN0cnVjdG9ycyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAKaW5kZXggYjc2NTg2MmU2Yzc2NWM4OWUxY2I1
OWViZDhhZjMxYTYyOGYxMjVjYy4uYzFjNWRjOTg2YWNiNzIzNDJlZDEwMGQ2ZmRjOWQ5MTYwZmQ4
YzkyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCkBAIC0zNSwxNiArMzUsMTYgQEAK
ICNpbmNsdWRlICJNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cy5oIgogI2luY2x1ZGUgIldvcmtlckds
b2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCi0jaW5jbHVkZSA8d3RmL0No
ZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVk
ZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1
ZGUgPHd0Zi9TY29wZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19B
TExPQ0FURURfSU1QTChNZXNzYWdlUG9ydCk7CiAKLXN0YXRpYyBDaGVja2VkTG9jayBhbGxNZXNz
YWdlUG9ydHNMb2NrOworc3RhdGljIExvY2sgYWxsTWVzc2FnZVBvcnRzTG9jazsKIHN0YXRpYyBI
YXNoTWFwPE1lc3NhZ2VQb3J0SWRlbnRpZmllciwgTWVzc2FnZVBvcnQqPiYgYWxsTWVzc2FnZVBv
cnRzKCkgV1RGX1JFUVVJUkVTX0xPQ0soYWxsTWVzc2FnZVBvcnRzTG9jaykKIHsKICAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxNZXNzYWdlUG9ydElkZW50aWZpZXIsIE1lc3NhZ2VQ
b3J0Kj4+IG1hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmNwcAppbmRleCA0YTU4NjZkYTc0ZDIwNTY4OTZlMmE0Njg0MDdlNTQwYmFiNjI5ODExLi4yNzBl
MTYxYTJlNTNkZmRmNmY0MGM4ZjExMDQwM2I4MGUyMDc2MzgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCkBAIC03Miw3ICs3Miw3IEBACiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvSlNQcm9taXNlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nSW5s
aW5lcy5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2Nr
Lmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAj
aW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CkBAIC04MCw3ICs4MCw3IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCi1zdGF0aWMgQ2hlY2tlZExv
Y2sgYWxsU2NyaXB0RXhlY3V0aW9uQ29udGV4dHNNYXBMb2NrOworc3RhdGljIExvY2sgYWxsU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dHNNYXBMb2NrOwogc3RhdGljIEhhc2hNYXA8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dElkZW50aWZpZXIsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqPiYgYWxsU2NyaXB0
RXhlY3V0aW9uQ29udGV4dHNNYXAoKSBXVEZfUkVRVUlSRVNfTE9DSyhhbGxTY3JpcHRFeGVjdXRp
b25Db250ZXh0c01hcExvY2spCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8
U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
Pj4gY29udGV4dHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDQ5ZDk0NTE1Y2E3ZTE0YzVmNGI1ZjVhOTBlNWQ3
ZjI5N2JiZGU0ZjguLjA0MDYyYTA0M2UxMjNlNDE2YjFlOGJmZjA4YjI2MTE1NjA1ZjYzZjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQuY3BwCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01B
S0VfSVNPX0FMTE9DQVRFRF9JTVBMKENhbnZhc1JlbmRlcmluZ0NvbnRleHQpOwogCi1DaGVja2Vk
TG9jayBDYW52YXNSZW5kZXJpbmdDb250ZXh0OjpzX2luc3RhbmNlc0xvY2s7CitMb2NrIENhbnZh
c1JlbmRlcmluZ0NvbnRleHQ6OnNfaW5zdGFuY2VzTG9jazsKIAogSGFzaFNldDxDYW52YXNSZW5k
ZXJpbmdDb250ZXh0Kj4mIENhbnZhc1JlbmRlcmluZ0NvbnRleHQ6Omluc3RhbmNlcygpCiB7CkBA
IC01NCw3ICs1NCw3IEBAIEhhc2hTZXQ8Q2FudmFzUmVuZGVyaW5nQ29udGV4dCo+JiBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0OjppbnN0YW5jZXMoKQogICAgIHJldHVybiBpbnN0YW5jZXM7CiB9CiAK
LUNoZWNrZWRMb2NrJiBDYW52YXNSZW5kZXJpbmdDb250ZXh0OjppbnN0YW5jZXNMb2NrKCkKK0xv
Y2smIENhbnZhc1JlbmRlcmluZ0NvbnRleHQ6Omluc3RhbmNlc0xvY2soKQogewogICAgIHJldHVy
biBzX2luc3RhbmNlc0xvY2s7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggMTBhZTlmNjc3MjZmNWQ0OTAwNWJhYjIw
MzEyOWU0NmE3NTIyOTNkNS4uOTJjMDNjMTllNGY3MTY0ZThhZDg3YTg5ZWJkNmQ1MDQzZjViNWNi
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQuaApAQCAtMjgsOSArMjgsOSBAQAogI2luY2x1ZGUgIkNhbnZhc0Jhc2UuaCIKICNp
bmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxlLmgiCi0j
aW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAK
QEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkNhbnZhc1JlbmRlcmluZ0Nv
bnRleHQoKTsKIAogICAgIHN0YXRpYyBIYXNoU2V0PENhbnZhc1JlbmRlcmluZ0NvbnRleHQqPiYg
aW5zdGFuY2VzKCkgV1RGX1JFUVVJUkVTX0xPQ0soaW5zdGFuY2VzTG9jaygpKTsKLSAgICBzdGF0
aWMgQ2hlY2tlZExvY2smIGluc3RhbmNlc0xvY2soKSBXVEZfUkVUVVJOU19MT0NLKHNfaW5zdGFu
Y2VzTG9jayk7CisgICAgc3RhdGljIExvY2smIGluc3RhbmNlc0xvY2soKSBXVEZfUkVUVVJOU19M
T0NLKHNfaW5zdGFuY2VzTG9jayk7CiAKICAgICB2b2lkIHJlZigpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgZGVyZWYoKTsKQEAgLTExMiw3ICsxMTIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9v
bCBtX2hhc0FjdGl2ZUluc3BlY3RvckNhbnZhc0NhbGxUcmFjZXIgeyBmYWxzZSB9OwogCiBwcml2
YXRlOgotICAgIHN0YXRpYyBDaGVja2VkTG9jayBzX2luc3RhbmNlc0xvY2s7CisgICAgc3RhdGlj
IExvY2sgc19pbnN0YW5jZXNMb2NrOwogCiAgICAgQ2FudmFzQmFzZSYgbV9jYW52YXM7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xPYmplY3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMT2JqZWN0LmgKaW5kZXggNjJiMzhmZTJmZWU3
ODNlM2JiMzFkNzU1M2E4ODA3M2FiODZhM2E5Ny4uNjQ1MTBiOWQ2MWM3ZGQxN2I3YTAwMjI3NjMx
ZGMxZDUxZjNiMmRkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTE9iamVjdC5o
CkBAIC0yOCw4ICsyOCw4IEBACiAjaWYgRU5BQkxFKFdFQkdMKQogCiAjaW5jbHVkZSAiR3JhcGhp
Y3NUeXBlc0dMLmgiCi0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xQcm9n
cmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5jcHAKaW5k
ZXggYTllNjUyYzE0MjFlYzdlNTJjOTNhNDRlNTJmYmY4MjM0YzA4YjA5Yy4uMTBlNDQxNTM2MTQ3
MjdhN2VhMDY2NDBmZWY0NGVmODBlYWI4ZWYwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xQcm9ncmFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFByb2dyYW0uY3BwCkBAIC00NSw3ICs0NSw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotQ2hlY2tlZExvY2sgV2ViR0xQcm9ncmFtOjpzX2luc3RhbmNlc0xvY2s7CitMb2Nr
IFdlYkdMUHJvZ3JhbTo6c19pbnN0YW5jZXNMb2NrOwogCiBIYXNoTWFwPFdlYkdMUHJvZ3JhbSos
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UqPiYgV2ViR0xQcm9ncmFtOjppbnN0YW5jZXMoKQog
ewpAQCAtNTMsNyArNTMsNyBAQCBIYXNoTWFwPFdlYkdMUHJvZ3JhbSosIFdlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2UqPiYgV2ViR0xQcm9ncmFtOjppbnN0YW5jZXMoKQogICAgIHJldHVybiBpbnN0
YW5jZXM7CiB9CiAKLUNoZWNrZWRMb2NrJiBXZWJHTFByb2dyYW06Omluc3RhbmNlc0xvY2soKQor
TG9jayYgV2ViR0xQcm9ncmFtOjppbnN0YW5jZXNMb2NrKCkKIHsKICAgICByZXR1cm4gc19pbnN0
YW5jZXNMb2NrOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xQcm9ncmFtLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFByb2dyYW0uaApp
bmRleCAxMDAwZDE4OWQxZjNhZmNlMmExNjkyOWFmYmMxYmQ4ZWQyOTRkNDRjLi45Njg1YThjYmNl
NTY4ZTk1OTgxZDQ3ZmJmMDc0YjA5NWRlNjU2ZTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFByb2dyYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFByb2dyYW0uaApAQCAtMjksOSArMjksOSBAQAogCiAjaW5jbHVkZSAiQ29udGV4
dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJXZWJHTFNoYXJlZE9iamVjdC5oIgot
I2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hGdW5jdGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC01NCw3ICs1NCw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIH5XZWJHTFByb2dyYW0oKTsKIAogICAgIHN0YXRpYyBIYXNo
TWFwPFdlYkdMUHJvZ3JhbSosIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UqPiYgaW5zdGFuY2Vz
KCkgV1RGX1JFUVVJUkVTX0xPQ0soaW5zdGFuY2VzTG9jaygpKTsKLSAgICBzdGF0aWMgQ2hlY2tl
ZExvY2smIGluc3RhbmNlc0xvY2soKSBXVEZfUkVUVVJOU19MT0NLKHNfaW5zdGFuY2VzTG9jayk7
CisgICAgc3RhdGljIExvY2smIGluc3RhbmNlc0xvY2soKSBXVEZfUkVUVVJOU19MT0NLKHNfaW5z
dGFuY2VzTG9jayk7CiAKICAgICB2b2lkIGNvbnRleHREZXN0cm95ZWQoKSBmaW5hbDsKIApAQCAt
OTgsNyArOTgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY2FjaGVBY3RpdmVBdHRyaWJMb2NhdGlv
bnMoR3JhcGhpY3NDb250ZXh0R0wqKTsKICAgICB2b2lkIGNhY2hlSW5mb0lmTmVlZGVkKCk7CiAK
LSAgICBzdGF0aWMgQ2hlY2tlZExvY2sgc19pbnN0YW5jZXNMb2NrOworICAgIHN0YXRpYyBMb2Nr
IHNfaW5zdGFuY2VzTG9jazsKIAogICAgIFZlY3RvcjxHQ0dMaW50PiBtX2FjdGl2ZUF0dHJpYkxv
Y2F0aW9uczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9X
ZWJIZWFwQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9XZWJIZWFw
QWdlbnQuY3BwCmluZGV4IGM3MmQzN2I5MDg5NTFmMmFhOTkzNzA2ZDYxNDQ0MDg2MDBkYmFlNzgu
LjYxNjI3ODhlNjY2M2M4NjA0NjY1N2JmM2E5NGFlNThlMmJmZjE3NjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvV2ViSGVhcEFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL1dlYkhlYXBBZ2VudC5jcHAKQEAgLTI4LDcgKzI4
LDcgQEAKIAogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKICNpbmNsdWRlICJXZWJD
b25zb2xlQWdlbnQuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3
dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTUxLDcgKzUxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHRpbWVyRmlyZWQoKTsKIAog
ICAgIFdlYkhlYXBBZ2VudCYgbV9hZ2VudDsKLSAgICBDaGVja2VkTG9jayBtX2NvbGxlY3Rpb25z
TG9jazsKKyAgICBMb2NrIG1fY29sbGVjdGlvbnNMb2NrOwogICAgIFZlY3RvcjxHYXJiYWdlQ29s
bGVjdGlvbkRhdGE+IG1fY29sbGVjdGlvbnMgV1RGX0dVQVJERURfQllfTE9DSyhtX2NvbGxlY3Rp
b25zTG9jayk7CiAgICAgUnVuTG9vcDo6VGltZXI8U2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZlbnRz
VGFzaz4gbV90aW1lcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc291
cmNlVXNhZ2VUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZVRocmVh
ZC5oCmluZGV4IGZkNDE0OWMyODU0YWU0MzFhNzQzYmE3ZmM1Yzc5NjEwYWRjMGMwY2QuLmEwMWFk
N2ZkZTE5Y2VhMjY1YWFmZDNkYzU3ZmQwMTYyZDY1YTIyMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZVRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUmVzb3VyY2VVc2FnZVRocmVhZC5oCkBAIC0zMCw4ICszMCw3IEBACiAjaW5jbHVkZSAiUmVz
b3VyY2VVc2FnZURhdGEuaCIKICNpbmNsdWRlIDxhcnJheT4KICNpbmNsdWRlIDxmdW5jdGlvbmFs
PgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNr
ZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0NvbmRpdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95
ZWQuaD4KQEAgLTgwLDggKzc5LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3JtQ29sbGVj
dE1lbW9yeURhdGEoSlNDOjpWTSosIFJlc291cmNlVXNhZ2VEYXRhJik7CiAKICAgICBSZWZQdHI8
VGhyZWFkPiBtX3RocmVhZDsKLSAgICBDaGVja2VkTG9jayBtX29ic2VydmVyc0xvY2s7Ci0gICAg
Q2hlY2tlZENvbmRpdGlvbiBtX2NvbmRpdGlvbjsKKyAgICBMb2NrIG1fb2JzZXJ2ZXJzTG9jazsK
KyAgICBDb25kaXRpb24gbV9jb25kaXRpb247CiAgICAgSGFzaE1hcDx2b2lkKiwgc3RkOjpwYWly
PFJlc291cmNlVXNhZ2VDb2xsZWN0aW9uTW9kZSwgc3RkOjpmdW5jdGlvbjx2b2lkKGNvbnN0IFJl
c291cmNlVXNhZ2VEYXRhJik+Pj4gbV9vYnNlcnZlcnMgV1RGX0dVQVJERURfQllfTE9DSyhtX29i
c2VydmVyc0xvY2spOwogICAgIFJlc291cmNlVXNhZ2VDb2xsZWN0aW9uTW9kZSBtX2NvbGxlY3Rp
b25Nb2RlIHsgTm9uZSB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3Vy
aXR5UG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlQb2xpY3kuY3BwCmlu
ZGV4IDUxODMzOTM1YWFlZWZhZjU4OTAyZTRiOWM2NmEwMjRhOWQ1ZDlkZmEuLjcwODkwOWMyNDA1
NWJmZWNhMDM3MjRhNGM5MWVmMjgwYjQ2MTM3NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJp
dHlQb2xpY3kuY3BwCkBAIC0zMyw4ICszMyw4IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4u
aCIKICNpbmNsdWRlICJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCIKICNpbmNsdWRlIDxtZW1vcnk+
Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
KyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5j
bHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgpAQCAtNDcs
NyArNDcsNyBAQCBzdGF0aWMgU2VjdXJpdHlQb2xpY3k6OkxvY2FsTG9hZFBvbGljeSBsb2NhbExv
YWRQb2xpY3kgPSBTZWN1cml0eVBvbGljeTo6QWxsb3dMbwogdHlwZWRlZiBWZWN0b3I8T3JpZ2lu
QWNjZXNzRW50cnk+IE9yaWdpbkFjY2Vzc0FsbG93bGlzdDsKIHR5cGVkZWYgSGFzaE1hcDxTdHJp
bmcsIHN0ZDo6dW5pcXVlX3B0cjxPcmlnaW5BY2Nlc3NBbGxvd2xpc3Q+PiBPcmlnaW5BY2Nlc3NN
YXA7CiAKLXN0YXRpYyBDaGVja2VkTG9jayBvcmlnaW5BY2Nlc3NNYXBMb2NrOworc3RhdGljIExv
Y2sgb3JpZ2luQWNjZXNzTWFwTG9jazsKIHN0YXRpYyBPcmlnaW5BY2Nlc3NNYXAmIG9yaWdpbkFj
Y2Vzc01hcCgpIFdURl9SRVFVSVJFU19MT0NLKG9yaWdpbkFjY2Vzc01hcExvY2spCiB7CiAgICAg
QVNTRVJUKG9yaWdpbkFjY2Vzc01hcExvY2suaXNIZWxkKCkpOwpAQCAtNTUsNyArNTUsNyBAQCBz
dGF0aWMgT3JpZ2luQWNjZXNzTWFwJiBvcmlnaW5BY2Nlc3NNYXAoKSBXVEZfUkVRVUlSRVNfTE9D
SyhvcmlnaW5BY2Nlc3NNYXBMb2NrKQogICAgIHJldHVybiBvcmlnaW5BY2Nlc3NNYXA7CiB9CiAK
LXN0YXRpYyBDaGVja2VkTG9jayBvcmlnaW5BY2Nlc3NQYXR0ZXJuTG9jazsKK3N0YXRpYyBMb2Nr
IG9yaWdpbkFjY2Vzc1BhdHRlcm5Mb2NrOwogc3RhdGljIFZlY3RvcjxVc2VyQ29udGVudFVSTFBh
dHRlcm4+JiBvcmlnaW5BY2Nlc3NQYXR0ZXJucygpIFdURl9SRVFVSVJFU19MT0NLKG9yaWdpbkFj
Y2Vzc1BhdHRlcm5Mb2NrKQogewogICAgIEFTU0VSVChvcmlnaW5BY2Nlc3NQYXR0ZXJuTG9jay5p
c0hlbGQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0
TW9uaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdE1vbml0b3IuaApp
bmRleCA3Y2QyZmEwNDljZjRjZmE1NTIxNjgwMTBjODlhMzYyMDZjZWZkYzgzLi42YmQyYjAwMzI1
YjZjNmUyZTIxMWQ4NjhiMmNjZDQ5ZTJlYzE2YTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1doZWVsRXZlbnRUZXN0TW9uaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
V2hlZWxFdmVudFRlc3RNb25pdG9yLmgKQEAgLTMwLDkgKzMwLDkgQEAKIAogI2luY2x1ZGUgIlBs
YXRmb3JtV2hlZWxFdmVudC5oIgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+Ci0jaW5jbHVkZSA8d3Rm
L0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRT
YWZlUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC03Myw3ICs3Myw3IEBA
IHByaXZhdGU6CiAgICAgV1RGOjpGdW5jdGlvbjx2b2lkKCk+IG1fY29tcGxldGlvbkNhbGxiYWNr
OwogICAgIFBhZ2UmIG1fcGFnZTsKIAotICAgIENoZWNrZWRMb2NrIG1fbG9jazsKKyAgICBMb2Nr
IG1fbG9jazsKICAgICBTY3JvbGxhYmxlQXJlYVJlYXNvbk1hcCBtX2RlZmVyQ29tcGxldGlvblJl
YXNvbnMgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOwogICAgIGJvb2wgbV9leHBlY3RXaGVl
bEVuZE9yQ2FuY2VsIFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKSB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX3JlY2VpdmVkV2hlZWxFbmRPckNhbmNlbCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9j
aykgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
VHJlZS5oCmluZGV4IGY2MWNkODFhMDY5NDI1NDY3NGRhOGRmY2Q4OWQ5NDhhNWY0YTEzMGUuLmRj
ZjE0Y2Q2YjZiZjA1MGJlNzk3OTYyNjc3Y2JiMjliODQ1MGNjNzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKQEAgLTM3LDcgKzM3LDYgQEAKICNp
bmNsdWRlICJTY3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5n
VHJlZUxhdGNoaW5nQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIldoZWVsRXZlbnRUZXN0TW9uaXRv
ci5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5o
PgpAQCAtMjE3LDcgKzIxNiw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFNlbmRF
dmVudFRvTWFpblRocmVhZChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgd2FpdEZvckV2ZW50VG9CZVByb2Nlc3NlZEJ5TWFpblRocmVhZChjb25zdCBQbGF0
Zm9ybVdoZWVsRXZlbnQmKSB7IH07CiAKLSAgICBDaGVja2VkTG9jayYgdHJlZUxvY2soKSBXVEZf
UkVUVVJOU19MT0NLKG1fdHJlZUxvY2spIHsgcmV0dXJuIG1fdHJlZUxvY2s7IH0KKyAgICBMb2Nr
JiB0cmVlTG9jaygpIFdURl9SRVRVUk5TX0xPQ0sobV90cmVlTG9jaykgeyByZXR1cm4gbV90cmVl
TG9jazsgfQogCiAgICAgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5
SUQsIE9wdGlvbmFsPEZyYW1lc1BlclNlY29uZD4gbm9taW5hbEZyYW1lc1BlclNlY29uZCk7CiAg
ICAgUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKCk7CkBAIC0yNjAsNyArMjU5LDcgQEAgcHJv
dGVjdGVkOgogICAgIHZvaWQgYXBwbHlMYXllclBvc2l0aW9uc0ludGVybmFsKCkgV1RGX1JFUVVJ
UkVTX0xPQ0sobV90cmVlTG9jayk7CiAgICAgdm9pZCByZW1vdmVBbGxOb2RlcygpIFdURl9SRVFV
SVJFU19MT0NLKG1fdHJlZUxvY2spOwogCi0gICAgQ2hlY2tlZExvY2sgbV90cmVlTG9jazsgLy8g
UHJvdGVjdHMgdGhlIHNjcm9sbGluZyB0cmVlLgorICAgIExvY2sgbV90cmVlTG9jazsgLy8gUHJv
dGVjdHMgdGhlIHNjcm9sbGluZyB0cmVlLgogCiBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlVHJl
ZUZyb21TdGF0ZU5vZGVSZWN1cnNpdmUoY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlKiwgc3RydWN0
IENvbW1pdFRyZWVTdGF0ZSYpIFdURl9SRVFVSVJFU19MT0NLKG1fdHJlZUxvY2spOwpAQCAtMzAz
LDcgKzMwMiw3IEBAIHByaXZhdGU6CiAgICAgICAgIEhhc2hTZXQ8U2Nyb2xsaW5nTm9kZUlEPiBu
b2Rlc1dpdGhBY3RpdmVVc2VyU2Nyb2xsczsKICAgICB9OwogICAgIAotICAgIENoZWNrZWRMb2Nr
IG1fdHJlZVN0YXRlTG9jazsKKyAgICBMb2NrIG1fdHJlZVN0YXRlTG9jazsKICAgICBUcmVlU3Rh
dGUgbV90cmVlU3RhdGUgV1RGX0dVQVJERURfQllfTE9DSyhtX3RyZWVTdGF0ZUxvY2spOwogCiAg
ICAgc3RydWN0IFN3aXBlU3RhdGUgewpAQCAtMzE3LDEzICszMTYsMTMgQEAgcHJpdmF0ZToKICAg
ICAgICAgUmVjdEVkZ2VzPGJvb2w+IG1haW5GcmFtZVBpbm5lZFN0YXRlIHsgdHJ1ZSwgdHJ1ZSwg
dHJ1ZSwgdHJ1ZSB9OwogICAgIH07CiAKLSAgICBDaGVja2VkTG9jayBtX3N3aXBlU3RhdGVMb2Nr
OworICAgIExvY2sgbV9zd2lwZVN0YXRlTG9jazsKICAgICBTd2lwZVN0YXRlIG1fc3dpcGVTdGF0
ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fc3dpcGVTdGF0ZUxvY2spOwogCi0gICAgQ2hlY2tlZExv
Y2sgbV9wZW5kaW5nU2Nyb2xsVXBkYXRlc0xvY2s7CisgICAgTG9jayBtX3BlbmRpbmdTY3JvbGxV
cGRhdGVzTG9jazsKICAgICBWZWN0b3I8U2Nyb2xsVXBkYXRlPiBtX3BlbmRpbmdTY3JvbGxVcGRh
dGVzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9wZW5kaW5nU2Nyb2xsVXBkYXRlc0xvY2spOwogCi0g
ICAgQ2hlY2tlZExvY2sgbV9sYXN0V2hlZWxFdmVudFRpbWVMb2NrOworICAgIExvY2sgbV9sYXN0
V2hlZWxFdmVudFRpbWVMb2NrOwogICAgIE1vbm90b25pY1RpbWUgbV9sYXN0V2hlZWxFdmVudFRp
bWUgV1RGX0dVQVJERURfQllfTE9DSyhtX2xhc3RXaGVlbEV2ZW50VGltZUxvY2spOwogCiBwcm90
ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlTGF0Y2hpbmdDb250cm9sbGVyLmgKaW5kZXggZTQ3ZWQ2NGE0OWU0YzZh
Y2ZjODFhZjkyMzg4NzQyZDVlZTg0ODRkNy4uMjg5YTFjNDAwODgxNzNiNDhjM2FlNDUwZDY2ZWZh
MWJlNWY3MTVjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nVHJlZUxhdGNoaW5nQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVMYXRjaGluZ0NvbnRyb2xsZXIuaApAQCAtMjgsNyArMjgs
NyBAQAogI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAKICNpbmNsdWRlICJTY3JvbGxUeXBl
cy5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+
CiAjaW5jbHVkZSA8d3RmL01hcmthYmxlLmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUu
aD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0Lmg+CkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoK
IHByaXZhdGU6CiAgICAgYm9vbCBsYXRjaGVkTm9kZUlzUmVsZXZhbnQoKSBjb25zdDsKIAotICAg
IG11dGFibGUgQ2hlY2tlZExvY2sgbV9sYXRjaGVkTm9kZUxvY2s7CisgICAgbXV0YWJsZSBMb2Nr
IG1fbGF0Y2hlZE5vZGVMb2NrOwogICAgIE9wdGlvbmFsPFNjcm9sbGluZ05vZGVBbmRQcm9jZXNz
aW5nU3RlcHM+IG1fbGF0Y2hlZE5vZGVBbmRTdGVwcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbGF0
Y2hlZE5vZGVMb2NrKTsKICAgICBPcHRpb25hbDxPcHRpb25TZXQ8V2hlZWxFdmVudFByb2Nlc3Np
bmdTdGVwcz4+IG1fcHJvY2Vzc2luZ1N0ZXBzRm9yQ3VycmVudEdlc3R1cmU7CiAgICAgTW9ub3Rv
bmljVGltZSBtX2xhc3RMYXRjaGVkTm9kZUludGVyYXRpb25UaW1lOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaAppbmRleCAy
MDM4ODQzNTFiNjBkNDUzODFhYWRlMGQ4NWY3ZjlmNTc1ODIyNjcxLi40MDQ1MWNhY2MyYTZmMTNk
OGM0ZWFkYjM3NzMzZjA4NDM2ZTFhZjIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaApAQCAtMjksNyArMjksNyBAQAog
CiAjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVUcmVlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nVHJl
ZS5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+CisjaW5jbHVkZSA8d3RmL0Nv
bmRpdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9v
cC5oPgogCkBAIC02MCw3ICs2MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHdpbGxTdGFydFJlbmRl
cmluZ1VwZGF0ZSgpOwogICAgIHZvaWQgZGlkQ29tcGxldGVSZW5kZXJpbmdVcGRhdGUoKTsKIAot
ICAgIENoZWNrZWRMb2NrJiB0cmVlTG9jaygpIFdURl9SRVRVUk5TX0xPQ0sobV90cmVlTG9jaykg
eyByZXR1cm4gbV90cmVlTG9jazsgfQorICAgIExvY2smIHRyZWVMb2NrKCkgV1RGX1JFVFVSTlNf
TE9DSyhtX3RyZWVMb2NrKSB7IHJldHVybiBtX3RyZWVMb2NrOyB9CiAKICAgICBib29sIHNjcm9s
bEFuaW1hdG9yRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsQW5pbWF0b3JFbmFibGVk
OyB9CiAKQEAgLTEwNCwxMCArMTA0LDEwIEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIFN5bmNo
cm9uaXphdGlvblN0YXRlIG1fc3RhdGUgV1RGX0dVQVJERURfQllfTE9DSyhtX3RyZWVMb2NrKSB7
IFN5bmNocm9uaXphdGlvblN0YXRlOjpJZGxlIH07Ci0gICAgQ2hlY2tlZENvbmRpdGlvbiBtX3N0
YXRlQ29uZGl0aW9uOworICAgIENvbmRpdGlvbiBtX3N0YXRlQ29uZGl0aW9uOwogCiAgICAgYm9v
bCBtX3JlY2VpdmVkQmVnYW5FdmVudEZyb21NYWluVGhyZWFkIFdURl9HVUFSREVEX0JZX0xPQ0so
bV90cmVlTG9jaykgeyBmYWxzZSB9OwotICAgIENoZWNrZWRDb25kaXRpb24gbV93YWl0aW5nRm9y
QmVnYW5FdmVudENvbmRpdGlvbjsKKyAgICBDb25kaXRpb24gbV93YWl0aW5nRm9yQmVnYW5FdmVu
dENvbmRpdGlvbjsKIAogICAgIC8vIER5bmFtaWNhbGx5IGFsbG9jYXRlZCBiZWNhdXNlIGl0IGhh
cyB0byB1c2UgdGhlIFNjcm9sbGluZ1RocmVhZCdzIHJ1bmxvb3AuCiAgICAgc3RkOjp1bmlxdWVf
cHRyPFJ1bkxvb3A6OlRpbWVyPFRocmVhZGVkU2Nyb2xsaW5nVHJlZT4+IG1fZGVsYXllZFJlbmRl
cmluZ1VwZGF0ZURldGVjdGlvblRpbWVyIFdURl9HVUFSREVEX0JZX0xPQ0sobV90cmVlTG9jayk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9BYm9ydGFibGVUYXNrUXVldWUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Fib3J0YWJsZVRhc2tRdWV1ZS5oCmluZGV4IGY4
NDkxZjAxMmU1ZDY2ODI2MGM1MDM3ZDQ5ZGY4ZDY3MGY4ZjU5ZjIuLjJhNjUwMjNhOTIwMzg4YTBj
Mjk4ZTM5YTRlZGYxNTg1MzAzN2RlMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0Fib3J0YWJsZVRhc2tRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Fi
b3J0YWJsZVRhc2tRdWV1ZS5oCkBAIC0yMCwxMCArMjAsMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAK
LSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2Vk
TG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUu
aD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2lu
Y2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCkBA
IC0yMzIsOCArMjMyLDggQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICBib29sIG1fYWJvcnRpbmcg
V1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsgZmFsc2UgfTsKLSAgICBDaGVja2VkTG9jayBt
X2xvY2s7Ci0gICAgQ2hlY2tlZENvbmRpdGlvbiBtX2Fib3J0ZWRPclJlc3BvbnNlU2V0OworICAg
IExvY2sgbV9sb2NrOworICAgIENvbmRpdGlvbiBtX2Fib3J0ZWRPclJlc3BvbnNlU2V0OwogICAg
IFdURjo6RGVxdWU8UmVmPFRhc2s+PiBtX2NoYW5uZWwgV1RGX0dVQVJERURfQllfTE9DSyhtX2xv
Y2spOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNw
cAppbmRleCAyZjVhZjQ3YzdlMjY5NDZmM2VjMWZmZjQwOGZhN2FhYmMzNzgzZTUxLi4zYjQ5YzRm
Y2MwNGM0N2RmZWI3YjM5MzA3MDYzOTNiMGE2MWYxYWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLUNoZWNrZWRMb2NrIFRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6c19zaGFy
ZWRMb2NrOworTG9jayBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnNfc2hhcmVkTG9jazsKIAogVGFz
a0Rpc3BhdGNoZXI8VGltZXI+OjpUYXNrRGlzcGF0Y2hlcigpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmgKaW5kZXggNTFjMDgyNWM2YjRmZTAxZDY1Y2FjNDBj
YWE5N2JlYzFjMThmMTZiNC4uNmVhZDQzNTNkYzk5MTg4MjMxNmRkMzViOWM2ODlhOWVmYjYwNDE3
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuaApAQCAtNzEs
NyArNzEsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBkaXNwYXRjaE9uZVRhc2soKTsKIAotICAg
IHN0YXRpYyBDaGVja2VkTG9jayBzX3NoYXJlZExvY2s7CisgICAgc3RhdGljIExvY2sgc19zaGFy
ZWRMb2NrOwogICAgIERlcXVlPEZ1bmN0aW9uPHZvaWQoKT4+IG1fcGVuZGluZ1Rhc2tzIFdURl9H
VUFSREVEX0JZX0xPQ0soc19zaGFyZWRMb2NrKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0xlZ2FjeVNjaGVtZVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0xlZ2FjeVNjaGVtZVJlZ2lzdHJ5LmNwcAppbmRleCBkNWJiMDQ1MjhhY2I5YjIw
ZTY5NWQ3YjBjMDU0YTc5YjA4MTA3YzBjLi4xY2I3OWE2Mzk0NDQzZjUzZWI5ZTRhNWE0NzBiMTg2
YTdiZDJmMGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZWdhY3lTY2hl
bWVSZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVnYWN5U2NoZW1l
UmVnaXN0cnkuY3BwCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiTGVnYWN5U2NoZW1lUmVn
aXN0cnkuaCIKIAogI2luY2x1ZGUgIlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgotI2luY2x1
ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8
d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNs
dWRlIDx3dGYvVVJMUGFyc2VyLmg+CkBAIC02NSw3ICs2NSw3IEBAIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxVUkxTY2hlbWVzTWFwPiBtYWtlTmV2ZXJEZXN0cm95ZWRTY2hlbWVTZXQoY29uc3QgVmVj
dG9yPFN0CiAgICAgcmV0dXJuIHNldDsKIH0KIAotc3RhdGljIENoZWNrZWRMb2NrIHNjaGVtZVJl
Z2lzdHJ5TG9jazsKK3N0YXRpYyBMb2NrIHNjaGVtZVJlZ2lzdHJ5TG9jazsKIAogc3RhdGljIGNv
bnN0IFVSTFNjaGVtZXNNYXAmIGFsbEJ1aWx0aW5TY2hlbWVzKCkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvRGVzdGluYXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvRGVzdGluYXRpb24uaAppbmRleCAzNmQ1Y2UxZDYx
N2IwMDEzZmVlOWU0YjM1YmNiNTM3YmFlZTE0MWM0Li41ZTdmM2VjOTcyMTI4MjQzZWYxNGMyYzhi
NTU4MTg3ZmZiYjhlNjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9BdWRpb0Rlc3RpbmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
QXVkaW9EZXN0aW5hdGlvbi5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiQXVkaW9CdXMu
aCIKICNpbmNsdWRlICJBdWRpb0lPQ2FsbGJhY2suaCIKICNpbmNsdWRlIDxtZW1vcnk+Ci0jaW5j
bHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVy
Lmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNv
dW50ZWQuaD4KQEAgLTc4LDcgKzc3LDcgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIGV4cGxp
Y2l0IEF1ZGlvRGVzdGluYXRpb24oQXVkaW9JT0NhbGxiYWNrJik7CiAKLSAgICBDaGVja2VkTG9j
ayBtX2NhbGxiYWNrTG9jazsKKyAgICBMb2NrIG1fY2FsbGJhY2tMb2NrOwogICAgIEF1ZGlvSU9D
YWxsYmFjayogbV9jYWxsYmFjayBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fY2FsbGJhY2tMb2NrKSB7
IG51bGxwdHIgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0hSVEZEYXRhYmFzZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
SFJURkRhdGFiYXNlTG9hZGVyLmgKaW5kZXggOWY4NDdkNTRhZGE2ZTFiODIyZTJhZjY5YWRmNDY1
YzBhZTVlZGVmOC4uZTE0YTEwMDhmODdkOWYzNzMwYzE2NzAxZDcyY2IwMDdjZDA1Yjg2ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlTG9hZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlTG9hZGVy
LmgKQEAgLTMxLDcgKzMxLDcgQEAKIAogI2luY2x1ZGUgIkhSVEZEYXRhYmFzZS5oIgogI2luY2x1
ZGUgPG1lbW9yeT4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYv
TG9jay5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KQEAgLTc1LDcgKzc1LDcgQEAgcHJpdmF0
ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SFJURkRhdGFiYXNlPiBtX2hydGZEYXRhYmFzZTsKIAog
ICAgIC8vIEhvbGRpbmcgYSBtX3RocmVhZExvY2sgaXMgcmVxdWlyZWQgd2hlbiBhY2Nlc3Npbmcg
bV9kYXRhYmFzZUxvYWRlclRocmVhZC4KLSAgICBDaGVja2VkTG9jayBtX3RocmVhZExvY2s7Cisg
ICAgTG9jayBtX3RocmVhZExvY2s7CiAgICAgUmVmUHRyPFRocmVhZD4gbV9kYXRhYmFzZUxvYWRl
clRocmVhZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fdGhyZWFkTG9jayk7CiAKICAgICBmbG9hdCBt
X2RhdGFiYXNlU2FtcGxlUmF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2NvY29hL0F1ZGlvRGVzdGluYXRpb25Db2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9EZXN0aW5hdGlvbkNvY29hLmgKaW5kZXggOWMzYmQ3YTRm
OTc0NjVjOTFiY2UzNjM1N2E4NzNkOGIwYzBmYmIzMS4uNTRmNDcxOTU4ZWNlZGQ5NzE5ZGIyN2Mw
MWU3MmEwMDU1NGQ4Y2E0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vY29jb2EvQXVkaW9EZXN0aW5hdGlvbkNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvQXVkaW9EZXN0aW5hdGlvbkNvY29hLmgKQEAgLTMwLDcgKzMwLDcg
QEAKICNpbmNsdWRlICJBdWRpb0Rlc3RpbmF0aW9uLmgiCiAjaW5jbHVkZSAiQXVkaW9PdXRwdXRV
bml0QWRhcHRvci5oIgogI2luY2x1ZGUgPEF1ZGlvVW5pdC9BdWRpb1VuaXQuaD4KLSNpbmNsdWRl
IDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+CiAKQEAgLTg1LDEzICs4NSwx
MyBAQCBwcml2YXRlOgogCiAgICAgLy8gUmVzb2x2ZXMgdGhlIGJ1ZmZlciBzaXplIG1pc21hdGNo
IGJldHdlZW4gdGhlIFdlYkF1ZGlvIGVuZ2luZSBhbmQKICAgICAvLyB0aGUgY2FsbGJhY2sgZnVu
Y3Rpb24gZnJvbSB0aGUgYWN0dWFsIGF1ZGlvIGRldmljZS4KLSAgICBDaGVja2VkTG9jayBtX2Zp
Zm9Mb2NrOworICAgIExvY2sgbV9maWZvTG9jazsKICAgICBVbmlxdWVSZWY8UHVzaFB1bGxGSUZP
PiBtX2ZpZm8gV1RGX0dVQVJERURfQllfTE9DSyhtX2ZpZm9Mb2NrKTsKIAogICAgIHN0ZDo6dW5p
cXVlX3B0cjxNdWx0aUNoYW5uZWxSZXNhbXBsZXI+IG1fcmVzYW1wbGVyOwogICAgIEF1ZGlvSU9Q
b3NpdGlvbiBtX291dHB1dFRpbWVzdGFtcDsKIAotICAgIENoZWNrZWRMb2NrIG1fZGlzcGF0Y2hU
b1JlbmRlclRocmVhZExvY2s7CisgICAgTG9jayBtX2Rpc3BhdGNoVG9SZW5kZXJUaHJlYWRMb2Nr
OwogICAgIEZ1bmN0aW9uPHZvaWQoRnVuY3Rpb248dm9pZCgpPiYmKT4gbV9kaXNwYXRjaFRvUmVu
ZGVyVGhyZWFkIFdURl9HVUFSREVEX0JZX0xPQ0sobV9kaXNwYXRjaFRvUmVuZGVyVGhyZWFkTG9j
ayk7CiAKICAgICBmbG9hdCBtX2NvbnRleHRTYW1wbGVSYXRlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvU291cmNlUHJvdmlkZXJHU3Ry
ZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb1Nv
dXJjZVByb3ZpZGVyR1N0cmVhbWVyLmgKaW5kZXggNWEzYWY2Y2Y4OTMwYzI3MWNjNDEwZTM4NjEx
MWFjZTk4ZDRlYzFlOS4uYjg4MGM4NGFmN2NmNjY1MzI2YTcxZGEwOTM3MTE1ZDY3Y2RlZTQ4MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlv
U291cmNlUHJvdmlkZXJHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9nc3RyZWFtZXIvQXVkaW9Tb3VyY2VQcm92aWRlckdTdHJlYW1lci5oCkBAIC0yNSw4ICsy
NSw4IEBACiAjaW5jbHVkZSAiR1JlZlB0ckdTdHJlYW1lci5oIgogI2luY2x1ZGUgIk1haW5UaHJl
YWROb3RpZmllci5oIgogI2luY2x1ZGUgPGdzdC9nc3QuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tl
ZExvY2suaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+
CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQpAQCAtODYsNyArODYsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIGxvbmcgbV9kZWludGVy
bGVhdmVQYWRBZGRlZEhhbmRsZXJJZCB7IDAgfTsKICAgICB1bnNpZ25lZCBsb25nIG1fZGVpbnRl
cmxlYXZlTm9Nb3JlUGFkc0hhbmRsZXJJZCB7IDAgfTsKICAgICB1bnNpZ25lZCBsb25nIG1fZGVp
bnRlcmxlYXZlUGFkUmVtb3ZlZEhhbmRsZXJJZCB7IDAgfTsKLSAgICBDaGVja2VkTG9jayBtX2Fk
YXB0ZXJMb2NrOworICAgIExvY2sgbV9hZGFwdGVyTG9jazsKIH07CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9XZWJLaXRXZWJBdWRpb1Nv
dXJjZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFt
ZXIvV2ViS2l0V2ViQXVkaW9Tb3VyY2VHU3RyZWFtZXIuY3BwCmluZGV4IDY4ZTFmOTQ2YmZiZDg3
MGQ4OGM2NDgzY2RjMzk1MTcxMzRiZjY5MTkuLjBmZWE5MjVjNGYzMTkzZmMxNmUxMDFjNTljYTdm
NWUxZTBkYzY4Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dz
dHJlYW1lci9XZWJLaXRXZWJBdWRpb1NvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL1dlYktpdFdlYkF1ZGlvU291cmNlR1N0cmVh
bWVyLmNwcApAQCAtMzEsOCArMzEsOCBAQAogI2luY2x1ZGUgPGdzdC9hcHAvZ3N0YXBwc3JjLmg+
CiAjaW5jbHVkZSA8Z3N0L2F1ZGlvL2F1ZGlvLWluZm8uaD4KICNpbmNsdWRlIDxnc3QvcGJ1dGls
cy9taXNzaW5nLXBsdWdpbnMuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgot
I2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4K
KyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9TY29wZS5oPgogI2luY2x1ZGUg
PHd0Zi9nbGliL0dVbmlxdWVQdHIuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9XVEZHVHlwZS5oPgpA
QCAtODEsMTIgKzgxLDEyIEBAIHN0cnVjdCBfV2ViS2l0V2ViQXVkaW9TcmNQcml2YXRlIHsKIAog
ICAgIGJvb2wgaGFzUmVuZGVyZWRBdWRpYmxlRnJhbWUgeyBmYWxzZSB9OwogCi0gICAgQ2hlY2tl
ZExvY2sgZGlzcGF0Y2hUb1JlbmRlclRocmVhZExvY2s7CisgICAgTG9jayBkaXNwYXRjaFRvUmVu
ZGVyVGhyZWFkTG9jazsKICAgICBGdW5jdGlvbjx2b2lkKEZ1bmN0aW9uPHZvaWQoKT4mJik+IGRp
c3BhdGNoVG9SZW5kZXJUaHJlYWRGdW5jdGlvbiBXVEZfR1VBUkRFRF9CWV9MT0NLKGRpc3BhdGNo
VG9SZW5kZXJUaHJlYWRMb2NrKTsKIAogICAgIGJvb2wgZGlzcGF0Y2hEb25lIFdURl9HVUFSREVE
X0JZX0xPQ0soZGlzcGF0Y2hMb2NrKTsKLSAgICBDaGVja2VkTG9jayBkaXNwYXRjaExvY2s7Ci0g
ICAgQ2hlY2tlZENvbmRpdGlvbiBkaXNwYXRjaENvbmRpdGlvbjsKKyAgICBMb2NrIGRpc3BhdGNo
TG9jazsKKyAgICBDb25kaXRpb24gZGlzcGF0Y2hDb25kaXRpb247CiAKICAgICBfV2ViS2l0V2Vi
QXVkaW9TcmNQcml2YXRlKCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9tYWMvRkZURnJhbWVNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vbWFjL0ZGVEZyYW1lTWFjLmNwcAppbmRleCBlYTRkZWQyNjQxZjU0NjU0MTIzOWFlNzVm
ZmE2YWIzMDc2OTdmNzMyLi4yMjkwZjdlYTg2MDU5ZWJiZjg4YzU4OThlMDg0MmY0MzlkMjQyYzM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvRkZURnJhbWVN
YWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9GRlRGcmFtZU1h
Yy5jcHAKQEAgLTM3LDcgKzM3LDcgQEAKICNpbmNsdWRlICJGRlRGcmFtZS5oIgogCiAjaW5jbHVk
ZSAiVmVjdG9yTWF0aC5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUg
PHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNv
bnN0ZXhwciB1bnNpZ25lZCBrTWluRkZUUG93MlNpemUgPSAyOwogY29uc3RleHByIHVuc2lnbmVk
IGtNYXhGRlRQb3cyU2l6ZSA9IDI0OwogCi1zdGF0aWMgQ2hlY2tlZExvY2sgZmZ0U2V0dXBzTG9j
azsKK3N0YXRpYyBMb2NrIGZmdFNldHVwc0xvY2s7CiAKIHN0YXRpYyBWZWN0b3I8RkZUU2V0dXA+
JiBmZnRTZXR1cHMoKSBXVEZfUkVRVUlSRVNfTE9DSyhmZnRTZXR1cHNMb2NrKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvQ0RNUHJveHkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETVByb3h5LmgKaW5kZXgg
NzA4ODU4ZWU5ODI4OTFkYjY1NGY2NGVlMzE5ZGZlOGY0ODYxMzdhMS4uNDY5N2IyNTE3YWE1OGVm
NDMyZGZhZWQ0NjA1OTIwZDkyNjUwYzdiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZW5jcnlwdGVkbWVkaWEvQ0RNUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9lbmNyeXB0ZWRtZWRpYS9DRE1Qcm94eS5oCkBAIC0zNSw4ICszNSw4IEBACiAjaW5jbHVk
ZSAiTWVkaWFQbGF5ZXJQcml2YXRlLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5j
bHVkZSA8d3RmL0JveFB0ci5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+Ci0j
aW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0NvbmRpdGlvbi5oPgor
I2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAKICNpZiBFTkFCTEUoVEhVTkRFUikKICNpbmNsdWRlICJD
RE1PcGVuQ0RNVHlwZXMuaCIKQEAgLTE3MSwxMSArMTcxLDExIEBAIHByb3RlY3RlZDoKICAgICBj
b25zdCBDRE1JbnN0YW5jZVByb3h5KiBpbnN0YW5jZSgpIGNvbnN0OwogCiBwcml2YXRlOgotICAg
IG11dGFibGUgQ2hlY2tlZExvY2sgbV9pbnN0YW5jZUxvY2s7CisgICAgbXV0YWJsZSBMb2NrIG1f
aW5zdGFuY2VMb2NrOwogICAgIENETUluc3RhbmNlUHJveHkqIG1faW5zdGFuY2UgV1RGX0dVQVJE
RURfQllfTE9DSyhtX2luc3RhbmNlTG9jayk7CiAKLSAgICBtdXRhYmxlIENoZWNrZWRMb2NrIG1f
a2V5c0xvY2s7Ci0gICAgbXV0YWJsZSBDaGVja2VkQ29uZGl0aW9uIG1fa2V5c0NvbmRpdGlvbjsK
KyAgICBtdXRhYmxlIExvY2sgbV9rZXlzTG9jazsKKyAgICBtdXRhYmxlIENvbmRpdGlvbiBtX2tl
eXNDb25kaXRpb247CiAgICAgLy8gRklYTUU6IER1cGxpY2F0ZWQga2V5IHN0b3JlcyBpbiB0aGUg
aW5zdGFuY2UgYW5kIHRoZSBwcm94eSBhcmUgcHJvYmFibHkgbm90IG5lZWRlZCwgYnV0IHNpbXBs
aWZpZWQKICAgICAvLyB0aGUgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBpbiB0ZXJtcyBvZiB0aHJl
YWRpbmcgaW52YXJpYW50cy4KICAgICBLZXlTdG9yZSBtX2tleVN0b3JlIFdURl9HVUFSREVEX0JZ
X0xPQ0sobV9rZXlzTG9jayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllci5jcHAKaW5kZXggOGEwMzcwNjk4Y2RiMDllMTc0YmMyZDNlMTMyM2Q4NzM0
Zjk0MmQ1OC4uM2U0ZTFhMjQzMzlkZjVmYzAyMmIyNTRhMzBiYzU5N2ZiYjhmMTA5OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAt
MzcsNyArMzcsNyBAQAogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJN
ZWRpYVBsYXllclByaXZhdGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVRpbWVSYW5nZXMuaCIKLSNp
bmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1
ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
ICNpbmNsdWRlICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlLmgiCkBAIC0yMDQsNyArMjA0LDcgQEAg
c3RhdGljIE1lZGlhUGxheWVyQ2xpZW50JiBudWxsTWVkaWFQbGF5ZXJDbGllbnQoKQogCiBzdGF0
aWMgdm9pZCBhZGRNZWRpYUVuZ2luZShzdGQ6OnVuaXF1ZV9wdHI8TWVkaWFQbGF5ZXJGYWN0b3J5
PiYmKTsKIAotc3RhdGljIENoZWNrZWRMb2NrIG1lZGlhRW5naW5lVmVjdG9yTG9jazsKK3N0YXRp
YyBMb2NrIG1lZGlhRW5naW5lVmVjdG9yTG9jazsKIAogc3RhdGljIGJvb2wmIGhhdmVNZWRpYUVu
Z2luZXNWZWN0b3IoKSBXVEZfUkVRVUlSRVNfTE9DSyhtZWRpYUVuZ2luZVZlY3RvckxvY2spCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
LmgKaW5kZXggZDhhYjljNjY3MmNhN2VmMWI2NGU2ZWExMGEwYjFmMWU3MDhmZTk4ZC4uMGZmMWI3
OGRjMjViYTEwMjlmMjI1NTk2MWQyYWIwNjRkOGMwMjIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaApAQCAtMzEsOSArMzEsOSBA
QAogI2luY2x1ZGUgIkluYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuaCIKICNpbmNsdWRlICJNZWRp
YVBsYXllclByaXZhdGUuaCIKICNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9DaGVj
a2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlv
bi5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5o
PgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKQEAgLTMyMyw3ICszMjMsNyBAQCBwcml2YXRl
OgogCiAgICAgV1RGOjpGdW5jdGlvbjx2b2lkKCk+IG1fcGVuZGluZ1NlZWs7CiAKLSAgICBtdXRh
YmxlIENoZWNrZWRMb2NrIG1fcXVldWVkTm90aWZpY2F0aW9uc0xvY2s7CisgICAgbXV0YWJsZSBM
b2NrIG1fcXVldWVkTm90aWZpY2F0aW9uc0xvY2s7CiAgICAgRGVxdWU8Tm90aWZpY2F0aW9uPiBt
X3F1ZXVlZE5vdGlmaWNhdGlvbnMgV1RGX0dVQVJERURfQllfTE9DSyhtX3F1ZXVlZE5vdGlmaWNh
dGlvbnNMb2NrKTsKIAogICAgIG11dGFibGUgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJh
bmdlcz4gbV9jYWNoZWRMb2FkZWRUaW1lUmFuZ2VzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbkNGLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHAKaW5kZXggODUz
NGIxZjBkNTQwYzg2MzEzZTk5NWYwMWRjNzc4OTVmMGRkZjNlNi4uMTczOWY1MjczZGZjNDA4ODJj
YTk5MTZjNTAwY2QzMzNiMjQ5ZTYyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bkNGLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCkBAIC0xNjcsNyArMTY3
LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBpbmxpbmUgdm9pZCogY2FsbGJhY2tDb250ZXh0
KCkgY29uc3QgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4obV9vYmplY3RJRCk7IH0K
IAotICAgIHN0YXRpYyBDaGVja2VkTG9jayBtYXBMb2NrOworICAgIHN0YXRpYyBMb2NrIG1hcExv
Y2s7CiAgICAgc3RhdGljIEhhc2hNYXA8dWludHB0cl90LCBBVkZXcmFwcGVyKj4mIG1hcCgpIFdU
Rl9SRVFVSVJFU19MT0NLKG1hcExvY2spOwogICAgIHN0YXRpYyBBVkZXcmFwcGVyKiBhdmZXcmFw
cGVyRm9yQ2FsbGJhY2tDb250ZXh0KHZvaWQqKSBXVEZfUkVRVUlSRVNfTE9DSyhtYXBMb2NrKTsK
ICAgICB2b2lkIGFkZFRvTWFwKCk7CkBAIC0xNDE2LDcgKzE0MTYsNyBAQCBBVkZXcmFwcGVyOjp+
QVZGV3JhcHBlcigpCiAgICAgbV9hdlBsYXllciA9IDA7CiB9CiAKLUNoZWNrZWRMb2NrIEFWRldy
YXBwZXI6Om1hcExvY2s7CitMb2NrIEFWRldyYXBwZXI6Om1hcExvY2s7CiBIYXNoTWFwPHVpbnRw
dHJfdCwgQVZGV3JhcHBlcio+JiBBVkZXcmFwcGVyOjptYXAoKQogewogICAgIHN0YXRpYyBIYXNo
TWFwPHVpbnRwdHJfdCwgQVZGV3JhcHBlcio+JiBtYXAgPSAqbmV3IEhhc2hNYXA8dWludHB0cl90
LCBBVkZXcmFwcGVyKj47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9i
akMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCmluZGV4IDFiZDQ5ZjE0ZTFi
YTNhZWExNzczNzhkOWI5MDMzYTg2NDQ4ZmVjY2YuLmE0ZWFlM2MzYjZmZjRhMGI0OGVmMzA4ZTk5
MDU4MTZjODFiYmQwN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2Jq
Qy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCkBAIC0zMSw5ICszMSw5
IEBACiAjaW5jbHVkZSAiTWVkaWFTYW1wbGUuaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVByaXZh
dGUuaCIKICNpbmNsdWRlICJTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaCIKLSNpbmNsdWRlIDx3
dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0xvZ2dlckhl
bHBlci5oPgogCiBPQkpDX0NMQVNTIEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOwpAQCAtMjY1
LDcgKzI2NSw3IEBAIHByaXZhdGU6CiAKICAgICBSZXRhaW5QdHI8V2ViUm9vdFNhbXBsZUJ1ZmZl
ckJvdW5kc0NoYW5nZUxpc3RlbmVyPiBtX2JvdW5kc0NoYW5nZUxpc3RlbmVyOwogCi0gICAgQ2hl
Y2tlZExvY2sgbV9jdXJyZW50VmlkZW9TYW1wbGVMb2NrOworICAgIExvY2sgbV9jdXJyZW50Vmlk
ZW9TYW1wbGVMb2NrOwogICAgIFJlZlB0cjxNZWRpYVNhbXBsZT4gbV9jdXJyZW50VmlkZW9TYW1w
bGUgV1RGX0dVQVJERURfQllfTE9DSyhtX2N1cnJlbnRWaWRlb1NhbXBsZUxvY2spOwogCiAgICAg
Ym9vbCBtX3BsYXlpbmcgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxheWVyQ29jb2EubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5t
bQppbmRleCBmYjIxZGU1MDk2ZDZhOTRlZGYyNTQxNWQ2NGJhNjdjMjZhMDJhOTYxLi45ZGM4YTdm
OGZiMTMzNjNhN2RmMjhiZjk0YjNjNzkyNGEyZjRhYzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNB
TGF5ZXJDb2NvYS5tbQpAQCAtNTMsNyArNTMsNyBAQAogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+
CiAjaW1wb3J0IDx3dGYvQmxvY2tPYmpDRXhjZXB0aW9ucy5oPgogI2ltcG9ydCA8d3RmL0Jsb2Nr
UHRyLmg+Ci0jaW1wb3J0IDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbXBvcnQgPHd0Zi9Mb2NrLmg+
CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvVmVjdG9yQ29j
b2EuaD4KIApAQCAtNzYsNyArNzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIExh
eWVyVG9QbGF0Zm9ybUNBTGF5ZXJNYXAgPSBIYXNoTWFwPHZvaWQqLCBQbGF0Zm9ybUNBTGF5ZXIq
PjsKIAotc3RhdGljIENoZWNrZWRMb2NrIGxheWVyVG9QbGF0Zm9ybUxheWVyTWFwTG9jazsKK3N0
YXRpYyBMb2NrIGxheWVyVG9QbGF0Zm9ybUxheWVyTWFwTG9jazsKIHN0YXRpYyBMYXllclRvUGxh
dGZvcm1DQUxheWVyTWFwJiBsYXllclRvUGxhdGZvcm1MYXllck1hcCgpIFdURl9SRVFVSVJFU19M
T0NLKGxheWVyVG9QbGF0Zm9ybUxheWVyTWFwTG9jaykKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8TGF5ZXJUb1BsYXRmb3JtQ0FMYXllck1hcD4gbGF5ZXJNYXA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmgKaW5kZXggZTYy
MTY4YjlkNjAxMmE0NjIzYzlmYTg5OWEyMzgyNWU5ZTI3ZTFiNS4uN2EwYjRlMzI2OTYyMDNjMDcz
YzJmZTdiMzNjOGNjMDA3MjVmZTg3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaApAQCAtMzEsOSArMzEsOSBAQAogI2luY2x1
ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJJbnRTaXplSGFzaC5oIgogI2luY2x1ZGUgIlRpbWVy
LmgiCi0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1
ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAKQEAg
LTEwMyw3ICsxMDMsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzaG93UG9vbFN0YXRpc3RpY3Mo
Y29uc3QgY2hhciopOwogCi0gICAgQ2hlY2tlZExvY2sgbV9sb2NrOworICAgIExvY2sgbV9sb2Nr
OwogICAgIFJ1bkxvb3A6OlRpbWVyPElPU3VyZmFjZVBvb2w+IG1fY29sbGVjdGlvblRpbWVyIFdU
Rl9HVUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKICAgICBDYWNoZWRTdXJmYWNlTWFwIG1fY2FjaGVk
U3VyZmFjZXMgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOwogICAgIENhY2hlZFN1cmZhY2VR
dWV1ZSBtX2luVXNlU3VyZmFjZXMgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdp
dGhUaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VD
YWNoZVdpdGhUaW1lci5oCmluZGV4IDUzNThiODU3ZTUxODc2N2ZmZjViMmYzZjc5MjA0YWYzNWI0
YmVmMDMuLmRlMTFlMzBmMWQ0YzEyNWNlYTY4Njc0MTBjZTg4Y2RlZjExMzA4OGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRo
VGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFn
ZUNhY2hlV2l0aFRpbWVyLmgKQEAgLTI5LDEwICsyOSwxMCBAQAogI2luY2x1ZGUgIlRpbWVyLmgi
CiAKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+Ci0jaW5jbHVkZSA8d3Rm
L0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hDb3VudGVkU2V0Lmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgorI2luY2x1ZGUg
PHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
dW5Mb29wLmg+CiAKQEAgLTk3LDcgKzk3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBydW5lKCkg
V1RGX1JFUVVJUkVTX0xPQ0sobV9sb2NrKTsKICAgICB2b2lkIGNsZWFyQWxsKCk7CiAKLSAgICBD
aGVja2VkTG9jayBtX2xvY2s7CisgICAgTG9jayBtX2xvY2s7CiAgICAgSGFzaENvdW50ZWRTZXQ8
Q0dJbWFnZVJlZj4gbV9pbWFnZUNvdW50cyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CiAg
ICAgU3ViaW1hZ2VDYWNoZUhhc2hTZXQgbV9jYWNoZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9j
ayk7CiAgICAgUnVuTG9vcDo6VGltZXI8U3ViaW1hZ2VDYWNoZVdpdGhUaW1lcj4gbV90aW1lciBX
VEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXgg
OTRjYWUwOWNlZWYxZmIzZGJiZGE1NmUzMTMzNmMzMjJmZDVkMDExZS4uNDc1MmZhYzI1MDAzODRj
ODk0ZGE3ZDdlNjM5NjhjZDcxYjNiZmNiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApAQCAt
MzUsOCArMzUsOCBAQAogCiAjaW5jbHVkZSA8Q29yZVRleHQvU0ZOVExheW91dFR5cGVzLmg+CiAK
LSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgor
I2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNpbmNs
dWRlIDx3dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVz
dHJveWVkLmg+CkBAIC05MTAsNyArOTEwLDcgQEAgcHJpdmF0ZToKICAgICB7CiAgICAgfQogCi0g
ICAgQ2hlY2tlZExvY2sgbV9mYW1pbHlOYW1lVG9Gb250RGVzY3JpcHRvcnNMb2NrOworICAgIExv
Y2sgbV9mYW1pbHlOYW1lVG9Gb250RGVzY3JpcHRvcnNMb2NrOwogICAgIEhhc2hNYXA8U3RyaW5n
LCBzdGQ6OnVuaXF1ZV9wdHI8SW5zdGFsbGVkRm9udEZhbWlseT4+IG1fZmFtaWx5TmFtZVRvRm9u
dERlc2NyaXB0b3JzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9mYW1pbHlOYW1lVG9Gb250RGVzY3Jp
cHRvcnNMb2NrKTsKICAgICBIYXNoTWFwPFN0cmluZywgSW5zdGFsbGVkRm9udD4gbV9wb3N0U2Ny
aXB0TmFtZVRvRm9udERlc2NyaXB0b3JzOwogICAgIEFsbG93VXNlckluc3RhbGxlZEZvbnRzIG1f
YWxsb3dVc2VySW5zdGFsbGVkRm9udHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW1hZ2VEZWNvZGVyR1N0cmVhbWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW1hZ2VEZWNvZGVyR1N0cmVhbWVy
LmgKaW5kZXggZjI0NzczNDgxMGE1MTI0MzFiNzNkMzU3NWFkZmNhODU5N2U4M2VjMi4uOGY5Njlm
ZWVlMTJiZDBlMDU1Njk2Yzk0NGM4NmIwZGIwZmRmNzQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0ltYWdlRGVjb2RlckdTdHJlYW1lci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbWFnZURl
Y29kZXJHU3RyZWFtZXIuaApAQCAtMjYsOSArMjYsOSBAQAogI2luY2x1ZGUgIk1JTUVUeXBlUmVn
aXN0cnkuaCIKICNpbmNsdWRlICJTYW1wbGVNYXAuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIu
aCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9DaGVj
a2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4K
ICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCkBAIC0xMTYsOCArMTE2LDggQEAgcHJpdmF0ZToK
ICAgICAgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBtX2RlY29kZWJpbjsKICAgICAgICAgUnVuTG9v
cCYgbV9ydW5Mb29wOwogCi0gICAgICAgIENoZWNrZWRDb25kaXRpb24gbV9tZXNzYWdlQ29uZGl0
aW9uOwotICAgICAgICBDaGVja2VkTG9jayBtX21lc3NhZ2VMb2NrOworICAgICAgICBDb25kaXRp
b24gbV9tZXNzYWdlQ29uZGl0aW9uOworICAgICAgICBMb2NrIG1fbWVzc2FnZUxvY2s7CiAgICAg
ICAgIGJvb2wgbV9tZXNzYWdlRGlzcGF0Y2hlZCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbWVzc2Fn
ZUxvY2spIHsgZmFsc2UgfTsKICAgICB9OwogCkBAIC0xMzQsMTEgKzEzNCwxMSBAQCBwcml2YXRl
OgogICAgIE9wdGlvbmFsPEludFNpemU+IG1fc2l6ZTsKICAgICBTdHJpbmcgbV9taW1lVHlwZTsK
ICAgICBSZWZQdHI8SW1hZ2VEZWNvZGVyR1N0cmVhbWVyOjpJbm5lckRlY29kZXI+IG1faW5uZXJE
ZWNvZGVyOwotICAgIENoZWNrZWRDb25kaXRpb24gbV9zYW1wbGVDb25kaXRpb247Ci0gICAgQ2hl
Y2tlZExvY2sgbV9zYW1wbGVMb2NrOworICAgIENvbmRpdGlvbiBtX3NhbXBsZUNvbmRpdGlvbjsK
KyAgICBMb2NrIG1fc2FtcGxlTG9jazsKICAgICBHUmVmUHRyPEdzdFNhbXBsZT4gbV9zYW1wbGUg
V1RGX0dVQVJERURfQllfTE9DSyhtX3NhbXBsZUxvY2spOwotICAgIENoZWNrZWRDb25kaXRpb24g
bV9oYW5kbGVyQ29uZGl0aW9uOwotICAgIENoZWNrZWRMb2NrIG1faGFuZGxlckxvY2s7CisgICAg
Q29uZGl0aW9uIG1faGFuZGxlckNvbmRpdGlvbjsKKyAgICBMb2NrIG1faGFuZGxlckxvY2s7CiB9
OwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWFpblRocmVhZE5vdGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWFpblRocmVhZE5vdGlmaWVyLmgKaW5kZXggOGQ5NDI0MGJi
MDZlYzQxYjdkNzc1YzJmNDAzNTNhY2NjNTI0NjI2Ni4uNDc1M2VkOWUyMzJiMDI3ZTg4ZmYyZjdi
MTJkMWM2MmE5Mjc0MTRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01haW5UaHJlYWROb3RpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NYWluVGhyZWFkTm90aWZpZXIuaApAQCAtNjgs
OCArNjgsOCBAQCBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRj4KICAgICB2b2lkIG5v
dGlmeUFuZFdhaXQoVCBub3RpZmljYXRpb25UeXBlLCBGJiYgY2FsbGJhY2tGdW5jdG9yKQogICAg
IHsKLSAgICAgICAgQ2hlY2tlZExvY2sgbG9jazsKLSAgICAgICAgQ2hlY2tlZENvbmRpdGlvbiBj
b25kaXRpb247CisgICAgICAgIExvY2sgbG9jazsKKyAgICAgICAgQ29uZGl0aW9uIGNvbmRpdGlv
bjsKIAogICAgICAgICBub3RpZnkobm90aWZpY2F0aW9uVHlwZSwgW2Z1bmN0b3IgPSBXVEZNb3Zl
KGNhbGxiYWNrRnVuY3RvciksICZjb25kaXRpb24sICZsb2NrXSB7CiAgICAgICAgICAgICBmdW5j
dG9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKaW5k
ZXggMTEzNTYyNmRhMTIxNmY4Yzg0ODE4ZTUzOGRlMzhiYWNjMzViZjIzOC4uNDc1ODRhNmZjMjcx
MTVlNDJiNTBkZGUyZjM5NWI2N2Q3MjZlYjE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuaApAQCAtMzgsOSArMzgsOSBAQAogI2luY2x1ZGUgPGdzdC9n
c3QuaD4KICNpbmNsdWRlIDxnc3QvcGJ1dGlscy9pbnN0YWxsLXBsdWdpbnMuaD4KICNpbmNsdWRl
IDx3dGYvQXRvbWljcy5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+Ci0jaW5j
bHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0NvbmRpdGlvbi5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3
dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3
dGYvV2Vha1B0ci5oPgpAQCAtMzc2LDggKzM3Niw4IEBAIHByb3RlY3RlZDoKICAgICBJbWFnZU9y
aWVudGF0aW9uIG1fdmlkZW9Tb3VyY2VPcmllbnRhdGlvbjsKIAogI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCi0gICAgQ2hlY2tlZExvY2sgbV9jZG1BdHRhY2htZW50TG9jazsKLSAgICBDaGVj
a2VkQ29uZGl0aW9uIG1fY2RtQXR0YWNobWVudENvbmRpdGlvbjsKKyAgICBMb2NrIG1fY2RtQXR0
YWNobWVudExvY2s7CisgICAgQ29uZGl0aW9uIG1fY2RtQXR0YWNobWVudENvbmRpdGlvbjsKICAg
ICBSZWZQdHI8Q0RNSW5zdGFuY2VQcm94eT4gbV9jZG1JbnN0YW5jZTsKIAogICAgIExvY2sgbV9w
cm90ZWN0aW9uTXV0ZXg7IC8vIEd1YXJkcyBhY2Nlc3MgdG8gbV9oYW5kbGVkUHJvdGVjdGlvbkV2
ZW50cy4KQEAgLTQ3NSw4ICs0NzUsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgTWVkaWFUaW1l
IG1fbWF4VGltZUxvYWRlZEF0TGFzdERpZExvYWRpbmdQcm9ncmVzczsKICAgICBib29sIG1faGFz
VmlkZW8geyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXNBdWRpbyB7IGZhbHNlIH07Ci0gICAgQ2hl
Y2tlZENvbmRpdGlvbiBtX2RyYXdDb25kaXRpb247Ci0gICAgQ2hlY2tlZExvY2sgbV9kcmF3TG9j
azsKKyAgICBDb25kaXRpb24gbV9kcmF3Q29uZGl0aW9uOworICAgIExvY2sgbV9kcmF3TG9jazsK
ICAgICBSdW5Mb29wOjpUaW1lcjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+IG1fZHJhd1Rp
bWVyIFdURl9HVUFSREVEX0JZX0xPQ0sobV9kcmF3TG9jayk7CiAgICAgUnVuTG9vcDo6VGltZXI8
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiBtX3JlYWR5VGltZXJIYW5kbGVyOwogI2lmIFVT
RShURVhUVVJFX01BUFBFUl9HTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3Jt
TGF5ZXJQcm94eS5oCmluZGV4IGMwODkxNTAxMDdkNjkwMjQwYWMwY2IyNWEwNDNkNGE1NzhkZTE5
MTQuLmZkYmJkMjRiNzI4YjQ1MjEzNDFhMTVhNjZhMjYxMjU1ZmZkZjUyY2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxh
dGZvcm1MYXllclByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuaApAQCAtMjgsOSArMjgsOSBA
QAogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAogI2luY2x1ZGUgIlRleHR1cmVNYXBw
ZXJHTEhlYWRlcnMuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgotI2luY2x1
ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4KICNpbmNs
dWRlIDx3dGYvRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0
Zi9SdW5Mb29wLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiAgICAgLy8gVG8g
YXZvaWQgbXVsdGlwbGUgbG9jay9yZWxlYXNlIHNpdHVhdGlvbiB0byB1cGRhdGUgYSBzaW5nbGUg
ZnJhbWUsCiAgICAgLy8gdGhlIGltcGxlbWVudGF0aW9uIG9mIFRleHR1cmVNYXBwZXJQbGF0Zm9y
bUxheWVyUHJveHlQcm92aWRlciBzaG91bGQKICAgICAvLyBhcXVpcmUgLyByZWxlYXNlIHRoZSBs
b2NrIGV4cGxpY2l0bHkgdG8gdXNlIGJlbG93IG1ldGhvZHMuCi0gICAgQ2hlY2tlZExvY2smIGxv
Y2soKSBXVEZfUkVUVVJOU19MT0NLKG1fbG9jaykgeyByZXR1cm4gbV9sb2NrOyB9CisgICAgTG9j
ayYgbG9jaygpIFdURl9SRVRVUk5TX0xPQ0sobV9sb2NrKSB7IHJldHVybiBtX2xvY2s7IH0KICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZmZXI+IGdldEF2
YWlsYWJsZUJ1ZmZlcihjb25zdCBJbnRTaXplJiwgR0xpbnQgaW50ZXJuYWxGb3JtYXQpOwogICAg
IHZvaWQgcHVzaE5leHRCdWZmZXIoc3RkOjp1bmlxdWVfcHRyPFRleHR1cmVNYXBwZXJQbGF0Zm9y
bUxheWVyQnVmZmVyPiYmKTsKICAgICBib29sIGlzQWN0aXZlKCk7CkBAIC04NCwxMCArODQsMTAg
QEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5
ZXJCdWZmZXI+IG1fY3VycmVudEJ1ZmZlcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VGV4dHVyZU1h
cHBlclBsYXRmb3JtTGF5ZXJCdWZmZXI+IG1fcGVuZGluZ0J1ZmZlcjsKIAotICAgIENoZWNrZWRM
b2NrIG1fbG9jazsKKyAgICBMb2NrIG1fbG9jazsKIAotICAgIENoZWNrZWRMb2NrIG1fd2FzQnVm
ZmVyRHJvcHBlZExvY2s7Ci0gICAgQ2hlY2tlZENvbmRpdGlvbiBtX3dhc0J1ZmZlckRyb3BwZWRD
b25kaXRpb247CisgICAgTG9jayBtX3dhc0J1ZmZlckRyb3BwZWRMb2NrOworICAgIENvbmRpdGlv
biBtX3dhc0J1ZmZlckRyb3BwZWRDb25kaXRpb247CiAgICAgYm9vbCBtX3dhc0J1ZmZlckRyb3Bw
ZWQgV1RGX0dVQVJERURfQllfTE9DSyhtX3dhc0J1ZmZlckRyb3BwZWRMb2NrKSB7IGZhbHNlIH07
CiAKICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVy
QnVmZmVyPj4gbV91c2VkQnVmZmVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL1NjYWxhYmxlSW1hZ2VEZWNvZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9TY2FsYWJsZUltYWdlRGVjb2Rlci5oCmluZGV4IDUw
MjhjYmFiZDg2ZTA4NWI0YzVjZWFlMTJkMmY4ODMwMGJlODQwMTcuLjU3YzEyZmMxMzY2OWM4YmEw
MTkzYWQ2YzUxOWY5ZGM1NjFiYmQ0ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL1NjYWxhYmxlSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvU2NhbGFibGVJbWFnZURlY29kZXIuaApAQCAt
MzMsNyArMzMsNyBAQAogI2luY2x1ZGUgIlNjYWxhYmxlSW1hZ2VEZWNvZGVyRnJhbWUuaCIKICNp
bmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KQEAgLTE5Nyw3ICsxOTcsNyBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6
CiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcjo6RGF0YVNlZ21lbnQ+IG1fZGF0YTsKICAgICBWZWN0
b3I8U2NhbGFibGVJbWFnZURlY29kZXJGcmFtZSwgMT4gbV9mcmFtZUJ1ZmZlckNhY2hlIFdURl9H
VUFSREVEX0JZX0xPQ0sobV9sb2NrKTsKLSAgICBtdXRhYmxlIENoZWNrZWRMb2NrIG1fbG9jazsK
KyAgICBtdXRhYmxlIExvY2sgbV9sb2NrOwogICAgIGJvb2wgbV9wcmVtdWx0aXBseUFscGhhOwog
ICAgIGJvb2wgbV9pZ25vcmVHYW1tYUFuZENvbG9yUHJvZmlsZTsKICAgICBJbWFnZU9yaWVudGF0
aW9uIG1fb3JpZW50YXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvUXVpY2tMb29rLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1F1aWNrTG9vay5t
bQppbmRleCBiZTg3YWQyZDNkZGRlZTY1NmVkODJhNGQ0MmU2ZWFjNGNkZGNiMjg0Li5lM2MzMDdj
ODFlMWI5YzdmMjlmMDNlYjQzMjNhODFmM2E4OWU5MWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvUXVpY2tMb29rLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9RdWlja0xvb2subW0KQEAgLTMwLDcgKzMwLDYgQEAKIAogI2ltcG9ydCAiUmVzb3Vy
Y2VSZXF1ZXN0LmgiCiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL05TRmlsZU1hbmFnZXJTUEkuaD4K
LSNpbXBvcnQgPHd0Zi9DaGVja2VkTG9jay5oPgogI2ltcG9ydCA8d3RmL0ZpbGVTeXN0ZW0uaD4K
ICNpbXBvcnQgPHd0Zi9Mb2NrLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KQEAg
LTQ3LDcgKzQ2LDcgQEAgTlNTZXQgKlFMUHJldmlld0dldFN1cHBvcnRlZE1JTUVUeXBlc1NldCgp
CiAgICAgcmV0dXJuIHNldC5nZXQoKS5nZXQoKTsKIH0KIAotc3RhdGljIENoZWNrZWRMb2NrIHFs
UHJldmlld0NvbnZlcnRlckRpY3Rpb25hcnlMb2NrOworc3RhdGljIExvY2sgcWxQcmV2aWV3Q29u
dmVydGVyRGljdGlvbmFyeUxvY2s7CiAKIHN0YXRpYyBOU011dGFibGVEaWN0aW9uYXJ5ICpRTFBy
ZXZpZXdDb252ZXJ0ZXJEaWN0aW9uYXJ5KCkgV1RGX1JFUVVJUkVTX0xPQ0socWxQcmV2aWV3Q29u
dmVydGVyRGljdGlvbmFyeUxvY2spCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5tbQppbmRleCA3
MDcyMmE5NjljNjliN2JmNzFlMDM3NDhhNDMzYmZmMzlmNzVkNjc1Li4yN2RiNTMyZmMwYjJiODVj
OGJhMDdkMjk4ZmNmNjZkNDljYmE0OGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KQEAg
LTMxLDcgKzMxLDcgQEAKICNpbXBvcnQgIldlYkJhY2tncm91bmRUYXNrQ29udHJvbGxlci5oIgog
I2ltcG9ydCA8V2ViQ29yZS9EYXRhYmFzZVRyYWNrZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvU1FM
aXRlRGF0YWJhc2VUcmFja2VyLmg+Ci0jaW1wb3J0IDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbXBv
cnQgPHd0Zi9Mb2NrLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3Rm
L05ldmVyRGVzdHJveWVkLmg+CiAKQEAgLTg1LDcgKzg1LDcgQEAgdm9pZCBXZWJTUUxpdGVEYXRh
YmFzZVRyYWNrZXJDbGllbnQ6Omh5c3RlcmVzaXNVcGRhdGVkKFBBTDo6SHlzdGVyZXNpc1N0YXRl
IHN0YXQKIAogfQogCi1zdGF0aWMgQ2hlY2tlZExvY2sgdHJhbnNhY3Rpb25CYWNrZ3JvdW5kVGFz
a0lkZW50aWZpZXJMb2NrOworc3RhdGljIExvY2sgdHJhbnNhY3Rpb25CYWNrZ3JvdW5kVGFza0lk
ZW50aWZpZXJMb2NrOwogCiBzdGF0aWMgTlNVSW50ZWdlciB0cmFuc2FjdGlvbkJhY2tncm91bmRU
YXNrSWRlbnRpZmllciBXVEZfR1VBUkRFRF9CWV9MT0NLKHRyYW5zYWN0aW9uQmFja2dyb3VuZFRh
c2tJZGVudGlmaWVyTG9jayk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlTW9jay5oCmluZGV4
IDkwMjMwZDg1NjNiYmI1OTFmY2ZkZjA5MjdkZmM4ZTE4MWYxMWUyYjEuLjQ5Y2FkYmRmYTIxMGFk
OGJkNTBiZWQ1NDRmNTg3M2ZhNWIwN2QwMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1v
Y2suaApAQCAtMjcsNyArMjcsNyBAQAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNs
dWRlICJNZWRpYVJlY29yZGVyUHJpdmF0ZS5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5o
PgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRl
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Miw3ICs1Miw3IEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIGdlbmVyYXRlTW9ja0NvdW50ZXJTdHJpbmcoKSBXVEZfUkVRVUlSRVNfTE9DSyht
X2J1ZmZlckxvY2spOwogCi0gICAgbXV0YWJsZSBDaGVja2VkTG9jayBtX2J1ZmZlckxvY2s7Cisg
ICAgbXV0YWJsZSBMb2NrIG1fYnVmZmVyTG9jazsKICAgICBTdHJpbmdCdWlsZGVyIG1fYnVmZmVy
IFdURl9HVUFSREVEX0JZX0xPQ0sobV9idWZmZXJMb2NrKTsKICAgICB1bnNpZ25lZCBtX2NvdW50
ZXIgeyAwIH07CiAgICAgU3RyaW5nIG1fYXVkaW9UcmFja0lEOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0
ZVdyaXRlckNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2Nv
Y29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaAppbmRleCA2M2QxMjZmOTliMDEy
YWU2NTQ4YWIzNWFmNTljYTUxZWU5MTg5YmMwLi4yZTM4N2ViZjcyYmRiY2Q3ZWFlYzc1ODVkMjJh
NGYxZjQ0OGVhNDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJl
Y29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2
YXRlV3JpdGVyQ29jb2EuaApAQCAtMjksOSArMjksOSBAQAogI2luY2x1ZGUgIkF1ZGlvU3RyZWFt
RGVzY3JpcHRpb24uaCIKIAogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgotI2luY2x1ZGUgPHd0
Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2lu
Y2x1ZGUgPHd0Zi9EZXF1ZS5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CkBAIC0xMTgsNyArMTE4LDcgQEAgcHJpdmF0ZToKIAogICAg
IFJldGFpblB0cjxBVkFzc2V0V3JpdGVyPiBtX3dyaXRlcjsKIAotICAgIENoZWNrZWRMb2NrIG1f
ZGF0YUxvY2s7CisgICAgTG9jayBtX2RhdGFMb2NrOwogICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+
IG1fZGF0YSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fZGF0YUxvY2spOwogICAgIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoUmVmUHRyPFNoYXJlZEJ1ZmZlcj4mJiwgZG91YmxlKT4gbV9mZXRjaERhdGFD
b21wbGV0aW9uSGFuZGxlcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oCmluZGV4IGVmMDdlYWE4OWE0M2Mw
MTE3OTUxMmEzMDNlMjJkNmZhMmE5MDUwYTQuLjdjZGEzMzJkZDcyMDAyNjQ3ZmFjMDA4OWM1MGRh
MDk0MmJmOGJlM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmgKQEAgLTQyLDggKzQyLDggQEAKICNpbmNs
dWRlICJQbGF0Zm9ybUxheWVyLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFi
aWxpdGllcy5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VGYWN0b3J5LmgiCi0jaW5j
bHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVy
Lmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+
CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgpAQCAtMjc2LDEwICsyNzYsMTAgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9uYW1l
OwogICAgIFdlYWtIYXNoU2V0PE9ic2VydmVyPiBtX29ic2VydmVyczsKIAotICAgIG11dGFibGUg
Q2hlY2tlZExvY2sgbV9hdWRpb1NhbXBsZU9ic2VydmVyc0xvY2s7CisgICAgbXV0YWJsZSBMb2Nr
IG1fYXVkaW9TYW1wbGVPYnNlcnZlcnNMb2NrOwogICAgIEhhc2hTZXQ8QXVkaW9TYW1wbGVPYnNl
cnZlcio+IG1fYXVkaW9TYW1wbGVPYnNlcnZlcnMgV1RGX0dVQVJERURfQllfTE9DSyhtX2F1ZGlv
U2FtcGxlT2JzZXJ2ZXJzTG9jayk7CiAKLSAgICBtdXRhYmxlIENoZWNrZWRMb2NrIG1fdmlkZW9T
YW1wbGVPYnNlcnZlcnNMb2NrOworICAgIG11dGFibGUgTG9jayBtX3ZpZGVvU2FtcGxlT2JzZXJ2
ZXJzTG9jazsKICAgICBIYXNoU2V0PFZpZGVvU2FtcGxlT2JzZXJ2ZXIqPiBtX3ZpZGVvU2FtcGxl
T2JzZXJ2ZXJzIFdURl9HVUFSREVEX0JZX0xPQ0sobV92aWRlb1NhbXBsZU9ic2VydmVyc0xvY2sp
OwogCiAgICAgLy8gU2V0IG9uIHRoZSBtYWluIHRocmVhZCBmcm9tIGNvbnN0cmFpbnRzLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRn
b2luZ0F1ZGlvU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
ZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaAppbmRleCA1MzA4NWNmNWI0OWQ4N2JmOGJlNDFl
YWIxZGQwMDM1MzA1MDYzYzZiLi4yODcyYjQ1OWJiN2IzNzM5MWEwMGQ1OGUxYjdjNTAzMWE2MDQ4
YTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFs
dGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaApAQCAtNDEsNyArNDEsNyBA
QCBBTExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgogCiBBTExPV19VTlVTRURfUEFSQU1FVEVS
U19FTkQKIAotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2Nr
Lmg+CiAjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRT
YWZlUmVmQ291bnRlZC5oPgogCkBAIC0xMjgsNyArMTI4LDcgQEAgcHJpdmF0ZToKICAgICBib29s
IG1fbXV0ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9lbmFibGVkIHsgdHJ1ZSB9OwogCi0gICAg
bXV0YWJsZSBDaGVja2VkTG9jayBtX3NpbmtzTG9jazsKKyAgICBtdXRhYmxlIExvY2sgbV9zaW5r
c0xvY2s7CiAgICAgSGFzaFNldDx3ZWJydGM6OkF1ZGlvVHJhY2tTaW5rSW50ZXJmYWNlKj4gbV9z
aW5rcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fc2lua3NMb2NrKTsKIAogI2lmICFSRUxFQVNFX0xP
R19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaAppbmRleCA1YmQxZGQ4
NTAzZWY1ODViMmZhMmFkMDUzZDRiZWJhYmUwZGMxZTUxLi5kZDQ1ODAwYTQwYWY5NWVmOGIyNWEw
MmU2MjAyNWE2ODUyNmZiNDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaApA
QCAtMzMsNyArMzMsNyBAQAogI2luY2x1ZGUgIkxpYldlYlJUQ01hY3Jvcy5oIgogI2luY2x1ZGUg
Ik1lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmgiCiAjaW5jbHVkZSA8VGltZXIuaD4KLSNpbmNsdWRl
IDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogCiBBTExPV19VTlVT
RURfUEFSQU1FVEVSU19CRUdJTgogCkBAIC0xNDIsNyArMTQyLDcgQEAgcHJpdmF0ZToKICAgICBU
aW1lciBtX2JsYWNrRnJhbWVUaW1lcjsKICAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpW
aWRlb0ZyYW1lQnVmZmVyPiBtX2JsYWNrRnJhbWU7CiAKLSAgICBtdXRhYmxlIENoZWNrZWRMb2Nr
IG1fc2lua3NMb2NrOworICAgIG11dGFibGUgTG9jayBtX3NpbmtzTG9jazsKICAgICBIYXNoU2V0
PHJ0Yzo6VmlkZW9TaW5rSW50ZXJmYWNlPHdlYnJ0Yzo6VmlkZW9GcmFtZT4qPiBtX3NpbmtzIFdU
Rl9HVUFSREVEX0JZX0xPQ0sobV9zaW5rc0xvY2spOwogICAgIGJvb2wgbV9hcmVTaW5rc0Fza2lu
Z1RvQXBwbHlSb3RhdGlvbiB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVy
VW5pdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvQXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0LmgKaW5kZXggYzYzNDRmMTc4ZDk5Yjc2NDFkZjVi
OGEyNGQxMWFlOTI5OWZlMjZlMS4uM2I3N2M5ZDUzZTU3MGE3MzgyMGJlMzg5ZTAyMzc2YjIxZTVj
MjFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29j
b2EvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVy
ZXJVbml0LmgKQEAgLTI4LDkgKzI4LDkgQEAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAj
aW5jbHVkZSAiQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJJbnRlcm5hbFVuaXQuaCIKLSNp
bmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3
dGYvVW5pcXVlUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC03MSw3ICs3MSw3
IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFJlZjxBdWRpb1NhbXBsZURhdGFTb3VyY2U+PiBtX3Bl
bmRpbmdSZW5kZXJTb3VyY2VzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9wZW5kaW5nUmVuZGVyU291
cmNlc0xvY2spOwogICAgIFZlY3RvcjxSZWY8QXVkaW9TYW1wbGVEYXRhU291cmNlPj4gbV9yZW5k
ZXJTb3VyY2VzOwogICAgIGJvb2wgbV9oYXNQZW5kaW5nUmVuZGVyU291cmNlcyBXVEZfR1VBUkRF
RF9CWV9MT0NLKG1fcGVuZGluZ1JlbmRlclNvdXJjZXNMb2NrKSB7IGZhbHNlIH07Ci0gICAgQ2hl
Y2tlZExvY2sgbV9wZW5kaW5nUmVuZGVyU291cmNlc0xvY2s7CisgICAgTG9jayBtX3BlbmRpbmdS
ZW5kZXJTb3VyY2VzTG9jazsKICAgICBVbmlxdWVSZWY8QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVu
ZGVyZXJJbnRlcm5hbFVuaXQ+IG1faW50ZXJuYWxVbml0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL1JlYWx0aW1lT3V0Z29p
bmdBdWRpb1NvdXJjZUxpYldlYlJUQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vZ3N0cmVhbWVyL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUxpYldlYlJUQy5oCmlu
ZGV4IGUwNTNiMDEwZDI3ZmIwYzRmNmE5MmEwNmI0MTkzYjIxNjAxNmVlM2UuLjU5MjNkNjI2OGIz
YTRhY2EwNjI1MjBmMjRjNTIzOTlmNmE3ZDczYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3Vy
Y2VMaWJXZWJSVEMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9n
c3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlTGliV2ViUlRDLmgKQEAgLTI1LDcg
KzI1LDcgQEAKICNpbmNsdWRlICJSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaCIKIAogI2lu
Y2x1ZGUgPGdzdC9hdWRpby9hdWRpby5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgor
I2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTIsNyAr
NTIsNyBAQCBwcml2YXRlOgogICAgIEdzdEF1ZGlvSW5mbyBtX2lucHV0U3RyZWFtRGVzY3JpcHRp
b247CiAgICAgR3N0QXVkaW9JbmZvIG1fb3V0cHV0U3RyZWFtRGVzY3JpcHRpb247CiAKLSAgICBD
aGVja2VkTG9jayBtX2FkYXB0ZXJMb2NrOworICAgIExvY2sgbV9hZGFwdGVyTG9jazsKICAgICBH
UmVmUHRyPEdzdEFkYXB0ZXI+IG1fYWRhcHRlciBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fYWRhcHRl
ckxvY2spOwogICAgIFZlY3Rvcjx1aW50OF90PiBtX2F1ZGlvQnVmZmVyOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29yZU5TVVJMU2Vz
c2lvbi5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvV2ViQ29yZU5T
VVJMU2Vzc2lvbi5tbQppbmRleCAzYTU2MWJlYWVmNWYzZDA5MGMzNzUxMDkzZmRkMDRhOTAxMTNm
YzkxLi40YmZlMTMzMmRhN2JkMGEzNTgxNmEzZTUwNTc2MGViNTAzOThkMWRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1dlYkNvcmVOU1VSTFNlc3Np
b24ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9XZWJDb3Jl
TlNVUkxTZXNzaW9uLm1tCkBAIC0zMiw4ICszMiw4IEBACiAjaW1wb3J0ICJTdWJyZXNvdXJjZUxv
YWRlci5oIgogI2ltcG9ydCA8cGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaD4KICNpbXBvcnQgPHd0
Zi9CbG9ja1B0ci5oPgotI2ltcG9ydCA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW1wb3J0IDx3dGYv
Q29tcGxldGlvbkhhbmRsZXIuaD4KKyNpbXBvcnQgPHd0Zi9Mb2NrLmg+CiAjaW1wb3J0IDx3dGYv
V2Vha09iakNQdHIuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgogCkBAIC01
NzMsNyArNTczLDcgQEAgcHVibGljOgogICAgIHZvaWQgbG9hZEZpbmlzaGVkKFBsYXRmb3JtTWVk
aWFSZXNvdXJjZSYsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIG92ZXJyaWRlOwogCiBwcml2
YXRlOgotICAgIENoZWNrZWRMb2NrIG1fdGFza0xvY2s7CisgICAgTG9jayBtX3Rhc2tMb2NrOwog
ICAgIFdlYWtPYmpDUHRyPFdlYkNvcmVOU1VSTFNlc3Npb25EYXRhVGFzaz4gbV90YXNrIFdURl9H
VUFSREVEX0JZX0xPQ0sobV90YXNrTG9jayk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9VVElVdGlsaXRpZXMubW0KaW5kZXggNjZlMjdlYTUyMjRh
ZjhkYjE5YzJhOWYxNjlhOTFjMWMzZDgzOGJhMC4uY2ViYmNhNWIyNGNiZjhkMGMwZTE4ZmRiMjQ4
NGUwODI0OGNiMzYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvVVRJVXRpbGl0aWVzLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL1VUSVV0aWxpdGllcy5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmln
LmgiCiAjaW1wb3J0ICJVVElVdGlsaXRpZXMuaCIKIAotI2ltcG9ydCA8d3RmL0NoZWNrZWRMb2Nr
Lmg+CisjaW1wb3J0IDx3dGYvTG9jay5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNp
bXBvcnQgPHd0Zi9Tb3J0ZWRBcnJheU1hcC5oPgogI2ltcG9ydCA8d3RmL1RpbnlMUlVDYWNoZS5o
PgpAQCAtMTEyLDcgKzExMiw3IEBAIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAog
ICAgIHN0YXRpYyBTdHJpbmcgY3JlYXRlS2V5Rm9yU3RvcmFnZShjb25zdCBTdHJpbmcmIGtleSkg
eyByZXR1cm4ga2V5Lmlzb2xhdGVkQ29weSgpOyB9CiB9OwogCi1zdGF0aWMgQ2hlY2tlZExvY2sg
Y2FjaGVVVElGcm9tTUlNRVR5cGVMb2NrOworc3RhdGljIExvY2sgY2FjaGVVVElGcm9tTUlNRVR5
cGVMb2NrOwogc3RhdGljIFRpbnlMUlVDYWNoZTxTdHJpbmcsIFJldGFpblB0cjxDRlN0cmluZ1Jl
Zj4sIDE2LCBVVElGcm9tTUlNRVR5cGVDYWNoZVBvbGljeT4mIGNhY2hlVVRJRnJvbU1JTUVUeXBl
KCkgV1RGX1JFUVVJUkVTX0xPQ0soY2FjaGVVVElGcm9tTUlNRVR5cGVMb2NrKQogewogICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxUaW55TFJVQ2FjaGU8U3RyaW5nLCBSZXRhaW5QdHI8Q0ZTdHJp
bmdSZWY+LCAxNiwgVVRJRnJvbU1JTUVUeXBlQ2FjaGVQb2xpY3k+PiBjYWNoZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhh
bmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRl
LmgKaW5kZXggYTZkMjA0MzYyY2JhMDZhMzgxNTExOTU2M2Q3NDVmOGEzMzVmMTFhMS4uYjRlNTNl
ZGU1MDFkNDgxYzU0MjBiZDI4M2EyZDBhNzUxMTA4MGYyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRp
b25RdWV1ZURlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLmgKQEAgLTI0
LDggKzI0LDggQEAKICAqLwogCiAjaW1wb3J0IDxkaXNwYXRjaC9kaXNwYXRjaC5oPgotI2ltcG9y
dCA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW1wb3J0IDx3dGYvRnVuY3Rpb24uaD4KKyNpbXBvcnQg
PHd0Zi9Mb2NrLmg+CiAjaW1wb3J0IDx3dGYvTWVzc2FnZVF1ZXVlLmg+CiAjaW1wb3J0IDx3dGYv
UmVmUHRyLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CkBAIC0zOCw3ICszOCw3IEBAIGNs
YXNzIFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlOwogfQogCiBAaW50ZXJmYWNlIFdlYkNv
cmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VS
TENvbm5lY3Rpb25EZWxlZ2F0ZT4gewotICAgIENoZWNrZWRMb2NrIG1fbG9jazsKKyAgICBMb2Nr
IG1fbG9jazsKICAgICBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSogbV9oYW5kbGUgV1RGX0dVQVJE
RURfQllfTE9DSyhtX2xvY2spOwogCiAgICAgLy8gU3luY2hyb25vdXMgZGVsZWdhdGVzIG9uIG9w
ZXJhdGlvbiBxdWV1ZSB3YWl0IHVudGlsIG1haW4gdGhyZWFkIHNlbmRzIGFuIGFzeW5jaHJvbm91
cyByZXNwb25zZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJh
c2UuY3BwCmluZGV4IDE1NzdhYTYxYjJmNTY5YjJkMTY3MmNiMjcxNzNjMmE4NmRlNGUwMWEuLjU5
YjkzOTAzMmYxNjRlZmIzYmVjZDdhZjhjNzZjN2E2ZjIwOWQwMTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcApAQCAtMzYsOCArMzYsOCBAQAog
I2luY2x1ZGUgPG11dGV4PgogI2luY2x1ZGUgPHNxbGl0ZTMuaD4KICNpbmNsdWRlIDx0aHJlYWQ+
Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0u
aD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29u
Y2F0ZW5hdGVOdW1iZXJzLmg+CkBAIC03Miw3ICs3Miw3IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxp
emVTUUxpdGVJZk5lY2Vzc2FyeSgpCiAgICAgfSk7CiB9CiAKLXN0YXRpYyBDaGVja2VkTG9jayBp
c0RhdGFiYXNlT3BlbmluZ0ZvcmJpZGRlbkxvY2s7CitzdGF0aWMgTG9jayBpc0RhdGFiYXNlT3Bl
bmluZ0ZvcmJpZGRlbkxvY2s7CiBzdGF0aWMgYm9vbCBpc0RhdGFiYXNlT3BlbmluZ0ZvcmJpZGRl
biBXVEZfR1VBUkRFRF9CWV9MT0NLKGlzRGF0YWJhc2VPcGVuaW5nRm9yYmlkZGVuTG9jaykgeyBm
YWxzZSB9OwogCiB2b2lkIFNRTGl0ZURhdGFiYXNlOjpzZXRJc0RhdGFiYXNlT3BlbmluZ0ZvcmJp
ZGRlbihib29sIGlzRm9yYmlkZGVuKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3FsL1NRTGl0ZURhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FM
aXRlRGF0YWJhc2UuaAppbmRleCA0YTI0NGM2NWZhODdmMWMzYmE5NThhMmMwMjBkMzQ1Njk0NTJi
Njg0Li5jYTY1NWVlOTA3ZjM2NzQ4MjY5ZjRmZmQzNTZiNDI4NzE5MmQwZmI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaApAQCAtMjgsOCArMjgsOCBA
QAogCiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KICNpbmNsdWRlIDxzcWxpdGUzLmg+Ci0jaW5jbHVk
ZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0V4cGVjdGVkLmg+CisjaW5jbHVk
ZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8d3Rm
L1VuaXF1ZVJlZi5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CkBAIC0xODAsNyArMTgwLDcg
QEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV91c2VXQUwgeyBmYWxzZSB9OwogCi0gICAgQ2hlY2tl
ZExvY2sgbV9hdXRob3JpemVyTG9jazsKKyAgICBMb2NrIG1fYXV0aG9yaXplckxvY2s7CiAgICAg
UmVmUHRyPERhdGFiYXNlQXV0aG9yaXplcj4gbV9hdXRob3JpemVyIFdURl9HVUFSREVEX0JZX0xP
Q0sobV9hdXRob3JpemVyTG9jayk7CiAKICAgICBMb2NrIG1fbG9ja2luZ011dGV4OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlVHJhY2tlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNw
cAppbmRleCAzZjhlM2M5N2VkZTgwZTQyOTE1ODQ0ZTdmYmNhNWE2MmYxNDlkNzc1Li5jZTYzN2Zj
NTM0ZWJmMWI1NWEzM2EyN2I3NDc4Mjk4ODI5MDk5YWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcApAQCAtMjcsMTMg
KzI3LDEzIEBACiAjaW5jbHVkZSAiU1FMaXRlRGF0YWJhc2VUcmFja2VyLmgiCiAKICNpbmNsdWRl
IDxtdXRleD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvTG9j
ay5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBTUUxpdGVEYXRhYmFzZVRy
YWNrZXIgewogCi1zdGF0aWMgQ2hlY2tlZExvY2sgdHJhbnNhY3Rpb25JblByb2dyZXNzTG9jazsK
K3N0YXRpYyBMb2NrIHRyYW5zYWN0aW9uSW5Qcm9ncmVzc0xvY2s7CiBzdGF0aWMgU1FMaXRlRGF0
YWJhc2VUcmFja2VyQ2xpZW50KiBzX3N0YXRpY1NRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudCBX
VEZfR1VBUkRFRF9CWV9MT0NLKHRyYW5zYWN0aW9uSW5Qcm9ncmVzc0xvY2spIHsgbnVsbHB0ciB9
Owogc3RhdGljIHVuc2lnbmVkIHNfdHJhbnNhY3Rpb25JblByb2dyZXNzQ291bnRlciBXVEZfR1VB
UkRFRF9CWV9MT0NLKHRyYW5zYWN0aW9uSW5Qcm9ncmVzc0xvY2spIHsgMCB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3Bw
CmluZGV4IGUxYmM1MzZjYzZhMDQ4NTc3ODYyY2ZkMWMzMTc0Y2Q2NzQ3MTZmNGUuLmRiYTlmNWYw
MDc1MDEzYWYzZTI4NmIzYTUwMzRmNzE1NGU2YzM5MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwCkBAIC0zOSw5ICsz
OSw5IEBACiAjaW5jbHVkZSA8bXV0ZXg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNp
bmNsdWRlIDx3dGYvQ2hlY2tlZEFyaXRobWV0aWMuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExv
Y2suaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+
CkBAIC05MSw3ICs5MSw3IEBAIHN0cnVjdCBUZXh0RW5jb2RpbmdOYW1lSGFzaCB7CiB1c2luZyBU
ZXh0RW5jb2RpbmdOYW1lTWFwID0gSGFzaE1hcDxjb25zdCBjaGFyKiwgY29uc3QgY2hhciosIFRl
eHRFbmNvZGluZ05hbWVIYXNoPjsKIHVzaW5nIFRleHRDb2RlY01hcCA9IEhhc2hNYXA8Y29uc3Qg
Y2hhciosIE5ld1RleHRDb2RlY0Z1bmN0aW9uPjsKIAotc3RhdGljIENoZWNrZWRMb2NrIGVuY29k
aW5nUmVnaXN0cnlMb2NrOworc3RhdGljIExvY2sgZW5jb2RpbmdSZWdpc3RyeUxvY2s7CiAKIHN0
YXRpYyBUZXh0RW5jb2RpbmdOYW1lTWFwKiB0ZXh0RW5jb2RpbmdOYW1lTWFwIFdURl9HVUFSREVE
X0JZX0xPQ0soZW5jb2RpbmdSZWdpc3RyeUxvY2spOwogc3RhdGljIFRleHRDb2RlY01hcCogdGV4
dENvZGVjTWFwIFdURl9HVUFSREVEX0JZX0xPQ0soZW5jb2RpbmdSZWdpc3RyeUxvY2spOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlUXVvdGFNYW5hZ2VyLmggYi9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VRdW90YU1hbmFnZXIuaAppbmRleCBkNzNmYzRl
YjI1NDFlZDFiZWJhMGI0ZDJhNjI1ZDRhMDJhOGYxNzc4Li41YjM1NjU3MmQ0OGJiNDI3NTljYTFl
ZjVhNDU5MGM4YzAyMzY0ZTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0
b3JhZ2VRdW90YU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VR
dW90YU1hbmFnZXIuaApAQCAtMjUsOSArMjUsOSBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1
ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5o
PgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVk
ZSA8d3RmL1dlYWtQdHIuaD4KICNpbmNsdWRlIDx3dGYvV29ya1F1ZXVlLmg+CiAKQEAgLTU3LDcg
KzU3LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgdXBkYXRlUXVvdGFCYXNlZE9uVXNhZ2UoKTsK
IAotICAgIENoZWNrZWRMb2NrIG1fcXVvdGFDb3VudERvd25Mb2NrOworICAgIExvY2sgbV9xdW90
YUNvdW50RG93bkxvY2s7CiAgICAgdWludDY0X3QgbV9xdW90YUNvdW50RG93biBXVEZfR1VBUkRF
RF9CWV9MT0NLKG1fcXVvdGFDb3VudERvd25Mb2NrKSB7IDAgfTsKICAgICB1aW50NjRfdCBtX3F1
b3RhIHsgMCB9OwogICAgIHVpbnQ2NF90IG1fdXNhZ2UgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDBkNjE0OTFkZDFhYWUwZTNiNDc3
N2EyZTk0ZWU2NWE2MjQ4YTAwYTcuLmVkZjA1MjljMTE4YjA2NWZkOGIyYjUwODk5M2MxM2Q4ODc0
ZGNlMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3Bw
CkBAIC01NywxMyArNTcsMTMgQEAKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRBcmd1bWVudHMuaD4KICNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2suaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2su
aD4KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorI2luY2x1ZGUgPHd0Zi9Mb2Nr
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAK
LXN0YXRpYyBDaGVja2VkTG9jayBhbGxXb3JrZXJHbG9iYWxTY29wZUlkZW50aWZpZXJzTG9jazsK
K3N0YXRpYyBMb2NrIGFsbFdvcmtlckdsb2JhbFNjb3BlSWRlbnRpZmllcnNMb2NrOwogc3RhdGlj
IEhhc2hTZXQ8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+JiBhbGxXb3JrZXJHbG9i
YWxTY29wZUlkZW50aWZpZXJzKCkgV1RGX1JFUVVJUkVTX0xPQ0soYWxsV29ya2VyR2xvYmFsU2Nv
cGVJZGVudGlmaWVyc0xvY2spCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hTZXQ8
U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+PiBpZGVudGlmaWVyczsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0U2NyaXB0Q29udHJvbGxl
ci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9s
bGVyLmgKaW5kZXggY2ZjYTc0NDRiNDk4OTVjMmQwZTE5YmFhYWEyNWRlNzUxOTgzYmVmMC4uYTVj
MWExZGRhNWQ2ZDAyZTg1NmZmNWE2MGJkNzlhNGE2ODU0NTRhNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgK
QEAgLTMwLDggKzMwLDggQEAKICNpbmNsdWRlICJXb3JrZXJUaHJlYWRUeXBlLmgiCiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvRGVidWdnZXIuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9K
U1J1bkxvb3BUaW1lci5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTWVz
c2FnZVF1ZXVlLmg+CiAjaW5jbHVkZSA8d3RmL05ha2VkUHRyLmg+CiAKQEAgLTEyMSw3ICsxMjEs
NyBAQCBwcml2YXRlOgogICAgIFdvcmtlck9yV29ya2xldEdsb2JhbFNjb3BlKiBtX2dsb2JhbFNj
b3BlOwogICAgIEpTQzo6U3Ryb25nPEpTRE9NR2xvYmFsT2JqZWN0PiBtX2dsb2JhbFNjb3BlV3Jh
cHBlcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V29ya2VyQ29uc29sZUNsaWVudD4gbV9jb25zb2xl
Q2xpZW50OwotICAgIG11dGFibGUgQ2hlY2tlZExvY2sgbV9zY2hlZHVsZWRUZXJtaW5hdGlvbkxv
Y2s7CisgICAgbXV0YWJsZSBMb2NrIG1fc2NoZWR1bGVkVGVybWluYXRpb25Mb2NrOwogICAgIGJv
b2wgbV9pc1Rlcm1pbmF0aW5nRXhlY3V0aW9uIFdURl9HVUFSREVEX0JZX0xPQ0sobV9zY2hlZHVs
ZWRUZXJtaW5hdGlvbkxvY2spIHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0VGhyZWFkLmNwcAppbmRleCA4NWIzZTQwMjdiNmVkY2M3
OTk0ZGQ4MmM5MzU5MTljNGI2NDUxNmQ5Li45NGE1OTJiNjMyNjY0MDc3NTViZWVjYTI0N2E1Y2Nk
YWQ1YzAyNThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29y
a2xldFRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmts
ZXRUaHJlYWQuY3BwCkBAIC00MCw5ICs0MCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Q2hlY2tlZExvY2sgV29ya2VyT3JXb3JrbGV0VGhyZWFkOjpzX3dvcmtlck9yV29ya2xldFRocmVh
ZHNMb2NrOworTG9jayBXb3JrZXJPcldvcmtsZXRUaHJlYWQ6OnNfd29ya2VyT3JXb3JrbGV0VGhy
ZWFkc0xvY2s7CiAKLUNoZWNrZWRMb2NrJiBXb3JrZXJPcldvcmtsZXRUaHJlYWQ6Ondvcmtlck9y
V29ya2xldFRocmVhZHNMb2NrKCkKK0xvY2smIFdvcmtlck9yV29ya2xldFRocmVhZDo6d29ya2Vy
T3JXb3JrbGV0VGhyZWFkc0xvY2soKQogewogICAgIHJldHVybiBzX3dvcmtlck9yV29ya2xldFRo
cmVhZHNMb2NrOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJP
cldvcmtsZXRUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyT3JXb3JrbGV0
VGhyZWFkLmgKaW5kZXggOTczZmM3MTA0YzYzZmQxYTNkN2U1OGYwNTYyZjEyYjM2MWE3Y2I1My4u
MWVlOGEzNGIyMjIxN2QwYjIwOWU5NGM5OTk1N2E4MmRiYjBkMDgxNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJPcldvcmtsZXRUaHJlYWQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck9yV29ya2xldFRocmVhZC5oCkBAIC0yNiw5ICsyNiw5IEBA
CiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKLSNpbmNsdWRlIDx3
dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9GdW5jdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVh
ZFNhZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RocmVhZHMvQmluYXJ5U2VtYXBob3Jl
Lmg+CiAKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgaWRlbnRp
ZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQogCiAgICAgc3RhdGljIEhhc2hT
ZXQ8V29ya2VyT3JXb3JrbGV0VGhyZWFkKj4mIHdvcmtlck9yV29ya2xldFRocmVhZHMoKSBXVEZf
UkVRVUlSRVNfTE9DSyh3b3JrZXJPcldvcmtsZXRUaHJlYWRzTG9jaygpKTsKLSAgICBzdGF0aWMg
Q2hlY2tlZExvY2smIHdvcmtlck9yV29ya2xldFRocmVhZHNMb2NrKCkgV1RGX1JFVFVSTlNfTE9D
SyhzX3dvcmtlck9yV29ya2xldFRocmVhZHNMb2NrKTsKKyAgICBzdGF0aWMgTG9jayYgd29ya2Vy
T3JXb3JrbGV0VGhyZWFkc0xvY2soKSBXVEZfUkVUVVJOU19MT0NLKHNfd29ya2VyT3JXb3JrbGV0
VGhyZWFkc0xvY2spOwogICAgIHN0YXRpYyB2b2lkIHJlbGVhc2VGYXN0TWFsbG9jRnJlZU1lbW9y
eUluQWxsVGhyZWFkcygpOwogCiBwcm90ZWN0ZWQ6CkBAIC04Miw3ICs4Miw3IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCB2b2lkIGV2YWx1YXRlU2NyaXB0SWZOZWNlc3NhcnkoU3RyaW5nJikgeyB9
CiAgICAgdmlydHVhbCBib29sIHNob3VsZFdhaXRGb3JXZWJJbnNwZWN0b3JPblN0YXJ0dXAoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogCi0gICAgc3RhdGljIENoZWNrZWRMb2NrIHNfd29ya2Vy
T3JXb3JrbGV0VGhyZWFkc0xvY2s7CisgICAgc3RhdGljIExvY2sgc193b3JrZXJPcldvcmtsZXRU
aHJlYWRzTG9jazsKIAogICAgIFN0cmluZyBtX2lkZW50aWZpZXI7CiAgICAgTG9jayBtX3RocmVh
ZENyZWF0aW9uQW5kR2xvYmFsU2NvcGVMb2NrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmts
ZXRzL1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmgKaW5kZXggODhhYjgxZjhlNDA5Y2U4NTU5NzA3
N2IzMGQxMTgxMmViYzk5OWRkZC4uZGMxYzM3OGE3YjA5NjMxYzhiMjc1YTEwMDM2MDA0ZDk5ZjEx
YzVmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3JrbGV0R2xv
YmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9QYWludFdvcmtsZXRHbG9i
YWxTY29wZS5oCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiV29ya2xldEdsb2JhbFNjb3Bl
LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3QuaD4KICNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9TdHJvbmcuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNs
dWRlIDx3dGYvTG9jay5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIEpTT2JqZWN0OwpAQCAt
NjIsNyArNjIsNyBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIEhhc2hNYXA8U3RyaW5nLCBzdGQ6
OnVuaXF1ZV9wdHI8UGFpbnREZWZpbml0aW9uPj4mIHBhaW50RGVmaW5pdGlvbk1hcCgpIFdURl9S
RVFVSVJFU19MT0NLKG1fcGFpbnREZWZpbml0aW9uTG9jayk7Ci0gICAgQ2hlY2tlZExvY2smIHBh
aW50RGVmaW5pdGlvbkxvY2soKSBXVEZfUkVUVVJOU19MT0NLKG1fcGFpbnREZWZpbml0aW9uTG9j
aykgeyByZXR1cm4gbV9wYWludERlZmluaXRpb25Mb2NrOyB9CisgICAgTG9jayYgcGFpbnREZWZp
bml0aW9uTG9jaygpIFdURl9SRVRVUk5TX0xPQ0sobV9wYWludERlZmluaXRpb25Mb2NrKSB7IHJl
dHVybiBtX3BhaW50RGVmaW5pdGlvbkxvY2s7IH0KIAogICAgIHZvaWQgcHJlcGFyZUZvckRlc3Ry
dWN0aW9uKCkgZmluYWwKICAgICB7CkBAIC05Myw3ICs5Myw3IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBpc1BhaW50V29ya2xldEdsb2JhbFNjb3BlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsg
fQogCiAgICAgSGFzaE1hcDxTdHJpbmcsIHN0ZDo6dW5pcXVlX3B0cjxQYWludERlZmluaXRpb24+
PiBtX3BhaW50RGVmaW5pdGlvbk1hcCBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcGFpbnREZWZpbml0
aW9uTG9jayk7Ci0gICAgQ2hlY2tlZExvY2sgbV9wYWludERlZmluaXRpb25Mb2NrOworICAgIExv
Y2sgbV9wYWludERlZmluaXRpb25Mb2NrOwogICAgIGJvb2wgbV9oYXNQcmVwYXJlZEZvckRlc3Ry
dWN0aW9uIHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaAppbmRleCA0MWE0Yzg3ZGU2NzAwZjE2
N2QzZDU5YjAwOWY5ZTQ5ZTU1NDYwODA1Li5kOThmNzJjYTUyYTFmMWMxZWY4YjI5YjhmNzEyMjQy
MzVjODE4ZjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xp
YldlYlJUQ0NvZGVjc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0
Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSAiUlRD
RGVjb2RlcklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJSVENFbmNvZGVySWRlbnRpZmllci5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvSW1hZ2VUcmFuc2ZlclNlc3Npb25WVC5oPgotI2luY2x1ZGUgPHd0
Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAKIG5hbWVzcGFjZSBJUEMg
ewogY2xhc3MgQ29ubmVjdGlvbjsKQEAgLTg4LDcgKzg4LDcgQEAgcHJpdmF0ZToKIAogICAgIEdQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzczsKIAot
ICAgIG11dGFibGUgQ2hlY2tlZExvY2sgbV9sb2NrOworICAgIG11dGFibGUgTG9jayBtX2xvY2s7
CiAgICAgSGFzaE1hcDxSVENEZWNvZGVySWRlbnRpZmllciwgd2VicnRjOjpMb2NhbERlY29kZXI+
IG1fZGVjb2RlcnMgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOyAvLyBPbmx5IG1vZGlmaWVk
IG9uIHRoZSBsaWJXZWJSVENDb2RlY3NRdWV1ZSBidXQgbWF5IGdldCBhY2Nlc3NlZCBmcm9tIHRo
ZSBtYWluIHRocmVhZC4KICAgICBIYXNoTWFwPFJUQ0VuY29kZXJJZGVudGlmaWVyLCB3ZWJydGM6
OkxvY2FsRW5jb2Rlcj4gbV9lbmNvZGVycyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7IC8v
IE9ubHkgbW9kaWZpZWQgb24gdGhlIGxpYldlYlJUQ0NvZGVjc1F1ZXVlIGJ1dCBtYXkgZ2V0IGFj
Y2Vzc2VkIGZyb20gdGhlIG1haW4gdGhyZWFkLgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCmluZGV4IGU0M2NlNDIyYmMxYzJlYjMxOTY1N2IyZjkx
ZGRhZGFiZTVmOWNlYzUuLmE3NjM2YjNkNGVjODhhMzc1ZGM5ZmY4ODBmMTJjOWQ4YzQ0M2YzMzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCkBA
IC02MCw4ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6U3RhdGUgV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlOjpzdXNwZW5kZWRTdGF0ZSB7IFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZTo6U3RhdGU6OlJ1bm5pbmcgfTsKLUNoZWNrZWRMb2NrIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZTo6c3VzcGVuZGVkU3RhdGVMb2NrOwotQ2hlY2tlZENvbmRpdGlvbiBX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnN1c3BlbmRlZFN0YXRlQ2hhbmdlQ29uZGl0
aW9uOworTG9jayBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnN1c3BlbmRlZFN0YXRl
TG9jazsKK0NvbmRpdGlvbiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnN1c3BlbmRl
ZFN0YXRlQ2hhbmdlQ29uZGl0aW9uOwogCiBjb25zdCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBl
PiYgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjptb25pdG9yZWREYXRhVHlwZXMoKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCmluZGV4IDk2
M2VhNDczZDMyODg5NzY2NWFmMmU4OTk5N2ViY2QyYWI2YjVkMjQuLmM4NTIxNzQ1ZGNkZWJiZjBj
NTRhMjVlZDNhMzc5YjQ5YTVhNzQ3OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlLmgKQEAgLTQwLDkgKzQwLDkgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1By
aXZhdGVDbGlja01lYXN1cmVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWdpc3RyYWJsZURv
bWFpbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaD4KLSNpbmNs
dWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5o
PgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgorI2luY2x1ZGUgPHd0Zi9Db25k
aXRpb24uaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+
CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgpAQCAtMzYzLDkgKzM2Myw5IEBAIHByaXZhdGU6CiAgICAgICAgIFdpbGxTdXNwZW5k
LAogICAgICAgICBTdXNwZW5kZWQKICAgICB9OwotICAgIHN0YXRpYyBDaGVja2VkTG9jayBzdXNw
ZW5kZWRTdGF0ZUxvY2s7CisgICAgc3RhdGljIExvY2sgc3VzcGVuZGVkU3RhdGVMb2NrOwogICAg
IHN0YXRpYyBTdGF0ZSBzdXNwZW5kZWRTdGF0ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKHN1c3BlbmRl
ZFN0YXRlTG9jayk7Ci0gICAgc3RhdGljIENoZWNrZWRDb25kaXRpb24gc3VzcGVuZGVkU3RhdGVD
aGFuZ2VDb25kaXRpb247CisgICAgc3RhdGljIENvbmRpdGlvbiBzdXNwZW5kZWRTdGF0ZUNoYW5n
ZUNvbmRpdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJv
dG9jb2xNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3Rv
Y29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXIuaAppbmRleCA3ODUyZjk3YTVkOTQxYTA3
NjYxOWU0ZmI3NjUwOTU1ZGVkNjRlOTkzLi44OTU2ZTRkMTA1Mjk0YWE5M2Q5NjQ2ZGQ3ZGQ0NjIz
YmY5OTFmNGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0N1c3Rv
bVByb3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scy9MZWdhY3lDdXN0b21Qcm90b2NvbE1h
bmFnZXIuaApAQCAtMjksOSArMjksOSBAQAogI2luY2x1ZGUgIkxlZ2FjeUN1c3RvbVByb3RvY29s
SUQuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJv
Y2Vzc1N1cHBsZW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRl
IDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVkZSA8d3Rm
L0xvY2suaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTk3LDExICs5NywxMSBAQCBwcml2YXRlOgogCiAgICAg
dHlwZWRlZiBIYXNoTWFwPExlZ2FjeUN1c3RvbVByb3RvY29sSUQsIEN1c3RvbVByb3RvY29sPiBD
dXN0b21Qcm90b2NvbE1hcDsKICAgICBDdXN0b21Qcm90b2NvbE1hcCBtX2N1c3RvbVByb3RvY29s
TWFwIFdURl9HVUFSREVEX0JZX0xPQ0sobV9jdXN0b21Qcm90b2NvbE1hcExvY2spOwotICAgIENo
ZWNrZWRMb2NrIG1fY3VzdG9tUHJvdG9jb2xNYXBMb2NrOworICAgIExvY2sgbV9jdXN0b21Qcm90
b2NvbE1hcExvY2s7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBIYXNoU2V0PFN0cmluZywg
QVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiBtX3JlZ2lzdGVyZWRTY2hlbWVzIFdURl9HVUFSREVE
X0JZX0xPQ0sobV9yZWdpc3RlcmVkU2NoZW1lc0xvY2spOwotICAgIENoZWNrZWRMb2NrIG1fcmVn
aXN0ZXJlZFNjaGVtZXNMb2NrOworICAgIExvY2sgbV9yZWdpc3RlcmVkU2NoZW1lc0xvY2s7CiAK
ICAgICAvLyBXS0N1c3RvbVByb3RvY29sIG9iamVjdHMgY2FuIGJlIHJlbW92ZWQgZnJvbSB0aGUg
bV9jdXN0b21Qcm90b2NvbE1hcCBmcm9tIG11bHRpcGxlIHRocmVhZHMuCiAgICAgLy8gV2UgcmV0
dXJuIGEgUmV0YWluUHRyIGhlcmUgYmVjYXVzZSBpdCBpcyB1bnNhZmUgdG8gcmV0dXJuIGEgcmF3
IHBvaW50ZXIgc2luY2UgdGhlIG9iamVjdCBtaWdodCBpbW1lZGlhdGVseSBiZSBkZXN0cm95ZWQg
ZnJvbSBhIGRpZmZlcmVudCB0aHJlYWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmgKaW5kZXggYjRmZTJjOGUzZjY2NDIxNmYxYTc1NmRjZTU3ZmVlZDhj
ZGY0MTRmOC4uMDgzMzgyYzk5YTA3YjI2ZmQ1ODkyMWM1Yzg3ZTJhNjFiMjEwNzYxYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtNTEsMTAg
KzUxLDEwIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9TZXJ2aWNlV29ya2VySWRlbnRpZmllci5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvU2VydmljZVdvcmtlclR5cGVzLmg+CiAjaW5jbHVkZSA8bWVtb3J5
PgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Dcm9zc1RocmVh
ZFRhc2suaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNl
dC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL01lbW9yeVByZXNzdXJl
SGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KQEAgLTU4NSw3ICs1ODUsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxS
VENEYXRhQ2hhbm5lbFJlbW90ZU1hbmFnZXJQcm94eT4gbV9ydGNEYXRhQ2hhbm5lbFByb3h5Owog
I2VuZGlmCiAKLSAgICBDaGVja2VkTG9jayBtX3Nlc3Npb25TdG9yYWdlUXVvdGFNYW5hZ2Vyc0xv
Y2s7CisgICAgTG9jayBtX3Nlc3Npb25TdG9yYWdlUXVvdGFNYW5hZ2Vyc0xvY2s7CiAgICAgSGFz
aE1hcDxQQUw6OlNlc3Npb25JRCwgc3RkOjp1bmlxdWVfcHRyPFNlc3Npb25TdG9yYWdlUXVvdGFN
YW5hZ2VyPj4gbV9zZXNzaW9uU3RvcmFnZVF1b3RhTWFuYWdlcnMgV1RGX0dVQVJERURfQllfTE9D
SyhtX3Nlc3Npb25TdG9yYWdlUXVvdGFNYW5hZ2Vyc0xvY2spOwogICAgIGJvb2wgbV9xdW90YUxv
Z2dpbmdFbmFibGVkIHsgZmFsc2UgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmggYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuaAppbmRleCA0MzBm
OTZkYTVjNjg4ODU5ZDYwZGM3ODFhZTAwMWUwNTUxMjNhYTBhLi43MGE2NWE0YmE2OGY3NzI1Yjkw
ZjUyZjRkN2E5YzU1ZmQ5NmJjZmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuaApAQCAtMzEsOCAr
MzEsOCBAQAogI2luY2x1ZGUgIlN0b3JhZ2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9T
ZWN1cml0eU9yaWdpbkRhdGEuaD4KICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+Ci0jaW5jbHVk
ZSA8d3RmL0NoZWNrZWRDb25kaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4K
KyNpbmNsdWRlIDx3dGYvQ29uZGl0aW9uLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNs
dWRlIDx3dGYvV2Vha1B0ci5oPgogCiB1c2luZyBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE7
CkBAIC0xMDQsOCArMTA0LDggQEAgcHJpdmF0ZToKICAgICAgICAgU3VzcGVuZGVkCiAgICAgfTsK
ICAgICBTdGF0ZSBtX3N0YXRlIHsgU3RhdGU6OlJ1bm5pbmcgfTsKLSAgICBDaGVja2VkTG9jayBt
X3N0YXRlTG9jazsKLSAgICBDaGVja2VkQ29uZGl0aW9uIG1fc3RhdGVDaGFuZ2VDb25kaXRpb247
CisgICAgTG9jayBtX3N0YXRlTG9jazsKKyAgICBDb25kaXRpb24gbV9zdGF0ZUNoYW5nZUNvbmRp
dGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKaW5k
ZXggZjU4NzQ1MjU3ZjI4M2UzNmY4MDdmZjg1OGRkNGI4ODgzYTU1YjNhYy4uY2E1OTVkMmM4OTQw
OTNlNWZmYzg2YWJkYTg0YWI0OGI3ZjgzYTFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCkBAIC0z
Miw5ICszMiw5IEBACiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlRmlsZVN5c3RlbS5oIgogI2luY2x1
ZGUgIk5ldHdvcmtDYWNoZUlPQ2hhbm5lbC5oIgogI2luY2x1ZGUgPG11dGV4PgotI2luY2x1ZGUg
PHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+Cisj
aW5jbHVkZSA8d3RmL0NvbmRpdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+Cisj
aW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvUGFnZUJsb2NrLmg+CiAjaW5jbHVk
ZSA8d3RmL1JhbmRvbU51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CkBAIC0xNjIs
OCArMTYyLDggQEAgcHVibGljOgogICAgIGNvbnN0IE9wdGlvblNldDxUcmF2ZXJzZUZsYWc+IGZs
YWdzOwogICAgIGNvbnN0IFRyYXZlcnNlSGFuZGxlciBoYW5kbGVyOwogCi0gICAgQ2hlY2tlZExv
Y2sgYWN0aXZlTG9jazsKLSAgICBDaGVja2VkQ29uZGl0aW9uIGFjdGl2ZUNvbmRpdGlvbjsKKyAg
ICBMb2NrIGFjdGl2ZUxvY2s7CisgICAgQ29uZGl0aW9uIGFjdGl2ZUNvbmRpdGlvbjsKICAgICB1
bnNpZ25lZCBhY3RpdmVDb3VudCBXVEZfR1VBUkRFRF9CWV9MT0NLKGFjdGl2ZUxvY2spIHsgMCB9
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9M
YXVuY2hTZXJ2aWNlc0RhdGFiYXNlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY29jb2EvTGF1bmNoU2VydmljZXNEYXRhYmFzZU9ic2VydmVyLmgKaW5kZXggODRkZjI4
MWMxNzhjYTAyYWY3ZjVhZGQ0NTU2M2I0MDBjMjA2ODRmZC4uMDcwNGVkNDQwYjhmMDk3NTU4Mzg3
YTFhYjI0YWU4MTNmMDMyN2NkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9MYXVuY2hTZXJ2aWNlc0RhdGFiYXNlT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL0xhdW5jaFNlcnZpY2VzRGF0YWJhc2VPYnNlcnZl
ci5oCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKICNpbmNs
dWRlICJOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCIKICNpbmNsdWRlICJYUENFbmRwb2ludC5o
IgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAj
aW5jbHVkZSA8d3RmL09TT2JqZWN0UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgog
CkBAIC01NSw3ICs1NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXplQ29ubmVjdGlv
bihJUEM6OkNvbm5lY3Rpb24qKSBmaW5hbDsKIAogICAgIFJldGFpblB0cjxpZD4gbV9vYnNlcnZl
cjsKLSAgICBDaGVja2VkTG9jayBtX2Nvbm5lY3Rpb25zTG9jazsKKyAgICBMb2NrIG1fY29ubmVj
dGlvbnNMb2NrOwogICAgIFZlY3RvcjxPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90Pj4gbV9j
b25uZWN0aW9ucyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fY29ubmVjdGlvbnNMb2NrKTsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvZ2xpYi9ETlNDYWNoZS5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9nbGliL0ROU0NhY2hlLmgKaW5kZXggNGZl
MjE5OTAxZjJiM2UwZDg2MTM2Y2JkOTk0NzE3NjU0MTkyMjBlYS4uNWU3MDcyZGQwNWZmOWMxZjE0
MDcwNDZiMjE1NmZiMjUzNjM5Njg0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9nbGliL0ROU0NhY2hlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9nbGliL0ROU0NhY2hlLmgKQEAgLTI1LDggKzI1LDggQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
bmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2lu
Y2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNs
dWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgpAQCAtNjEsNyAr
NjEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVtb3ZlRXhwaXJlZFJlc3BvbnNlc0luTWFwKERO
U0NhY2hlTWFwJik7CiAgICAgdm9pZCBwcnVuZVJlc3BvbnNlc0luTWFwKEROU0NhY2hlTWFwJik7
CiAKLSAgICBDaGVja2VkTG9jayBtX2xvY2s7CisgICAgTG9jayBtX2xvY2s7CiAgICAgRE5TQ2Fj
aGVNYXAgbV9kbnNNYXAgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spOwogI2lmIEdMSUJfQ0hF
Q0tfVkVSU0lPTigyLCA1OSwgMCkKICAgICBETlNDYWNoZU1hcCBtX2lwdjRNYXA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCmluZGV4IDE2NWM0NTYwNTIyY2Y4OTJk
NWI1MTE0YmM0OWU0ZTgwNDQzYjAxNzYuLmQzY2VmZWE5NWJjMGRiYmY1ODhiNmUzY2Q3OTlkZGVm
OTMwODI0OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCkBA
IC0xMDgsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICBCaW5hcnlTZW1hcGhvcmUgbV93YWl0Rm9y
U3luY1JlcGx5U2VtYXBob3JlOwogCiAgICAgLy8gUHJvdGVjdHMgbV9kaWRTY2hlZHVsZURpc3Bh
dGNoTWVzc2FnZXNXb3JrU2V0IGFuZCBtX21lc3NhZ2VzVG9EaXNwYXRjaFdoaWxlV2FpdGluZ0Zv
clN5bmNSZXBseS4KLSAgICBDaGVja2VkTG9jayBtX2xvY2s7CisgICAgTG9jayBtX2xvY2s7CiAK
ICAgICAvLyBUaGUgc2V0IG9mIGNvbm5lY3Rpb25zIGZvciB3aGljaCB3ZSd2ZSBzY2hlZHVsZWQg
YSBjYWxsIHRvIGRpc3BhdGNoTWVzc2FnZUFuZFJlc2V0RGlkU2NoZWR1bGVEaXNwYXRjaE1lc3Nh
Z2VzRm9yQ29ubmVjdGlvbi4KICAgICBIYXNoU2V0PFJlZlB0cjxDb25uZWN0aW9uPj4gbV9kaWRT
Y2hlZHVsZURpc3BhdGNoTWVzc2FnZXNXb3JrU2V0IFdURl9HVUFSREVEX0JZX0xPQ0sobV9sb2Nr
KTsKQEAgLTI3NCw3ICsyNzQsNyBAQCBzdGF0aWMgSGFzaE1hcDxJUEM6OkNvbm5lY3Rpb246OlVu
aXF1ZUlELCBDb25uZWN0aW9uKj4mIGFsbENvbm5lY3Rpb25zKCkKICAgICByZXR1cm4gbWFwOwog
fQogCi1zdGF0aWMgQ2hlY2tlZExvY2sgYXN5bmNSZXBseUhhbmRsZXJNYXBMb2NrOworc3RhdGlj
IExvY2sgYXN5bmNSZXBseUhhbmRsZXJNYXBMb2NrOwogc3RhdGljIEhhc2hNYXA8dWludHB0cl90
LCBIYXNoTWFwPHVpbnQ2NF90LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKERlY29kZXIqKT4+PiYg
YXN5bmNSZXBseUhhbmRsZXJNYXAoKSBXVEZfUkVRVUlSRVNfTE9DSyhhc3luY1JlcGx5SGFuZGxl
ck1hcExvY2spCiB7CiAgICAgQVNTRVJUKGFzeW5jUmVwbHlIYW5kbGVyTWFwTG9jay5pc0hlbGQo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKaW5kZXggYzBkNTRlNjM1
MDYxMWI5ZDA2YWVlNzVhYzk2OTZkMzI5NjA2OTkxYi4uZmZlM2YyMzk5OTNlOTBhMTgwMGIxZjYx
NTcwNTlhYTIxZWUxOWZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMv
Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24u
aApAQCAtMzMsMTIgKzMzLDEyIEBACiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVRdWV1ZU1hcC5o
IgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIlRpbWVvdXQuaCIKLSNp
bmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9j
ay5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgorI2luY2x1ZGUgPHd0Zi9D
b25kaXRpb24uaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNp
bmNsdWRlIDx3dGYvT2JqZWN0SWRlbnRpZmllci5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25TZXQu
aD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgpAQCAtNDA0LDMwICs0MDQsMzAgQEAgcHJpdmF0
ZToKICAgICBib29sIG1fZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlIHsgZmFsc2UgfTsKIAogICAg
IC8vIEluY29taW5nIG1lc3NhZ2VzLgotICAgIENoZWNrZWRMb2NrIG1faW5jb21pbmdNZXNzYWdl
c0xvY2s7CisgICAgTG9jayBtX2luY29taW5nTWVzc2FnZXNMb2NrOwogICAgIERlcXVlPHN0ZDo6
dW5pcXVlX3B0cjxEZWNvZGVyPj4gbV9pbmNvbWluZ01lc3NhZ2VzIFdURl9HVUFSREVEX0JZX0xP
Q0sobV9pbmNvbWluZ01lc3NhZ2VzTG9jayk7CiAgICAgc3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2Vz
VGhyb3R0bGVyPiBtX2luY29taW5nTWVzc2FnZXNUaHJvdHRsZXI7CiAgICAgTWVzc2FnZVJlY2Vp
dmVRdWV1ZU1hcCBtX3JlY2VpdmVRdWV1ZXMgV1RGX0dVQVJERURfQllfTE9DSyhtX2luY29taW5n
TWVzc2FnZXNMb2NrKTsKIAogICAgIC8vIE91dGdvaW5nIG1lc3NhZ2VzLgotICAgIENoZWNrZWRM
b2NrIG1fb3V0Z29pbmdNZXNzYWdlc0xvY2s7CisgICAgTG9jayBtX291dGdvaW5nTWVzc2FnZXNM
b2NrOwogICAgIERlcXVlPFVuaXF1ZVJlZjxFbmNvZGVyPj4gbV9vdXRnb2luZ01lc3NhZ2VzIFdU
Rl9HVUFSREVEX0JZX0xPQ0sobV9vdXRnb2luZ01lc3NhZ2VzTG9jayk7CiAKLSAgICBDaGVja2Vk
Q29uZGl0aW9uIG1fd2FpdEZvck1lc3NhZ2VDb25kaXRpb247Ci0gICAgQ2hlY2tlZExvY2sgbV93
YWl0Rm9yTWVzc2FnZUxvY2s7CisgICAgQ29uZGl0aW9uIG1fd2FpdEZvck1lc3NhZ2VDb25kaXRp
b247CisgICAgTG9jayBtX3dhaXRGb3JNZXNzYWdlTG9jazsKIAogICAgIHN0cnVjdCBXYWl0Rm9y
TWVzc2FnZVN0YXRlOwogICAgIFdhaXRGb3JNZXNzYWdlU3RhdGUqIG1fd2FpdGluZ0Zvck1lc3Nh
Z2UgV1RGX0dVQVJERURfQllfTE9DSyhtX3dhaXRGb3JNZXNzYWdlTG9jaykgeyBudWxscHRyIH07
IC8vIE5PTElOVAogCiAgICAgY2xhc3MgU3luY01lc3NhZ2VTdGF0ZTsKIAotICAgIENoZWNrZWRM
b2NrIG1fc3luY1JlcGx5U3RhdGVMb2NrOworICAgIExvY2sgbV9zeW5jUmVwbHlTdGF0ZUxvY2s7
CiAgICAgYm9vbCBtX3Nob3VsZFdhaXRGb3JTeW5jUmVwbGllcyBXVEZfR1VBUkRFRF9CWV9MT0NL
KG1fc3luY1JlcGx5U3RhdGVMb2NrKSB7IHRydWUgfTsKICAgICBib29sIG1fc2hvdWxkV2FpdEZv
ck1lc3NhZ2VzIFdURl9HVUFSREVEX0JZX0xPQ0sobV93YWl0Rm9yTWVzc2FnZUxvY2spIHsgdHJ1
ZSB9OwogICAgIHN0cnVjdCBQZW5kaW5nU3luY1JlcGx5OwogICAgIFZlY3RvcjxQZW5kaW5nU3lu
Y1JlcGx5PiBtX3BlbmRpbmdTeW5jUmVwbGllcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fc3luY1Jl
cGx5U3RhdGVMb2NrKTsKIAotICAgIENoZWNrZWRMb2NrIG1faW5jb21pbmdTeW5jTWVzc2FnZUNh
bGxiYWNrTG9jazsKKyAgICBMb2NrIG1faW5jb21pbmdTeW5jTWVzc2FnZUNhbGxiYWNrTG9jazsK
ICAgICBIYXNoTWFwPHVpbnQ2NF90LCBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4+IG1faW5jb21pbmdT
eW5jTWVzc2FnZUNhbGxiYWNrcyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1faW5jb21pbmdTeW5jTWVz
c2FnZUNhbGxiYWNrTG9jayk7CiAgICAgUmVmUHRyPFdvcmtRdWV1ZT4gbV9pbmNvbWluZ1N5bmNN
ZXNzYWdlQ2FsbGJhY2tRdWV1ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1faW5jb21pbmdTeW5jTWVz
c2FnZUNhbGxiYWNrTG9jayk7CiAgICAgdWludDY0X3QgbV9uZXh0SW5jb21pbmdTeW5jTWVzc2Fn
ZUNhbGxiYWNrSUQgV1RGX0dVQVJERURfQllfTE9DSyhtX2luY29taW5nU3luY01lc3NhZ2VDYWxs
YmFja0xvY2spIHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMv
U3RyZWFtQ29ubmVjdGlvbldvcmtRdWV1ZS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMv
U3RyZWFtQ29ubmVjdGlvbldvcmtRdWV1ZS5oCmluZGV4IGNhNGJjNWJkMmNlYTIwYTQwMDdiNzhi
ZTg5ZmEwM2QzNDAxOTI1ZWIuLjAwNGIzMjk4YWQ0OTAxMGUxZGYxMTczZGEwZTYyZmJiYWE4NDQ3
ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbUNvbm5lY3Rp
b25Xb3JrUXVldWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJlYW1Db25u
ZWN0aW9uV29ya1F1ZXVlLmgKQEAgLTI4LDEwICsyOCwxMCBAQAogI2luY2x1ZGUgIklQQ1NlbWFw
aG9yZS5oIgogI2luY2x1ZGUgIlN0cmVhbVNlcnZlckNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDxh
dG9taWM+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVl
Lmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uRGlzcGF0Y2hlci5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5n
Lmg+CiAKIG5hbWVzcGFjZSBJUEMgewpAQCAtNjAsNyArNjAsNyBAQCBwcml2YXRlOgogCiAgICAg
c3RkOjphdG9taWM8Ym9vbD4gbV9zaG91bGRRdWl0IHsgZmFsc2UgfTsKIAotICAgIENoZWNrZWRM
b2NrIG1fbG9jazsKKyAgICBMb2NrIG1fbG9jazsKICAgICBEZXF1ZTxGdW5jdGlvbjx2b2lkKCk+
PiBtX2Z1bmN0aW9ucyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CiAgICAgSGFzaFNldDxS
ZWY8U3RyZWFtU2VydmVyQ29ubmVjdGlvbkJhc2U+PiBtX2Nvbm5lY3Rpb25zIFdURl9HVUFSREVE
X0JZX0xPQ0sobV9sb2NrKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy9TdHJlYW1TZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy9TdHJlYW1TZXJ2ZXJDb25uZWN0aW9uLmgKaW5kZXggNGY2MTZlZjgyM2U5M2E1Mzg0ZDRhZDE1
NDQ0MDM2Njc3MjEyYjhiNy4uMzk4NGEwNzg1MjY3OTM0MTNmMjAxZTUyNTA3MWU1NmQ4ZjYxNzQy
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtU2VydmVyQ29u
bmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL1N0cmVhbVNlcnZlckNv
bm5lY3Rpb24uaApAQCAtMzEsOCArMzEsOCBAQAogI2luY2x1ZGUgIk1lc3NhZ2VOYW1lcy5oIgog
I2luY2x1ZGUgIlN0cmVhbUNvbm5lY3Rpb25CdWZmZXIuaCIKICNpbmNsdWRlICJTdHJlYW1Db25u
ZWN0aW9uRW5jb2Rlci5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgogI2luY2x1ZGUg
PHd0Zi9EZXF1ZS5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVh
ZGluZy5oPgogCiBuYW1lc3BhY2UgSVBDIHsKQEAgLTkzLDcgKzkzLDcgQEAgcHJvdGVjdGVkOgog
ICAgIHNpemVfdCBtX3NlcnZlck9mZnNldCB7IDAgfTsKICAgICBTdHJlYW1Db25uZWN0aW9uQnVm
ZmVyIG1fYnVmZmVyOwogCi0gICAgQ2hlY2tlZExvY2sgbV9vdXRPZlN0cmVhbU1lc3NhZ2VzTG9j
azsKKyAgICBMb2NrIG1fb3V0T2ZTdHJlYW1NZXNzYWdlc0xvY2s7CiAgICAgRGVxdWU8c3RkOjp1
bmlxdWVfcHRyPERlY29kZXI+PiBtX291dE9mU3RyZWFtTWVzc2FnZXMgV1RGX0dVQVJERURfQllf
TE9DSyhtX291dE9mU3RyZWFtTWVzc2FnZXNMb2NrKTsKIAogICAgIGJvb2wgbV9pc0Rpc3BhdGNo
aW5nU3RyZWFtTWVzc2FnZSB7IGZhbHNlIH07CkBAIC0xNTUsNyArMTU1LDcgQEAgcHJpdmF0ZToK
ICAgICBib29sIHByb2Nlc3NTZXRTdHJlYW1EZXN0aW5hdGlvbklEKERlY29kZXImJiwgUmVmUHRy
PFJlY2VpdmVyPiYgY3VycmVudFJlY2VpdmVyKTsKICAgICBib29sIGRpc3BhdGNoU3RyZWFtTWVz
c2FnZShEZWNvZGVyJiYsIFJlY2VpdmVyJik7CiAgICAgYm9vbCBkaXNwYXRjaE91dE9mU3RyZWFt
TWVzc2FnZShEZWNvZGVyJiYpOwotICAgIENoZWNrZWRMb2NrIG1fcmVjZWl2ZXJzTG9jazsKKyAg
ICBMb2NrIG1fcmVjZWl2ZXJzTG9jazsKICAgICB1c2luZyBSZWNlaXZlcnNNYXAgPSBIYXNoTWFw
PHN0ZDo6cGFpcjx1aW50OF90LCB1aW50NjRfdD4sIFJlZjxSZWNlaXZlcj4+OwogICAgIFJlY2Vp
dmVyc01hcCBtX3JlY2VpdmVycyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcmVjZWl2ZXJzTG9jayk7
CiAgICAgdWludDY0X3QgbV9jdXJyZW50RGVzdGluYXRpb25JRCB7IDAgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Jsb2NraW5nUmVzcG9uc2VNYXAuaCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0Jsb2NraW5nUmVzcG9uc2VNYXAuaAppbmRleCA4OGIwNjM5MmZmYjg0NTI5NTAw
ZjFmMDRjYmNkNjU5N2YxNDE5OWNjLi43NWRhMjcyNWMzMjVhZjgwYTNlNDEzYjkwNDBjMTcyOTQ5
ZWNmZGU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9CbG9ja2luZ1Jlc3BvbnNl
TWFwLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQmxvY2tpbmdSZXNwb25zZU1hcC5oCkBA
IC0yNiw5ICsyNiw5IEBACiAjaWZuZGVmIEJsb2NraW5nUmVzcG9uc2VNYXBfaAogI2RlZmluZSBC
bG9ja2luZ1Jlc3BvbnNlTWFwX2gKIAotI2luY2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+
Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8d3RmL0NvbmRpdGlvbi5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KQEAgLTc1LDgg
Kzc1LDggQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBDaGVja2VkTG9jayBtX3Jl
c3BvbnNlc0xvY2s7Ci0gICAgQ2hlY2tlZENvbmRpdGlvbiBtX2NvbmRpdGlvbjsKKyAgICBMb2Nr
IG1fcmVzcG9uc2VzTG9jazsKKyAgICBDb25kaXRpb24gbV9jb25kaXRpb247CiAKICAgICBIYXNo
TWFwPHVpbnQ2NF90LCBzdGQ6OnVuaXF1ZV9wdHI8VD4+IG1fcmVzcG9uc2VzIFdURl9HVUFSREVE
X0JZX0xPQ0sobV9yZXNwb25zZXNMb2NrKTsKICAgICBib29sIG1fY2FuY2VsZWQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9YUENFbmRwb2ludENsaWVudC5oIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvWFBDRW5kcG9pbnRDbGllbnQuaAppbmRleCA1YjgyOWJj
NjlhYWUxOWZiZjliYmMxOTUxMTY5NTYwNjBlMTBkNDU2Li5iMzFhMjA5NzgwNGE4YjJiOGVlMDY4
M2JiN2U5NDBiM2Y5YzkwYTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9YUENFbmRwb2ludENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1hQ
Q0VuZHBvaW50Q2xpZW50LmgKQEAgLTI2LDcgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5j
bHVkZSAiV0tEZWNsYXJhdGlvblNwZWNpZmllcnMuaCIKLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExv
Y2suaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9PU09iamVjdFB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9zcGkvZGFyd2luL1hQQ1NQSS5oPgogCkBAIC00NSw3ICs0NSw3IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUV2ZW50KHhwY19vYmplY3RfdCkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRDb25uZWN0KCkgPSAwOwogCi0gICAgQ2hlY2tlZExvY2sg
bV9jb25uZWN0aW9uTG9jazsKKyAgICBMb2NrIG1fY29ubmVjdGlvbkxvY2s7CiAgICAgT1NPYmpl
Y3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4gbV9jb25uZWN0aW9uIFdURl9HVUFSREVEX0JZX0xPQ0so
bV9jb25uZWN0aW9uTG9jayk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9Db21wb3NpdGluZ1J1bkxv
b3AuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRj
b21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5oCmluZGV4IDc3YzQ2N2JhMmZjMmVkNjEzMzU0
ZjNlODFhN2Y0NzUxYWU0YTBiZTguLjAxMzVjNzQ0N2Y2YzRkMTI0MzI5ZmZhZjUyNGQzNzBjODZh
ZTg0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9vcC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBv
c2l0aW5nUnVuTG9vcC5oCkBAIC0yOCwxMCArMjgsMTAgQEAKICNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1MpCiAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgotI2luY2x1ZGUgPHd0Zi9DaGVj
a2VkQ29uZGl0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CisjaW5jbHVkZSA8
d3RmL0NvbmRpdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8
d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUnVuTG9vcC5oPgpAQCAtNzEsOCArNzEsOCBAQCBwcml2YXRlOgogICAgIFJ1bkxvb3AqIG1f
cnVuTG9vcCB7IG51bGxwdHIgfTsKICAgICBSdW5Mb29wOjpUaW1lcjxDb21wb3NpdGluZ1J1bkxv
b3A+IG1fdXBkYXRlVGltZXI7CiAgICAgRnVuY3Rpb248dm9pZCAoKT4gbV91cGRhdGVGdW5jdGlv
bjsKLSAgICBDaGVja2VkTG9jayBtX2Rpc3BhdGNoU3luY0NvbmRpdGlvbkxvY2s7Ci0gICAgQ2hl
Y2tlZENvbmRpdGlvbiBtX2Rpc3BhdGNoU3luY0NvbmRpdGlvbjsKKyAgICBMb2NrIG1fZGlzcGF0
Y2hTeW5jQ29uZGl0aW9uTG9jazsKKyAgICBDb25kaXRpb24gbV9kaXNwYXRjaFN5bmNDb25kaXRp
b247CiAKICAgICBzdHJ1Y3QgewogICAgICAgICBMb2NrIGxvY2s7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFGb3JtYXRSZWFkZXIu
aCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYUZvcm1h
dFJlYWRlci5oCmluZGV4IGM3NmViYzQ0ODZhNTM1MTQ5YTUyM2M4YjA3ZDc5ZDEyODZlYjU0Mzgu
LmRkMmM0NDcxMzE2MGQ5MjI0MGE3NjhmYWQ5MmNhMTMyNzMwYjY3MTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYUZvcm1hdFJlYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRp
YUZvcm1hdFJlYWRlci5oCkBAIC0yOSw4ICsyOSw4IEBACiAKICNpbmNsdWRlICJDb3JlTWVkaWFX
cmFwcGVkLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50Lmg+
Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRDb25kaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tl
ZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvQ29uZGl0aW9uLmg+CisjaW5jbHVkZSA8d3RmL0xvY2su
aD4KICNpbmNsdWRlIDx3dGYvTG9nZ2VyLmg+CiAKIERFQ0xBUkVfQ09SRV9NRURJQV9UUkFJVFMo
Rm9ybWF0UmVhZGVyKTsKQEAgLTc5LDggKzc5LDggQEAgcHJpdmF0ZToKICAgICBjb25zdCB2b2lk
KiBsb2dJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CiAKICAg
ICBSZXRhaW5QdHI8TVRQbHVnaW5CeXRlU291cmNlUmVmPiBtX2J5dGVTb3VyY2UgV1RGX0dVQVJE
RURfQllfTE9DSyhtX3BhcnNlVHJhY2tzTG9jayk7Ci0gICAgQ2hlY2tlZENvbmRpdGlvbiBtX3Bh
cnNlVHJhY2tzQ29uZGl0aW9uOwotICAgIENoZWNrZWRMb2NrIG1fcGFyc2VUcmFja3NMb2NrOwor
ICAgIENvbmRpdGlvbiBtX3BhcnNlVHJhY2tzQ29uZGl0aW9uOworICAgIExvY2sgbV9wYXJzZVRy
YWNrc0xvY2s7CiAgICAgTWVkaWFUaW1lIG1fZHVyYXRpb24gV1RGX0dVQVJERURfQllfTE9DSyht
X3BhcnNlVHJhY2tzTG9jayk7CiAgICAgT3B0aW9uYWw8T1NTdGF0dXM+IG1fcGFyc2VUcmFja3NT
dGF0dXMgV1RGX0dVQVJERURfQllfTE9DSyhtX3BhcnNlVHJhY2tzTG9jayk7CiAgICAgVmVjdG9y
PFJlZjxNZWRpYVRyYWNrUmVhZGVyPj4gbV90cmFja1JlYWRlcnMgV1RGX0dVQVJERURfQllfTE9D
SyhtX3BhcnNlVHJhY2tzTG9jayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9t
YWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFTYW1wbGVDdXJzb3IuaCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYVNhbXBsZUN1cnNvci5oCmluZGV4IGIx
N2NkOTAzNzc4MzM4NGE2MThhNTVhNjc5MGM5ZGVlMjY2ZGRlY2IuLmI3NTZlMjZkODdhZjM1YTkz
NTcxYTJkYjQ4Y2EzMWIzY2Q5OWJiZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYVNhbXBsZUN1cnNvci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYVNhbXBsZUN1cnNvci5oCkBA
IC0yOSw3ICsyOSw3IEBACiAKICNpbmNsdWRlICJDb3JlTWVkaWFXcmFwcGVkLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9TYW1wbGVNYXAuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNp
bmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KICNpbmNsdWRl
IDx3dGYvVmFyaWFudC5oPgogCkBAIC0xMDcsNyArMTA3LDcgQEAgcHJpdmF0ZToKIAogICAgIFJl
ZjxNZWRpYVRyYWNrUmVhZGVyPiBtX3RyYWNrUmVhZGVyOwogICAgIG11dGFibGUgTG9jYXRvciBt
X2xvY2F0b3IgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2F0b3JMb2NrKTsKLSAgICBtdXRhYmxl
IENoZWNrZWRMb2NrIG1fbG9jYXRvckxvY2s7CisgICAgbXV0YWJsZSBMb2NrIG1fbG9jYXRvckxv
Y2s7CiAgICAgUmVmPGNvbnN0IFdURjo6TG9nZ2VyPiBtX2xvZ2dlcjsKICAgICBjb25zdCB2b2lk
KiBtX2xvZ0lkZW50aWZpZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
bWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhVHJhY2tSZWFkZXIuaCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYVRyYWNrUmVhZGVyLmgKaW5kZXggYjgz
NGI5MDkxZjAzYjdlZTZmY2Y1YTczNmFhYjMwNGIyMTc2ZDZlNC4uOTIwYmJhMWI5Y2M2OGRmZTY3
ODIzMzJjMGJlMTY1OWI4NzkwZDhjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
bWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhVHJhY2tSZWFkZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFUcmFja1JlYWRlci5oCkBAIC0y
OSw4ICsyOSw4IEBACiAKICNpbmNsdWRlICJDb3JlTWVkaWFXcmFwcGVkLmgiCiAjaW5jbHVkZSA8
V2ViQ29yZS9TYW1wbGVNYXAuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgot
I2luY2x1ZGUgPHd0Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4K
KyNpbmNsdWRlIDx3dGYvTG9jay5oPgogCiBERUNMQVJFX0NPUkVfTUVESUFfVFJBSVRTKFRyYWNr
UmVhZGVyKTsKIApAQCAtMTA2LDggKzEwNiw4IEBAIHByaXZhdGU6CiAgICAgY29uc3QgQ01NZWRp
YVR5cGUgbV9tZWRpYVR5cGU7CiAgICAgY29uc3QgTWVkaWFUaW1lIG1fZHVyYXRpb247CiAgICAg
c3RkOjphdG9taWM8RW5hYmxlZD4gbV9pc0VuYWJsZWQgeyBFbmFibGVkOjpVbmtub3duIH07Ci0g
ICAgbXV0YWJsZSBDaGVja2VkQ29uZGl0aW9uIG1fc2FtcGxlU3RvcmFnZUNvbmRpdGlvbjsKLSAg
ICBtdXRhYmxlIENoZWNrZWRMb2NrIG1fc2FtcGxlU3RvcmFnZUxvY2s7CisgICAgbXV0YWJsZSBD
b25kaXRpb24gbV9zYW1wbGVTdG9yYWdlQ29uZGl0aW9uOworICAgIG11dGFibGUgTG9jayBtX3Nh
bXBsZVN0b3JhZ2VMb2NrOwogICAgIG11dGFibGUgc3RkOjp1bmlxdWVfcHRyPFNhbXBsZVN0b3Jh
Z2U+IG1fc2FtcGxlU3RvcmFnZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fc2FtcGxlU3RvcmFnZUxv
Y2spOwogICAgIFJlZjxjb25zdCBMb2dnZXI+IG1fbG9nZ2VyOwogICAgIGNvbnN0IHZvaWQqIG1f
bG9nSWRlbnRpZmllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlVS
TFNjaGVtZVRhc2suaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlVSTFNjaGVtZVRhc2su
aAppbmRleCBiOTI5Mjg5NGZhNWMzNGE5ZjVkOGJmMzFjZjZhMzIwYTFkYWZmMzhkLi5lYWMwOWJk
ZWNhMWRlYzBjYjIxOWFjMWQwMzMwOGIyZTI3MjMwOWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJVUkxTY2hlbWVUYXNrLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViVVJMU2NoZW1lVGFzay5oCkBAIC0zMCw5ICszMCw5IEBACiAjaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9u
c2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgotI2luY2x1ZGUgPHd0Zi9D
aGVja2VkTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1
ZGUgPHd0Zi9JbnN0YW5jZUNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC0xMDYs
NyArMTA2LDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBtX3dlYlBh
Z2VJRDsKICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgbV9yZXF1ZXN0IFdURl9HVUFSREVE
X0JZX0xPQ0sobV9yZXF1ZXN0TG9jayk7CiAgICAgUmVmPEFQSTo6RnJhbWVJbmZvPiBtX2ZyYW1l
SW5mbzsKLSAgICBtdXRhYmxlIENoZWNrZWRMb2NrIG1fcmVxdWVzdExvY2s7CisgICAgbXV0YWJs
ZSBMb2NrIG1fcmVxdWVzdExvY2s7CiAgICAgYm9vbCBtX3N0b3BwZWQgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9yZXNwb25zZVNlbnQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9kYXRhU2VudCB7IGZh
bHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUxp
bmsuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5TGluay5oCmluZGV4IDQy
ODdhMDk3ZjY5YjUxNWUyMTY5MmZkZjVjN2U2MjhlMjk1MWM2NjQuLjE5ZThkYmYwMTZlODgzMGQ0
NDc1MTBlNDY4ZmJkNDEyODhhMDViNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9EaXNwbGF5TGluay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9E
aXNwbGF5TGluay5oCkBAIC0zMiw4ICszMiw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9BbmltYXRp
b25GcmFtZVJhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Rpc3BsYXlVcGRhdGUuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1BsYXRmb3JtU2NyZWVuLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2Nr
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogCiBu
YW1lc3BhY2UgSVBDIHsKIGNsYXNzIENvbm5lY3Rpb247CkBAIC04Myw3ICs4Myw3IEBAIHByaXZh
dGU6CiAgICAgfTsKIAogICAgIENWRGlzcGxheUxpbmtSZWYgbV9kaXNwbGF5TGluayB7IG51bGxw
dHIgfTsKLSAgICBDaGVja2VkTG9jayBtX29ic2VydmVyc0xvY2s7CisgICAgTG9jayBtX29ic2Vy
dmVyc0xvY2s7CiAgICAgSGFzaE1hcDxSZWZQdHI8SVBDOjpDb25uZWN0aW9uPiwgQ29ubmVjdGlv
bkNsaWVudEluZm8+IG1fb2JzZXJ2ZXJzIFdURl9HVUFSREVEX0JZX0xPQ0sobV9vYnNlcnZlcnNM
b2NrKTsKICAgICBXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCBtX2Rpc3BsYXlJRDsKICAgICBX
ZWJDb3JlOjpGcmFtZXNQZXJTZWNvbmQgbV9kaXNwbGF5Tm9taW5hbEZyYW1lc1BlclNlY29uZCB7
IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
UmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9n
cmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKaW5kZXggYjM3YTRhYmEwZTUwZWM3YzEz
YzlmMmViYjUzNGE5NWQ3NTY1YzdjYS4uY2Y3YTRkMTlkZTQwNWNkNDBmZTYxYzQ5YmFhMTBkZTk5
OGNiM2E4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGlj
cy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmgKQEAgLTM2LDggKzM2LDggQEAK
ICNpbmNsdWRlIDxXZWJDb3JlL0Rpc3BsYXlMaXN0UmVjb3JkZXIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0Rpc3BsYXlMaXN0UmVwbGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVn
aXN0cnkuaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZENvbmRpdGlvbi5oPgotI2luY2x1ZGUgPHd0
Zi9DaGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Db25kaXRpb24uaD4KKyNpbmNsdWRlIDx3
dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1N5c3RlbVRy
YWNpbmcuaD4KIApAQCAtMzQxLDggKzM0MSw4IEBAIHByb3RlY3RlZDoKICAgICB9CiAKICAgICBX
ZWJDb3JlOjpEaXNwbGF5TGlzdDo6Rmx1c2hJZGVudGlmaWVyIG1fc2VudEZsdXNoSWRlbnRpZmll
cjsKLSAgICBDaGVja2VkTG9jayBtX3JlY2VpdmVkRmx1c2hJZGVudGlmaWVyTG9jazsKLSAgICBD
aGVja2VkQ29uZGl0aW9uIG1fcmVjZWl2ZWRGbHVzaElkZW50aWZpZXJDaGFuZ2VkQ29uZGl0aW9u
OworICAgIExvY2sgbV9yZWNlaXZlZEZsdXNoSWRlbnRpZmllckxvY2s7CisgICAgQ29uZGl0aW9u
IG1fcmVjZWl2ZWRGbHVzaElkZW50aWZpZXJDaGFuZ2VkQ29uZGl0aW9uOwogICAgIFdlYkNvcmU6
OkRpc3BsYXlMaXN0OjpGbHVzaElkZW50aWZpZXIgbV9yZWNlaXZlZEZsdXNoSWRlbnRpZmllciBX
VEZfR1VBUkRFRF9CWV9MT0NLKG1fcmVjZWl2ZWRGbHVzaElkZW50aWZpZXJMb2NrKTsgLy8gT25s
eSBtb2RpZmllZCBvbiB0aGUgbWFpbiB0aHJlYWQgYnV0IG1heSBnZXQgcXVlcmllZCBvbiBhIHNl
Y29uZGFyeSB0aHJlYWQuCiAgICAgV2Vha1B0cjxSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk+
IG1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKaW5kZXggNGEwZTY0
YjE4NGU3MTZlM2UwMTExOTIyNDk3ZjZmOTExMjM0NDcwMS4uOWM3YmIzNTU2OTllNzAzMmU3M2E5
ODg5MjY5NmVlNDk4Y2IxM2E1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmgKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaD4KICNpbmNsdWRlIDxtYXA+CiAj
aW5jbHVkZSA8d2VicnRjL2FwaS92aWRlby92aWRlb19jb2RlY190eXBlLmg+Ci0jaW5jbHVkZSA8
d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CkBAIC03NSw3ICs3NCw3IEBAIHB1
YmxpYzoKICAgICAgICAgUlRDRGVjb2RlcklkZW50aWZpZXIgaWRlbnRpZmllcjsKICAgICAgICAg
VHlwZSB0eXBlOwogICAgICAgICB2b2lkKiBkZWNvZGVkSW1hZ2VDYWxsYmFjayBXVEZfR1VBUkRF
RF9CWV9MT0NLKGRlY29kZWRJbWFnZUNhbGxiYWNrTG9jaykgeyBudWxscHRyIH07Ci0gICAgICAg
IENoZWNrZWRMb2NrIGRlY29kZWRJbWFnZUNhbGxiYWNrTG9jazsKKyAgICAgICAgTG9jayBkZWNv
ZGVkSW1hZ2VDYWxsYmFja0xvY2s7CiAgICAgICAgIGJvb2wgaGFzRXJyb3IgeyBmYWxzZSB9Owog
ICAgICAgICBSZWZQdHI8SVBDOjpDb25uZWN0aW9uPiBjb25uZWN0aW9uOwogICAgIH07CkBAIC0x
MDEsNyArMTAwLDcgQEAgcHVibGljOgogICAgICAgICBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywg
U3RyaW5nPj4gcGFyYW1ldGVyczsKICAgICAgICAgT3B0aW9uYWw8RW5jb2RlckluaXRpYWxpemF0
aW9uRGF0YT4gaW5pdGlhbGl6YXRpb25EYXRhOwogICAgICAgICB2b2lkKiBlbmNvZGVkSW1hZ2VD
YWxsYmFjayBXVEZfR1VBUkRFRF9CWV9MT0NLKGVuY29kZWRJbWFnZUNhbGxiYWNrTG9jaykgeyBu
dWxscHRyIH07Ci0gICAgICAgIENoZWNrZWRMb2NrIGVuY29kZWRJbWFnZUNhbGxiYWNrTG9jazsK
KyAgICAgICAgTG9jayBlbmNvZGVkSW1hZ2VDYWxsYmFja0xvY2s7CiAgICAgICAgIFJlZlB0cjxJ
UEM6OkNvbm5lY3Rpb24+IGNvbm5lY3Rpb247CiAgICAgfTsKIApAQCAtMTQ1LDcgKzE0NCw3IEBA
IHByaXZhdGU6CiAKICAgICBzdGQ6OmF0b21pYzxib29sPiBtX25lZWRzR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb247CiAKLSAgICBDaGVja2VkTG9jayBtX2Nvbm5lY3Rpb25Mb2NrOworICAgIExvY2sgbV9j
b25uZWN0aW9uTG9jazsKICAgICBSZWZQdHI8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb24g
V1RGX0dVQVJERURfQllfTE9DSyhtX2Nvbm5lY3Rpb25Mb2NrKTsKICAgICBWZWN0b3I8RnVuY3Rp
b248dm9pZCgpPj4gbV90YXNrc1RvRGlzcGF0Y2hBZnRlckVzdGFibGlzaGluZ0Nvbm5lY3Rpb247
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tl
dFN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJTb2NrZXRT
dHJlYW0uY3BwCmluZGV4IDZmZGVkM2I5YzM3YWRkZDE1MTJhOWQ4ZGE0M2MxZmM2ZWNlNGE5MGMu
LmJjMGJjZDlkZWZkMjBlZTJjYjgyOTg4NzJjODkxOTc4MjkyOTVhZDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlNvY2tldFN0cmVhbS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0U3RyZWFtLmNwcApAQCAt
MzQsMTMgKzM0LDEzIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Db29raWVSZXF1ZXN0SGVhZGVyRmll
bGRQcm94eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU29ja2V0U3RyZWFtRXJyb3IuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1NvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oPgotI2luY2x1ZGUgPHd0Zi9D
aGVja2VkTG9jay5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKLXN0YXRpYyBDaGVja2VkTG9jayBnbG9iYWxXZWJTb2NrZXRTdHJlYW1NYXBMb2NrOwor
c3RhdGljIExvY2sgZ2xvYmFsV2ViU29ja2V0U3RyZWFtTWFwTG9jazsKIHN0YXRpYyBIYXNoTWFw
PFdlYlNvY2tldElkZW50aWZpZXIsIFdlYlNvY2tldFN0cmVhbSo+JiBnbG9iYWxXZWJTb2NrZXRT
dHJlYW1NYXAoKSBXVEZfUkVRVUlSRVNfTE9DSyhnbG9iYWxXZWJTb2NrZXRTdHJlYW1NYXBMb2Nr
KQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPFdlYlNvY2tldElkZW50aWZp
ZXIsIFdlYlNvY2tldFN0cmVhbSo+PiBnbG9iYWxNYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9u
TWFuYWdlci5oCmluZGV4IGEwMGE5ZGU0NTA3YjE5MTE0YTczZjMxOTEyODFmYTZhMWU4N2M4NjUu
LjM1NDZkZjExMGIwNTI0NzQ4OTYwNTYwNjZiODI0ZTg0MWY5MGEzM2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFu
YWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nl
c3NDb25uZWN0aW9uTWFuYWdlci5oCkBAIC0yOSw5ICsyOSw5IEBACiAjaWYgRU5BQkxFKE5FVFND
QVBFX1BMVUdJTl9BUEkpCiAKICNpbmNsdWRlICJQbHVnaW5Qcm9jZXNzLmgiCi0jaW5jbHVkZSA8
d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KQEAgLTY1LDcgKzY1LDcgQEAgcHJpdmF0ZToKIAogICAgIFZlY3RvcjxSZWZQdHI8UGx1
Z2luUHJvY2Vzc0Nvbm5lY3Rpb24+PiBtX3BsdWdpblByb2Nlc3NDb25uZWN0aW9uczsKIAotICAg
IENoZWNrZWRMb2NrIG1fdG9rZW5zQW5kQ29ubmVjdGlvbnNMb2NrOworICAgIExvY2sgbV90b2tl
bnNBbmRDb25uZWN0aW9uc0xvY2s7CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPElQQzo6
Q29ubmVjdGlvbj4+IG1fdG9rZW5zQW5kQ29ubmVjdGlvbnMgV1RGX0dVQVJERURfQllfTE9DSyht
X3Rva2Vuc0FuZENvbm5lY3Rpb25zTG9jayk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5oCmluZGV4IGZjMjZjNDRlNzhhYjRj
ODgyMDNmMjU2Yjc1Yjc3ZTk1ZWM0NDE1NTkuLmVlOGFhZTZhMWVlNzdiYTIwOGEyNTdiNGQ5ZTlj
ZjBjMzVkOTk2OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L0V2ZW50RGlzcGF0Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L0V2ZW50RGlzcGF0Y2hlci5oCkBAIC0zMiw4ICszMiw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Q
bGF0Zm9ybVdoZWVsRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1doZWVsRXZlbnREZWx0YUZp
bHRlci5oPgogI2luY2x1ZGUgPG1lbW9yeT4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CkBAIC0xMTgsMTIgKzExOCwxMiBAQCBwcml2YXRl
OgogICAgIFJlZjxXb3JrUXVldWU+IG1fcXVldWU7CiAKICNpZiBFTkFCTEUoU0NST0xMSU5HX1RI
UkVBRCkKLSAgICBDaGVja2VkTG9jayBtX3Njcm9sbGluZ1RyZWVzTG9jazsKKyAgICBMb2NrIG1f
c2Nyb2xsaW5nVHJlZXNMb2NrOwogICAgIEhhc2hNYXA8V2ViQ29yZTo6UGFnZUlkZW50aWZpZXIs
IFJlZlB0cjxXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU+PiBtX3Njcm9sbGluZ1RyZWVz
IFdURl9HVUFSREVEX0JZX0xPQ0sobV9zY3JvbGxpbmdUcmVlc0xvY2spOwogI2VuZGlmCiAgICAg
c3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OldoZWVsRXZlbnREZWx0YUZpbHRlcj4gbV9yZWNlbnRX
aGVlbEV2ZW50RGVsdGFGaWx0ZXI7CiAjaWYgRU5BQkxFKElPU19UT1VDSF9FVkVOVFMpCi0gICAg
Q2hlY2tlZExvY2sgbV90b3VjaEV2ZW50c0xvY2s7CisgICAgTG9jayBtX3RvdWNoRXZlbnRzTG9j
azsKICAgICBIYXNoTWFwPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBUb3VjaEV2ZW50UXVldWU+
IG1fdG91Y2hFdmVudHMgV1RGX0dVQVJERURfQllfTE9DSyhtX3RvdWNoRXZlbnRzTG9jayk7CiAj
ZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9W
aWV3VXBkYXRlRGlzcGF0Y2hlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Vmlld1VwZGF0ZURpc3BhdGNoZXIuaAppbmRleCAxOGIwMzFkNjIyYjA3OWMxZmRjNzUxNDg5ZTk3
OGMxYjRhYzNkZGVhLi5iODE1NTAxYmVjMDdiYWUxOThmMDc3MDEwMzAyOTFmMGI0YWEzYzZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3VXBkYXRlRGlz
cGF0Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdVcGRh
dGVEaXNwYXRjaGVyLmgKQEAgLTMxLDggKzMxLDggQEAKIAogI2luY2x1ZGUgIlZpc2libGVDb250
ZW50UmVjdFVwZGF0ZUluZm8uaCIKICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2VJZGVudGlmaWVyLmg+
Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
KyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KIAogbmFtZXNwYWNl
IFdlYktpdCB7CkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIFJlZjxX
b3JrUXVldWU+IG1fcXVldWU7Ci0gICAgQ2hlY2tlZExvY2sgbV9sYXRlc3RVcGRhdGVMb2NrOwor
ICAgIExvY2sgbV9sYXRlc3RVcGRhdGVMb2NrOwogICAgIEhhc2hNYXA8V2ViQ29yZTo6UGFnZUlk
ZW50aWZpZXIsIFVuaXF1ZVJlZjxVcGRhdGVEYXRhPj4gbV9sYXRlc3RVcGRhdGUgV1RGX0dVQVJE
RURfQllfTE9DSyhtX2xhdGVzdFVwZGF0ZUxvY2spOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5oIGIvU291cmNlL1dlYktpdExl
Z2FjeS9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5oCmluZGV4IDlmNjFhOGFmZDg3YjQ1MmE2YWNm
NTE2ZjExMzNiZjhlOTc0YjljZDAuLjQzMmRmYjAzNDg0YmRlZmIwZTFlNjdjNjcyNDQ4NjlmNmMx
NzNlMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvU3RvcmFnZS9TdG9yYWdlQXJl
YVN5bmMuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5j
LmgKQEAgLTI3LDkgKzI3LDkgQEAKIAogI2luY2x1ZGUgPFdlYkNvcmUvU1FMaXRlRGF0YWJhc2Uu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1RpbWVyLmg+Ci0jaW5jbHVkZSA8d3RmL0NoZWNrZWRDb25k
aXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvQ2hlY2tlZExvY2suaD4KKyNpbmNsdWRlIDx3dGYvQ29u
ZGl0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtOTcsOCArOTcsOCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX3N5bmNDbG9zZURhdGFi
YXNlOwogCi0gICAgbXV0YWJsZSBDaGVja2VkTG9jayBtX2ltcG9ydExvY2s7Ci0gICAgQ2hlY2tl
ZENvbmRpdGlvbiBtX2ltcG9ydENvbmRpdGlvbjsKKyAgICBtdXRhYmxlIExvY2sgbV9pbXBvcnRM
b2NrOworICAgIENvbmRpdGlvbiBtX2ltcG9ydENvbmRpdGlvbjsKICAgICBib29sIG1faW1wb3J0
Q29tcGxldGUgV1RGX0dVQVJERURfQllfTE9DSyhtX2ltcG9ydExvY2spOwogICAgIHZvaWQgbWFy
a0ltcG9ydGVkKCk7CiAgICAgdm9pZCBtaWdyYXRlSXRlbVRhYmxlSWZOZWVkZWQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01JbnRlcm5hbC5tbSBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01JbnRlcm5hbC5tbQppbmRleCBkMzNhNTdiNjMzMTQ4
MWIxY2NlMTYxZDE1OTU2ZmIwZjgyYWU2ZDEzLi5lMzFiMjA5NTg3ZTNhZTAxNmY1OTQxMzMzOTMy
YjVhMTVlZTc0ZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9N
SW50ZXJuYWwubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUludGVybmFs
Lm1tCkBAIC0zMiw4ICszMiw4IEBACiAjaW1wb3J0IDxXZWJDb3JlL1NjcmlwdENvbnRyb2xsZXIu
aD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViU2NyaXB0T2JqZWN0UHJpdmF0ZS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9ydW50aW1lX3Jvb3QuaD4KLSNpbXBvcnQgPHd0Zi9DaGVja2VkTG9jay5oPgogI2lt
cG9ydCA8d3RmL0hhc2hNYXAuaD4KKyNpbXBvcnQgPHd0Zi9Mb2NrLmg+CiAjaW1wb3J0IDx3dGYv
TmV2ZXJEZXN0cm95ZWQuaD4KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC00NCw3ICs0
NCw3IEBACiAvLyBXcmFwcGluZyBXZWJDb3JlIGltcGxlbWVudGF0aW9uIG9iamVjdHMKIAogI2lm
ZGVmIE5FRURTX1dSQVBQRVJfQ0FDSEVfTE9DSwotc3RhdGljIENoZWNrZWRMb2NrIHdyYXBwZXJD
YWNoZUxvY2s7CitzdGF0aWMgTG9jayB3cmFwcGVyQ2FjaGVMb2NrOwogc3RhdGljIEhhc2hNYXA8
RE9NT2JqZWN0SW50ZXJuYWwqLCBOU09iamVjdCAqPiYgd3JhcHBlckNhY2hlKCkgV1RGX1JFUVVJ
UkVTX0xPQ0sod3JhcHBlckNhY2hlTG9jaykKICNlbHNlCiBzdGF0aWMgSGFzaE1hcDxET01PYmpl
Y3RJbnRlcm5hbCosIE5TT2JqZWN0ICo+JiB3cmFwcGVyQ2FjaGUoKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGNhNTI3OGMxY2Q3OWVlNzlmNThk
NGY2ODhiMGYzOWUzMjc1YzJjODQuLjdmMDRlNDBiZDg5NWViZTIxMmEwMmI4MWI1ODk3MzkxYWI0
MDZhYTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyNCBAQAorMjAyMS0wNS0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCisgICAgICAgIERyb3AgQ2hlY2tlZExvY2sgLyBDaGVja2VkQ29uZGl0aW9uIGFsaWFz
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjE3
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3Ag
Q2hlY2tlZExvY2sgLyBDaGVja2VkQ29uZGl0aW9uIGFsaWFzZXMgbm93IHRoYXQgdGhleSBhcmUg
dGhlIGRlZmF1bHQuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0Ogor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NoZWNrZWRDb25kaXRp
b25UZXN0LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9D
aGVja2VkTG9ja1Rlc3QuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL0NvbmRpdGlvbi5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Mb2NrLmNwcDoKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01ldGFB
bGxvY2F0b3IuY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpBWFRocmVhZDo6Y3Jl
YXRlVGhyZWFkSWZOZWVkZWQpOgorCiAyMDIxLTA1LTI0ICBBbmdlbG9zIE9pa29ub21vcG91bG9z
ICA8YW5nZWxvc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEJlIHJlc2lsaWVudCBhZ2FpbnN0IHJl
bW90ZSBmYWlsdXJlIHdoZW4gZGV0ZXJtaW5pbmcgdGhlIG5hdGl2ZSBhcmNoaXRlY3R1cmUKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0CmluZGV4IGU0NGNiNGJiNzMyZTA2NTdiNTBkZGQ3ODli
ZmRkOTQ3MTQxOTlhMjQuLmRiNDhiOTRiMjA3ZjFjMGZiZWQwOTg4MzIwZjcwYjY5ZmQyNDNlMDIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dApAQCAtMjksNyArMjksNiBAQCBzZXQoVGVz
dFdURl9TT1VSQ0VTCiAgICAgVGVzdHMvV1RGL0J1bXBQb2ludGVyQWxsb2NhdG9yLmNwcAogICAg
IFRlc3RzL1dURi9DU3RyaW5nLmNwcAogICAgIFRlc3RzL1dURi9DaGVja2VkQXJpdGhtZXRpY09w
ZXJhdGlvbnMuY3BwCi0gICAgVGVzdHMvV1RGL0NoZWNrZWRMb2NrVGVzdC5jcHAKICAgICBUZXN0
cy9XVEYvQ29tcGFjdFJlZlB0clR1cGxlLmNwcAogICAgIFRlc3RzL1dURi9Db21wYWN0VW5pcXVl
UHRyVHVwbGUuY3BwCiAgICAgVGVzdHMvV1RGL0NvbmN1cnJlbnRQdHJIYXNoU2V0LmNwcApkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAzYmI4ZWJiNjJiNWY2MzU5ZTVjMjg3MWI4ZjVlZDVmYTBm
ZDBjYzZkLi5jODdjMGYxODYwNzkyY2NiNmE4ZGI0MDcwYjMyMDEyYTI1Yjk2ZTNiIDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtNTg4LDggKzU4OCw2IEBACiAJCTdBRTlFNTA5MUFFNUFFOEIw
MENGODc0QiAvKiB0ZXN0LnBkZiBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QUU5RTUwODFBRTVBRThCMDBDRjg3NEIgLyogdGVzdC5wZGYgKi87
IH07CiAJCTdBRUFENDdGMUUyMDExNkMwMDQxNkVGRSAvKiBDcm9zc1BhcnRpdGlvbkZpbGVTY2hl
bWVBY2Nlc3MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3QUVBRDQ3QzFFMjAxMTM4MDA0MTZFRkUgLyogQ3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNj
ZXNzLm1tICovOyB9OwogCQk3QUVBRDQ4MTFFMjAxMjI3MDA0MTZFRkUgLyogQ3Jvc3NQYXJ0aXRp
b25GaWxlU2NoZW1lQWNjZXNzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0FFQUQ0N0QxRTIwMTE0RTAwNDE2RUZFIC8qIENyb3NzUGFy
dGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5odG1sICovOyB9OwotCQk3QjI3MzlFMDI2MjU3MUNDMDA0
MEYxODIgLyogQ2hlY2tlZExvY2tUZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdCMjczOURGMjYyNTcxQ0MwMDQwRjE4MiAvKiBDaGVja2VkTG9j
a1Rlc3QuY3BwICovOyB9OwotCQk3QjI3MzlFRjI2MzE1RTdFMDA0MEYxODIgLyogQ2hlY2tlZENv
bmRpdGlvblRlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0IyNzM5RUUyNjMxNUU3RDAwNDBGMTgyIC8qIENoZWNrZWRDb25kaXRpb25UZXN0LmNw
cCAqLzsgfTsKIAkJN0IyNzM5RjMyNjMyQUI2NDAwNDBGMTgyIC8qIFRocmVhZEFzc2VydGlvbnNU
ZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdC
MjczOUYyMjYzMkFCNjQwMDQwRjE4MiAvKiBUaHJlYWRBc3NlcnRpb25zVGVzdC5jcHAgKi87IH07
CiAJCTdCN0QwOTZBMjUxOUY4RjkwMDE3QTA3OCAvKiBXZWJHTE5vQ3Jhc2hPbk90aGVyVGhyZWFk
QWNjZXNzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0I3RDA5NjkyNTE5RjhGOTAwMTdBMDc4IC8qIFdlYkdMTm9DcmFzaE9uT3RoZXJUaHJlYWRBY2Nl
c3MubW0gKi87IH07CiAJCTdDMUFGNzk1MUU4RENCQUIwMDI2NDVCOSAvKiBQcmVwYXJlRm9yTW92
ZVRvV2luZG93Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0MxQUY3OTMxRThEQ0JBQjAwMjY0NUI5IC8qIFByZXBhcmVGb3JNb3ZlVG9XaW5kb3cubW0g
Ki87IH07CkBAIC0yNDUzLDggKzI0NTEsNiBAQAogCQk3QUU5RTUwODFBRTVBRThCMDBDRjg3NEIg
LyogdGVzdC5wZGYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBpbWFnZS5wZGY7IHBhdGggPSB0ZXN0LnBkZjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0FFQUQ0N0MxRTIwMTEzODAwNDE2RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVt
ZUFjY2Vzcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENyb3Nz
UGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJN0FFQUQ0N0QxRTIwMTE0RTAwNDE2RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFj
Y2Vzcy5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBuYW1lID0gQ3Jvc3NQYXJ0aXRpb25GaWxl
U2NoZW1lQWNjZXNzLmh0bWw7IHBhdGggPSBUZXN0cy9tYWMvQ3Jvc3NQYXJ0aXRpb25GaWxlU2No
ZW1lQWNjZXNzLmh0bWw7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKLQkJN0IyNzM5REYy
NjI1NzFDQzAwNDBGMTgyIC8qIENoZWNrZWRMb2NrVGVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDaGVja2VkTG9ja1Rlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk3QjI3MzlFRTI2MzE1RTdEMDA0MEYxODIgLyogQ2hlY2tlZENvbmRpdGlv
blRlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2hlY2tlZENv
bmRpdGlvblRlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QjI3MzlGMjI2
MzJBQjY0MDA0MEYxODIgLyogVGhyZWFkQXNzZXJ0aW9uc1Rlc3QuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGhyZWFkQXNzZXJ0aW9uc1Rlc3QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3QjdEMDk2OTI1MTlGOEY5MDAxN0EwNzggLyogV2ViR0xO
b0NyYXNoT25PdGhlclRocmVhZEFjY2Vzcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkdM
Tm9DcmFzaE9uT3RoZXJUaHJlYWRBY2Nlc3MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTdDMUFGNzkzMUU4RENCQUIwMDI2NDVCOSAvKiBQcmVwYXJlRm9yTW92ZVRvV2luZG93Lm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlcGFyZUZvck1vdmVU
b1dpbmRvdy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0MTIsOCArNDQwOCw2
IEBACiAJCQkJOTNBNDI3QUUxODBEQTYwRjAwQ0QyNEQ3IC8qIEJveFB0ci5jcHAgKi8sCiAJCQkJ
MDQ1MUE1QTYyMzVFNDM4RTAwOURGOTQ1IC8qIEJ1bXBQb2ludGVyQWxsb2NhdG9yLmNwcCAqLywK
IAkJCQlBN0E5NjZEQTE0MEVDQ0M4MDA1RUY5QjQgLyogQ2hlY2tlZEFyaXRobWV0aWNPcGVyYXRp
b25zLmNwcCAqLywKLQkJCQk3QjI3MzlFRTI2MzE1RTdEMDA0MEYxODIgLyogQ2hlY2tlZENvbmRp
dGlvblRlc3QuY3BwICovLAotCQkJCTdCMjczOURGMjYyNTcxQ0MwMDQwRjE4MiAvKiBDaGVja2Vk
TG9ja1Rlc3QuY3BwICovLAogCQkJCUUzMDJCREE5MjQwNEI5MjMwMDg2NTI3NyAvKiBDb21wYWN0
UmVmUHRyVHVwbGUuY3BwICovLAogCQkJCTlCMEMwNTE4MjRGREZCNzAwMEYyRkUzMSAvKiBDb21w
YWN0VW5pcXVlUHRyVHVwbGUuY3BwICovLAogCQkJCTBGMzBDQjVCMUZDRTE3OTIwMDRCNTMyMyAv
KiBDb25jdXJyZW50UHRySGFzaFNldC5jcHAgKi8sCkBAIC01MTc2LDggKzUxNzAsNiBAQAogCQkJ
CTdDODNERjE4MUQwQTU5MEMwMEZFQkNGMyAvKiBCb3hQdHIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMDREQjIzOTYyMzVFNDNFQzAwMzI4RjE3IC8qIEJ1bXBQb2ludGVyQWxsb2NhdG9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdDODNERUEwMUQwQTU5MEMwMEZFQkNGMyAvKiBDaGVja2VkQXJp
dGhtZXRpY09wZXJhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJN0IyNzM5RUYyNjMxNUU3
RTAwNDBGMTgyIC8qIENoZWNrZWRDb25kaXRpb25UZXN0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CTdCMjczOUUwMjYyNTcxQ0MwMDQwRjE4MiAvKiBDaGVja2VkTG9ja1Rlc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRTMwMkJEQUEyNDA0QjkyNDAwODY1Mjc3IC8qIENvbXBhY3RSZWZQdHJUdXBs
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5QjBDMDUxOTI0RkRGQjdEMDBGMkZFMzEgLyogQ29t
cGFjdFVuaXF1ZVB0clR1cGxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMzBDQjVDMUZDRTE3
OTYwMDRCNTMyMyAvKiBDb25jdXJyZW50UHRySGFzaFNldC5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NoZWNrZWRDb25kaXRpb25U
ZXN0LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NoZWNrZWRDb25kaXRpb25U
ZXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWQ0MjU1ZTJhYzFhMmVmOWEw
YzFjYTNjZjU2YzczODA3NjYzMDUwOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9DaGVja2VkQ29uZGl0
aW9uVGVzdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+Ci0j
aW5jbHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+Ci0KLW5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsK
LQotVEVTVChXVEZfQ2hlY2tlZExvY2ssIENoZWNrZWRDb25kaXRpb25Db21waWxlcykKLXsKLSAg
ICBDaGVja2VkTG9jayBsb2NrOwotICAgIENoZWNrZWRDb25kaXRpb24gY29uZGl0aW9uOwotICAg
IExvY2tlciBsb2NrZXIgeyBsb2NrIH07IC8vIENvbW1lbnQgdGhpcyB0byBlbnN1cmUgdGhhdCB0
aHJlYWQgc2FmZXR5IGFuYWx5c2lzIGNyZWF0ZXMgYSBjb21waWxlIGVycm9yLgotICAgIGJvb2wg
cmVzdWx0ID0gY29uZGl0aW9uLndhaXRGb3IobG9jaywgMF9zKTsKLSAgICBFWFBFQ1RfRkFMU0Uo
cmVzdWx0KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQ2hlY2tlZExvY2tUZXN0LmNwcCBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NoZWNrZWRMb2NrVGVzdC5jcHAKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDgxMDZkNGVjNzBhZWE5YTRkMzY2MzBjNzYzNDZhYTkzMmMzNzE5
NzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQ2hlY2tlZExvY2tUZXN0LmNwcAorKysgL2Rldi9udWxs
CkBAIC0xLDY3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5j
bHVkZSA8d3RmL0NoZWNrZWRMb2NrLmg+Ci0KLW5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKLQot
bmFtZXNwYWNlIHsKLWNsYXNzIE15VmFsdWUgewotcHVibGljOgotICAgIHZvaWQgc2V0VmFsdWUo
aW50IHZhbHVlKQotICAgIHsKLSAgICAgICAgTG9ja2VyIGhvbGRMb2NrIHsgbV9sb2NrIH07Ci0g
ICAgICAgIG1fdmFsdWUgPSB2YWx1ZTsKLSAgICB9Ci0gICAgdm9pZCBtYXliZVNldE90aGVyVmFs
dWUoaW50IHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKCFtX290aGVyTG9jay50cnlMb2NrKCkp
Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIExvY2tlciBob2xkTG9jayB7IEFkb3B0TG9j
aywgbV9vdGhlckxvY2sgfTsKLSAgICAgICAgbV9vdGhlclZhbHVlID0gdmFsdWU7Ci0gICAgfQot
ICAgIC8vIFRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gbWFudWFsbHkgY2hlY2sgdGhhdCBj
b21waWxlIGZhaWxzLgotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgc2hvdWxkRmFpbENv
bXBpbGUoVCB0KQotICAgIHsKLSAgICAgICAgbV92YWx1ZSA9IHQ7Ci0gICAgfQotICAgIHByaXZh
dGU6Ci0gICAgQ2hlY2tlZExvY2sgbV9sb2NrOwotICAgIGludCBtX3ZhbHVlIFdURl9HVUFSREVE
X0JZX0xPQ0sobV9sb2NrKSB7IDc3IH07Ci0gICAgQ2hlY2tlZExvY2sgbV9vdGhlckxvY2s7Ci0g
ICAgaW50IG1fb3RoZXJWYWx1ZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fb3RoZXJMb2NrKSB7IDg4
IH07Ci19OwotCi19Ci0KLVRFU1QoV1RGX0NoZWNrZWRMb2NrLCBDaGVja2VkTG9ja0NvbXBpbGVz
KQotewotICAgIE15VmFsdWUgdjsKLSAgICB2LnNldFZhbHVlKDcpOwotICAgIHYubWF5YmVTZXRP
dGhlclZhbHVlKDM0KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQ29uZGl0aW9uLmNwcCBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NvbmRpdGlvbi5jcHAKaW5kZXggNWVlYzNlMDE1NjZi
OTE4ZDY2N2UxNjQ4MjVmMDEyMDhkODc5YmJlYi4uZmI5OWMyNGI3OTJhNWNhZTYzMTdlNzBkZDJi
MjQ2NzFkYzNmYjA0NCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
Q29uZGl0aW9uLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Db25kaXRp
b24uY3BwCkBAIC0yNDksNSArMjQ5LDE0IEBAIFRFU1QoV1RGX0NvbmRpdGlvbiwgVGltZW91dFRp
bWVzT3V0KQogICAgIEVYUEVDVF9GQUxTRShyZXN1bHQpOwogfQogCitURVNUKFdURl9Db25kaXRp
b24sIEJhc2ljKQoreworICAgIExvY2sgbG9jazsKKyAgICBDb25kaXRpb24gY29uZGl0aW9uOwor
ICAgIExvY2tlciBsb2NrZXIgeyBsb2NrIH07IC8vIENvbW1lbnQgdGhpcyB0byBlbnN1cmUgdGhh
dCB0aHJlYWQgc2FmZXR5IGFuYWx5c2lzIGNyZWF0ZXMgYSBjb21waWxlIGVycm9yLgorICAgIGJv
b2wgcmVzdWx0ID0gY29uZGl0aW9uLndhaXRGb3IobG9jaywgMF9zKTsKKyAgICBFWFBFQ1RfRkFM
U0UocmVzdWx0KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Mb2NrLmNwcCBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL0xvY2suY3BwCmluZGV4IDZjMDNhNzZmZWQ2ZTE5ZDc2NDM5Zjlm
ZjM0YzM2YmZlZjhiNmU3YjIuLmM5MzRiMmJiODhlMGE0NDYyNDE1NjMzY2Y1MGRiNTUzNTZhY2Ez
MTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0xvY2suY3BwCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0xvY2suY3BwCkBAIC0xODcsNCArMTg3
LDQwIEBAIFRFU1QoV1RGX0xvY2ssIFNlY3Rpb25BZGRyZXNzQ29sbGlzaW9uKQogICAgIHJ1bkxv
Y2tUZXN0PExvY2s+KDQsIDIsIDEwMDAwLCAyMDAwKTsKIH0KIAorbmFtZXNwYWNlIHsKK2NsYXNz
IE15VmFsdWUgeworcHVibGljOgorICAgIHZvaWQgc2V0VmFsdWUoaW50IHZhbHVlKQorICAgIHsK
KyAgICAgICAgTG9ja2VyIGhvbGRMb2NrIHsgbV9sb2NrIH07CisgICAgICAgIG1fdmFsdWUgPSB2
YWx1ZTsKKyAgICB9CisgICAgdm9pZCBtYXliZVNldE90aGVyVmFsdWUoaW50IHZhbHVlKQorICAg
IHsKKyAgICAgICAgaWYgKCFtX290aGVyTG9jay50cnlMb2NrKCkpCisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIExvY2tlciBob2xkTG9jayB7IEFkb3B0TG9jaywgbV9vdGhlckxvY2sgfTsK
KyAgICAgICAgbV9vdGhlclZhbHVlID0gdmFsdWU7CisgICAgfQorICAgIC8vIFRoaXMgZnVuY3Rp
b24gY2FuIGJlIHVzZWQgdG8gbWFudWFsbHkgY2hlY2sgdGhhdCBjb21waWxlIGZhaWxzLgorICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgc2hvdWxkRmFpbENvbXBpbGUoVCB0KQorICAgIHsK
KyAgICAgICAgbV92YWx1ZSA9IHQ7CisgICAgfQorICAgIHByaXZhdGU6CisgICAgTG9jayBtX2xv
Y2s7CisgICAgaW50IG1fdmFsdWUgV1RGX0dVQVJERURfQllfTE9DSyhtX2xvY2spIHsgNzcgfTsK
KyAgICBMb2NrIG1fb3RoZXJMb2NrOworICAgIGludCBtX290aGVyVmFsdWUgV1RGX0dVQVJERURf
QllfTE9DSyhtX290aGVyTG9jaykgeyA4OCB9OworfTsKKworfQorCitURVNUKFdURl9Mb2NrLCBC
YXNpYykKK3sKKyAgICBNeVZhbHVlIHY7CisgICAgdi5zZXRWYWx1ZSg3KTsKKyAgICB2Lm1heWJl
U2V0T3RoZXJWYWx1ZSgzNCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>
<flag name="review"
          id="450746"
          type_id="1"
          status="+"
          setter="katherine_cheney"
    />
          </attachment>
      

    </bug>

</bugzilla>