<?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>221743</bug_id>
          
          <creation_ts>2021-02-10 22:23:01 -0800</creation_ts>
          <short_desc>[WebAuthn] Provide SPI to query local credentials</short_desc>
          <delta_ts>2021-02-12 17:40:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</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="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1727960</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-02-10 22:23:01 -0800</bug_when>
    <thetext>Provide SPI to query local credentials.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727961</commentid>
    <comment_count>1</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-02-10 22:23:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/65849832&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727963</commentid>
    <comment_count>2</comment_count>
      <attachid>419945</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-02-10 22:26:54 -0800</bug_when>
    <thetext>Created attachment 419945
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728741</commentid>
    <comment_count>3</comment_count>
      <attachid>420171</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-02-12 12:57:35 -0800</bug_when>
    <thetext>Created attachment 420171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728784</commentid>
    <comment_count>4</comment_count>
      <attachid>420171</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-02-12 14:06:04 -0800</bug_when>
    <thetext>Comment on attachment 420171
Patch

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

r=me

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:165
&gt; +        (id)kSecClass: (id)kSecClassKey,

It&apos;s a shame so many casts are needed, but it looks like that&apos;s typical.

It looks like these are usually done as (__bridge id) in other code.

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:231
&gt; +        (id)kSecClass: (id)kSecClassKey,

Suggest (__bridge id)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728866</commentid>
    <comment_count>5</comment_count>
      <attachid>420171</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-02-12 16:54:23 -0800</bug_when>
    <thetext>Comment on attachment 420171
Patch

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

Thanks Brent for r+ this patch.

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:165
&gt;&gt; +        (id)kSecClass: (id)kSecClassKey,
&gt; 
&gt; It&apos;s a shame so many casts are needed, but it looks like that&apos;s typical.
&gt; 
&gt; It looks like these are usually done as (__bridge id) in other code.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728868</commentid>
    <comment_count>6</comment_count>
      <attachid>420197</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2021-02-12 16:56:20 -0800</bug_when>
    <thetext>Created attachment 420197
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728886</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-12 17:40:47 -0800</bug_when>
    <thetext>Committed r272826: &lt;https://commits.webkit.org/r272826&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420197.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419945</attachid>
            <date>2021-02-10 22:26:54 -0800</date>
            <delta_ts>2021-02-12 12:57:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221743-20210210222653.patch</filename>
            <type>text/plain</type>
            <size>11016</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5ZmI2YTRjN2ZlZjkxNzAz
MjY3YmE3YjYxOWY3Njg2NjU2NDVkYTIuLjYxNmU2ZDFhNjg3NGMxZTJlMGJjYmJhNmYzNTFmNGIw
YmNiNTdkOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDItMTAgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIFByb3ZpZGUg
U1BJIHRvIHF1ZXJ5IGxvY2FsIGNyZWRlbnRpYWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE3NDMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1
ODQ5ODMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENvdmVyZWQgYnkgQVBJIHRlc3RzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOgorICAgICAgICAoZ2V0QWxsTG9jYWxBdXRo
ZW50aWNhdG9yQ3JlZGVudGlhbHNJbXBsKToKKyAgICAgICAgKCtbX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbCBnZXRBbGxMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsc10pOgorICAgICAgICAo
K1tfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsIGdldEFsbExvY2FsQXV0aGVudGljYXRvckNyZWRl
bnRpYWxzV2l0aEFjY2Vzc0dyb3VwOl0pOgorICAgICAgICAoK1tfV0tXZWJBdXRoZW50aWNhdGlv
blBhbmVsIGRlbGV0ZUxvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxXaXRoSUQ6XSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsRm9yVGVz
dGluZy5oOgorCiAyMDIxLTAyLTA5ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUu
Y29tPgogCiAgICAgICAgIFttYWNPU10gQWRkIGludGVybmFsIHByZWZlcmVuY2UgdG8gY29udHJv
bCBob3cgQVZPdXRwdXRDb250ZXh0IGlzIGFsbG9jYXRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVs
LmgKaW5kZXggODRmYmNjZGZmN2E5NzFjZjU3NDI3ODEyNTMwODVkZWJmYmZhMTQ2YS4uNDQ5MDQy
NGEyZGJiNDc5YWRmMzE2YWUwMmI0NzNhOTllYzc1ZjkxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25Q
YW5lbC5oCkBAIC0yNCw2ICsyNCw3IEBACiAgKi8KIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3Vu
ZGF0aW9uLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tEZWNsYXJhdGlvblNwZWNpZmllcnMuaD4KICNp
bXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24uaD4KIAogTlNfQVNTVU1FX05PTk5VTExfQkVHSU4K
QEAgLTc5LDYgKzgwLDEwIEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS1dlYkF1dGhl
bnRpY2F0aW9uU291cmNlKSB7CiAgICAgX1dLV2ViQXV0aGVudGljYXRpb25Tb3VyY2VFeHRlcm5h
bCwKIH0gV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMS4wKSwgaW9zKDE0LjApKTsKIAorV0tfRVhQ
T1JUIGV4dGVybiBOU1N0cmluZyAqIGNvbnN0IF9XS0xvY2FsQXV0aGVudGljYXRvckNyZWRlbnRp
YWxOYW1lS2V5OworV0tfRVhQT1JUIGV4dGVybiBOU1N0cmluZyAqIGNvbnN0IF9XS0xvY2FsQXV0
aGVudGljYXRvckNyZWRlbnRpYWxJREtleTsKK1dLX0VYUE9SVCBleHRlcm4gTlNTdHJpbmcgKiBj
b25zdCBfV0tMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsUmVseWluZ1BhcnR5SURLZXk7CisK
IEBwcm90b2NvbCBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsRGVsZWdhdGUgPE5TT2JqZWN0Pgog
CiBAb3B0aW9uYWwKQEAgLTk4LDggKzEwMywxMSBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3Mo
MTAuMTUuNCksIGlvcygxMy40KSkKIAogQHByb3BlcnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCB3
ZWFrKSBpZCA8X1dLV2ViQXV0aGVudGljYXRpb25QYW5lbERlbGVnYXRlPiBkZWxlZ2F0ZTsKIAot
KyAodm9pZCljbGVhckFsbExvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxzOwotKyAoQk9PTClp
c1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JBdmFpbGFibGU7CisrIChOU0FycmF5
PE5TRGljdGlvbmFyeSAqPiAqKWdldEFsbExvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxzIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisrICh2
b2lkKWRlbGV0ZUxvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxXaXRoSUQ6KE5TRGF0YSAqKWNy
ZWRlbnRpYWxJRCBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOworKyAodm9pZCljbGVhckFsbExvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxzIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKysg
KEJPT0wpaXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKIC0gKGlu
c3RhbmNldHlwZSlpbml0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4IDk3MDZk
NWIyMWFiYTM4OGUwZGJmY2ZiYmVhY2M5NzBkMmE4NDE5ZTguLjNjZDI4YWMzMTdmZWI3NmRhM2Y3
ZDBiMGE4MDAyZmYxYWUxNjg2NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC00
NCw2ICs0NCw4IEBACiAjaW1wb3J0ICJfV0tQdWJsaWNLZXlDcmVkZW50aWFsVXNlckVudGl0eS5o
IgogI2ltcG9ydCA8V2ViQ29yZS9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaD4KICNpbXBvcnQgPFdl
YkNvcmUvQXV0aGVudGljYXRvclJlc3BvbnNlRGF0YS5oPgorI2ltcG9ydCA8V2ViQ29yZS9DQk9S
UmVhZGVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL0ZpZG9Db25zdGFudHMuaD4KICNpbXBvcnQgPFdl
YkNvcmUvTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oPgpAQCAtNTEsNiArNTMsMTAg
QEAKICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgog
CitOU1N0cmluZyAqIGNvbnN0IF9XS0xvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxOYW1lS2V5
ID0gQCJfV0tMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsTmFtZUtleSI7CitOU1N0cmluZyAq
IGNvbnN0IF9XS0xvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxJREtleSA9IEAiX1dLTG9jYWxB
dXRoZW50aWNhdG9yQ3JlZGVudGlhbElES2V5IjsKK05TU3RyaW5nICogY29uc3QgX1dLTG9jYWxB
dXRoZW50aWNhdG9yQ3JlZGVudGlhbFJlbHlpbmdQYXJ0eUlES2V5ID0gQCJfV0tMb2NhbEF1dGhl
bnRpY2F0b3JDcmVkZW50aWFsUmVseWluZ1BhcnR5SURLZXkiOworCiBAaW1wbGVtZW50YXRpb24g
X1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCB7CiAjaWYgRU5BQkxFKFdFQl9BVVRITikKICAgICBX
ZWFrUHRyPFdlYktpdDo6V2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudD4gX2NsaWVudDsKQEAg
LTE1Miw2ICsxNTgsODggQEAgLSAodm9pZClzZXREZWxlZ2F0ZTooaWQ8X1dLV2ViQXV0aGVudGlj
YXRpb25QYW5lbERlbGVnYXRlPilkZWxlZ2F0ZQogfQogI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVU
SE4pCiAKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorc3RhdGljIFJldGFpblB0cjxOU0FycmF5PiBn
ZXRBbGxMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsc0ltcGwoTlNTdHJpbmcgKmFjY2Vzc0dy
b3VwKQoreworICAgIE5TRGljdGlvbmFyeSAqcXVlcnkgPSBAeworICAgICAgICAoaWQpa1NlY0Ns
YXNzOiAoaWQpa1NlY0NsYXNzS2V5LAorICAgICAgICAoaWQpa1NlY0F0dHJLZXlDbGFzczogKGlk
KWtTZWNBdHRyS2V5Q2xhc3NQcml2YXRlLAorICAgICAgICAoaWQpa1NlY0F0dHJBY2Nlc3NHcm91
cDogYWNjZXNzR3JvdXAsCisgICAgICAgIChpZClrU2VjUmV0dXJuQXR0cmlidXRlczogQFlFUywK
KyAgICAgICAgKGlkKWtTZWNNYXRjaExpbWl0OiAoaWQpa1NlY01hdGNoTGltaXRBbGwsCisjaWYg
SEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCisgICAgICAgIChpZClrU2VjVXNlRGF0YVBy
b3RlY3Rpb25LZXljaGFpbjogQFlFUworI2Vsc2UKKyAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdh
Y3k6IEBZRVMKKyNlbmRpZgorICAgIH07CisgICAgQ0ZUeXBlUmVmIGF0dHJpYnV0ZXNBcnJheVJl
ZiA9IG51bGxwdHI7CisgICAgT1NTdGF0dXMgc3RhdHVzID0gU2VjSXRlbUNvcHlNYXRjaGluZygo
X19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKXF1ZXJ5LCAmYXR0cmlidXRlc0FycmF5UmVmKTsKKyAg
ICBpZiAoc3RhdHVzICYmIHN0YXR1cyAhPSBlcnJTZWNJdGVtTm90Rm91bmQpCisgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgIGF1dG8gcmV0YWluQXR0cmlidXRlc0FycmF5ID0gYWRvcHRDRihh
dHRyaWJ1dGVzQXJyYXlSZWYpOworCisgICAgYXV0byByZXN1bHQgPSBhZG9wdE5TKFtbTlNNdXRh
YmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKKyAgICBmb3IgKE5TRGljdGlvbmFyeSAqYXR0cmlidXRl
cyBpbiAoTlNBcnJheSAqKWF0dHJpYnV0ZXNBcnJheVJlZikgeworICAgICAgICBhdXRvIGRlY29k
ZWRSZXNwb25zZSA9IGNib3I6OkNCT1JSZWFkZXI6OnJlYWQodmVjdG9yRnJvbU5TRGF0YShhdHRy
aWJ1dGVzWyhpZClrU2VjQXR0ckFwcGxpY2F0aW9uVGFnXSkpOworICAgICAgICBpZiAoIWRlY29k
ZWRSZXNwb25zZSB8fCAhZGVjb2RlZFJlc3BvbnNlLT5pc01hcCgpKSB7CisgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAg
ICB9CisgICAgICAgIGF1dG8mIHJlc3BvbnNlTWFwID0gZGVjb2RlZFJlc3BvbnNlLT5nZXRNYXAo
KTsKKworICAgICAgICBhdXRvIGl0ID0gcmVzcG9uc2VNYXAuZmluZChjYm9yOjpDQk9SVmFsdWUo
Zmlkbzo6a0VudGl0eU5hbWVNYXBLZXkpKTsKKyAgICAgICAgaWYgKGl0ID09IHJlc3BvbnNlTWFw
LmVuZCgpIHx8ICFpdC0+c2Vjb25kLmlzU3RyaW5nKCkpIHsKKyAgICAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIH0KKyAg
ICAgICAgYXV0byYgdXNlcm5hbWUgPSBpdC0+c2Vjb25kLmdldFN0cmluZygpOworCisgICAgICAg
IFtyZXN1bHQgYWRkT2JqZWN0OkB7CisgICAgICAgICAgICBfV0tMb2NhbEF1dGhlbnRpY2F0b3JD
cmVkZW50aWFsTmFtZUtleTogdXNlcm5hbWUsCisgICAgICAgICAgICBfV0tMb2NhbEF1dGhlbnRp
Y2F0b3JDcmVkZW50aWFsSURLZXk6IGF0dHJpYnV0ZXNbKGlkKWtTZWNBdHRyQXBwbGljYXRpb25M
YWJlbF0sCisgICAgICAgICAgICBfV0tMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsUmVseWlu
Z1BhcnR5SURLZXk6IGF0dHJpYnV0ZXNbKGlkKWtTZWNBdHRyTGFiZWxdCisgICAgICAgIH1dOwor
ICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7Cit9CisjZW5kaWYKKworKyAoTlNBcnJheTxOU0Rp
Y3Rpb25hcnkgKj4gKilnZXRBbGxMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFscworeworI2lm
IEVOQUJMRShXRUJfQVVUSE4pCisgICAgcmV0dXJuIGdldEFsbExvY2FsQXV0aGVudGljYXRvckNy
ZWRlbnRpYWxzSW1wbChTdHJpbmcoV2ViQ29yZTo6TG9jYWxBdXRoZW50aWNhdGlvckFjY2Vzc0dy
b3VwKSkuYXV0b3JlbGVhc2UoKTsKKyNlbHNlCisgICAgcmV0dXJuIG51bGxwdHI7CisjZW5kaWYK
K30KKworKyAoTlNBcnJheTxOU0RpY3Rpb25hcnkgKj4gKilnZXRBbGxMb2NhbEF1dGhlbnRpY2F0
b3JDcmVkZW50aWFsc1dpdGhBY2Nlc3NHcm91cDooTlNTdHJpbmcgKilhY2Nlc3NHcm91cAorewor
I2lmIEVOQUJMRShXRUJfQVVUSE4pCisgICAgcmV0dXJuIGdldEFsbExvY2FsQXV0aGVudGljYXRv
ckNyZWRlbnRpYWxzSW1wbChhY2Nlc3NHcm91cCkuYXV0b3JlbGVhc2UoKTsKKyNlbHNlCisgICAg
cmV0dXJuIG51bGxwdHI7CisjZW5kaWYKK30KKworKyAodm9pZClkZWxldGVMb2NhbEF1dGhlbnRp
Y2F0b3JDcmVkZW50aWFsV2l0aElEOihOU0RhdGEgKiljcmVkZW50aWFsSUQKK3sKKyNpZiBFTkFC
TEUoV0VCX0FVVEhOKQorICAgIE5TRGljdGlvbmFyeSogZGVsZXRlUXVlcnkgPSBAeworICAgICAg
ICAoaWQpa1NlY0NsYXNzOiAoaWQpa1NlY0NsYXNzS2V5LAorICAgICAgICAoaWQpa1NlY0F0dHJB
cHBsaWNhdGlvbkxhYmVsOiBjcmVkZW50aWFsSUQsCisjaWYgSEFWRShEQVRBX1BST1RFQ1RJT05f
S0VZQ0hBSU4pCisgICAgICAgIChpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlF
UworI2Vsc2UKKyAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKKyNlbmRpZgorICAg
IH07CisgICAgU2VjSXRlbURlbGV0ZSgoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKWRlbGV0ZVF1
ZXJ5KTsKKyNlbmRpZgorfQorCiArICh2b2lkKWNsZWFyQWxsTG9jYWxBdXRoZW50aWNhdG9yQ3Jl
ZGVudGlhbHMKIHsKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxGb3JUZXN0
aW5nLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGlj
YXRpb25QYW5lbEZvclRlc3RpbmcuaAppbmRleCAxNGViZmUxZTZjYzM2OWIzMWU2ZmI5NzdhYmM0
ODMyNmMyYWE4NThjLi5jMTU4YzhhYjY1ZGQ0MDcxYjVjZDg1OTljOTllYzc0NGYzYmFhZjgxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVu
dGljYXRpb25QYW5lbEZvclRlc3RpbmcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbEZvclRlc3RpbmcuaApAQCAtMzgsNiAr
MzgsOCBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1Nf
VEJBKSkKICsgKFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMpY29u
dmVydFRvQ29yZUNyZWF0aW9uT3B0aW9uc1dpdGhPcHRpb25zOihfV0tQdWJsaWNLZXlDcmVkZW50
aWFsQ3JlYXRpb25PcHRpb25zICopb3B0aW9ucyBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01B
Q19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogKyAoV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlh
bFJlcXVlc3RPcHRpb25zKWNvbnZlcnRUb0NvcmVSZXF1ZXN0T3B0aW9uc1dpdGhPcHRpb25zOihf
V0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMgKilvcHRpb25zIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKKysgKE5TQXJyYXk8
TlNEaWN0aW9uYXJ5ICo+ICopZ2V0QWxsTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlhbHNXaXRo
QWNjZXNzR3JvdXA6KE5TU3RyaW5nICopYWNjZXNzR3JvdXAgV0tfQVBJX0FWQUlMQUJMRShtYWNv
cyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwogLy8gRm9yIGRldGFpbHMgb2YgY29u
ZmlndXJhdGlvbiwgcmVmZXIgdG8gTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5o
LgogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TRGljdGlvbmFyeSAqbW9ja0NvbmZpZ3Vy
YXRpb247CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCAzNWZjNzg5M2VhNmJhYTk4ZjRjMTM2MzYxYjcyYzY3NmE2YTIxOTNiLi4yYmY0YjUwZTBi
NzM2NDgxNjIxMjA5Nzk1MzYwNTFmYzFhMmQyOTIxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDItMTAgIEpp
ZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIFBy
b3ZpZGUgU1BJIHRvIHF1ZXJ5IGxvY2FsIGNyZWRlbnRpYWxzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE3NDMKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzY1ODQ5ODMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNh
dGlvblBhbmVsLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMjEtMDIt
MDkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBTeW50aGVzaXplIHJhbmdlIHJlc3BvbnNlcyBpZiBuZWVkZWQgaW4gV2ViQ29yZU5TVVJMU2Vz
c2lvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9f
V0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4IGFhZmQxYmE0N2Q1
MWIxMDk2NDQ0ZjFkODFiOWMxZWM1ZmJlZDQ4NWIuLjRiMGM3MjRiMWY3NjUyNmQ2NDBiNDY0NDcw
ODdkNWFmMmRmNzZlYWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KQEAg
LTE5MjUsNiArMTkyNSwzNyBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIEdldEFzc2Vy
dGlvbkxBKQogfQogI2VuZGlmCiAKK1RFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgR2V0QWxs
Q3JlZGVudGlhbCkKK3sKKyAgICByZXNldCgpOworCisgICAgQVNTRVJUX1RSVUUoYWRkS2V5VG9L
ZXljaGFpbih0ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0LCAiZXhhbXBsZS5jb20iLCB0ZXN0VXNl
ckVudGl0eUJ1bmRsZUJhc2U2NCkpOworCisgICAgYXV0byAqY3JlZGVudGlhbHMgPSBbX1dLV2Vi
QXV0aGVudGljYXRpb25QYW5lbCBnZXRBbGxMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsc1dp
dGhBY2Nlc3NHcm91cDpAImNvbS5hcHBsZS5UZXN0V2ViS2l0QVBJIl07CisgICAgRVhQRUNUX05P
VF9OVUxMKGNyZWRlbnRpYWxzKTsKKyAgICBFWFBFQ1RfRVEoW2NyZWRlbnRpYWxzIGNvdW50XSwg
MWx1KTsKKworICAgIEVYUEVDVF9OT1RfTlVMTChbY3JlZGVudGlhbHMgZmlyc3RPYmplY3RdKTsK
KyAgICBFWFBFQ1RfV0tfU1RSRVEoW2NyZWRlbnRpYWxzIGZpcnN0T2JqZWN0XVtfV0tMb2NhbEF1
dGhlbnRpY2F0b3JDcmVkZW50aWFsTmFtZUtleV0sICJKb2huIik7CisgICAgRVhQRUNUX1dLX1NU
UkVRKFtbY3JlZGVudGlhbHMgZmlyc3RPYmplY3RdW19XS0xvY2FsQXV0aGVudGljYXRvckNyZWRl
bnRpYWxJREtleV0gYmFzZTY0RW5jb2RlZFN0cmluZ1dpdGhPcHRpb25zOjBdLCAiU01TWEhuZ0Y3
aEVPc0VsQTczQzNSWSs4YlI0PSIpOworICAgIEVYUEVDVF9XS19TVFJFUShbY3JlZGVudGlhbHMg
Zmlyc3RPYmplY3RdW19XS0xvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxSZWx5aW5nUGFydHlJ
REtleV0sICJleGFtcGxlLmNvbSIpOworCisgICAgY2xlYW5VcEtleWNoYWluKCJleGFtcGxlLmNv
bSIpOworfQorCitURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIERlbGV0ZU9uZUNyZWRlbnRp
YWwpCit7CisgICAgcmVzZXQoKTsKKworICAgIEFTU0VSVF9UUlVFKGFkZEtleVRvS2V5Y2hhaW4o
dGVzdEVTMjU2UHJpdmF0ZUtleUJhc2U2NCwgImV4YW1wbGUuY29tIiwgdGVzdFVzZXJFbnRpdHlC
dW5kbGVCYXNlNjQpKTsKKworICAgIFtfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsIGRlbGV0ZUxv
Y2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxXaXRoSUQ6YWRvcHROUyhbW05TRGF0YSBhbGxvY10g
aW5pdFdpdGhCYXNlNjRFbmNvZGVkU3RyaW5nOkAiU01TWEhuZ0Y3aEVPc0VsQTczQzNSWSs4YlI0
PSIgb3B0aW9uczowXSkuZ2V0KCldOworCisgICAgYXV0byAqY3JlZGVudGlhbHMgPSBbX1dLV2Vi
QXV0aGVudGljYXRpb25QYW5lbCBnZXRBbGxMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsc1dp
dGhBY2Nlc3NHcm91cDpAImNvbS5hcHBsZS5UZXN0V2ViS2l0QVBJIl07CisgICAgRVhQRUNUX05P
VF9OVUxMKGNyZWRlbnRpYWxzKTsKKyAgICBFWFBFQ1RfRVEoW2NyZWRlbnRpYWxzIGNvdW50XSwg
MGx1KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCiAjZW5kaWYgLy8gRU5B
QkxFKFdFQl9BVVRITikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420171</attachid>
            <date>2021-02-12 12:57:35 -0800</date>
            <delta_ts>2021-02-12 14:06:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221743-20210212125734.patch</filename>
            <type>text/plain</type>
            <size>11038</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5ZmI2YTRjN2ZlZjkxNzAz
MjY3YmE3YjYxOWY3Njg2NjU2NDVkYTIuLjYxNmU2ZDFhNjg3NGMxZTJlMGJjYmJhNmYzNTFmNGIw
YmNiNTdkOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDItMTAgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIFByb3ZpZGUg
U1BJIHRvIHF1ZXJ5IGxvY2FsIGNyZWRlbnRpYWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE3NDMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1
ODQ5ODMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENvdmVyZWQgYnkgQVBJIHRlc3RzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOgorICAgICAgICAoZ2V0QWxsTG9jYWxBdXRo
ZW50aWNhdG9yQ3JlZGVudGlhbHNJbXBsKToKKyAgICAgICAgKCtbX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbCBnZXRBbGxMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsc10pOgorICAgICAgICAo
K1tfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsIGdldEFsbExvY2FsQXV0aGVudGljYXRvckNyZWRl
bnRpYWxzV2l0aEFjY2Vzc0dyb3VwOl0pOgorICAgICAgICAoK1tfV0tXZWJBdXRoZW50aWNhdGlv
blBhbmVsIGRlbGV0ZUxvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxXaXRoSUQ6XSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsRm9yVGVz
dGluZy5oOgorCiAyMDIxLTAyLTA5ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUu
Y29tPgogCiAgICAgICAgIFttYWNPU10gQWRkIGludGVybmFsIHByZWZlcmVuY2UgdG8gY29udHJv
bCBob3cgQVZPdXRwdXRDb250ZXh0IGlzIGFsbG9jYXRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVs
LmgKaW5kZXggODRmYmNjZGZmN2E5NzFjZjU3NDI3ODEyNTMwODVkZWJmYmZhMTQ2YS4uNDQ5MDQy
NGEyZGJiNDc5YWRmMzE2YWUwMmI0NzNhOTllYzc1ZjkxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25Q
YW5lbC5oCkBAIC0yNCw2ICsyNCw3IEBACiAgKi8KIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3Vu
ZGF0aW9uLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tEZWNsYXJhdGlvblNwZWNpZmllcnMuaD4KICNp
bXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24uaD4KIAogTlNfQVNTVU1FX05PTk5VTExfQkVHSU4K
QEAgLTc5LDYgKzgwLDEwIEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS1dlYkF1dGhl
bnRpY2F0aW9uU291cmNlKSB7CiAgICAgX1dLV2ViQXV0aGVudGljYXRpb25Tb3VyY2VFeHRlcm5h
bCwKIH0gV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMS4wKSwgaW9zKDE0LjApKTsKIAorV0tfRVhQ
T1JUIGV4dGVybiBOU1N0cmluZyAqIGNvbnN0IF9XS0xvY2FsQXV0aGVudGljYXRvckNyZWRlbnRp
YWxOYW1lS2V5OworV0tfRVhQT1JUIGV4dGVybiBOU1N0cmluZyAqIGNvbnN0IF9XS0xvY2FsQXV0
aGVudGljYXRvckNyZWRlbnRpYWxJREtleTsKK1dLX0VYUE9SVCBleHRlcm4gTlNTdHJpbmcgKiBj
b25zdCBfV0tMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsUmVseWluZ1BhcnR5SURLZXk7CisK
IEBwcm90b2NvbCBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsRGVsZWdhdGUgPE5TT2JqZWN0Pgog
CiBAb3B0aW9uYWwKQEAgLTk4LDggKzEwMywxMSBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3Mo
MTAuMTUuNCksIGlvcygxMy40KSkKIAogQHByb3BlcnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCB3
ZWFrKSBpZCA8X1dLV2ViQXV0aGVudGljYXRpb25QYW5lbERlbGVnYXRlPiBkZWxlZ2F0ZTsKIAot
KyAodm9pZCljbGVhckFsbExvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxzOwotKyAoQk9PTClp
c1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JBdmFpbGFibGU7CisrIChOU0FycmF5
PE5TRGljdGlvbmFyeSAqPiAqKWdldEFsbExvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxzIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisrICh2
b2lkKWRlbGV0ZUxvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxXaXRoSUQ6KE5TRGF0YSAqKWNy
ZWRlbnRpYWxJRCBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOworKyAodm9pZCljbGVhckFsbExvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxzIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKysg
KEJPT0wpaXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKIC0gKGlu
c3RhbmNldHlwZSlpbml0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4IDk3MDZk
NWIyMWFiYTM4OGUwZGJmY2ZiYmVhY2M5NzBkMmE4NDE5ZTguLjNjZDI4YWMzMTdmZWI3NmRhM2Y3
ZDBiMGE4MDAyZmYxYWUxNjg2NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC00
NCw2ICs0NCw4IEBACiAjaW1wb3J0ICJfV0tQdWJsaWNLZXlDcmVkZW50aWFsVXNlckVudGl0eS5o
IgogI2ltcG9ydCA8V2ViQ29yZS9BdXRoZW50aWNhdG9yUmVzcG9uc2UuaD4KICNpbXBvcnQgPFdl
YkNvcmUvQXV0aGVudGljYXRvclJlc3BvbnNlRGF0YS5oPgorI2ltcG9ydCA8V2ViQ29yZS9DQk9S
UmVhZGVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL0ZpZG9Db25zdGFudHMuaD4KICNpbXBvcnQgPFdl
YkNvcmUvTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oPgpAQCAtNTEsNiArNTMsMTAg
QEAKICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgog
CitOU1N0cmluZyAqIGNvbnN0IF9XS0xvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxOYW1lS2V5
ID0gQCJfV0tMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsTmFtZUtleSI7CitOU1N0cmluZyAq
IGNvbnN0IF9XS0xvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxJREtleSA9IEAiX1dLTG9jYWxB
dXRoZW50aWNhdG9yQ3JlZGVudGlhbElES2V5IjsKK05TU3RyaW5nICogY29uc3QgX1dLTG9jYWxB
dXRoZW50aWNhdG9yQ3JlZGVudGlhbFJlbHlpbmdQYXJ0eUlES2V5ID0gQCJfV0tMb2NhbEF1dGhl
bnRpY2F0b3JDcmVkZW50aWFsUmVseWluZ1BhcnR5SURLZXkiOworCiBAaW1wbGVtZW50YXRpb24g
X1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCB7CiAjaWYgRU5BQkxFKFdFQl9BVVRITikKICAgICBX
ZWFrUHRyPFdlYktpdDo6V2ViQXV0aGVudGljYXRpb25QYW5lbENsaWVudD4gX2NsaWVudDsKQEAg
LTE1Miw2ICsxNTgsODggQEAgLSAodm9pZClzZXREZWxlZ2F0ZTooaWQ8X1dLV2ViQXV0aGVudGlj
YXRpb25QYW5lbERlbGVnYXRlPilkZWxlZ2F0ZQogfQogI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVU
SE4pCiAKKyNpZiBFTkFCTEUoV0VCX0FVVEhOKQorc3RhdGljIFJldGFpblB0cjxOU0FycmF5PiBn
ZXRBbGxMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsc0ltcGwoTlNTdHJpbmcgKmFjY2Vzc0dy
b3VwKQoreworICAgIE5TRGljdGlvbmFyeSAqcXVlcnkgPSBAeworICAgICAgICAoaWQpa1NlY0Ns
YXNzOiAoaWQpa1NlY0NsYXNzS2V5LAorICAgICAgICAoaWQpa1NlY0F0dHJLZXlDbGFzczogKGlk
KWtTZWNBdHRyS2V5Q2xhc3NQcml2YXRlLAorICAgICAgICAoaWQpa1NlY0F0dHJBY2Nlc3NHcm91
cDogYWNjZXNzR3JvdXAsCisgICAgICAgIChpZClrU2VjUmV0dXJuQXR0cmlidXRlczogQFlFUywK
KyAgICAgICAgKGlkKWtTZWNNYXRjaExpbWl0OiAoaWQpa1NlY01hdGNoTGltaXRBbGwsCisjaWYg
SEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCisgICAgICAgIChpZClrU2VjVXNlRGF0YVBy
b3RlY3Rpb25LZXljaGFpbjogQFlFUworI2Vsc2UKKyAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdh
Y3k6IEBZRVMKKyNlbmRpZgorICAgIH07CisgICAgQ0ZUeXBlUmVmIGF0dHJpYnV0ZXNBcnJheVJl
ZiA9IG51bGxwdHI7CisgICAgT1NTdGF0dXMgc3RhdHVzID0gU2VjSXRlbUNvcHlNYXRjaGluZygo
X19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKXF1ZXJ5LCAmYXR0cmlidXRlc0FycmF5UmVmKTsKKyAg
ICBpZiAoc3RhdHVzICYmIHN0YXR1cyAhPSBlcnJTZWNJdGVtTm90Rm91bmQpCisgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgIGF1dG8gcmV0YWluQXR0cmlidXRlc0FycmF5ID0gYWRvcHRDRihh
dHRyaWJ1dGVzQXJyYXlSZWYpOworCisgICAgYXV0byByZXN1bHQgPSBhZG9wdE5TKFtbTlNNdXRh
YmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKKyAgICBmb3IgKE5TRGljdGlvbmFyeSAqYXR0cmlidXRl
cyBpbiAoTlNBcnJheSAqKWF0dHJpYnV0ZXNBcnJheVJlZikgeworICAgICAgICBhdXRvIGRlY29k
ZWRSZXNwb25zZSA9IGNib3I6OkNCT1JSZWFkZXI6OnJlYWQodmVjdG9yRnJvbU5TRGF0YShhdHRy
aWJ1dGVzWyhpZClrU2VjQXR0ckFwcGxpY2F0aW9uVGFnXSkpOworICAgICAgICBpZiAoIWRlY29k
ZWRSZXNwb25zZSB8fCAhZGVjb2RlZFJlc3BvbnNlLT5pc01hcCgpKSB7CisgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAg
ICB9CisgICAgICAgIGF1dG8mIHJlc3BvbnNlTWFwID0gZGVjb2RlZFJlc3BvbnNlLT5nZXRNYXAo
KTsKKworICAgICAgICBhdXRvIGl0ID0gcmVzcG9uc2VNYXAuZmluZChjYm9yOjpDQk9SVmFsdWUo
Zmlkbzo6a0VudGl0eU5hbWVNYXBLZXkpKTsKKyAgICAgICAgaWYgKGl0ID09IHJlc3BvbnNlTWFw
LmVuZCgpIHx8ICFpdC0+c2Vjb25kLmlzU3RyaW5nKCkpIHsKKyAgICAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIH0KKyAg
ICAgICAgYXV0byYgdXNlcm5hbWUgPSBpdC0+c2Vjb25kLmdldFN0cmluZygpOworCisgICAgICAg
IFtyZXN1bHQgYWRkT2JqZWN0OkB7CisgICAgICAgICAgICBfV0tMb2NhbEF1dGhlbnRpY2F0b3JD
cmVkZW50aWFsTmFtZUtleTogdXNlcm5hbWUsCisgICAgICAgICAgICBfV0tMb2NhbEF1dGhlbnRp
Y2F0b3JDcmVkZW50aWFsSURLZXk6IGF0dHJpYnV0ZXNbKGlkKWtTZWNBdHRyQXBwbGljYXRpb25M
YWJlbF0sCisgICAgICAgICAgICBfV0tMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsUmVseWlu
Z1BhcnR5SURLZXk6IGF0dHJpYnV0ZXNbKGlkKWtTZWNBdHRyTGFiZWxdCisgICAgICAgIH1dOwor
ICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7Cit9CisjZW5kaWYKKworKyAoTlNBcnJheTxOU0Rp
Y3Rpb25hcnkgKj4gKilnZXRBbGxMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFscworeworI2lm
IEVOQUJMRShXRUJfQVVUSE4pCisgICAgcmV0dXJuIGdldEFsbExvY2FsQXV0aGVudGljYXRvckNy
ZWRlbnRpYWxzSW1wbChTdHJpbmcoV2ViQ29yZTo6TG9jYWxBdXRoZW50aWNhdGlvckFjY2Vzc0dy
b3VwKSkuYXV0b3JlbGVhc2UoKTsKKyNlbHNlCisgICAgcmV0dXJuIG51bGxwdHI7CisjZW5kaWYK
K30KKworKyAoTlNBcnJheTxOU0RpY3Rpb25hcnkgKj4gKilnZXRBbGxMb2NhbEF1dGhlbnRpY2F0
b3JDcmVkZW50aWFsc1dpdGhBY2Nlc3NHcm91cDooTlNTdHJpbmcgKilhY2Nlc3NHcm91cAorewor
I2lmIEVOQUJMRShXRUJfQVVUSE4pCisgICAgcmV0dXJuIGdldEFsbExvY2FsQXV0aGVudGljYXRv
ckNyZWRlbnRpYWxzSW1wbChhY2Nlc3NHcm91cCkuYXV0b3JlbGVhc2UoKTsKKyNlbHNlCisgICAg
cmV0dXJuIG51bGxwdHI7CisjZW5kaWYKK30KKworKyAodm9pZClkZWxldGVMb2NhbEF1dGhlbnRp
Y2F0b3JDcmVkZW50aWFsV2l0aElEOihOU0RhdGEgKiljcmVkZW50aWFsSUQKK3sKKyNpZiBFTkFC
TEUoV0VCX0FVVEhOKQorICAgIE5TRGljdGlvbmFyeSogZGVsZXRlUXVlcnkgPSBAeworICAgICAg
ICAoaWQpa1NlY0NsYXNzOiAoaWQpa1NlY0NsYXNzS2V5LAorICAgICAgICAoaWQpa1NlY0F0dHJB
cHBsaWNhdGlvbkxhYmVsOiBjcmVkZW50aWFsSUQsCisjaWYgSEFWRShEQVRBX1BST1RFQ1RJT05f
S0VZQ0hBSU4pCisgICAgICAgIChpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlF
UworI2Vsc2UKKyAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKKyNlbmRpZgorICAg
IH07CisgICAgU2VjSXRlbURlbGV0ZSgoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKWRlbGV0ZVF1
ZXJ5KTsKKyNlbmRpZgorfQorCiArICh2b2lkKWNsZWFyQWxsTG9jYWxBdXRoZW50aWNhdG9yQ3Jl
ZGVudGlhbHMKIHsKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxGb3JUZXN0
aW5nLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGlj
YXRpb25QYW5lbEZvclRlc3RpbmcuaAppbmRleCAxNGViZmUxZTZjYzM2OWIzMWU2ZmI5NzdhYmM0
ODMyNmMyYWE4NThjLi5jMTU4YzhhYjY1ZGQ0MDcxYjVjZDg1OTljOTllYzc0NGYzYmFhZjgxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVu
dGljYXRpb25QYW5lbEZvclRlc3RpbmcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbEZvclRlc3RpbmcuaApAQCAtMzgsNiAr
MzgsOCBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1Nf
VEJBKSkKICsgKFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMpY29u
dmVydFRvQ29yZUNyZWF0aW9uT3B0aW9uc1dpdGhPcHRpb25zOihfV0tQdWJsaWNLZXlDcmVkZW50
aWFsQ3JlYXRpb25PcHRpb25zICopb3B0aW9ucyBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01B
Q19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogKyAoV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlh
bFJlcXVlc3RPcHRpb25zKWNvbnZlcnRUb0NvcmVSZXF1ZXN0T3B0aW9uc1dpdGhPcHRpb25zOihf
V0tQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMgKilvcHRpb25zIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKKysgKE5TQXJyYXk8
TlNEaWN0aW9uYXJ5ICo+ICopZ2V0QWxsTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlhbHNXaXRo
QWNjZXNzR3JvdXA6KE5TU3RyaW5nICopYWNjZXNzR3JvdXAgV0tfQVBJX0FWQUlMQUJMRShtYWNv
cyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwogLy8gRm9yIGRldGFpbHMgb2YgY29u
ZmlndXJhdGlvbiwgcmVmZXIgdG8gTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5o
LgogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TRGljdGlvbmFyeSAqbW9ja0NvbmZpZ3Vy
YXRpb247CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCAzNWZjNzg5M2VhNmJhYTk4ZjRjMTM2MzYxYjcyYzY3NmE2YTIxOTNiLi4yYmY0YjUwZTBi
NzM2NDgxNjIxMjA5Nzk1MzYwNTFmYzFhMmQyOTIxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDItMTAgIEpp
ZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIFBy
b3ZpZGUgU1BJIHRvIHF1ZXJ5IGxvY2FsIGNyZWRlbnRpYWxzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE3NDMKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzY1ODQ5ODMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNh
dGlvblBhbmVsLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMjEtMDIt
MDkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBTeW50aGVzaXplIHJhbmdlIHJlc3BvbnNlcyBpZiBuZWVkZWQgaW4gV2ViQ29yZU5TVVJMU2Vz
c2lvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9f
V0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4IGFhZmQxYmE0N2Q1
MWIxMDk2NDQ0ZjFkODFiOWMxZWM1ZmJlZDQ4NWIuLmNkZjdiNTZkYWJjYjNhM2M3NWZjNjExMGMz
ZTczMjhmOGNjYjc3MjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KQEAg
LTE5MjMsNiArMTkyMywzNyBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIEdldEFzc2Vy
dGlvbkxBKQogICAgIH1dOwogICAgIFV0aWw6OnJ1bigmd2ViQXV0aGVudGljYXRpb25QYW5lbFJh
bik7CiB9CisKK1RFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgR2V0QWxsQ3JlZGVudGlhbCkK
K3sKKyAgICByZXNldCgpOworCisgICAgQVNTRVJUX1RSVUUoYWRkS2V5VG9LZXljaGFpbih0ZXN0
RVMyNTZQcml2YXRlS2V5QmFzZTY0LCAiZXhhbXBsZS5jb20iLCB0ZXN0VXNlckVudGl0eUJ1bmRs
ZUJhc2U2NCkpOworCisgICAgYXV0byAqY3JlZGVudGlhbHMgPSBbX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbCBnZXRBbGxMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsc1dpdGhBY2Nlc3NHcm91
cDpAImNvbS5hcHBsZS5UZXN0V2ViS2l0QVBJIl07CisgICAgRVhQRUNUX05PVF9OVUxMKGNyZWRl
bnRpYWxzKTsKKyAgICBFWFBFQ1RfRVEoW2NyZWRlbnRpYWxzIGNvdW50XSwgMWx1KTsKKworICAg
IEVYUEVDVF9OT1RfTlVMTChbY3JlZGVudGlhbHMgZmlyc3RPYmplY3RdKTsKKyAgICBFWFBFQ1Rf
V0tfU1RSRVEoW2NyZWRlbnRpYWxzIGZpcnN0T2JqZWN0XVtfV0tMb2NhbEF1dGhlbnRpY2F0b3JD
cmVkZW50aWFsTmFtZUtleV0sICJKb2huIik7CisgICAgRVhQRUNUX1dLX1NUUkVRKFtbY3JlZGVu
dGlhbHMgZmlyc3RPYmplY3RdW19XS0xvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxJREtleV0g
YmFzZTY0RW5jb2RlZFN0cmluZ1dpdGhPcHRpb25zOjBdLCAiU01TWEhuZ0Y3aEVPc0VsQTczQzNS
WSs4YlI0PSIpOworICAgIEVYUEVDVF9XS19TVFJFUShbY3JlZGVudGlhbHMgZmlyc3RPYmplY3Rd
W19XS0xvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxSZWx5aW5nUGFydHlJREtleV0sICJleGFt
cGxlLmNvbSIpOworCisgICAgY2xlYW5VcEtleWNoYWluKCJleGFtcGxlLmNvbSIpOworfQorCitU
RVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIERlbGV0ZU9uZUNyZWRlbnRpYWwpCit7CisgICAg
cmVzZXQoKTsKKworICAgIEFTU0VSVF9UUlVFKGFkZEtleVRvS2V5Y2hhaW4odGVzdEVTMjU2UHJp
dmF0ZUtleUJhc2U2NCwgImV4YW1wbGUuY29tIiwgdGVzdFVzZXJFbnRpdHlCdW5kbGVCYXNlNjQp
KTsKKworICAgIFtfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsIGRlbGV0ZUxvY2FsQXV0aGVudGlj
YXRvckNyZWRlbnRpYWxXaXRoSUQ6YWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCYXNl
NjRFbmNvZGVkU3RyaW5nOkAiU01TWEhuZ0Y3aEVPc0VsQTczQzNSWSs4YlI0PSIgb3B0aW9uczow
XSkuZ2V0KCldOworCisgICAgYXV0byAqY3JlZGVudGlhbHMgPSBbX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbCBnZXRBbGxMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsc1dpdGhBY2Nlc3NHcm91
cDpAImNvbS5hcHBsZS5UZXN0V2ViS2l0QVBJIl07CisgICAgRVhQRUNUX05PVF9OVUxMKGNyZWRl
bnRpYWxzKTsKKyAgICBFWFBFQ1RfRVEoW2NyZWRlbnRpYWxzIGNvdW50XSwgMGx1KTsKK30KICNl
bmRpZgogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>
<flag name="review"
          id="438604"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420197</attachid>
            <date>2021-02-12 16:56:20 -0800</date>
            <delta_ts>2021-02-12 17:40:48 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-221743-20210212165619.patch</filename>
            <type>text/plain</type>
            <size>11198</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5ZmI2YTRjN2ZlZjkxNzAz
MjY3YmE3YjYxOWY3Njg2NjU2NDVkYTIuLjFkZDVlMzU5Y2M3ZmE4MThkZWYzN2NjMTI0YTRiNzMy
ZjAxNmQzNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDItMTAgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIFByb3ZpZGUg
U1BJIHRvIHF1ZXJ5IGxvY2FsIGNyZWRlbnRpYWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE3NDMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1
ODQ5ODMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAg
Q292ZXJlZCBieSBBUEkgdGVzdHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW06CisgICAgICAgIChnZXRBbGxMb2NhbEF1dGhl
bnRpY2F0b3JDcmVkZW50aWFsc0ltcGwpOgorICAgICAgICAoK1tfV0tXZWJBdXRoZW50aWNhdGlv
blBhbmVsIGdldEFsbExvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxzXSk6CisgICAgICAgICgr
W19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgZ2V0QWxsTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVu
dGlhbHNXaXRoQWNjZXNzR3JvdXA6XSk6CisgICAgICAgICgrW19XS1dlYkF1dGhlbnRpY2F0aW9u
UGFuZWwgZGVsZXRlTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlhbFdpdGhJRDpdKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxGb3JUZXN0
aW5nLmg6CisKIDIwMjEtMDItMDkgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW21hY09TXSBBZGQgaW50ZXJuYWwgcHJlZmVyZW5jZSB0byBjb250cm9s
IGhvdyBBVk91dHB1dENvbnRleHQgaXMgYWxsb2NhdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwu
aAppbmRleCA4NGZiY2NkZmY3YTk3MWNmNTc0Mjc4MTI1MzA4NWRlYmZiZmExNDZhLi40NDkwNDI0
YTJkYmI0NzlhZGYzMTZhZTAyYjQ3M2E5OWVjNzVmOTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBh
bmVsLmgKQEAgLTI0LDYgKzI0LDcgQEAKICAqLwogCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5k
YXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdC9XS0RlY2xhcmF0aW9uU3BlY2lmaWVycy5oPgogI2lt
cG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgogCiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgpA
QCAtNzksNiArODAsMTAgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLV2ViQXV0aGVu
dGljYXRpb25Tb3VyY2UpIHsKICAgICBfV0tXZWJBdXRoZW50aWNhdGlvblNvdXJjZUV4dGVybmFs
LAogfSBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjApLCBpb3MoMTQuMCkpOwogCitXS19FWFBP
UlQgZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgX1dLTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlh
bE5hbWVLZXk7CitXS19FWFBPUlQgZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgX1dLTG9jYWxBdXRo
ZW50aWNhdG9yQ3JlZGVudGlhbElES2V5OworV0tfRVhQT1JUIGV4dGVybiBOU1N0cmluZyAqIGNv
bnN0IF9XS0xvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxSZWx5aW5nUGFydHlJREtleTsKKwog
QHByb3RvY29sIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWxEZWxlZ2F0ZSA8TlNPYmplY3Q+CiAK
IEBvcHRpb25hbApAQCAtOTgsOCArMTAzLDExIEBAIFdLX0NMQVNTX0FWQUlMQUJMRShtYWNvcygx
MC4xNS40KSwgaW9zKDEzLjQpKQogCiBAcHJvcGVydHkgKG51bGxhYmxlLCBub25hdG9taWMsIHdl
YWspIGlkIDxfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsRGVsZWdhdGU+IGRlbGVnYXRlOwogCi0r
ICh2b2lkKWNsZWFyQWxsTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlhbHM7Ci0rIChCT09MKWlz
VXNlclZlcmlmeWluZ1BsYXRmb3JtQXV0aGVudGljYXRvckF2YWlsYWJsZTsKKysgKE5TQXJyYXk8
TlNEaWN0aW9uYXJ5ICo+ICopZ2V0QWxsTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlhbHMgV0tf
QVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKysgKHZv
aWQpZGVsZXRlTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlhbFdpdGhJRDooTlNEYXRhICopY3Jl
ZGVudGlhbElEIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1Nf
VEJBKSk7CisrICh2b2lkKWNsZWFyQWxsTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlhbHMgV0tf
QVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworKyAo
Qk9PTClpc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JBdmFpbGFibGUgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAogLSAoaW5z
dGFuY2V0eXBlKWluaXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KaW5kZXggOTcwNmQ1
YjIxYWJhMzg4ZTBkYmZjZmJiZWFjYzk3MGQyYTg0MTllOC4uOTRmMjc5M2FlNzBkNGZlZmZlMWFj
Y2UzNGQ1ZmRkYzE4OTcwMzA0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KQEAgLTQ0
LDYgKzQ0LDggQEAKICNpbXBvcnQgIl9XS1B1YmxpY0tleUNyZWRlbnRpYWxVc2VyRW50aXR5Lmgi
CiAjaW1wb3J0IDxXZWJDb3JlL0F1dGhlbnRpY2F0b3JSZXNwb25zZS5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9BdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhLmg+CisjaW1wb3J0IDxXZWJDb3JlL0NCT1JS
ZWFkZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRmlkb0NvbnN0YW50cy5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9Nb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaD4KICNpbXBvcnQgPFdlYkNv
cmUvUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmg+CkBAIC01MSw2ICs1MywxMCBA
QAogI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAK
K05TU3RyaW5nICogY29uc3QgX1dLTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlhbE5hbWVLZXkg
PSBAIl9XS0xvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxOYW1lS2V5IjsKK05TU3RyaW5nICog
Y29uc3QgX1dLTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlhbElES2V5ID0gQCJfV0tMb2NhbEF1
dGhlbnRpY2F0b3JDcmVkZW50aWFsSURLZXkiOworTlNTdHJpbmcgKiBjb25zdCBfV0tMb2NhbEF1
dGhlbnRpY2F0b3JDcmVkZW50aWFsUmVseWluZ1BhcnR5SURLZXkgPSBAIl9XS0xvY2FsQXV0aGVu
dGljYXRvckNyZWRlbnRpYWxSZWx5aW5nUGFydHlJREtleSI7CisKIEBpbXBsZW1lbnRhdGlvbiBf
V0tXZWJBdXRoZW50aWNhdGlvblBhbmVsIHsKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQogICAgIFdl
YWtQdHI8V2ViS2l0OjpXZWJBdXRoZW50aWNhdGlvblBhbmVsQ2xpZW50PiBfY2xpZW50OwpAQCAt
MTUyLDYgKzE1OCw4OCBAQCAtICh2b2lkKXNldERlbGVnYXRlOihpZDxfV0tXZWJBdXRoZW50aWNh
dGlvblBhbmVsRGVsZWdhdGU+KWRlbGVnYXRlCiB9CiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRI
TikKIAorI2lmIEVOQUJMRShXRUJfQVVUSE4pCitzdGF0aWMgUmV0YWluUHRyPE5TQXJyYXk+IGdl
dEFsbExvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxzSW1wbChOU1N0cmluZyAqYWNjZXNzR3Jv
dXApCit7CisgICAgTlNEaWN0aW9uYXJ5ICpxdWVyeSA9IEB7CisgICAgICAgIChfX2JyaWRnZSBp
ZClrU2VjQ2xhc3M6IChfX2JyaWRnZSBpZClrU2VjQ2xhc3NLZXksCisgICAgICAgIChfX2JyaWRn
ZSBpZClrU2VjQXR0cktleUNsYXNzOiAoX19icmlkZ2UgaWQpa1NlY0F0dHJLZXlDbGFzc1ByaXZh
dGUsCisgICAgICAgIChfX2JyaWRnZSBpZClrU2VjQXR0ckFjY2Vzc0dyb3VwOiBhY2Nlc3NHcm91
cCwKKyAgICAgICAgKF9fYnJpZGdlIGlkKWtTZWNSZXR1cm5BdHRyaWJ1dGVzOiBAWUVTLAorICAg
ICAgICAoX19icmlkZ2UgaWQpa1NlY01hdGNoTGltaXQ6IChfX2JyaWRnZSBpZClrU2VjTWF0Y2hM
aW1pdEFsbCwKKyNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikKKyAgICAgICAgKF9f
YnJpZGdlIGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCisjZWxzZQorICAg
ICAgICAoX19icmlkZ2UgaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUworI2VuZGlmCisgICAgfTsK
KyAgICBDRlR5cGVSZWYgYXR0cmlidXRlc0FycmF5UmVmID0gbnVsbHB0cjsKKyAgICBPU1N0YXR1
cyBzdGF0dXMgPSBTZWNJdGVtQ29weU1hdGNoaW5nKChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYp
cXVlcnksICZhdHRyaWJ1dGVzQXJyYXlSZWYpOworICAgIGlmIChzdGF0dXMgJiYgc3RhdHVzICE9
IGVyclNlY0l0ZW1Ob3RGb3VuZCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgYXV0byBy
ZXRhaW5BdHRyaWJ1dGVzQXJyYXkgPSBhZG9wdENGKGF0dHJpYnV0ZXNBcnJheVJlZik7CisKKyAg
ICBhdXRvIHJlc3VsdCA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwor
ICAgIGZvciAoTlNEaWN0aW9uYXJ5ICphdHRyaWJ1dGVzIGluIChOU0FycmF5ICopYXR0cmlidXRl
c0FycmF5UmVmKSB7CisgICAgICAgIGF1dG8gZGVjb2RlZFJlc3BvbnNlID0gY2Jvcjo6Q0JPUlJl
YWRlcjo6cmVhZCh2ZWN0b3JGcm9tTlNEYXRhKGF0dHJpYnV0ZXNbKF9fYnJpZGdlIGlkKWtTZWNB
dHRyQXBwbGljYXRpb25UYWddKSk7CisgICAgICAgIGlmICghZGVjb2RlZFJlc3BvbnNlIHx8ICFk
ZWNvZGVkUmVzcG9uc2UtPmlzTWFwKCkpIHsKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIH0KKyAgICAgICAgYXV0
byYgcmVzcG9uc2VNYXAgPSBkZWNvZGVkUmVzcG9uc2UtPmdldE1hcCgpOworCisgICAgICAgIGF1
dG8gaXQgPSByZXNwb25zZU1hcC5maW5kKGNib3I6OkNCT1JWYWx1ZShmaWRvOjprRW50aXR5TmFt
ZU1hcEtleSkpOworICAgICAgICBpZiAoaXQgPT0gcmVzcG9uc2VNYXAuZW5kKCkgfHwgIWl0LT5z
ZWNvbmQuaXNTdHJpbmcoKSkgeworICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgfQorICAgICAgICBhdXRvJiB1c2Vy
bmFtZSA9IGl0LT5zZWNvbmQuZ2V0U3RyaW5nKCk7CisKKyAgICAgICAgW3Jlc3VsdCBhZGRPYmpl
Y3Q6QHsKKyAgICAgICAgICAgIF9XS0xvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxOYW1lS2V5
OiB1c2VybmFtZSwKKyAgICAgICAgICAgIF9XS0xvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxJ
REtleTogYXR0cmlidXRlc1soX19icmlkZ2UgaWQpa1NlY0F0dHJBcHBsaWNhdGlvbkxhYmVsXSwK
KyAgICAgICAgICAgIF9XS0xvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxSZWx5aW5nUGFydHlJ
REtleTogYXR0cmlidXRlc1soX19icmlkZ2UgaWQpa1NlY0F0dHJMYWJlbF0KKyAgICAgICAgfV07
CisgICAgfQorCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKyNlbmRpZgorCisrIChOU0FycmF5PE5T
RGljdGlvbmFyeSAqPiAqKWdldEFsbExvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxzCit7Cisj
aWYgRU5BQkxFKFdFQl9BVVRITikKKyAgICByZXR1cm4gZ2V0QWxsTG9jYWxBdXRoZW50aWNhdG9y
Q3JlZGVudGlhbHNJbXBsKFN0cmluZyhXZWJDb3JlOjpMb2NhbEF1dGhlbnRpY2F0aW9yQWNjZXNz
R3JvdXApKS5hdXRvcmVsZWFzZSgpOworI2Vsc2UKKyAgICByZXR1cm4gbnVsbHB0cjsKKyNlbmRp
ZgorfQorCisrIChOU0FycmF5PE5TRGljdGlvbmFyeSAqPiAqKWdldEFsbExvY2FsQXV0aGVudGlj
YXRvckNyZWRlbnRpYWxzV2l0aEFjY2Vzc0dyb3VwOihOU1N0cmluZyAqKWFjY2Vzc0dyb3VwCit7
CisjaWYgRU5BQkxFKFdFQl9BVVRITikKKyAgICByZXR1cm4gZ2V0QWxsTG9jYWxBdXRoZW50aWNh
dG9yQ3JlZGVudGlhbHNJbXBsKGFjY2Vzc0dyb3VwKS5hdXRvcmVsZWFzZSgpOworI2Vsc2UKKyAg
ICByZXR1cm4gbnVsbHB0cjsKKyNlbmRpZgorfQorCisrICh2b2lkKWRlbGV0ZUxvY2FsQXV0aGVu
dGljYXRvckNyZWRlbnRpYWxXaXRoSUQ6KE5TRGF0YSAqKWNyZWRlbnRpYWxJRAoreworI2lmIEVO
QUJMRShXRUJfQVVUSE4pCisgICAgTlNEaWN0aW9uYXJ5KiBkZWxldGVRdWVyeSA9IEB7CisgICAg
ICAgIChfX2JyaWRnZSBpZClrU2VjQ2xhc3M6IChfX2JyaWRnZSBpZClrU2VjQ2xhc3NLZXksCisg
ICAgICAgIChfX2JyaWRnZSBpZClrU2VjQXR0ckFwcGxpY2F0aW9uTGFiZWw6IGNyZWRlbnRpYWxJ
RCwKKyNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikKKyAgICAgICAgKF9fYnJpZGdl
IGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCisjZWxzZQorICAgICAgICAo
X19icmlkZ2UgaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUworI2VuZGlmCisgICAgfTsKKyAgICBT
ZWNJdGVtRGVsZXRlKChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpZGVsZXRlUXVlcnkpOworI2Vu
ZGlmCit9CisKICsgKHZvaWQpY2xlYXJBbGxMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFscwog
ewogI2lmIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbEZvclRlc3RpbmcuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVs
Rm9yVGVzdGluZy5oCmluZGV4IDE0ZWJmZTFlNmNjMzY5YjMxZTZmYjk3N2FiYzQ4MzI2YzJhYTg1
OGMuLmMxNThjOGFiNjVkZDQwNzFiNWNkODU5OWM5OWVjNzQ0ZjNiYWFmODEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBh
bmVsRm9yVGVzdGluZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tXZWJBdXRoZW50aWNhdGlvblBhbmVsRm9yVGVzdGluZy5oCkBAIC0zOCw2ICszOCw4IEBAIFdL
X0NMQVNTX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKQogKyAo
V2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyljb252ZXJ0VG9Db3Jl
Q3JlYXRpb25PcHRpb25zV2l0aE9wdGlvbnM6KF9XS1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlv
bk9wdGlvbnMgKilvcHRpb25zIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CiArIChXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9w
dGlvbnMpY29udmVydFRvQ29yZVJlcXVlc3RPcHRpb25zV2l0aE9wdGlvbnM6KF9XS1B1YmxpY0tl
eUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyAqKW9wdGlvbnMgV0tfQVBJX0FWQUlMQUJMRShtYWNv
cyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAorKyAoTlNBcnJheTxOU0RpY3Rpb25h
cnkgKj4gKilnZXRBbGxMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsc1dpdGhBY2Nlc3NHcm91
cDooTlNTdHJpbmcgKilhY2Nlc3NHcm91cCBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19U
QkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiAvLyBGb3IgZGV0YWlscyBvZiBjb25maWd1cmF0aW9u
LCByZWZlciB0byBNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmguCiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgY29weSkgTlNEaWN0aW9uYXJ5ICptb2NrQ29uZmlndXJhdGlvbjsKIApk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDM1ZmM3
ODkzZWE2YmFhOThmNGMxMzYzNjFiNzJjNjc2YTZhMjE5M2IuLmYxOTlhNGMyYzNjY2NlM2E4ODdk
YTgwMmQ1NWVjMmIxZGYxNTk0NGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wMi0xMCAgSmlld2VuIFRhbiAg
PGppZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJBdXRobl0gUHJvdmlkZSBTUEkg
dG8gcXVlcnkgbG9jYWwgY3JlZGVudGlhbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMTc0MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjU4NDk4
MzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5t
bToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIxLTAyLTA5ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU3ludGhlc2l6
ZSByYW5nZSByZXNwb25zZXMgaWYgbmVlZGVkIGluIFdlYkNvcmVOU1VSTFNlc3Npb24KZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVu
dGljYXRpb25QYW5lbC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
X1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQppbmRleCBhYWZkMWJhNDdkNTFiMTA5NjQ0NGYx
ZDgxYjljMWVjNWZiZWQ0ODViLi5jZGY3YjU2ZGFiY2IzYTNjNzVmYzYxMTBjM2U3MzI4ZjhjY2I3
NzI0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC0xOTIzLDYgKzE5
MjMsMzcgQEAgVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBHZXRBc3NlcnRpb25MQSkKICAg
ICB9XTsKICAgICBVdGlsOjpydW4oJndlYkF1dGhlbnRpY2F0aW9uUGFuZWxSYW4pOwogfQorCitU
RVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIEdldEFsbENyZWRlbnRpYWwpCit7CisgICAgcmVz
ZXQoKTsKKworICAgIEFTU0VSVF9UUlVFKGFkZEtleVRvS2V5Y2hhaW4odGVzdEVTMjU2UHJpdmF0
ZUtleUJhc2U2NCwgImV4YW1wbGUuY29tIiwgdGVzdFVzZXJFbnRpdHlCdW5kbGVCYXNlNjQpKTsK
KworICAgIGF1dG8gKmNyZWRlbnRpYWxzID0gW19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgZ2V0
QWxsTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlhbHNXaXRoQWNjZXNzR3JvdXA6QCJjb20uYXBw
bGUuVGVzdFdlYktpdEFQSSJdOworICAgIEVYUEVDVF9OT1RfTlVMTChjcmVkZW50aWFscyk7Cisg
ICAgRVhQRUNUX0VRKFtjcmVkZW50aWFscyBjb3VudF0sIDFsdSk7CisKKyAgICBFWFBFQ1RfTk9U
X05VTEwoW2NyZWRlbnRpYWxzIGZpcnN0T2JqZWN0XSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKFtj
cmVkZW50aWFscyBmaXJzdE9iamVjdF1bX1dLTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlhbE5h
bWVLZXldLCAiSm9obiIpOworICAgIEVYUEVDVF9XS19TVFJFUShbW2NyZWRlbnRpYWxzIGZpcnN0
T2JqZWN0XVtfV0tMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsSURLZXldIGJhc2U2NEVuY29k
ZWRTdHJpbmdXaXRoT3B0aW9uczowXSwgIlNNU1hIbmdGN2hFT3NFbEE3M0MzUlkrOGJSND0iKTsK
KyAgICBFWFBFQ1RfV0tfU1RSRVEoW2NyZWRlbnRpYWxzIGZpcnN0T2JqZWN0XVtfV0tMb2NhbEF1
dGhlbnRpY2F0b3JDcmVkZW50aWFsUmVseWluZ1BhcnR5SURLZXldLCAiZXhhbXBsZS5jb20iKTsK
KworICAgIGNsZWFuVXBLZXljaGFpbigiZXhhbXBsZS5jb20iKTsKK30KKworVEVTVChXZWJBdXRo
ZW50aWNhdGlvblBhbmVsLCBEZWxldGVPbmVDcmVkZW50aWFsKQoreworICAgIHJlc2V0KCk7CisK
KyAgICBBU1NFUlRfVFJVRShhZGRLZXlUb0tleWNoYWluKHRlc3RFUzI1NlByaXZhdGVLZXlCYXNl
NjQsICJleGFtcGxlLmNvbSIsIHRlc3RVc2VyRW50aXR5QnVuZGxlQmFzZTY0KSk7CisKKyAgICBb
X1dLV2ViQXV0aGVudGljYXRpb25QYW5lbCBkZWxldGVMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50
aWFsV2l0aElEOmFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQmFzZTY0RW5jb2RlZFN0
cmluZzpAIlNNU1hIbmdGN2hFT3NFbEE3M0MzUlkrOGJSND0iIG9wdGlvbnM6MF0pLmdldCgpXTsK
KworICAgIGF1dG8gKmNyZWRlbnRpYWxzID0gW19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwgZ2V0
QWxsTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlhbHNXaXRoQWNjZXNzR3JvdXA6QCJjb20uYXBw
bGUuVGVzdFdlYktpdEFQSSJdOworICAgIEVYUEVDVF9OT1RfTlVMTChjcmVkZW50aWFscyk7Cisg
ICAgRVhQRUNUX0VRKFtjcmVkZW50aWFscyBjb3VudF0sIDBsdSk7Cit9CiAjZW5kaWYKIAogfSAv
LyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>