<?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>239026</bug_id>
          
          <creation_ts>2022-04-08 23:45:30 -0700</creation_ts>
          <short_desc>[JSC] Reduce use of unnecessary cryptographicallyRandom numbers</short_desc>
          <delta_ts>2022-04-11 13:11:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1859997</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-04-08 23:45:30 -0700</bug_when>
    <thetext>[JSC] Use WeakRandom for MarkedBlock Freelist scramble</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859998</commentid>
    <comment_count>1</comment_count>
      <attachid>457156</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-04-08 23:53:03 -0700</bug_when>
    <thetext>Created attachment 457156
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860002</commentid>
    <comment_count>2</comment_count>
      <attachid>457158</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-04-09 00:51:07 -0700</bug_when>
    <thetext>Created attachment 457158
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860186</commentid>
    <comment_count>3</comment_count>
      <attachid>457225</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-04-10 19:40:37 -0700</bug_when>
    <thetext>Created attachment 457225
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860303</commentid>
    <comment_count>4</comment_count>
      <attachid>457225</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2022-04-11 09:20:20 -0700</bug_when>
    <thetext>Comment on attachment 457225
Patch

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

r=me

&gt; Source/JavaScriptCore/assembler/AbstractMacroAssembler.cpp:37
&gt; +    // No strong cryptographic characteristics is necessary.

is =&gt; are</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860375</commentid>
    <comment_count>5</comment_count>
      <attachid>457225</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-04-11 13:04:12 -0700</bug_when>
    <thetext>Comment on attachment 457225
Patch

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

&gt;&gt; Source/JavaScriptCore/assembler/AbstractMacroAssembler.cpp:37
&gt;&gt; +    // No strong cryptographic characteristics is necessary.
&gt; 
&gt; is =&gt; are

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860377</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-04-11 13:10:57 -0700</bug_when>
    <thetext>Committed r292714 (249504@trunk): &lt;https://commits.webkit.org/249504@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860378</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-11 13:11:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/91584856&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457156</attachid>
            <date>2022-04-08 23:53:03 -0700</date>
            <delta_ts>2022-04-09 00:51:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239026-20220408235302.patch</filename>
            <type>text/plain</type>
            <size>4402</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNjc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MTM3OGM2YTg3NDg5MTllZjc5NmVkYmRkMTZlYmI5NWE5ZjE4YzI2Li40OWQzODIxNDY4MjRjYzQz
ODVhMDMyOTQwZDM1YmU4OWE1MDI3NmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAyMi0wNC0wOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFVzZSBXZWFrUmFuZG9tIGZvciBNYXJrZWRCbG9jayBGcmVlbGlz
dCBzY3JhbWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM5MDI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBoZWFwL01hcmtlZEJsb2NrSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpNYXJrZWRCbG9j
azo6SGFuZGxlOjpzcGVjaWFsaXplZFN3ZWVwKToKKyAgICAgICAgKiBydW50aW1lL1ZNLmNwcDoK
KyAgICAgICAgKEpTQzo6Vk06OlZNKToKKyAgICAgICAgKiBydW50aW1lL1ZNLmg6CisgICAgICAg
IChKU0M6OlZNOjpoZWFwUmFuZG9tKToKKwogMjAyMi0wNC0wOCAgRWxsaW90dCBXaWxsaWFtcyAg
PGVtd0BhcHBsZS5jb20+CiAKICAgICAgICAgW1hjb2RlXSBBdm9pZCB0YXJnZXRpbmcgMzItYml0
IGlPUyBhbmQgTWFjIGFyY2hpdGVjdHVyZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdl
TG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggOGI3NWI4ZTQ0MDE4ZmJmNTdjODE5MjNk
OTFmZjQ2ODQ1MzQ1NWNhNi4uZmMwNDMyYzJiZjBkY2ZlZWU1MGM1N2JlMWY5YjEyYTA3ODA4YzIz
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMi0wNC0wOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1
a2lAYXBwbGUuY29tPgorCisgICAgICAgIFtKU0NdIFVzZSBXZWFrUmFuZG9tIGZvciBNYXJrZWRC
bG9jayBGcmVlbGlzdCBzY3JhbWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM5MDI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3dGYvV2Vha1JhbmRvbS5oOgorCiAyMDIyLTA0LTA4ICBUcnVpdHQg
U2F2ZWxsICA8dHNhdmVsbEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0
aW5nIHIyOTI1ODYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJr
ZWRCbG9ja0lubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2Nr
SW5saW5lcy5oCmluZGV4IDJkZWFlZGFkZjU5OTE5MTk3YjFkYTE4ZjUzMWYzNDJkMzMyMGNkZDMu
LjRkNGI0N2EyNTc3MTQ0ZTMzYTE3NzU3NzcwOTI4NmU1YjVlZmFmZjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrSW5saW5lcy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrSW5saW5lcy5oCkBAIC0zMDgsOCArMzA4
LDcgQEAgdm9pZCBNYXJrZWRCbG9jazo6SGFuZGxlOjpzcGVjaWFsaXplZFN3ZWVwKEZyZWVMaXN0
KiBmcmVlTGlzdCwgTWFya2VkQmxvY2s6OkhhbmQKICAgICAvLyBvcmRlciBvZiB0aGUgZnJlZSBs
aXN0LgogICAgIEZyZWVDZWxsKiBoZWFkID0gbnVsbHB0cjsKICAgICBzaXplX3QgY291bnQgPSAw
OwotICAgIHVpbnRwdHJfdCBzZWNyZXQ7Ci0gICAgY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21WYWx1
ZXMoJnNlY3JldCwgc2l6ZW9mKHVpbnRwdHJfdCkpOworICAgIHVpbnRwdHJfdCBzZWNyZXQgPSBz
dGF0aWNfY2FzdDx1aW50cHRyX3Q+KHZtLmhlYXBSYW5kb20oKS5nZXRVaW50NjQoKSk7CiAgICAg
Ym9vbCBpc0VtcHR5ID0gdHJ1ZTsKICAgICBWZWN0b3I8c2l6ZV90PiBkZWFkQ2VsbHM7CiAgICAg
YXV0byBoYW5kbGVEZWFkQ2VsbCA9IFsmXSAoc2l6ZV90IGkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1ZNLmNwcAppbmRleCBhMjc5OGRkM2ViOWNmZTczMzZmMzYzZWZmNTczMjg4Y2I0ZGFl
MWQyLi41MjNjZmMxZjc3NmQ0YTlhYWRkYmUyNzEwOWUwNDlmYTFkMWU1OWQ2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCkBAIC0yMDUsNiArMjA1LDcgQEAgVk06OlZNKFZNVHlw
ZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlLCBXVEY6OlJ1bkxvb3AqIHJ1bkxvb3AsIGJvb2wq
IHN1Y2Nlc3MpCiAgICAgLCBtX2FwaUxvY2soYWRvcHRSZWYobmV3IEpTTG9jayh0aGlzKSkpCiAg
ICAgLCBtX3J1bkxvb3AocnVuTG9vcCA/ICpydW5Mb29wIDogV1RGOjpSdW5Mb29wOjpjdXJyZW50
KCkpCiAgICAgLCBtX3JhbmRvbShPcHRpb25zOjpzZWVkT2ZWTVJhbmRvbUZvckZ1enplcigpID8g
T3B0aW9uczo6c2VlZE9mVk1SYW5kb21Gb3JGdXp6ZXIoKSA6IGNyeXB0b2dyYXBoaWNhbGx5UmFu
ZG9tTnVtYmVyKCkpCisgICAgLCBtX2hlYXBSYW5kb20oT3B0aW9uczo6c2VlZE9mVk1SYW5kb21G
b3JGdXp6ZXIoKSA/IE9wdGlvbnM6OnNlZWRPZlZNUmFuZG9tRm9yRnV6emVyKCkgOiBjcnlwdG9n
cmFwaGljYWxseVJhbmRvbU51bWJlcigpKQogICAgICwgbV9pbnRlZ3JpdHlSYW5kb20oKnRoaXMp
CiAgICAgLCBoZWFwKCp0aGlzLCBoZWFwVHlwZSkKICAgICAsIGNsaWVudEhlYXAoaGVhcCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCmluZGV4IDY2NTY4ZjI5ZmUwYmZlM2YwM2U4MDhmYzEy
NGZiZDg1MmNiYzVkZjkuLjA1NGE0MTIzNmJiN2EwYzE1YzI3ZmNjYzk0YTkwN2JiM2VlOWFkNWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApAQCAtMjk0LDYgKzI5NCw3IEBAIGNsYXNz
IFZNIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxpbmtl
ZExpc3ROb2RlPFZNPiB7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNHbG9iYWxPYmplY3QqIGRl
cHJlY2F0ZWRWTUVudHJ5R2xvYmFsT2JqZWN0KEpTR2xvYmFsT2JqZWN0KikgY29uc3Q7CiAKICAg
ICBXZWFrUmFuZG9tJiByYW5kb20oKSB7IHJldHVybiBtX3JhbmRvbTsgfQorICAgIFdlYWtSYW5k
b20mIGhlYXBSYW5kb20oKSB7IHJldHVybiBtX2hlYXBSYW5kb207IH0KICAgICBJbnRlZ3JpdHk6
OlJhbmRvbSYgaW50ZWdyaXR5UmFuZG9tKCkgeyByZXR1cm4gbV9pbnRlZ3JpdHlSYW5kb207IH0K
IAogICAgIGJvb2wgdGVybWluYXRpb25JblByb2dyZXNzKCkgY29uc3QgeyByZXR1cm4gbV90ZXJt
aW5hdGlvbkluUHJvZ3Jlc3M7IH0KQEAgLTMzNyw2ICszMzgsNyBAQCBjbGFzcyBWTSA6IHB1Ymxp
YyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWTT4sIHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxW
TT4gewogICAgIFJlZjxXVEY6OlJ1bkxvb3A+IG1fcnVuTG9vcDsKIAogICAgIFdlYWtSYW5kb20g
bV9yYW5kb207CisgICAgV2Vha1JhbmRvbSBtX2hlYXBSYW5kb207CiAgICAgSW50ZWdyaXR5OjpS
YW5kb20gbV9pbnRlZ3JpdHlSYW5kb207CiAKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL1dlYWtSYW5kb20uaCBiL1NvdXJjZS9XVEYvd3RmL1dlYWtSYW5kb20uaAppbmRleCAy
Y2MxMjBlMGRhMTY4OTFkNWZiYzU4MjFjM2RmM2NiMWUxY2FmM2YzLi40OTc5N2I1MTlhYTAxNjAy
MjAzZDY5Yzc2OTY5MmEyY2NiY2EzYTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9XZWFr
UmFuZG9tLmgKKysrIGIvU291cmNlL1dURi93dGYvV2Vha1JhbmRvbS5oCkBAIC04NSw2ICs4NSwx
MSBAQCBjbGFzcyBXZWFrUmFuZG9tIGZpbmFsIHsKICAgICAgICAgfQogICAgIH0KIAorICAgIHVp
bnQ2NF90IGdldFVpbnQ2NCgpCisgICAgeworICAgICAgICByZXR1cm4gYWR2YW5jZSgpOworICAg
IH0KKwogICAgIGJvb2wgcmV0dXJuVHJ1ZVdpdGhQcm9iYWJpbGl0eShkb3VibGUgcHJvYmFiaWxp
dHkpCiAgICAgewogICAgICAgICBBU1NFUlQoMC4wIDw9IHByb2JhYmlsaXR5ICYmIHByb2JhYmls
aXR5IDw9IDEuMCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457158</attachid>
            <date>2022-04-09 00:51:07 -0700</date>
            <delta_ts>2022-04-10 19:40:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239026-20220409005106.patch</filename>
            <type>text/plain</type>
            <size>10149</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNjc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MTM3OGM2YTg3NDg5MTllZjc5NmVkYmRkMTZlYmI5NWE5ZjE4YzI2Li5jZmM5MmUyODRhNzYzZjAw
MjQzYTlmZThjMjIyYTIzYTZiZGUxOWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOCBAQAorMjAyMi0wNC0wOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlZHVjZSB1c2Ugb2YgdW5uZWNlc3NhcnkgY3J5cHRvZ3JhcGhp
Y2FsbHlSYW5kb20gbnVtYmVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM5MDI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBhc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5jcHA6CisgICAg
ICAgIChKU0M6OkFic3RyYWN0TWFjcm9Bc3NlbWJsZXJCYXNlOjppbml0aWFsaXplUmFuZG9tKToK
KyAgICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAgICAgICogYXNzZW1ibGVyL0Fic3Ry
YWN0TWFjcm9Bc3NlbWJsZXIuaDoKKyAgICAgICAgKEpTQzo6QWJzdHJhY3RNYWNyb0Fzc2VtYmxl
ckJhc2U6OnJhbmRvbSk6CisgICAgICAgIChKU0M6OkFic3RyYWN0TWFjcm9Bc3NlbWJsZXI6OkFi
c3RyYWN0TWFjcm9Bc3NlbWJsZXIpOgorICAgICAgICAoSlNDOjpBYnN0cmFjdE1hY3JvQXNzZW1i
bGVyOjpyYW5kb20pOiBEZWxldGVkLgorICAgICAgICAqIGIzL2Fpci9BaXJDb2RlLmNwcDoKKyAg
ICAgICAgKEpTQzo6QjM6OkFpcjo6Q29kZTo6Q29kZSk6CisgICAgICAgICogYjMvYWlyL0FpckNv
ZGUuaDoKKyAgICAgICAgKEpTQzo6QjM6OkFpcjo6Q29kZTo6d2Vha1JhbmRvbSk6IERlbGV0ZWQu
CisgICAgICAgICogaGVhcC9NYXJrZWRCbG9ja0lubGluZXMuaDoKKyAgICAgICAgKEpTQzo6TWFy
a2VkQmxvY2s6OkhhbmRsZTo6c3BlY2lhbGl6ZWRTd2VlcCk6CisgICAgICAgICogcnVudGltZS9W
TS5jcHA6CisgICAgICAgIChKU0M6OlZNOjpWTSk6CisgICAgICAgICogcnVudGltZS9WTS5oOgor
ICAgICAgICAoSlNDOjpWTTo6aGVhcFJhbmRvbSk6CisKIDIwMjItMDQtMDggIEVsbGlvdHQgV2ls
bGlhbXMgIDxlbXdAYXBwbGUuY29tPgogCiAgICAgICAgIFtYY29kZV0gQXZvaWQgdGFyZ2V0aW5n
IDMyLWJpdCBpT1MgYW5kIE1hYyBhcmNoaXRlY3R1cmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDhiNzViOGU0NDAxOGZiZjU3
YzgxOTIzZDkxZmY0Njg0NTM0NTVjYTYuLmEwNjk3YzllNWE0ODlkMzA2Y2M2YTdhZjA5NDU3Yzc2
YWY2MjM0NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDQtMDkgIFl1c3VrZSBTdXp1a2kg
IDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBSZWR1Y2UgdXNlIG9mIHVubmVj
ZXNzYXJ5IGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tIG51bWJlcnMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTAyNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL1dlYWtSYW5kb20uaDoKKwogMjAy
Mi0wNC0wOCAgVHJ1aXR0IFNhdmVsbCAgPHRzYXZlbGxAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJldmVydGluZyByMjkyNTg2LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5jcHAKaW5kZXggNTVm
ZDc1ZjQ5NmEwNTFlY2IzNzVlYmIzNDk4NDIzNTc0Y2ExNzcwYy4uZjM0ZGQ3Mjc2OTk4NDQzMzkx
YWE2ZGUzNDUxMmZiMGI2MDk4MjY0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuY3BwCkBAIC0zMCwxNyAr
MzAsMzEgQEAKIAogI2luY2x1ZGUgPHd0Zi9QcmludFN0cmVhbS5oPgogCi1uYW1lc3BhY2UgV1RG
IHsKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIEFic3RyYWN0TWFjcm9Bc3NlbWJsZXJCYXNlOjpp
bml0aWFsaXplUmFuZG9tKCkKK3sKKyAgICAvLyBObyBzdHJvbmcgY3J5cHRvZ3JhcGhpYyBjaGFy
YWN0ZXJpc3RpY3MgaXMgbmVjZXNzYXJ5LgorICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNl
S2V5OworICAgIHN0YXRpYyB1aW50MzJfdCBnbG9iYWxDb3VudGVyOworICAgIHN0ZDo6Y2FsbF9v
bmNlKG9uY2VLZXksIFsmXSB7CisgICAgICAgIGdsb2JhbENvdW50ZXIgPSBjcnlwdG9ncmFwaGlj
YWxseVJhbmRvbU51bWJlcigpOworICAgIH0pOworICAgIEFTU0VSVCghbV9yYW5kb21Tb3VyY2Up
OworICAgIG1fcmFuZG9tU291cmNlLmVtcGxhY2UoZ2xvYmFsQ291bnRlcisrKTsKK30KIAotdXNp
bmcgbmFtZXNwYWNlIEpTQzsKK30KKworbmFtZXNwYWNlIFdURiB7CiAKLXZvaWQgcHJpbnRJbnRl
cm5hbChQcmludFN0cmVhbSYgb3V0LCBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyQmFzZTo6U3RhdHVz
Q29uZGl0aW9uIGNvbmRpdGlvbikKK3ZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0
LCBKU0M6OkFic3RyYWN0TWFjcm9Bc3NlbWJsZXJCYXNlOjpTdGF0dXNDb25kaXRpb24gY29uZGl0
aW9uKQogewogICAgIHN3aXRjaCAoY29uZGl0aW9uKSB7Ci0gICAgY2FzZSBBYnN0cmFjdE1hY3Jv
QXNzZW1ibGVyQmFzZTo6U3VjY2VzczoKKyAgICBjYXNlIEpTQzo6QWJzdHJhY3RNYWNyb0Fzc2Vt
YmxlckJhc2U6OlN1Y2Nlc3M6CiAgICAgICAgIG91dC5wcmludCgiU3VjY2VzcyIpOwogICAgICAg
ICByZXR1cm47Ci0gICAgY2FzZSBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyQmFzZTo6RmFpbHVyZToK
KyAgICBjYXNlIEpTQzo6QWJzdHJhY3RNYWNyb0Fzc2VtYmxlckJhc2U6OkZhaWx1cmU6CiAgICAg
ICAgIG91dC5wcmludCgiRmFpbHVyZSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1i
bGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3Nl
bWJsZXIuaAppbmRleCAxNjBjYzUyOWEwZWMzYjRkN2U0ZGQ3ODY5MTkwZTIzM2U2ODU4NTZmLi40
OTZkZmZiOTBhZmU3OTRhMTAxOTBkZjAyMmMxZGRhNDgzMGE4NTc4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIu
aApAQCAtNzQsNiArNzQsMTkgQEAgY2xhc3MgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlckJhc2Ugewog
ICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gU3Vj
Y2VzczsKICAgICB9CisKK3Byb3RlY3RlZDoKKyAgICB1aW50MzJfdCByYW5kb20oKQorICAgIHsK
KyAgICAgICAgaWYgKCFtX3JhbmRvbVNvdXJjZSkKKyAgICAgICAgICAgIGluaXRpYWxpemVSYW5k
b20oKTsKKyAgICAgICAgcmV0dXJuIG1fcmFuZG9tU291cmNlLT5nZXRVaW50MzIoKTsKKyAgICB9
CisKK3ByaXZhdGU6CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBpbml0aWFsaXplUmFuZG9t
KCk7CisKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYWtSYW5kb20+IG1fcmFuZG9tU291cmNlOwogfTsK
IAogdGVtcGxhdGUgPGNsYXNzIEFzc2VtYmxlclR5cGU+CkBAIC0xMDA3LDIzICsxMDIwLDExIEBA
IGNsYXNzIEFic3RyYWN0TWFjcm9Bc3NlbWJsZXIgOiBwdWJsaWMgQWJzdHJhY3RNYWNyb0Fzc2Vt
YmxlckJhc2UgewogCiBwcm90ZWN0ZWQ6CiAgICAgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlcigpCi0g
ICAgICAgIDogbV9yYW5kb21Tb3VyY2UoMCkKLSAgICAgICAgLCBtX2Fzc2VtYmxlcigpCisgICAg
ICAgIDogbV9hc3NlbWJsZXIoKQogICAgIHsKICAgICAgICAgaW52YWxpZGF0ZUFsbFRlbXBSZWdp
c3RlcnMoKTsKICAgICB9CiAKLSAgICB1aW50MzJfdCByYW5kb20oKQotICAgIHsKLSAgICAgICAg
aWYgKCFtX3JhbmRvbVNvdXJjZUlzSW5pdGlhbGl6ZWQpIHsKLSAgICAgICAgICAgIG1fcmFuZG9t
U291cmNlSXNJbml0aWFsaXplZCA9IHRydWU7Ci0gICAgICAgICAgICBtX3JhbmRvbVNvdXJjZS5z
ZXRTZWVkKGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyKCkpOwotICAgICAgICB9Ci0gICAg
ICAgIHJldHVybiBtX3JhbmRvbVNvdXJjZS5nZXRVaW50MzIoKTsKLSAgICB9Ci0KLSAgICBib29s
IG1fcmFuZG9tU291cmNlSXNJbml0aWFsaXplZCB7IGZhbHNlIH07Ci0gICAgV2Vha1JhbmRvbSBt
X3JhbmRvbVNvdXJjZTsKIHB1YmxpYzoKICAgICBBc3NlbWJsZXJUeXBlIG1fYXNzZW1ibGVyOwog
cHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJD
b2RlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQ29kZS5jcHAKaW5kZXgg
YjViYjAzM2QwNjMxZjlhODQ3ODE1NDU3NjRiMWY3MzQ5NjMyNjRiZS4uODI0M2IyNGRkZDQyYTY3
MDllOTAwNmNkZDVkZTM5NjcxOWM3NjJiZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL2Fpci9BaXJDb2RlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWly
L0FpckNvZGUuY3BwCkBAIC02MSw4ICs2MSwxMSBAQCBDb2RlOjpDb2RlKFByb2NlZHVyZSYgcHJv
YykKICAgICAsIG1fZGVmYXVsdFByb2xvZ3VlR2VuZXJhdG9yKGNyZWF0ZVNoYXJlZFRhc2s8UHJv
bG9ndWVHZW5lcmF0b3JGdW5jdGlvbj4oJmRlZmF1bHRQcm9sb2d1ZUdlbmVyYXRvcikpCiB7CiAg
ICAgLy8gQ29tZSB1cCB3aXRoIGluaXRpYWwgb3JkZXJpbmdzIG9mIHJlZ2lzdGVycy4gVGhlIHVz
ZXIgbWF5IHJlcGxhY2UgdGhpcyB3aXRoIHNvbWV0aGluZyBlbHNlLgorICAgIHN0ZDo6b3B0aW9u
YWw8V2Vha1JhbmRvbT4gd2Vha1JhbmRvbTsKKyAgICBpZiAoT3B0aW9uczo6YWlyUmFuZG9taXpl
UmVncygpKQorICAgICAgICB3ZWFrUmFuZG9tLmVtcGxhY2UoKTsKICAgICBmb3JFYWNoQmFuaygK
LSAgICAgICAgWyZdIChCYW5rIGJhbmspIHsKKyAgICAgICAgWyZdKEJhbmsgYmFuaykgewogICAg
ICAgICAgICAgVmVjdG9yPFJlZz4gdm9sYXRpbGVSZWdzOwogICAgICAgICAgICAgVmVjdG9yPFJl
Zz4gY2FsbGVlU2F2ZVJlZ3M7CiAgICAgICAgICAgICBSZWdpc3RlclNldCBhbGwgPSBiYW5rID09
IEdQID8gUmVnaXN0ZXJTZXQ6OmFsbEdQUnMoKSA6IFJlZ2lzdGVyU2V0OjphbGxGUFJzKCk7CkBA
IC04MCw3ICs4Myw3IEBAIENvZGU6OkNvZGUoUHJvY2VkdXJlJiBwcm9jKQogICAgICAgICAgICAg
ICAgICAgICAgICAgY2FsbGVlU2F2ZVJlZ3MuYXBwZW5kKHJlZyk7CiAgICAgICAgICAgICAgICAg
fSk7CiAgICAgICAgICAgICBpZiAoT3B0aW9uczo6YWlyUmFuZG9taXplUmVncygpKSB7Ci0gICAg
ICAgICAgICAgICAgV2Vha1JhbmRvbSByYW5kb20oT3B0aW9uczo6YWlyUmFuZG9taXplUmVnc1Nl
ZWQoKSA/IE9wdGlvbnM6OmFpclJhbmRvbWl6ZVJlZ3NTZWVkKCkgOiBtX3dlYWtSYW5kb20uZ2V0
VWludDMyKCkpOworICAgICAgICAgICAgICAgIFdlYWtSYW5kb20gcmFuZG9tKE9wdGlvbnM6OmFp
clJhbmRvbWl6ZVJlZ3NTZWVkKCkgPyBPcHRpb25zOjphaXJSYW5kb21pemVSZWdzU2VlZCgpIDog
d2Vha1JhbmRvbS0+Z2V0VWludDMyKCkpOwogICAgICAgICAgICAgICAgIHNodWZmbGVWZWN0b3Io
dm9sYXRpbGVSZWdzLCBbJl0gKHVuc2lnbmVkIGxpbWl0KSB7IHJldHVybiByYW5kb20uZ2V0VWlu
dDMyKGxpbWl0KTsgfSk7CiAgICAgICAgICAgICAgICAgc2h1ZmZsZVZlY3RvcihjYWxsZWVTYXZl
UmVncywgWyZdICh1bnNpZ25lZCBsaW1pdCkgeyByZXR1cm4gcmFuZG9tLmdldFVpbnQzMihsaW1p
dCk7IH0pOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL2Fpci9BaXJDb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUu
aAppbmRleCAzYzlkZjRmYzUzNDFmYTA0NWM2NjMzNjJjYmY4MjQzMmY2NjExYmRmLi5jZDEzZTk4
MjQzNDUyODhjZDlkYWU3N2I3MTU2MzA4Njk0MTViNmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvYWlyL0FpckNvZGUuaApAQCAtMzU1LDggKzM1NSw2IEBAIGNsYXNzIENvZGUgewogICAgIFJl
Z2lzdGVyU2V0IG11dGFibGVGUFJzKCk7CiAgICAgUmVnaXN0ZXJTZXQgcGlubmVkUmVnaXN0ZXJz
KCkgY29uc3QgeyByZXR1cm4gbV9waW5uZWRSZWdzOyB9CiAgICAgCi0gICAgV2Vha1JhbmRvbSYg
d2Vha1JhbmRvbSgpIHsgcmV0dXJuIG1fd2Vha1JhbmRvbTsgfQotCiAgICAgdm9pZCBlbWl0RGVm
YXVsdFByb2xvZ3VlKENDYWxsSGVscGVycyYpOwogICAgIHZvaWQgZW1pdEVwaWxvZ3VlKENDYWxs
SGVscGVycyYpOwogCkBAIC0zODQsNyArMzgyLDYgQEAgY2xhc3MgQ29kZSB7CiAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KIAotICAgIFdlYWtSYW5kb20gbV93ZWFrUmFuZG9t
OwogICAgIFByb2NlZHVyZSYgbV9wcm9jOyAvLyBTb21lIG1ldGEtZGF0YSwgbGlrZSBieXByb2R1
Y3RzLCBpcyBzdG9yZWQgaW4gdGhlIFByb2NlZHVyZS4KICAgICBWZWN0b3I8UmVnPiBtX2dwUmVn
c0luUHJpb3JpdHlPcmRlcjsKICAgICBWZWN0b3I8UmVnPiBtX2ZwUmVnc0luUHJpb3JpdHlPcmRl
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrSW5s
aW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2tJbmxpbmVzLmgK
aW5kZXggMmRlYWVkYWRmNTk5MTkxOTdiMWRhMThmNTMxZjM0MmQzMzIwY2RkMy4uNGQ0YjQ3YTI1
NzcxNDRlMzNhMTc3NTc3NzA5Mjg2ZTViNWVmYWZmMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2tJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvTWFya2VkQmxvY2tJbmxpbmVzLmgKQEAgLTMwOCw4ICszMDgsNyBAQCB2b2lk
IE1hcmtlZEJsb2NrOjpIYW5kbGU6OnNwZWNpYWxpemVkU3dlZXAoRnJlZUxpc3QqIGZyZWVMaXN0
LCBNYXJrZWRCbG9jazo6SGFuZAogICAgIC8vIG9yZGVyIG9mIHRoZSBmcmVlIGxpc3QuCiAgICAg
RnJlZUNlbGwqIGhlYWQgPSBudWxscHRyOwogICAgIHNpemVfdCBjb3VudCA9IDA7Ci0gICAgdWlu
dHB0cl90IHNlY3JldDsKLSAgICBjcnlwdG9ncmFwaGljYWxseVJhbmRvbVZhbHVlcygmc2VjcmV0
LCBzaXplb2YodWludHB0cl90KSk7CisgICAgdWludHB0cl90IHNlY3JldCA9IHN0YXRpY19jYXN0
PHVpbnRwdHJfdD4odm0uaGVhcFJhbmRvbSgpLmdldFVpbnQ2NCgpKTsKICAgICBib29sIGlzRW1w
dHkgPSB0cnVlOwogICAgIFZlY3RvcjxzaXplX3Q+IGRlYWRDZWxsczsKICAgICBhdXRvIGhhbmRs
ZURlYWRDZWxsID0gWyZdIChzaXplX3QgaSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVk0uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0u
Y3BwCmluZGV4IGEyNzk4ZGQzZWI5Y2ZlNzMzNmYzNjNlZmY1NzMyODhjYjRkYWUxZDIuLjUyM2Nm
YzFmNzc2ZDRhOWFhZGRiZTI3MTA5ZTA0OWZhMWQxZTU5ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9WTS5jcHAKQEAgLTIwNSw2ICsyMDUsNyBAQCBWTTo6Vk0oVk1UeXBlIHZtVHlwZSwg
SGVhcFR5cGUgaGVhcFR5cGUsIFdURjo6UnVuTG9vcCogcnVuTG9vcCwgYm9vbCogc3VjY2VzcykK
ICAgICAsIG1fYXBpTG9jayhhZG9wdFJlZihuZXcgSlNMb2NrKHRoaXMpKSkKICAgICAsIG1fcnVu
TG9vcChydW5Mb29wID8gKnJ1bkxvb3AgOiBXVEY6OlJ1bkxvb3A6OmN1cnJlbnQoKSkKICAgICAs
IG1fcmFuZG9tKE9wdGlvbnM6OnNlZWRPZlZNUmFuZG9tRm9yRnV6emVyKCkgPyBPcHRpb25zOjpz
ZWVkT2ZWTVJhbmRvbUZvckZ1enplcigpIDogY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIo
KSkKKyAgICAsIG1faGVhcFJhbmRvbShPcHRpb25zOjpzZWVkT2ZWTVJhbmRvbUZvckZ1enplcigp
ID8gT3B0aW9uczo6c2VlZE9mVk1SYW5kb21Gb3JGdXp6ZXIoKSA6IGNyeXB0b2dyYXBoaWNhbGx5
UmFuZG9tTnVtYmVyKCkpCiAgICAgLCBtX2ludGVncml0eVJhbmRvbSgqdGhpcykKICAgICAsIGhl
YXAoKnRoaXMsIGhlYXBUeXBlKQogICAgICwgY2xpZW50SGVhcChoZWFwKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1ZNLmgKaW5kZXggNjY1NjhmMjlmZTBiZmUzZjAzZTgwOGZjMTI0ZmJkODUyY2Jj
NWRmOS4uMDU0YTQxMjM2YmI3YTBjMTVjMjdmY2NjOTRhOTA3YmIzZWU5YWQ1ZiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9WTS5oCkBAIC0yOTQsNiArMjk0LDcgQEAgY2xhc3MgVk0gOiBwdWJs
aWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8
Vk0+IHsKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU0dsb2JhbE9iamVjdCogZGVwcmVjYXRlZFZN
RW50cnlHbG9iYWxPYmplY3QoSlNHbG9iYWxPYmplY3QqKSBjb25zdDsKIAogICAgIFdlYWtSYW5k
b20mIHJhbmRvbSgpIHsgcmV0dXJuIG1fcmFuZG9tOyB9CisgICAgV2Vha1JhbmRvbSYgaGVhcFJh
bmRvbSgpIHsgcmV0dXJuIG1faGVhcFJhbmRvbTsgfQogICAgIEludGVncml0eTo6UmFuZG9tJiBp
bnRlZ3JpdHlSYW5kb20oKSB7IHJldHVybiBtX2ludGVncml0eVJhbmRvbTsgfQogCiAgICAgYm9v
bCB0ZXJtaW5hdGlvbkluUHJvZ3Jlc3MoKSBjb25zdCB7IHJldHVybiBtX3Rlcm1pbmF0aW9uSW5Q
cm9ncmVzczsgfQpAQCAtMzM3LDYgKzMzOCw3IEBAIGNsYXNzIFZNIDogcHVibGljIFRocmVhZFNh
ZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFZNPiB7CiAgICAg
UmVmPFdURjo6UnVuTG9vcD4gbV9ydW5Mb29wOwogCiAgICAgV2Vha1JhbmRvbSBtX3JhbmRvbTsK
KyAgICBXZWFrUmFuZG9tIG1faGVhcFJhbmRvbTsKICAgICBJbnRlZ3JpdHk6OlJhbmRvbSBtX2lu
dGVncml0eVJhbmRvbTsKIAogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvV2Vh
a1JhbmRvbS5oIGIvU291cmNlL1dURi93dGYvV2Vha1JhbmRvbS5oCmluZGV4IDJjYzEyMGUwZGEx
Njg5MWQ1ZmJjNTgyMWMzZGYzY2IxZTFjYWYzZjMuLjQ5Nzk3YjUxOWFhMDE2MDIyMDNkNjljNzY5
NjkyYTJjY2JjYTNhOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1dlYWtSYW5kb20uaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9XZWFrUmFuZG9tLmgKQEAgLTg1LDYgKzg1LDExIEBAIGNsYXNz
IFdlYWtSYW5kb20gZmluYWwgewogICAgICAgICB9CiAgICAgfQogCisgICAgdWludDY0X3QgZ2V0
VWludDY0KCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZHZhbmNlKCk7CisgICAgfQorCiAgICAg
Ym9vbCByZXR1cm5UcnVlV2l0aFByb2JhYmlsaXR5KGRvdWJsZSBwcm9iYWJpbGl0eSkKICAgICB7
CiAgICAgICAgIEFTU0VSVCgwLjAgPD0gcHJvYmFiaWxpdHkgJiYgcHJvYmFiaWxpdHkgPD0gMS4w
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457225</attachid>
            <date>2022-04-10 19:40:37 -0700</date>
            <delta_ts>2022-04-11 09:20:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239026-20220410194036.patch</filename>
            <type>text/plain</type>
            <size>16843</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNjkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
ODg5OGViMDE1NDQ3NmQ4YjZjY2RjMDAzZjU0OTk3ZjgyMGM2MWFiLi43MWJiNTUzNjgyNzljODJj
MzVlOWU3ZWJlOTRlODRhNzU0ZjhjZmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAyMi0wNC0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlZHVjZSB1c2Ugb2YgdW5uZWNlc3NhcnkgY3J5cHRvZ3JhcGhp
Y2FsbHlSYW5kb20gbnVtYmVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM5MDI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVzIGNyeXB0b2dyYXBoaWNhbGx5IHJhbmRvbSBj
YWxscyBpbiBzb21lIG9mIHN1cGVyIGhvdCBjcml0aWNhbCBwYXRoLgorICAgICAgICBNYXJrZWRC
bG9jaydzIHVzZSBpcyB2ZXJ5IGhvdCBhbmQgaXQgYXBwZWFycyBvbiBTcGVlZG9tZXRlcjIgYXJ0
cmFjZS4gQnV0IHRoaXMgaXMganVzdAorICAgICAgICBhIHJhbmRvbSBzaHVmZmxpbmcgb2YgZnJl
ZWxpc3QsIGFuZCBXZWFrUmFuZG9tIGlzIGVub3VnaCBmb3IgdGhhdC4gVGhpcyBwYXRjaCByZXBs
YWNlcworICAgICAgICB0aGVtIHdpdGggV2Vha1JhbmRvbS4gSXQgb2ZmZXJzIDAuMyUgaW1wcm92
ZW1lbnQgaW4gU3BlZWRvbWV0ZXIyLgorCisgICAgICAgICogYXNzZW1ibGVyL0Fic3RyYWN0TWFj
cm9Bc3NlbWJsZXIuY3BwOgorICAgICAgICAoSlNDOjpBYnN0cmFjdE1hY3JvQXNzZW1ibGVyQmFz
ZTo6aW5pdGlhbGl6ZVJhbmRvbSk6CisgICAgICAgIChXVEY6OnByaW50SW50ZXJuYWwpOgorICAg
ICAgICAqIGFzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmg6CisgICAgICAgIChKU0M6
OkFic3RyYWN0TWFjcm9Bc3NlbWJsZXJCYXNlOjpyYW5kb20pOgorICAgICAgICAoSlNDOjpBYnN0
cmFjdE1hY3JvQXNzZW1ibGVyOjpBYnN0cmFjdE1hY3JvQXNzZW1ibGVyKToKKyAgICAgICAgKEpT
Qzo6QWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjo6cmFuZG9tKTogRGVsZXRlZC4KKyAgICAgICAgKiBi
My9haXIvQWlyQ29kZS5jcHA6CisgICAgICAgIChKU0M6OkIzOjpBaXI6OkNvZGU6OkNvZGUpOgor
ICAgICAgICAqIGIzL2Fpci9BaXJDb2RlLmg6CisgICAgICAgIChKU0M6OkIzOjpBaXI6OkNvZGU6
OndlYWtSYW5kb20pOiBEZWxldGVkLgorICAgICAgICAqIGhlYXAvTWFya2VkQmxvY2tJbmxpbmVz
Lmg6CisgICAgICAgIChKU0M6Ok1hcmtlZEJsb2NrOjpIYW5kbGU6OnNwZWNpYWxpemVkU3dlZXAp
OgorICAgICAgICAqIHJ1bnRpbWUvVk0uY3BwOgorICAgICAgICAoSlNDOjpWTTo6Vk0pOgorICAg
ICAgICAqIHJ1bnRpbWUvVk0uaDoKKyAgICAgICAgKEpTQzo6Vk06OmhlYXBSYW5kb20pOgorCiAy
MDIyLTA0LTA5ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAg
W0pTQ10gVXNlIFZlY3RvciB3aXRoIGlubGluZSBjYXBhY2l0eSBpbiBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCBjcmVhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA4Yjc1YjhlNDQwMThmYmY1N2M4MTkyM2Q5MWZmNDY4
NDUzNDU1Y2E2Li4wZmNmM2RiNDk1MzVkOGFiOGE1NWY4Y2E2NTU5NzVkYTFmOGM0NzZkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIxIEBACisyMDIyLTA0LTEwICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBs
ZS5jb20+CisKKyAgICAgICAgW0pTQ10gUmVkdWNlIHVzZSBvZiB1bm5lY2Vzc2FyeSBjcnlwdG9n
cmFwaGljYWxseVJhbmRvbSBudW1iZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzkwMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXZSBhZGQgY3JlYXRlVmVyc2lvbjRVVUlEU3RyaW5nV2Vhaywgd2hp
Y2ggY2FuIGdlbmVyYXRlIFVVSUQgd2l0aCBXZWFrUmFuZG9tIG51bWJlcnMuCisKKyAgICAgICAg
KiB3dGYvVVVJRC5jcHA6CisgICAgICAgIChXVEY6OmNvbnZlcnRSYW5kb21VSW50MTI4VG9VVUlE
VmVyc2lvbjQpOgorICAgICAgICAoV1RGOjpnZW5lcmF0ZUNyeXB0b2dyYXBoaWNhbGx5UmFuZG9t
VVVJRFZlcnNpb240KToKKyAgICAgICAgKFdURjo6Z2VuZXJhdGVXZWFrUmFuZG9tVVVJRFZlcnNp
b240KToKKyAgICAgICAgKFdURjo6VVVJRDo6VVVJRCk6CisgICAgICAgIChXVEY6OmNyZWF0ZVZl
cnNpb240VVVJRFN0cmluZ1dlYWspOgorICAgICAgICAqIHd0Zi9VVUlELmg6CisgICAgICAgICog
d3RmL1dlYWtSYW5kb20uaDoKKwogMjAyMi0wNC0wOCAgVHJ1aXR0IFNhdmVsbCAgPHRzYXZlbGxA
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjkyNTg2LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDE2NTFkOGNkYTEyZjY2Y2JjNmRhODkxMDM0YWNkNGZiNWE0Yzg5ZDcuLjg0ZmQz
NjM0NDU1MjA2YTA0ZTJlOWU5MTQzMzcwYTk5Y2ZmYzhlMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAyMi0wNC0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgor
CisgICAgICAgIFtKU0NdIFJlZHVjZSB1c2Ugb2YgdW5uZWNlc3NhcnkgY3J5cHRvZ3JhcGhpY2Fs
bHlSYW5kb20gbnVtYmVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM5MDI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgV2UgdXNlIGNyZWF0ZVZlcnNpb240VVVJRFN0cmluZ1dlYWsgc2luY2UgdGhlcmUg
aXMgbm8gbmVlZCB0byB1c2UgY3J5cHRvZ3JhcGhpY2FsbHkgcmFuZG9tIG51bWJlcnMgZm9yIEtl
eWZyYW1lRWZmZWN0IG5hbWVzLgorCisgICAgICAgICogYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0Ojpjb3B5UHJvcGVydGllc0Zy
b21Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6OnVwZGF0ZUJsZW5k
aW5nS2V5ZnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0Ojpjb21wdXRl
Q1NTVHJhbnNpdGlvbkJsZW5kaW5nS2V5ZnJhbWVzKToKKwogMjAyMi0wNC0xMCAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBsaXN0TWFya2VyVGV4dEZv
ck5vZGVBbmRQb3NpdGlvbigpIHRvIHJldHVybiBhIFN0cmluZ1ZpZXcgaW5zdGVhZCBvZiBhIFN0
cmluZwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFj
dE1hY3JvQXNzZW1ibGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJz
dHJhY3RNYWNyb0Fzc2VtYmxlci5jcHAKaW5kZXggNTVmZDc1ZjQ5NmEwNTFlY2IzNzVlYmIzNDk4
NDIzNTc0Y2ExNzcwYy4uZjM0ZGQ3Mjc2OTk4NDQzMzkxYWE2ZGUzNDUxMmZiMGI2MDk4MjY0MCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3Jv
QXNzZW1ibGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3Ry
YWN0TWFjcm9Bc3NlbWJsZXIuY3BwCkBAIC0zMCwxNyArMzAsMzEgQEAKIAogI2luY2x1ZGUgPHd0
Zi9QcmludFN0cmVhbS5oPgogCi1uYW1lc3BhY2UgV1RGIHsKK25hbWVzcGFjZSBKU0MgeworCit2
b2lkIEFic3RyYWN0TWFjcm9Bc3NlbWJsZXJCYXNlOjppbml0aWFsaXplUmFuZG9tKCkKK3sKKyAg
ICAvLyBObyBzdHJvbmcgY3J5cHRvZ3JhcGhpYyBjaGFyYWN0ZXJpc3RpY3MgaXMgbmVjZXNzYXJ5
LgorICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlS2V5OworICAgIHN0YXRpYyB1aW50MzJf
dCBnbG9iYWxDb3VudGVyOworICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2VLZXksIFsmXSB7CisgICAg
ICAgIGdsb2JhbENvdW50ZXIgPSBjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcigpOworICAg
IH0pOworICAgIEFTU0VSVCghbV9yYW5kb21Tb3VyY2UpOworICAgIG1fcmFuZG9tU291cmNlLmVt
cGxhY2UoZ2xvYmFsQ291bnRlcisrKTsKK30KIAotdXNpbmcgbmFtZXNwYWNlIEpTQzsKK30KKwor
bmFtZXNwYWNlIFdURiB7CiAKLXZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBB
YnN0cmFjdE1hY3JvQXNzZW1ibGVyQmFzZTo6U3RhdHVzQ29uZGl0aW9uIGNvbmRpdGlvbikKK3Zv
aWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBKU0M6OkFic3RyYWN0TWFjcm9Bc3Nl
bWJsZXJCYXNlOjpTdGF0dXNDb25kaXRpb24gY29uZGl0aW9uKQogewogICAgIHN3aXRjaCAoY29u
ZGl0aW9uKSB7Ci0gICAgY2FzZSBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyQmFzZTo6U3VjY2VzczoK
KyAgICBjYXNlIEpTQzo6QWJzdHJhY3RNYWNyb0Fzc2VtYmxlckJhc2U6OlN1Y2Nlc3M6CiAgICAg
ICAgIG91dC5wcmludCgiU3VjY2VzcyIpOwogICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBBYnN0
cmFjdE1hY3JvQXNzZW1ibGVyQmFzZTo6RmFpbHVyZToKKyAgICBjYXNlIEpTQzo6QWJzdHJhY3RN
YWNyb0Fzc2VtYmxlckJhc2U6OkZhaWx1cmU6CiAgICAgICAgIG91dC5wcmludCgiRmFpbHVyZSIp
OwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaAppbmRleCAxNjBjYzUyOWEw
ZWMzYjRkN2U0ZGQ3ODY5MTkwZTIzM2U2ODU4NTZmLi40OTZkZmZiOTBhZmU3OTRhMTAxOTBkZjAy
MmMxZGRhNDgzMGE4NTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApAQCAtNzQsNiArNzQsMTkgQEAgY2xh
c3MgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlckJhc2UgewogICAgICAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gU3VjY2VzczsKICAgICB9CisKK3Byb3RlY3Rl
ZDoKKyAgICB1aW50MzJfdCByYW5kb20oKQorICAgIHsKKyAgICAgICAgaWYgKCFtX3JhbmRvbVNv
dXJjZSkKKyAgICAgICAgICAgIGluaXRpYWxpemVSYW5kb20oKTsKKyAgICAgICAgcmV0dXJuIG1f
cmFuZG9tU291cmNlLT5nZXRVaW50MzIoKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgSlNfRVhQ
T1JUX1BSSVZBVEUgdm9pZCBpbml0aWFsaXplUmFuZG9tKCk7CisKKyAgICBzdGQ6Om9wdGlvbmFs
PFdlYWtSYW5kb20+IG1fcmFuZG9tU291cmNlOwogfTsKIAogdGVtcGxhdGUgPGNsYXNzIEFzc2Vt
YmxlclR5cGU+CkBAIC0xMDA3LDIzICsxMDIwLDExIEBAIGNsYXNzIEFic3RyYWN0TWFjcm9Bc3Nl
bWJsZXIgOiBwdWJsaWMgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlckJhc2UgewogCiBwcm90ZWN0ZWQ6
CiAgICAgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlcigpCi0gICAgICAgIDogbV9yYW5kb21Tb3VyY2Uo
MCkKLSAgICAgICAgLCBtX2Fzc2VtYmxlcigpCisgICAgICAgIDogbV9hc3NlbWJsZXIoKQogICAg
IHsKICAgICAgICAgaW52YWxpZGF0ZUFsbFRlbXBSZWdpc3RlcnMoKTsKICAgICB9CiAKLSAgICB1
aW50MzJfdCByYW5kb20oKQotICAgIHsKLSAgICAgICAgaWYgKCFtX3JhbmRvbVNvdXJjZUlzSW5p
dGlhbGl6ZWQpIHsKLSAgICAgICAgICAgIG1fcmFuZG9tU291cmNlSXNJbml0aWFsaXplZCA9IHRy
dWU7Ci0gICAgICAgICAgICBtX3JhbmRvbVNvdXJjZS5zZXRTZWVkKGNyeXB0b2dyYXBoaWNhbGx5
UmFuZG9tTnVtYmVyKCkpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBtX3JhbmRvbVNvdXJj
ZS5nZXRVaW50MzIoKTsKLSAgICB9Ci0KLSAgICBib29sIG1fcmFuZG9tU291cmNlSXNJbml0aWFs
aXplZCB7IGZhbHNlIH07Ci0gICAgV2Vha1JhbmRvbSBtX3JhbmRvbVNvdXJjZTsKIHB1YmxpYzoK
ICAgICBBc3NlbWJsZXJUeXBlIG1fYXNzZW1ibGVyOwogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJDb2RlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9haXIvQWlyQ29kZS5jcHAKaW5kZXggYjViYjAzM2QwNjMxZjlhODQ3ODE1NDU3
NjRiMWY3MzQ5NjMyNjRiZS4uODI0M2IyNGRkZDQyYTY3MDllOTAwNmNkZDVkZTM5NjcxOWM3NjJi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJDb2RlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUuY3BwCkBAIC02MSw4ICs2
MSwxMSBAQCBDb2RlOjpDb2RlKFByb2NlZHVyZSYgcHJvYykKICAgICAsIG1fZGVmYXVsdFByb2xv
Z3VlR2VuZXJhdG9yKGNyZWF0ZVNoYXJlZFRhc2s8UHJvbG9ndWVHZW5lcmF0b3JGdW5jdGlvbj4o
JmRlZmF1bHRQcm9sb2d1ZUdlbmVyYXRvcikpCiB7CiAgICAgLy8gQ29tZSB1cCB3aXRoIGluaXRp
YWwgb3JkZXJpbmdzIG9mIHJlZ2lzdGVycy4gVGhlIHVzZXIgbWF5IHJlcGxhY2UgdGhpcyB3aXRo
IHNvbWV0aGluZyBlbHNlLgorICAgIHN0ZDo6b3B0aW9uYWw8V2Vha1JhbmRvbT4gd2Vha1JhbmRv
bTsKKyAgICBpZiAoT3B0aW9uczo6YWlyUmFuZG9taXplUmVncygpKQorICAgICAgICB3ZWFrUmFu
ZG9tLmVtcGxhY2UoKTsKICAgICBmb3JFYWNoQmFuaygKLSAgICAgICAgWyZdIChCYW5rIGJhbmsp
IHsKKyAgICAgICAgWyZdKEJhbmsgYmFuaykgewogICAgICAgICAgICAgVmVjdG9yPFJlZz4gdm9s
YXRpbGVSZWdzOwogICAgICAgICAgICAgVmVjdG9yPFJlZz4gY2FsbGVlU2F2ZVJlZ3M7CiAgICAg
ICAgICAgICBSZWdpc3RlclNldCBhbGwgPSBiYW5rID09IEdQID8gUmVnaXN0ZXJTZXQ6OmFsbEdQ
UnMoKSA6IFJlZ2lzdGVyU2V0OjphbGxGUFJzKCk7CkBAIC04MCw3ICs4Myw3IEBAIENvZGU6OkNv
ZGUoUHJvY2VkdXJlJiBwcm9jKQogICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGVlU2F2ZVJl
Z3MuYXBwZW5kKHJlZyk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICBpZiAoT3B0
aW9uczo6YWlyUmFuZG9taXplUmVncygpKSB7Ci0gICAgICAgICAgICAgICAgV2Vha1JhbmRvbSBy
YW5kb20oT3B0aW9uczo6YWlyUmFuZG9taXplUmVnc1NlZWQoKSA/IE9wdGlvbnM6OmFpclJhbmRv
bWl6ZVJlZ3NTZWVkKCkgOiBtX3dlYWtSYW5kb20uZ2V0VWludDMyKCkpOworICAgICAgICAgICAg
ICAgIFdlYWtSYW5kb20gcmFuZG9tKE9wdGlvbnM6OmFpclJhbmRvbWl6ZVJlZ3NTZWVkKCkgPyBP
cHRpb25zOjphaXJSYW5kb21pemVSZWdzU2VlZCgpIDogd2Vha1JhbmRvbS0+Z2V0VWludDMyKCkp
OwogICAgICAgICAgICAgICAgIHNodWZmbGVWZWN0b3Iodm9sYXRpbGVSZWdzLCBbJl0gKHVuc2ln
bmVkIGxpbWl0KSB7IHJldHVybiByYW5kb20uZ2V0VWludDMyKGxpbWl0KTsgfSk7CiAgICAgICAg
ICAgICAgICAgc2h1ZmZsZVZlY3RvcihjYWxsZWVTYXZlUmVncywgWyZdICh1bnNpZ25lZCBsaW1p
dCkgeyByZXR1cm4gcmFuZG9tLmdldFVpbnQzMihsaW1pdCk7IH0pOwogICAgICAgICAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJDb2RlLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUuaAppbmRleCAzYzlkZjRmYzUzNDFmYTA0
NWM2NjMzNjJjYmY4MjQzMmY2NjExYmRmLi5jZDEzZTk4MjQzNDUyODhjZDlkYWU3N2I3MTU2MzA4
Njk0MTViNmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNv
ZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUuaApAQCAtMzU1
LDggKzM1NSw2IEBAIGNsYXNzIENvZGUgewogICAgIFJlZ2lzdGVyU2V0IG11dGFibGVGUFJzKCk7
CiAgICAgUmVnaXN0ZXJTZXQgcGlubmVkUmVnaXN0ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9waW5u
ZWRSZWdzOyB9CiAgICAgCi0gICAgV2Vha1JhbmRvbSYgd2Vha1JhbmRvbSgpIHsgcmV0dXJuIG1f
d2Vha1JhbmRvbTsgfQotCiAgICAgdm9pZCBlbWl0RGVmYXVsdFByb2xvZ3VlKENDYWxsSGVscGVy
cyYpOwogICAgIHZvaWQgZW1pdEVwaWxvZ3VlKENDYWxsSGVscGVycyYpOwogCkBAIC0zODQsNyAr
MzgyLDYgQEAgY2xhc3MgQ29kZSB7CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
IH0KIAotICAgIFdlYWtSYW5kb20gbV93ZWFrUmFuZG9tOwogICAgIFByb2NlZHVyZSYgbV9wcm9j
OyAvLyBTb21lIG1ldGEtZGF0YSwgbGlrZSBieXByb2R1Y3RzLCBpcyBzdG9yZWQgaW4gdGhlIFBy
b2NlZHVyZS4KICAgICBWZWN0b3I8UmVnPiBtX2dwUmVnc0luUHJpb3JpdHlPcmRlcjsKICAgICBW
ZWN0b3I8UmVnPiBtX2ZwUmVnc0luUHJpb3JpdHlPcmRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvTWFya2VkQmxvY2tJbmxpbmVzLmgKaW5kZXggMmRlYWVkYWRmNTk5MTkxOTdi
MWRhMThmNTMxZjM0MmQzMzIwY2RkMy4uNGQ0YjQ3YTI1NzcxNDRlMzNhMTc3NTc3NzA5Mjg2ZTVi
NWVmYWZmMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQmxv
Y2tJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2tJ
bmxpbmVzLmgKQEAgLTMwOCw4ICszMDgsNyBAQCB2b2lkIE1hcmtlZEJsb2NrOjpIYW5kbGU6OnNw
ZWNpYWxpemVkU3dlZXAoRnJlZUxpc3QqIGZyZWVMaXN0LCBNYXJrZWRCbG9jazo6SGFuZAogICAg
IC8vIG9yZGVyIG9mIHRoZSBmcmVlIGxpc3QuCiAgICAgRnJlZUNlbGwqIGhlYWQgPSBudWxscHRy
OwogICAgIHNpemVfdCBjb3VudCA9IDA7Ci0gICAgdWludHB0cl90IHNlY3JldDsKLSAgICBjcnlw
dG9ncmFwaGljYWxseVJhbmRvbVZhbHVlcygmc2VjcmV0LCBzaXplb2YodWludHB0cl90KSk7Cisg
ICAgdWludHB0cl90IHNlY3JldCA9IHN0YXRpY19jYXN0PHVpbnRwdHJfdD4odm0uaGVhcFJhbmRv
bSgpLmdldFVpbnQ2NCgpKTsKICAgICBib29sIGlzRW1wdHkgPSB0cnVlOwogICAgIFZlY3Rvcjxz
aXplX3Q+IGRlYWRDZWxsczsKICAgICBhdXRvIGhhbmRsZURlYWRDZWxsID0gWyZdIChzaXplX3Qg
aSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCmluZGV4IGEyNzk4ZGQzZWI5Y2Zl
NzMzNmYzNjNlZmY1NzMyODhjYjRkYWUxZDIuLjUyM2NmYzFmNzc2ZDRhOWFhZGRiZTI3MTA5ZTA0
OWZhMWQxZTU5ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZN
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKQEAgLTIwNSw2
ICsyMDUsNyBAQCBWTTo6Vk0oVk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUgaGVhcFR5cGUsIFdURjo6
UnVuTG9vcCogcnVuTG9vcCwgYm9vbCogc3VjY2VzcykKICAgICAsIG1fYXBpTG9jayhhZG9wdFJl
ZihuZXcgSlNMb2NrKHRoaXMpKSkKICAgICAsIG1fcnVuTG9vcChydW5Mb29wID8gKnJ1bkxvb3Ag
OiBXVEY6OlJ1bkxvb3A6OmN1cnJlbnQoKSkKICAgICAsIG1fcmFuZG9tKE9wdGlvbnM6OnNlZWRP
ZlZNUmFuZG9tRm9yRnV6emVyKCkgPyBPcHRpb25zOjpzZWVkT2ZWTVJhbmRvbUZvckZ1enplcigp
IDogY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKSkKKyAgICAsIG1faGVhcFJhbmRvbShP
cHRpb25zOjpzZWVkT2ZWTVJhbmRvbUZvckZ1enplcigpID8gT3B0aW9uczo6c2VlZE9mVk1SYW5k
b21Gb3JGdXp6ZXIoKSA6IGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyKCkpCiAgICAgLCBt
X2ludGVncml0eVJhbmRvbSgqdGhpcykKICAgICAsIGhlYXAoKnRoaXMsIGhlYXBUeXBlKQogICAg
ICwgY2xpZW50SGVhcChoZWFwKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVk0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKaW5kZXggNjY1
NjhmMjlmZTBiZmUzZjAzZTgwOGZjMTI0ZmJkODUyY2JjNWRmOS4uMDU0YTQxMjM2YmI3YTBjMTVj
MjdmY2NjOTRhOTA3YmIzZWU5YWQ1ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVk0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCkBA
IC0yOTQsNiArMjk0LDcgQEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsKICAgICBKU19FWFBPUlRfUFJJ
VkFURSBKU0dsb2JhbE9iamVjdCogZGVwcmVjYXRlZFZNRW50cnlHbG9iYWxPYmplY3QoSlNHbG9i
YWxPYmplY3QqKSBjb25zdDsKIAogICAgIFdlYWtSYW5kb20mIHJhbmRvbSgpIHsgcmV0dXJuIG1f
cmFuZG9tOyB9CisgICAgV2Vha1JhbmRvbSYgaGVhcFJhbmRvbSgpIHsgcmV0dXJuIG1faGVhcFJh
bmRvbTsgfQogICAgIEludGVncml0eTo6UmFuZG9tJiBpbnRlZ3JpdHlSYW5kb20oKSB7IHJldHVy
biBtX2ludGVncml0eVJhbmRvbTsgfQogCiAgICAgYm9vbCB0ZXJtaW5hdGlvbkluUHJvZ3Jlc3Mo
KSBjb25zdCB7IHJldHVybiBtX3Rlcm1pbmF0aW9uSW5Qcm9ncmVzczsgfQpAQCAtMzM3LDYgKzMz
OCw3IEBAIGNsYXNzIFZNIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGlj
IERvdWJseUxpbmtlZExpc3ROb2RlPFZNPiB7CiAgICAgUmVmPFdURjo6UnVuTG9vcD4gbV9ydW5M
b29wOwogCiAgICAgV2Vha1JhbmRvbSBtX3JhbmRvbTsKKyAgICBXZWFrUmFuZG9tIG1faGVhcFJh
bmRvbTsKICAgICBJbnRlZ3JpdHk6OlJhbmRvbSBtX2ludGVncml0eVJhbmRvbTsKIAogcHVibGlj
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVVVJRC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9V
VUlELmNwcAppbmRleCAwOWZlMjk3NTJkMzliNzRjMmY1MDA1YjFkNDkxZWEyYmVjZTA1YThiLi40
Yjg5MDAwNDdiZTliNTZiNmE2ZWMxNmUxMzkxNDU2NmVlZmQ5MWMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9VVUlELmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9VVUlELmNwcApAQCAtMzUs
NiArMzUsOCBAQAogI2luY2x1ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+CiAjaW5jbHVkZSA8d3RmL0Ny
eXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL0hleE51bWJlci5o
PgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtSYW5kb20uaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdUb0ludGVnZXJDb252ZXJzaW9uLmg+CiAKICNpZiBPUyhE
QVJXSU4pCkBAIC00MywxOCArNDUsNDAgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLVVVSUQ6OlVV
SUQoKQorc3RhdGljIEFMV0FZU19JTkxJTkUgVUludDEyOCBjb252ZXJ0UmFuZG9tVUludDEyOFRv
VVVJRFZlcnNpb240KFVJbnQxMjggYnVmZmVyKQogewotICAgIHN0YXRpY19hc3NlcnQoc2l6ZW9m
KG1fZGF0YSkgPT0gMTYpOwotICAgIGF1dG8qIGRhdGEgPSByZWludGVycHJldF9jYXN0PHVuc2ln
bmVkIGNoYXIqPigmbV9kYXRhKTsKKyAgICAvLyBCeSBkZWZhdWx0LCB3ZSBnZW5lcmF0ZSBhIHY0
IFVVSUQgdmFsdWUsIGFzIHBlciBodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1s
L3JmYzQxMjIjc2VjdGlvbi00LjQuCisgICAgYXV0byBoaWdoID0gc3RhdGljX2Nhc3Q8dWludDY0
X3Q+KChidWZmZXIgPj4gNjQpICYgMHhmZmZmZmZmZmZmZmYwZmZmKSB8IDB4NDAwMDsKKyAgICBh
dXRvIGxvdyA9IHN0YXRpY19jYXN0PHVpbnQ2NF90PihidWZmZXIgJiAweDNmZmZmZmZmZmZmZmZm
ZmYpIHwgMHg4MDAwMDAwMDAwMDAwMDAwOwogCi0gICAgY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21W
YWx1ZXMoZGF0YSwgMTYpOworICAgIHJldHVybiAoc3RhdGljX2Nhc3Q8VUludDEyOD4oaGlnaCkg
PDwgNjQpIHwgbG93OworfQogCi0gICAgLy8gQnkgZGVmYXVsdCwgd2UgZ2VuZXJhdGUgYSB2NCBV
VUlEIHZhbHVlLCBhcyBwZXIgaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9y
ZmM0MTIyI3NlY3Rpb24tNC40LgotICAgIGF1dG8gaGlnaCA9IHN0YXRpY19jYXN0PHVpbnQ2NF90
PigobV9kYXRhID4+IDY0KSAmIDB4ZmZmZmZmZmZmZmZmMGZmZikgfCAweDQwMDA7Ci0gICAgYXV0
byBsb3cgPSBzdGF0aWNfY2FzdDx1aW50NjRfdD4obV9kYXRhICYgMHgzZmZmZmZmZmZmZmZmZmZm
KSB8IDB4ODAwMDAwMDAwMDAwMDAwMDsKK3N0YXRpYyBVSW50MTI4IGdlbmVyYXRlQ3J5cHRvZ3Jh
cGhpY2FsbHlSYW5kb21VVUlEVmVyc2lvbjQoKQoreworICAgIFVJbnQxMjggYnVmZmVyIHsgfTsK
KyAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihidWZmZXIpID09IDE2KTsKKyAgICBjcnlwdG9ncmFw
aGljYWxseVJhbmRvbVZhbHVlcyhyZWludGVycHJldF9jYXN0PHVuc2lnbmVkIGNoYXIqPigmYnVm
ZmVyKSwgMTYpOworICAgIHJldHVybiBjb252ZXJ0UmFuZG9tVUludDEyOFRvVVVJRFZlcnNpb240
KGJ1ZmZlcik7Cit9CisKK3N0YXRpYyBVSW50MTI4IGdlbmVyYXRlV2Vha1JhbmRvbVVVSURWZXJz
aW9uNCgpCit7CisgICAgc3RhdGljIExvY2sgbG9jazsKKyAgICBVSW50MTI4IGJ1ZmZlciB7IDAg
fTsKKyAgICB7CisgICAgICAgIExvY2tlciBsb2NrZXIgeyBsb2NrIH07CisgICAgICAgIHN0YXRp
YyBzdGQ6Om9wdGlvbmFsPFdlYWtSYW5kb20+IHdlYWtSYW5kb207CisgICAgICAgIGlmICghd2Vh
a1JhbmRvbSkKKyAgICAgICAgICAgIHdlYWtSYW5kb20uZW1wbGFjZSgpOworICAgICAgICBidWZm
ZXIgPSBzdGF0aWNfY2FzdDxVSW50MTI4Pih3ZWFrUmFuZG9tLT5nZXRVaW50NjQoKSkgPDwgNjQg
fCB3ZWFrUmFuZG9tLT5nZXRVaW50NjQoKTsKKyAgICB9CisgICAgcmV0dXJuIGNvbnZlcnRSYW5k
b21VSW50MTI4VG9VVUlEVmVyc2lvbjQoYnVmZmVyKTsKK30KIAotICAgIG1fZGF0YSA9IChzdGF0
aWNfY2FzdDxVSW50MTI4PihoaWdoKSA8PCA2NCkgfCBsb3c7CitVVUlEOjpVVUlEKCkKKyAgICA6
IG1fZGF0YShnZW5lcmF0ZUNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tVVVJRFZlcnNpb240KCkpCit7
CiB9CiAKIFN0cmluZyBVVUlEOjp0b1N0cmluZygpIGNvbnN0CkBAIC0xNDIsNiArMTY2LDExIEBA
IFN0cmluZyBjcmVhdGVWZXJzaW9uNFVVSURTdHJpbmcoKQogICAgIHJldHVybiBVVUlEOjpjcmVh
dGVWZXJzaW9uNCgpLnRvU3RyaW5nKCk7CiB9CiAKK1N0cmluZyBjcmVhdGVWZXJzaW9uNFVVSURT
dHJpbmdXZWFrKCkKK3sKKyAgICByZXR1cm4gVVVJRChnZW5lcmF0ZVdlYWtSYW5kb21VVUlEVmVy
c2lvbjQoKSkudG9TdHJpbmcoKTsKK30KKwogU3RyaW5nIGJvb3RTZXNzaW9uVVVJRFN0cmluZygp
CiB7CiAjaWYgT1MoREFSV0lOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVVVJRC5oIGIv
U291cmNlL1dURi93dGYvVVVJRC5oCmluZGV4IGRhZmQ2ZWFhZGEzMWM3NDFjMTk0NjZjMjBlM2Iy
YzYyNmNmNWEyOGIuLmJiZTBhN2NlNTVkMDY5NzRjMThlNzNlNzIyYmIzNDlhYjRhNzE3YjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1VVSUQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9VVUlE
LmgKQEAgLTE0OCw2ICsxNDgsNyBAQCBzdGQ6Om9wdGlvbmFsPFVVSUQ+IFVVSUQ6OmRlY29kZShE
ZWNvZGVyJiBkZWNvZGVyKQogLy8gOSwgQSwgb3IgQiBmb3IgeS4KIAogV1RGX0VYUE9SVF9QUklW
QVRFIFN0cmluZyBjcmVhdGVWZXJzaW9uNFVVSURTdHJpbmcoKTsKK1dURl9FWFBPUlRfUFJJVkFU
RSBTdHJpbmcgY3JlYXRlVmVyc2lvbjRVVUlEU3RyaW5nV2VhaygpOwogCiBXVEZfRVhQT1JUX1BS
SVZBVEUgU3RyaW5nIGJvb3RTZXNzaW9uVVVJRFN0cmluZygpOwogV1RGX0VYUE9SVF9QUklWQVRF
IGJvb2wgaXNWZXJzaW9uNFVVSUQoU3RyaW5nVmlldyk7CkBAIC0xNTYsNCArMTU3LDUgQEAgV1RG
X0VYUE9SVF9QUklWQVRFIGJvb2wgaXNWZXJzaW9uNFVVSUQoU3RyaW5nVmlldyk7CiAKIHVzaW5n
IFdURjo6VVVJRDsKIHVzaW5nIFdURjo6Y3JlYXRlVmVyc2lvbjRVVUlEU3RyaW5nOwordXNpbmcg
V1RGOjpjcmVhdGVWZXJzaW9uNFVVSURTdHJpbmdXZWFrOwogdXNpbmcgV1RGOjpib290U2Vzc2lv
blVVSURTdHJpbmc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9XZWFrUmFuZG9tLmggYi9T
b3VyY2UvV1RGL3d0Zi9XZWFrUmFuZG9tLmgKaW5kZXggMmNjMTIwZTBkYTE2ODkxZDVmYmM1ODIx
YzNkZjNjYjFlMWNhZjNmMy4uNDk3OTdiNTE5YWEwMTYwMjIwM2Q2OWM3Njk2OTJhMmNjYmNhM2E5
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvV2Vha1JhbmRvbS5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL1dlYWtSYW5kb20uaApAQCAtODUsNiArODUsMTEgQEAgY2xhc3MgV2Vha1JhbmRvbSBm
aW5hbCB7CiAgICAgICAgIH0KICAgICB9CiAKKyAgICB1aW50NjRfdCBnZXRVaW50NjQoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkdmFuY2UoKTsKKyAgICB9CisKICAgICBib29sIHJldHVyblRy
dWVXaXRoUHJvYmFiaWxpdHkoZG91YmxlIHByb2JhYmlsaXR5KQogICAgIHsKICAgICAgICAgQVNT
RVJUKDAuMCA8PSBwcm9iYWJpbGl0eSAmJiBwcm9iYWJpbGl0eSA8PSAxLjApOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKaW5kZXggZjZkNTlhNWUxZDc0MmQ0
YzUyNDhhOTdmMGQ0ZWFhZmI0ZWUyMzhiOS4uMWYzNThkNjY1NzZhMzI5OGQ0YThmMWJhMzc2NzE4
ZDAyZTZkMjRkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1l
RWZmZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3Qu
Y3BwCkBAIC01ODUsNyArNTg1LDcgQEAgdm9pZCBLZXlmcmFtZUVmZmVjdDo6Y29weVByb3BlcnRp
ZXNGcm9tU291cmNlKFJlZjxLZXlmcmFtZUVmZmVjdD4mJiBzb3VyY2UpCiAgICAgc2V0SXRlcmF0
aW9uRHVyYXRpb24oc291cmNlLT5pdGVyYXRpb25EdXJhdGlvbigpKTsKICAgICB1cGRhdGVTdGF0
aWNUaW1pbmdQcm9wZXJ0aWVzKCk7CiAKLSAgICBLZXlmcmFtZUxpc3Qga2V5ZnJhbWVMaXN0KCJr
ZXlmcmFtZS1lZmZlY3QtIiArIGNyZWF0ZVZlcnNpb240VVVJRFN0cmluZygpKTsKKyAgICBLZXlm
cmFtZUxpc3Qga2V5ZnJhbWVMaXN0KCJrZXlmcmFtZS1lZmZlY3QtIiArIGNyZWF0ZVZlcnNpb240
VVVJRFN0cmluZ1dlYWsoKSk7CiAgICAga2V5ZnJhbWVMaXN0LmNvcHlLZXlmcmFtZXMoc291cmNl
LT5tX2JsZW5kaW5nS2V5ZnJhbWVzKTsKICAgICBzZXRCbGVuZGluZ0tleWZyYW1lcyhrZXlmcmFt
ZUxpc3QpOwogfQpAQCAtODExLDcgKzgxMSw3IEBAIHZvaWQgS2V5ZnJhbWVFZmZlY3Q6OnVwZGF0
ZUJsZW5kaW5nS2V5ZnJhbWVzKFJlbmRlclN0eWxlJiBlbGVtZW50U3R5bGUsIGNvbnN0IFN0CiAg
ICAgaWYgKCFtX2JsZW5kaW5nS2V5ZnJhbWVzLmlzRW1wdHkoKSB8fCAhbV90YXJnZXQpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIEtleWZyYW1lTGlzdCBrZXlmcmFtZUxpc3QoImtleWZyYW1lLWVm
ZmVjdC0iICsgY3JlYXRlVmVyc2lvbjRVVUlEU3RyaW5nKCkpOworICAgIEtleWZyYW1lTGlzdCBr
ZXlmcmFtZUxpc3QoImtleWZyYW1lLWVmZmVjdC0iICsgY3JlYXRlVmVyc2lvbjRVVUlEU3RyaW5n
V2VhaygpKTsKICAgICBhdXRvJiBzdHlsZVJlc29sdmVyID0gbV90YXJnZXQtPnN0eWxlUmVzb2x2
ZXIoKTsKIAogICAgIGZvciAoYXV0byYga2V5ZnJhbWUgOiBtX3BhcnNlZEtleWZyYW1lcykgewpA
QCAtMTAzNyw3ICsxMDM3LDcgQEAgdm9pZCBLZXlmcmFtZUVmZmVjdDo6Y29tcHV0ZUNTU1RyYW5z
aXRpb25CbGVuZGluZ0tleWZyYW1lcyhjb25zdCBSZW5kZXJTdHlsZSogb2wKICAgICBpZiAobV90
YXJnZXQpCiAgICAgICAgIFN0eWxlOjpsb2FkUGVuZGluZ1Jlc291cmNlcygqdG9TdHlsZSwgKmRv
Y3VtZW50KCksIG1fdGFyZ2V0LmdldCgpKTsKIAotICAgIEtleWZyYW1lTGlzdCBrZXlmcmFtZUxp
c3QoImtleWZyYW1lLWVmZmVjdC0iICsgY3JlYXRlVmVyc2lvbjRVVUlEU3RyaW5nKCkpOworICAg
IEtleWZyYW1lTGlzdCBrZXlmcmFtZUxpc3QoImtleWZyYW1lLWVmZmVjdC0iICsgY3JlYXRlVmVy
c2lvbjRVVUlEU3RyaW5nV2VhaygpKTsKICAgICBrZXlmcmFtZUxpc3QuYWRkUHJvcGVydHkocHJv
cGVydHkpOwogCiAgICAgS2V5ZnJhbWVWYWx1ZSBmcm9tS2V5ZnJhbWVWYWx1ZSgwLCBSZW5kZXJT
dHlsZTo6Y2xvbmVQdHIoKm9sZFN0eWxlKSk7Cg==
</data>
<flag name="review"
          id="485771"
          type_id="1"
          status="+"
          setter="saam"
    />
    <flag name="commit-queue"
          id="485781"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>