<?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>204726</bug_id>
          
          <creation_ts>2019-12-01 07:09:32 -0800</creation_ts>
          <short_desc>[32-bits] Check if StructureStubInfo::patch.baseTagGPR is used somewhere.</short_desc>
          <delta_ts>2019-12-05 12:00:53 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Caio Lima">ticaiolima</reporter>
          <assigned_to name="Caio Lima">ticaiolima</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1594409</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2019-12-01 07:09:32 -0800</bug_when>
    <thetext>If this member is never used, we can remove it and reduce sizeof(StructureStubInfo).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594433</commentid>
    <comment_count>1</comment_count>
      <attachid>384577</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2019-12-01 11:46:03 -0800</bug_when>
    <thetext>Created attachment 384577
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1594483</commentid>
    <comment_count>2</comment_count>
      <attachid>384577</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-12-01 19:10:32 -0800</bug_when>
    <thetext>Comment on attachment 384577
Patch

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

r=me with ChangeLog fix.

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +         When we generate ByIdInlineCache and ByValInlineCache, `base` is always
&gt; +         a cell. Given that, we don&apos;t need to store `baseTag` on 32-bits
&gt; +         version. This patch is removing StructureStubInfo::patch.baseTagGPR.

Please fix the alignment.  These lines appear to be off by one (they have 1 extra space).

Please add a comment here that the code also doesn&apos;t make use of the patch.baseTagGPR.  It&apos;s being passed around, and the register is allocated, but no instructions are being emitted that uses it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595001</commentid>
    <comment_count>3</comment_count>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2019-12-03 07:11:36 -0800</bug_when>
    <thetext>(In reply to Mark Lam from comment #2)
&gt; Comment on attachment 384577 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=384577&amp;action=review
&gt; 
&gt; r=me with ChangeLog fix.
&gt; 
&gt; &gt; Source/JavaScriptCore/ChangeLog:10
&gt; &gt; +         When we generate ByIdInlineCache and ByValInlineCache, `base` is always
&gt; &gt; +         a cell. Given that, we don&apos;t need to store `baseTag` on 32-bits
&gt; &gt; +         version. This patch is removing StructureStubInfo::patch.baseTagGPR.
&gt; 
&gt; Please fix the alignment.  These lines appear to be off by one (they have 1
&gt; extra space).
&gt; 
&gt; Please add a comment here that the code also doesn&apos;t make use of the
&gt; patch.baseTagGPR.  It&apos;s being passed around, and the register is allocated,
&gt; but no instructions are being emitted that uses it.

Thank you very much for the review. I was thinking in the following case that needs to be checked before upstreaming this patch: We allocate baseTagGPR (it can happen on DFG) but we don&apos;t lock this into IC. If we allocate a scratch GPR to this same register, we will clobber baseTagGPR and it can cause issues if we take a slow path that is expecting an EncondedJSValue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595172</commentid>
    <comment_count>4</comment_count>
      <attachid>384752</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2019-12-03 13:42:00 -0800</bug_when>
    <thetext>Created attachment 384752
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595173</commentid>
    <comment_count>5</comment_count>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2019-12-03 13:43:05 -0800</bug_when>
    <thetext>(In reply to Caio Lima from comment #4)
&gt; Created attachment 384752 [details]
&gt; Patch

Checking if EWS is happy about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595228</commentid>
    <comment_count>6</comment_count>
      <attachid>384752</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2019-12-03 15:41:12 -0800</bug_when>
    <thetext>Comment on attachment 384752
Patch

Tested internally and found some issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595547</commentid>
    <comment_count>7</comment_count>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2019-12-04 12:06:00 -0800</bug_when>
    <thetext>(In reply to Caio Lima from comment #3)
&gt;
&gt; Thank you very much for the review. I was thinking in the following case
&gt; that needs to be checked before upstreaming this patch: We allocate
&gt; baseTagGPR (it can happen on DFG) but we don&apos;t lock this into IC. If we
&gt; allocate a scratch GPR to this same register, we will clobber baseTagGPR and
&gt; it can cause issues if we take a slow path that is expecting an
&gt; EncondedJSValue.

I think I might be able to reproduce such case with a test. I&apos;ll upload it and a new version of patch as soon as I have it done..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595917</commentid>
    <comment_count>8</comment_count>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2019-12-05 12:00:53 -0800</bug_when>
    <thetext>(In reply to Caio Lima from comment #3)
&gt; 
&gt; Thank you very much for the review. I was thinking in the following case
&gt; that needs to be checked before upstreaming this patch: We allocate
&gt; baseTagGPR (it can happen on DFG) but we don&apos;t lock this into IC. If we
&gt; allocate a scratch GPR to this same register, we will clobber baseTagGPR and
&gt; it can cause issues if we take a slow path that is expecting an
&gt; EncondedJSValue.

I&apos;m not confident that it is safe to upstream current patch and this will require deeper investigation. I was investigating the case where we generate IC in the `viaProxy()` on `AccessCase::generateWithGuard()`. The problem in this path is that we remove `baseTagGPR` from `usedRegisters` set and it leaves a breach to have baseTagGPR clobbered when we fallback to slow path. I&apos;ll revisit this later when having more time, since it requires more investigation.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384577</attachid>
            <date>2019-12-01 11:46:03 -0800</date>
            <delta_ts>2019-12-03 15:40:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204726-20191201114603.patch</filename>
            <type>text/plain</type>
            <size>5682</size>
            <attacher name="Caio Lima">ticaiolima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyOTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
YjJkYzQ3ZmYxOGQ0ZjNhYzliNWMzNTc2OGJiNzFjYjViYzMyOTIzLi4xM2NjNGQyODBmMjI4YzAw
NTQ4ODZkMzZmNTJkNzhjMzRlZTFkZWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxOS0xMi0wMSAgQ2FpbyBMaW1hICA8dGljYWlvbGltYUBnbWFpbC5jb20+
CisKKyAgICAgICAgWzMyLWJpdHNdIENoZWNrIGlmIFN0cnVjdHVyZVN0dWJJbmZvOjpwYXRjaC5i
YXNlVGFnR1BSIGlzIHVzZWQgc29tZXdoZXJlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NzI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgIFdoZW4gd2UgZ2VuZXJhdGUgQnlJZElubGluZUNhY2hlIGFu
ZCBCeVZhbElubGluZUNhY2hlLCBgYmFzZWAgaXMgYWx3YXlzCisgICAgICAgICBhIGNlbGwuIEdp
dmVuIHRoYXQsIHdlIGRvbid0IG5lZWQgdG8gc3RvcmUgYGJhc2VUYWdgIG9uIDMyLWJpdHMKKyAg
ICAgICAgIHZlcnNpb24uIFRoaXMgcGF0Y2ggaXMgcmVtb3ZpbmcgU3RydWN0dXJlU3R1YkluZm86
OnBhdGNoLmJhc2VUYWdHUFIuCisKKyAgICAgICAgKiBieXRlY29kZS9BY2Nlc3NDYXNlLmNwcDoK
KyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKToKKyAgICAgICAgKiBieXRl
Y29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6R2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZTo6ZW1pdERPTUpJVEdldHRlcik6CisgICAgICAgICogYnl0ZWNvZGUvSW5s
aW5lQWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6Z2V0U2NyYXRjaFJlZ2lzdGVyKToKKyAgICAg
ICAgKiBieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHA6CisgICAgICAgIChKU0M6OlBvbHlt
b3JwaGljQWNjZXNzOjpyZWdlbmVyYXRlKToKKyAgICAgICAgKiBieXRlY29kZS9TdHJ1Y3R1cmVT
dHViSW5mby5oOgorICAgICAgICAqIGppdC9KSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5jcHA6Cisg
ICAgICAgIChKU0M6OkpJVEJ5SWRHZW5lcmF0b3I6OkpJVEJ5SWRHZW5lcmF0b3IpOgorICAgICAg
ICAoSlNDOjpKSVRJbnN0YW5jZU9mR2VuZXJhdG9yOjpKSVRJbnN0YW5jZU9mR2VuZXJhdG9yKToK
KwogMjAxOS0xMS0yOSAgRWlrZSBSYXRoa2UgIDxlcmFja0ByZWRoYXQuY29tPgogCiAgICAgICAg
IFVzZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGZvciBKU1ZBTFVFNjQgd2l0aCBHQ0Mgb24gdW5r
bm93biBwbGF0Zm9ybS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9BY2Nlc3NDYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3ND
YXNlLmNwcAppbmRleCA3MDJkZWJhYTFjYTJiMjU3ZWM2ZGNkZTFlNzc0MmMzODhhYTk0Mzc1Li42
YTEzYjUzYmY0MTA5NTEwYWQ2OTFmYmNjYmI0ZjMxNGRiYTJjYWVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCkBAIC0xNzA4LDkgKzE3MDgsNiBA
QCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmIHN0
YXRlKQogCiAgICAgICAgIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvciBhbGxvY2F0b3Ioc3R1Yklu
Zm8ucGF0Y2gudXNlZFJlZ2lzdGVycyk7CiAgICAgICAgIGFsbG9jYXRvci5sb2NrKGJhc2VHUFIp
OwotI2lmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgICAgIGFsbG9jYXRvci5sb2NrKHN0dWJJbmZv
LnBhdGNoLmJhc2VUYWdHUFIpOwotI2VuZGlmCiAgICAgICAgIGFsbG9jYXRvci5sb2NrKHZhbHVl
UmVncyk7CiAgICAgICAgIGFsbG9jYXRvci5sb2NrKHNjcmF0Y2hHUFIpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZS5jcHAKaW5kZXggNDllMTE3YTViNmY3YTRhZTM4NjM0YTQ2NTQ1NjkzMGUwYTA1NjEzNS4uMGIx
ODJlMzEzNGE4Yzc5NzIwN2FiZDgzYTRmMWZmZjU3ODc5NDVlYiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNw
cApAQCAtMTQwLDkgKzE0MCw2IEBAIHZvaWQgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6ZW1pdERP
TUpJVEdldHRlcihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmIHN0YXRlLCBjb25zCiAKICAgICBTY3Jh
dGNoUmVnaXN0ZXJBbGxvY2F0b3IgYWxsb2NhdG9yKHN0dWJJbmZvLnBhdGNoLnVzZWRSZWdpc3Rl
cnMpOwogICAgIGFsbG9jYXRvci5sb2NrKGJhc2VHUFIpOwotI2lmIFVTRShKU1ZBTFVFMzJfNjQp
Ci0gICAgYWxsb2NhdG9yLmxvY2soc3R1YkluZm8ucGF0Y2guYmFzZVRhZ0dQUik7Ci0jZW5kaWYK
ICAgICBhbGxvY2F0b3IubG9jayh2YWx1ZVJlZ3MpOwogICAgIGFsbG9jYXRvci5sb2NrKHNjcmF0
Y2hHUFIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5s
aW5lQWNjZXNzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbmxpbmVBY2Nl
c3MuY3BwCmluZGV4IGQ0ZTA3ZWE2ZjZjOTVkMGJlODkzY2MxZjVmNWFkYzM3ZTAyMmM4ZDUuLjY1
YzVmYzY3YzNlNDBkYWYzNTM0ZGYzNGMyODBjOTVhOWIyODBlNTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbmxpbmVBY2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbmxpbmVBY2Nlc3MuY3BwCkBAIC0yMTMsNyArMjEzLDYg
QEAgQUxXQVlTX0lOTElORSBzdGF0aWMgR1BSUmVnIGdldFNjcmF0Y2hSZWdpc3RlcihTdHJ1Y3R1
cmVTdHViSW5mbyYgc3R1YkluZm8pCiAgICAgYWxsb2NhdG9yLmxvY2soc3R1YkluZm8uYmFzZUdQ
UigpKTsKICAgICBhbGxvY2F0b3IubG9jayhzdHViSW5mby5wYXRjaC52YWx1ZUdQUik7CiAjaWYg
VVNFKEpTVkFMVUUzMl82NCkKLSAgICBhbGxvY2F0b3IubG9jayhzdHViSW5mby5wYXRjaC5iYXNl
VGFnR1BSKTsKICAgICBhbGxvY2F0b3IubG9jayhzdHViSW5mby5wYXRjaC52YWx1ZVRhZ0dQUik7
CiAjZW5kaWYKICAgICBHUFJSZWcgc2NyYXRjaCA9IGFsbG9jYXRvci5hbGxvY2F0ZVNjcmF0Y2hH
UFIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9y
cGhpY0FjY2Vzcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBo
aWNBY2Nlc3MuY3BwCmluZGV4IDJmYjY3MWU5M2FlYmUxN2VlMjkxYTYyNzg4NmI4ZmM2YmM4ZDA0
YjAuLmFmNTBiYzY0MDM5YjBmODFkNzdkNzQyNTUwYTQwZjg5MjhlMmFjODIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcApA
QCAtNDUwLDkgKzQ1MCw2IEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nl
c3M6OnJlZ2VuZXJhdGUoCiAgICAgaWYgKHN0YXRlLnUudGhpc0dQUiAhPSBJbnZhbGlkR1BSUmVn
KQogICAgICAgICBhbGxvY2F0b3IubG9jayhzdGF0ZS51LnRoaXNHUFIpOwogICAgIGFsbG9jYXRv
ci5sb2NrKHN0YXRlLnZhbHVlUmVncyk7Ci0jaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICBhbGxv
Y2F0b3IubG9jayhzdHViSW5mby5wYXRjaC5iYXNlVGFnR1BSKTsKLSNlbmRpZgogCiAgICAgc3Rh
dGUuc2NyYXRjaEdQUiA9IGFsbG9jYXRvci5hbGxvY2F0ZVNjcmF0Y2hHUFIoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAppbmRl
eCA1NzhlNTk3OWMzOWIxMDJjN2EwMjNhZDk1ODZlNmI2OWEyMjg1NmJkLi4xYTk5YWFlOTllODE0
ZTM4NDI1Y2RmNTg2MzY4MTE1YTdkOTg2MmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaApAQCAtMjIwLDcgKzIyMCw2IEBAIHB1
YmxpYzoKICAgICAgICAgfSB1OwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAgICAgIEdQUlJl
ZyB2YWx1ZVRhZ0dQUjsKLSAgICAgICAgR1BSUmVnIGJhc2VUYWdHUFI7CiAgICAgICAgIEdQUlJl
ZyB0aGlzVGFnR1BSOwogI2VuZGlmCiAgICAgfSBwYXRjaDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5jcHAKaW5kZXggY2Q2YWEz
MTc2NmNkNjg2NmYwZDVhNmVjMzgwNmRiOGQ5ZDcyZDUyZS4uNzM5N2UyMzQyOWU4MjU1ZTBhN2Uz
ODQzYzA3NGQ3MjdkNjUzNGU4MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5jcHAKQEAgLTc2LDcgKzc2LDYgQEAgSklUQnlJ
ZEdlbmVyYXRvcjo6SklUQnlJZEdlbmVyYXRvcigKICAgICBtX3N0dWJJbmZvLT5wYXRjaC52YWx1
ZUdQUiA9IHZhbHVlLnBheWxvYWRHUFIoKTsKICAgICBtX3N0dWJJbmZvLT5wYXRjaC51LnRoaXNH
UFIgPSBJbnZhbGlkR1BSUmVnOwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgbV9zdHViSW5m
by0+cGF0Y2guYmFzZVRhZ0dQUiA9IGJhc2UudGFnR1BSKCk7CiAgICAgbV9zdHViSW5mby0+cGF0
Y2gudmFsdWVUYWdHUFIgPSB2YWx1ZS50YWdHUFIoKTsKICAgICBtX3N0dWJJbmZvLT5wYXRjaC50
aGlzVGFnR1BSID0gSW52YWxpZEdQUlJlZzsKICNlbmRpZgpAQCAtMTg4LDcgKzE4Nyw2IEBAIEpJ
VEluc3RhbmNlT2ZHZW5lcmF0b3I6OkpJVEluc3RhbmNlT2ZHZW5lcmF0b3IoCiAgICAgbV9zdHVi
SW5mby0+cGF0Y2gudmFsdWVHUFIgPSByZXN1bHQ7CiAgICAgbV9zdHViSW5mby0+cGF0Y2gudS5w
cm90b3R5cGVHUFIgPSBwcm90b3R5cGU7CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICBtX3N0
dWJJbmZvLT5wYXRjaC5iYXNlVGFnR1BSID0gSW52YWxpZEdQUlJlZzsKICAgICBtX3N0dWJJbmZv
LT5wYXRjaC52YWx1ZVRhZ0dQUiA9IEludmFsaWRHUFJSZWc7CiAgICAgbV9zdHViSW5mby0+cGF0
Y2gudGhpc1RhZ0dQUiA9IEludmFsaWRHUFJSZWc7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384752</attachid>
            <date>2019-12-03 13:42:00 -0800</date>
            <delta_ts>2019-12-03 15:41:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204726-20191203134159.patch</filename>
            <type>text/plain</type>
            <size>19794</size>
            <attacher name="Caio Lima">ticaiolima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
NDY2ZjVlYjI5MTEzYzMyODBmOGQ2NjMyMGQxMDQ0NTEwM2IwMjdmLi43OTJmMGU2M2Y1ODdlNjdh
MDZiZDc2OTEyZmIxOWRhNTc2MDRlOTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOSBAQAorMjAxOS0xMi0wMyAgQ2FpbyBMaW1hICA8dGljYWlvbGltYUBnbWFpbC5jb20+
CisKKyAgICAgICAgWzMyLWJpdHNdIENoZWNrIGlmIFN0cnVjdHVyZVN0dWJJbmZvOjpwYXRjaC5i
YXNlVGFnR1BSIGlzIHVzZWQgc29tZXdoZXJlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NzI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2hlbiB3ZSBnZW5lcmF0ZSBCeUlkSW5saW5lQ2FjaGUgYW5k
IEJ5VmFsSW5saW5lQ2FjaGUsIGBiYXNlYCBpcyBhbHdheXMKKyAgICAgICAgYSBjZWxsLiBHaXZl
biB0aGF0LCB3ZSBkb24ndCBuZWVkIHRvIHN0b3JlIGBiYXNlVGFnYCBvbiAzMi1iaXRzCisgICAg
ICAgIHZlcnNpb24uIFRoaXMgcGF0Y2ggaXMgcmVtb3ZpbmcgU3RydWN0dXJlU3R1YkluZm86OnBh
dGNoLmJhc2VUYWdHUFIsCisgICAgICAgIGJlY2F1c2UgaW5zdHJ1Y3Rpb25zIGVtaXR0ZWQgZm9y
IElDIGFyZSBub3QgdXNpbmcgc3VjaCByZWdzaXRlci4KKyAgICAgICAgSW4gYWRpdHRpb24sIHdl
IGFyZSBjaGFuZ2luZyB0aGUgc2lnbmF0dXJlIG9mIGBjYWNoZWRHZXRCeUlkYCBhbmQgCisgICAg
ICAgIGBjYWNoZWRHZXRCeUlkV2l0aFRoaXNgIHRvIG5vdCByZWNlaXZlIGJhc2VUYWdHUFIgYW55
bW9yZSwgc2luY2Ugd2UKKyAgICAgICAgYWxzbyBrbm93IHRoYXQgYmFzZSBpcyBhIGNlbGwgb24g
dGhvc2UgY2FzZXMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCisgICAgICAgICogYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHA6CisgICAgICAg
IChKU0M6OkFjY2Vzc0Nhc2U6OmdlbmVyYXRlV2l0aEd1YXJkKToKKyAgICAgICAgKEpTQzo6QWNj
ZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKToKKyAgICAgICAgKiBieXRlY29kZS9HZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6ZW1p
dERPTUpJVEdldHRlcik6CisgICAgICAgICogYnl0ZWNvZGUvSW5saW5lQWNjZXNzLmNwcDoKKyAg
ICAgICAgKEpTQzo6Z2V0U2NyYXRjaFJlZ2lzdGVyKToKKyAgICAgICAgKiBieXRlY29kZS9Qb2x5
bW9ycGhpY0FjY2Vzcy5jcHA6CisgICAgICAgIChKU0M6OlBvbHltb3JwaGljQWNjZXNzOjpyZWdl
bmVyYXRlKToKKyAgICAgICAgKiBieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5oOgorICAgICAg
ICAoSlNDOjpTdHJ1Y3R1cmVTdHViSW5mbzo6YmFzZVJlZ3MgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxh
dGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2Fj
aGVkR2V0QnlJZCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNhY2hlZEdl
dEJ5SWRXaXRoVGhpcyk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGUpOgorICAgICAgICAqIGppdC9KSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5jcHA6CisgICAgICAg
IChKU0M6OkpJVEJ5SWRHZW5lcmF0b3I6OkpJVEJ5SWRHZW5lcmF0b3IpOgorICAgICAgICAoSlND
OjpKSVRJbnN0YW5jZU9mR2VuZXJhdG9yOjpKSVRJbnN0YW5jZU9mR2VuZXJhdG9yKToKKyAgICAg
ICAgKEpTQzo6SklUR2V0QnlWYWxHZW5lcmF0b3I6OkpJVEdldEJ5VmFsR2VuZXJhdG9yKToKKwog
MjAxOS0xMi0wMiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBQ
cm9wZXJ0eVNsb3Qgc2hvdWxkIG5vdCBoYXZlIEN1c3RvbXMgaGF2ZSBhIFByb3BlcnR5T2Zmc2V0
IG9mIHplcm8KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNw
cAppbmRleCA4MDgxMTIyZDQwNGMxY2FjZTAxMTExY2QyMDNjZmIzMWVhMWI4NWY0Li44OWNlODYz
Y2NhZjU1OTM4MTBlNTE3N2EwMGM3YmRmOTU3NjFmYjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCkBAIC04NzEsNyArODcxLDcgQEAgdm9pZCBB
Y2Nlc3NDYXNlOjpnZW5lcmF0ZVdpdGhHdWFyZCgKICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5k
KGppdC5icmFuY2gzMihDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLCBzY3JhdGNoR1BSLCBDQ2FsbEhl
bHBlcnM6OlRydXN0ZWRJbW0zMihTY29wZWRBcmd1bWVudHNUeXBlKSkpOwogCiAgICAgICAgIFNj
cmF0Y2hSZWdpc3RlckFsbG9jYXRvciBhbGxvY2F0b3Ioc3R1YkluZm8ucGF0Y2gudXNlZFJlZ2lz
dGVycyk7Ci0gICAgICAgIGFsbG9jYXRvci5sb2NrKHN0dWJJbmZvLmJhc2VSZWdzKCkpOworICAg
ICAgICBhbGxvY2F0b3IubG9jayhiYXNlR1BSKTsKICAgICAgICAgYWxsb2NhdG9yLmxvY2sodmFs
dWVSZWdzKTsKICAgICAgICAgYWxsb2NhdG9yLmxvY2soc3R1YkluZm8ucHJvcGVydHlSZWdzKCkp
OwogICAgICAgICBhbGxvY2F0b3IubG9jayhzY3JhdGNoR1BSKTsKQEAgLTk2Niw3ICs5NjYsNyBA
QCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlV2l0aEd1YXJkKAogICAgICAgICBzdGF0ZS5mYWls
QW5kUmVwYXRjaC5hcHBlbmQoaml0LmJyYW5jaDMyKENDYWxsSGVscGVyczo6QWJvdmVPckVxdWFs
LCBwcm9wZXJ0eUdQUiwgc2NyYXRjaEdQUikpOwogCiAgICAgICAgIFNjcmF0Y2hSZWdpc3RlckFs
bG9jYXRvciBhbGxvY2F0b3Ioc3R1YkluZm8ucGF0Y2gudXNlZFJlZ2lzdGVycyk7Ci0gICAgICAg
IGFsbG9jYXRvci5sb2NrKHN0dWJJbmZvLmJhc2VSZWdzKCkpOworICAgICAgICBhbGxvY2F0b3Iu
bG9jayhiYXNlR1BSKTsKICAgICAgICAgYWxsb2NhdG9yLmxvY2sodmFsdWVSZWdzKTsKICAgICAg
ICAgYWxsb2NhdG9yLmxvY2soc3R1YkluZm8ucHJvcGVydHlSZWdzKCkpOwogICAgICAgICBhbGxv
Y2F0b3IubG9jayhzY3JhdGNoR1BSKTsKQEAgLTEwNDgsNyArMTA0OCw3IEBAIHZvaWQgQWNjZXNz
Q2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQu
YnJhbmNoSWZOb3RTdHJpbmcoYmFzZUdQUikpOwogCiAgICAgICAgIFNjcmF0Y2hSZWdpc3RlckFs
bG9jYXRvciBhbGxvY2F0b3Ioc3R1YkluZm8ucGF0Y2gudXNlZFJlZ2lzdGVycyk7Ci0gICAgICAg
IGFsbG9jYXRvci5sb2NrKHN0dWJJbmZvLmJhc2VSZWdzKCkpOworICAgICAgICBhbGxvY2F0b3Iu
bG9jayhiYXNlR1BSKTsKICAgICAgICAgYWxsb2NhdG9yLmxvY2sodmFsdWVSZWdzKTsKICAgICAg
ICAgYWxsb2NhdG9yLmxvY2soc3R1YkluZm8ucHJvcGVydHlSZWdzKCkpOwogICAgICAgICBhbGxv
Y2F0b3IubG9jayhzY3JhdGNoR1BSKTsKQEAgLTExMDgsNyArMTEwOCw3IEBAIHZvaWQgQWNjZXNz
Q2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAgICAgICAgIENDYWxsSGVscGVyczo6SnVtcCBpc0Vt
cHR5OwogCiAgICAgICAgIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvciBhbGxvY2F0b3Ioc3R1Yklu
Zm8ucGF0Y2gudXNlZFJlZ2lzdGVycyk7Ci0gICAgICAgIGFsbG9jYXRvci5sb2NrKHN0dWJJbmZv
LmJhc2VSZWdzKCkpOworICAgICAgICBhbGxvY2F0b3IubG9jayhiYXNlR1BSKTsKICAgICAgICAg
YWxsb2NhdG9yLmxvY2sodmFsdWVSZWdzKTsKICAgICAgICAgYWxsb2NhdG9yLmxvY2soc3R1Yklu
Zm8ucHJvcGVydHlSZWdzKCkpOwogICAgICAgICBhbGxvY2F0b3IubG9jayhzY3JhdGNoR1BSKTsK
QEAgLTEyMTksNyArMTIxOSw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQo
CiAgICAgICAgIEdQUlJlZyB2YWx1ZUdQUiA9IHZhbHVlUmVncy5wYXlsb2FkR1BSKCk7CiAgICAg
ICAgIAogICAgICAgICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3IgYWxsb2NhdG9yKHN0dWJJbmZv
LnBhdGNoLnVzZWRSZWdpc3RlcnMpOwotICAgICAgICBhbGxvY2F0b3IubG9jayhzdHViSW5mby5i
YXNlUmVncygpKTsKKyAgICAgICAgYWxsb2NhdG9yLmxvY2soYmFzZUdQUik7CiAgICAgICAgIGFs
bG9jYXRvci5sb2NrKHZhbHVlUmVncyk7CiAgICAgICAgIGFsbG9jYXRvci5sb2NrKHN0dWJJbmZv
LnByb3BlcnR5UmVncygpKTsKICAgICAgICAgYWxsb2NhdG9yLmxvY2soc2NyYXRjaEdQUik7CkBA
IC0xNzMyLDcgKzE3MzIsNyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NH
ZW5lcmF0aW9uU3RhdGUmIHN0YXRlKQogICAgICAgICBib29sIGFsbG9jYXRpbmdJbmxpbmUgPSBh
bGxvY2F0aW5nICYmICFzdHJ1Y3R1cmUoKS0+Y291bGRIYXZlSW5kZXhpbmdIZWFkZXIoKTsKIAog
ICAgICAgICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3IgYWxsb2NhdG9yKHN0dWJJbmZvLnBhdGNo
LnVzZWRSZWdpc3RlcnMpOwotICAgICAgICBhbGxvY2F0b3IubG9jayhzdHViSW5mby5iYXNlUmVn
cygpKTsKKyAgICAgICAgYWxsb2NhdG9yLmxvY2soYmFzZUdQUik7CiAgICAgICAgIGFsbG9jYXRv
ci5sb2NrKHZhbHVlUmVncyk7CiAgICAgICAgIGFsbG9jYXRvci5sb2NrKHNjcmF0Y2hHUFIpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVy
QWNjZXNzQ2FzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZS5jcHAKaW5kZXggZDE4YTc2NTcxMjc4ZDNiMzZiNWVhNDJkOGRiZWYyNDc1
ZmJmMmZiZC4uMGIxODJlMzEzNGE4Yzc5NzIwN2FiZDgzYTRmMWZmZjU3ODc5NDVlYiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nh
c2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQgR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZTo6ZW1pdERPTUpJVEdldHRlcihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmIHN0YXRlLCBjb25z
CiAgICAgVmVjdG9yPFNuaXBwZXRQYXJhbXM6OlZhbHVlPiByZWdzOwogCiAgICAgU2NyYXRjaFJl
Z2lzdGVyQWxsb2NhdG9yIGFsbG9jYXRvcihzdHViSW5mby5wYXRjaC51c2VkUmVnaXN0ZXJzKTsK
LSAgICBhbGxvY2F0b3IubG9jayhzdHViSW5mby5iYXNlUmVncygpKTsKKyAgICBhbGxvY2F0b3Iu
bG9jayhiYXNlR1BSKTsKICAgICBhbGxvY2F0b3IubG9jayh2YWx1ZVJlZ3MpOwogICAgIGFsbG9j
YXRvci5sb2NrKHNjcmF0Y2hHUFIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvSW5saW5lQWNjZXNzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9JbmxpbmVBY2Nlc3MuY3BwCmluZGV4IGQ0ZTA3ZWE2ZjZjOTVkMGJlODkzY2MxZjVmNWFk
YzM3ZTAyMmM4ZDUuLjY1YzVmYzY3YzNlNDBkYWYzNTM0ZGYzNGMyODBjOTVhOWIyODBlNTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbmxpbmVBY2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbmxpbmVBY2Nlc3MuY3BwCkBA
IC0yMTMsNyArMjEzLDYgQEAgQUxXQVlTX0lOTElORSBzdGF0aWMgR1BSUmVnIGdldFNjcmF0Y2hS
ZWdpc3RlcihTdHJ1Y3R1cmVTdHViSW5mbyYgc3R1YkluZm8pCiAgICAgYWxsb2NhdG9yLmxvY2so
c3R1YkluZm8uYmFzZUdQUigpKTsKICAgICBhbGxvY2F0b3IubG9jayhzdHViSW5mby5wYXRjaC52
YWx1ZUdQUik7CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICBhbGxvY2F0b3IubG9jayhzdHVi
SW5mby5wYXRjaC5iYXNlVGFnR1BSKTsKICAgICBhbGxvY2F0b3IubG9jayhzdHViSW5mby5wYXRj
aC52YWx1ZVRhZ0dQUik7CiAjZW5kaWYKICAgICBHUFJSZWcgc2NyYXRjaCA9IGFsbG9jYXRvci5h
bGxvY2F0ZVNjcmF0Y2hHUFIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCmluZGV4IGIwNjc5MTI0OTJmYjIzNjlkMTM0NGMx
NTJiNzVlZmUwYmNlYjU0MWYuLmJkZmViOWUxZTc4MDVlOWE1OWYxMTU2ZmJlNjI1M2ZhODE1MWZi
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhp
Y0FjY2Vzcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3Jw
aGljQWNjZXNzLmNwcApAQCAtNDUxLDcgKzQ1MSw2IEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQg
UG9seW1vcnBoaWNBY2Nlc3M6OnJlZ2VuZXJhdGUoCiAgICAgICAgIGFsbG9jYXRvci5sb2NrKHN0
YXRlLnUudGhpc0dQUik7CiAgICAgYWxsb2NhdG9yLmxvY2soc3RhdGUudmFsdWVSZWdzKTsKICNp
ZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgIGFsbG9jYXRvci5sb2NrKHN0dWJJbmZvLnBhdGNoLmJh
c2VUYWdHUFIpOwogICAgIGlmIChzdHViSW5mby5wYXRjaC52LnRoaXNUYWdHUFIgIT0gSW52YWxp
ZEdQUlJlZykKICAgICAgICAgYWxsb2NhdG9yLmxvY2soc3R1YkluZm8ucGF0Y2gudi50aGlzVGFn
R1BSKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1N0cnVjdHVyZVN0dWJJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3Ry
dWN0dXJlU3R1YkluZm8uaAppbmRleCA0OTAzMmY3YmUwNDg1NzY2NTE4NWE4MmU5Mjg5OGY4OGY1
MDUwMDY1Li5mYjA5Mzc1NTlhZTI4MTVmN2E3ZDg5YmRkZGFiODVhMDQ2Mjk5ZTVkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaApA
QCAtMjIwLDkgKzIyMCw2IEBAIHB1YmxpYzoKICAgICAgICAgfSB1OwogI2lmIFVTRShKU1ZBTFVF
MzJfNjQpCiAgICAgICAgIEdQUlJlZyB2YWx1ZVRhZ0dQUjsKLSAgICAgICAgLy8gRklYTUU6IFsz
Mi1iaXRzXSBDaGVjayBpZiBTdHJ1Y3R1cmVTdHViSW5mbzo6cGF0Y2guYmFzZVRhZ0dQUiBpcyB1
c2VkIHNvbWV3aGVyZS4KLSAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwNDcyNgotICAgICAgICBHUFJSZWcgYmFzZVRhZ0dQUjsKICAgICAgICAgdW5p
b24gewogICAgICAgICAgICAgR1BSUmVnIHRoaXNUYWdHUFI7CiAgICAgICAgICAgICBHUFJSZWcg
cHJvcGVydHlUYWdHUFI7CkBAIC0yNjMsMTUgKzI2MCw2IEBAIHB1YmxpYzoKICAgICAgICAgICAg
IHBhdGNoLnUucHJvcGVydHlHUFIpOwogICAgIH0KIAotICAgIEpTVmFsdWVSZWdzIGJhc2VSZWdz
KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBKU1ZhbHVlUmVncygKLSNpZiBVU0UoSlNW
QUxVRTMyXzY0KQotICAgICAgICAgICAgcGF0Y2guYmFzZVRhZ0dQUiwKLSNlbmRpZgotICAgICAg
ICAgICAgcGF0Y2guYmFzZUdQUik7Ci0gICAgfQotCiAgICAgYm9vbCB0aGlzVmFsdWVJc0luVGhp
c0dQUigpIGNvbnN0IHsgcmV0dXJuIGFjY2Vzc1R5cGUgPT0gQWNjZXNzVHlwZTo6R2V0QnlJZFdp
dGhUaGlzOyB9CiAKICNpZiAhQVNTRVJUX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggYzY0Zjk3OGFkZjg1ZmJmMjc3YmJhNzky
MTYwNjRmNDI4MWI4ZDVhOS4uZDcxODU2NDc2ZjYxYzU4N2ZkZjRlZjNmZDAyYzE5MTc1MWNlMGZh
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApA
QCAtNzIyLDggKzcyMiw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNhY2hlZEdldEJ5SWQoQ29kZU9y
aWdpbiwgR1BSUmVnIGJhc2VHUFIsIEdQUlJlZyByZXN1bHRHUFIsIHVuc2lnbmVkIGlkZW50aWZp
ZXJOdW1iZXIsIEpJVENvbXBpbGVyOjpKdW1wIHNsb3dQYXRoVGFyZ2V0LCBTcGlsbFJlZ2lzdGVy
c01vZGUsIEFjY2Vzc1R5cGUpOwogICAgIHZvaWQgY2FjaGVkR2V0QnlJZFdpdGhUaGlzKENvZGVP
cmlnaW4sIEdQUlJlZyBiYXNlR1BSLCBHUFJSZWcgdGhpc0dQUiwgR1BSUmVnIHJlc3VsdEdQUiwg
dW5zaWduZWQgaWRlbnRpZmllck51bWJlciwgY29uc3QgSklUQ29tcGlsZXI6Okp1bXBMaXN0JiBz
bG93UGF0aFRhcmdldCA9IEpJVENvbXBpbGVyOjpKdW1wTGlzdCgpKTsKICNlbGlmIFVTRShKU1ZB
TFVFMzJfNjQpCi0gICAgdm9pZCBjYWNoZWRHZXRCeUlkKENvZGVPcmlnaW4sIEdQUlJlZyBiYXNl
VGFnR1BST3JOb25lLCBHUFJSZWcgYmFzZVBheWxvYWRHUFIsIEdQUlJlZyByZXN1bHRUYWdHUFIs
IEdQUlJlZyByZXN1bHRQYXlsb2FkR1BSLCB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyLCBKSVRD
b21waWxlcjo6SnVtcCBzbG93UGF0aFRhcmdldCwgU3BpbGxSZWdpc3RlcnNNb2RlLCBBY2Nlc3NU
eXBlKTsKLSAgICB2b2lkIGNhY2hlZEdldEJ5SWRXaXRoVGhpcyhDb2RlT3JpZ2luLCBHUFJSZWcg
YmFzZVRhZ0dQUk9yTm9uZSwgR1BSUmVnIGJhc2VQYXlsb2FkR1BSLCBHUFJSZWcgdGhpc1RhZ0dQ
Uk9yTm9uZSwgR1BSUmVnIHRoaXNQYXlsb2FkR1BSLCBHUFJSZWcgcmVzdWx0VGFnR1BSLCBHUFJS
ZWcgcmVzdWx0UGF5bG9hZEdQUiwgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciwgY29uc3QgSklU
Q29tcGlsZXI6Okp1bXBMaXN0JiBzbG93UGF0aFRhcmdldCA9IEpJVENvbXBpbGVyOjpKdW1wTGlz
dCgpKTsKKyAgICB2b2lkIGNhY2hlZEdldEJ5SWQoQ29kZU9yaWdpbiwgR1BSUmVnIGJhc2VQYXls
b2FkR1BSLCBHUFJSZWcgcmVzdWx0VGFnR1BSLCBHUFJSZWcgcmVzdWx0UGF5bG9hZEdQUiwgdW5z
aWduZWQgaWRlbnRpZmllck51bWJlciwgSklUQ29tcGlsZXI6Okp1bXAgc2xvd1BhdGhUYXJnZXQs
IFNwaWxsUmVnaXN0ZXJzTW9kZSwgQWNjZXNzVHlwZSk7CisgICAgdm9pZCBjYWNoZWRHZXRCeUlk
V2l0aFRoaXMoQ29kZU9yaWdpbiwgR1BSUmVnIGJhc2VQYXlsb2FkR1BSLCBHUFJSZWcgdGhpc1Rh
Z0dQUk9yTm9uZSwgR1BSUmVnIHRoaXNQYXlsb2FkR1BSLCBHUFJSZWcgcmVzdWx0VGFnR1BSLCBH
UFJSZWcgcmVzdWx0UGF5bG9hZEdQUiwgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciwgY29uc3Qg
SklUQ29tcGlsZXI6Okp1bXBMaXN0JiBzbG93UGF0aFRhcmdldCA9IEpJVENvbXBpbGVyOjpKdW1w
TGlzdCgpKTsKICNlbmRpZgogCiAgICAgdm9pZCBjb21waWxlRGVsZXRlQnlJZChOb2RlKik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJf
NjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0
LmNwcAppbmRleCA2N2IwZTBiMzcwNGNhNTlhODkwYWM1OWM4NmRiZDBkMmEwNTZkYjgxLi5kMmFi
ZjZhZDAyMjkwODVlYTJhMTA3OGM3NjNkYTAxZjUzMzNkNDcwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTE2OSwx
MSArMTY5LDExIEBAIGJvb2wgU3BlY3VsYXRpdmVKSVQ6OmZpbGxKU1ZhbHVlKEVkZ2UgZWRnZSwg
R1BSUmVnJiB0YWdHUFIsIEdQUlJlZyYgcGF5bG9hZEdQUiwKIAogdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y2FjaGVkR2V0QnlJZChDb2RlT3JpZ2luIG9yaWdpbiwgSlNWYWx1ZVJlZ3MgYmFzZSwgSlNW
YWx1ZVJlZ3MgcmVzdWx0LCB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyLCBKSVRDb21waWxlcjo6
SnVtcCBzbG93UGF0aFRhcmdldCAsIFNwaWxsUmVnaXN0ZXJzTW9kZSBtb2RlLCBBY2Nlc3NUeXBl
IHR5cGUpCiB7Ci0gICAgY2FjaGVkR2V0QnlJZChvcmlnaW4sIGJhc2UudGFnR1BSKCksIGJhc2Uu
cGF5bG9hZEdQUigpLCByZXN1bHQudGFnR1BSKCksIHJlc3VsdC5wYXlsb2FkR1BSKCksIGlkZW50
aWZpZXJOdW1iZXIsIHNsb3dQYXRoVGFyZ2V0LCBtb2RlLCB0eXBlKTsKKyAgICBjYWNoZWRHZXRC
eUlkKG9yaWdpbiwgYmFzZS5wYXlsb2FkR1BSKCksIHJlc3VsdC50YWdHUFIoKSwgcmVzdWx0LnBh
eWxvYWRHUFIoKSwgaWRlbnRpZmllck51bWJlciwgc2xvd1BhdGhUYXJnZXQsIG1vZGUsIHR5cGUp
OwogfQogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjYWNoZWRHZXRCeUlkKAotICAgIENvZGVPcmln
aW4gY29kZU9yaWdpbiwgR1BSUmVnIGJhc2VUYWdHUFJPck5vbmUsIEdQUlJlZyBiYXNlUGF5bG9h
ZEdQUiwgR1BSUmVnIHJlc3VsdFRhZ0dQUiwgR1BSUmVnIHJlc3VsdFBheWxvYWRHUFIsCisgICAg
Q29kZU9yaWdpbiBjb2RlT3JpZ2luLCBHUFJSZWcgYmFzZVBheWxvYWRHUFIsIEdQUlJlZyByZXN1
bHRUYWdHUFIsIEdQUlJlZyByZXN1bHRQYXlsb2FkR1BSLAogICAgIHVuc2lnbmVkIGlkZW50aWZp
ZXJOdW1iZXIsIEpJVENvbXBpbGVyOjpKdW1wIHNsb3dQYXRoVGFyZ2V0LCBTcGlsbFJlZ2lzdGVy
c01vZGUgc3BpbGxNb2RlLCBBY2Nlc3NUeXBlIHR5cGUpCiB7CiAgICAgLy8gVGhpcyBpcyBhIGhh
Y2t5IGZpeCBmb3Igd2hlbiB0aGUgcmVnaXN0ZXIgYWxsb2NhdG9yIGRlY2lkZXMgdG8gYWxpYXMg
dGhlIGJhc2UgcGF5bG9hZCB3aXRoIHRoZSByZXN1bHQgdGFnLiBUaGlzIG9ubHkgaGFwcGVucwpA
QCAtMTgyLDI1ICsxODIsMjEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkR2V0QnlJZCgK
ICAgICBpZiAoYmFzZVBheWxvYWRHUFIgPT0gcmVzdWx0VGFnR1BSKSB7CiAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKGJhc2VQYXlsb2FkR1BSICE9IHJlc3VsdFBheWxvYWRHUFIpOwogICAgICAgICAK
LSAgICAgICAgaWYgKGJhc2VUYWdHUFJPck5vbmUgPT0gcmVzdWx0UGF5bG9hZEdQUikgewotICAg
ICAgICAgICAgbV9qaXQuc3dhcChiYXNlUGF5bG9hZEdQUiwgYmFzZVRhZ0dQUk9yTm9uZSk7Ci0g
ICAgICAgICAgICBiYXNlVGFnR1BST3JOb25lID0gcmVzdWx0VGFnR1BSOwotICAgICAgICB9IGVs
c2UKLSAgICAgICAgICAgIG1faml0Lm1vdmUoYmFzZVBheWxvYWRHUFIsIHJlc3VsdFBheWxvYWRH
UFIpOworICAgICAgICBtX2ppdC5tb3ZlKGJhc2VQYXlsb2FkR1BSLCByZXN1bHRQYXlsb2FkR1BS
KTsKICAgICAgICAgYmFzZVBheWxvYWRHUFIgPSByZXN1bHRQYXlsb2FkR1BSOwogICAgIH0KICAg
ICAKICAgICBSZWdpc3RlclNldCB1c2VkUmVnaXN0ZXJzID0gdGhpcy0+dXNlZFJlZ2lzdGVycygp
OwogICAgIGlmIChzcGlsbE1vZGUgPT0gRG9udFNwaWxsKSB7CiAgICAgICAgIC8vIFdlJ3ZlIGFs
cmVhZHkgZmx1c2hlZCByZWdpc3RlcnMgdG8gdGhlIHN0YWNrLCB3ZSBkb24ndCBuZWVkIHRvIHNw
aWxsIHRoZXNlLgotICAgICAgICB1c2VkUmVnaXN0ZXJzLnNldChKU1ZhbHVlUmVncyhiYXNlVGFn
R1BST3JOb25lLCBiYXNlUGF5bG9hZEdQUiksIGZhbHNlKTsKKyAgICAgICAgdXNlZFJlZ2lzdGVy
cy5zZXQoSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KGJhc2VQYXlsb2FkR1BSKSwgZmFsc2UpOwog
ICAgICAgICB1c2VkUmVnaXN0ZXJzLnNldChKU1ZhbHVlUmVncyhyZXN1bHRUYWdHUFIsIHJlc3Vs
dFBheWxvYWRHUFIpLCBmYWxzZSk7CiAgICAgfQogICAgIAogICAgIENhbGxTaXRlSW5kZXggY2Fs
bFNpdGUgPSBtX2ppdC5yZWNvcmRDYWxsU2l0ZUFuZEdlbmVyYXRlRXhjZXB0aW9uSGFuZGxpbmdP
U1JFeGl0SWZOZWVkZWQoY29kZU9yaWdpbiwgbV9zdHJlYW0tPnNpemUoKSk7CiAgICAgSklUR2V0
QnlJZEdlbmVyYXRvciBnZW4oCiAgICAgICAgIG1faml0LmNvZGVCbG9jaygpLCBjb2RlT3JpZ2lu
LCBjYWxsU2l0ZSwgdXNlZFJlZ2lzdGVycywgaWRlbnRpZmllclVJRChpZGVudGlmaWVyTnVtYmVy
KSwKLSAgICAgICAgSlNWYWx1ZVJlZ3MoYmFzZVRhZ0dQUk9yTm9uZSwgYmFzZVBheWxvYWRHUFIp
LCBKU1ZhbHVlUmVncyhyZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRHUFIpLCB0eXBlKTsKKyAg
ICAgICAgSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KGJhc2VQYXlsb2FkR1BSKSwgSlNWYWx1ZVJl
Z3MocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSKSwgdHlwZSk7CiAgICAgCiAgICAgZ2Vu
LmdlbmVyYXRlRmFzdFBhdGgobV9qaXQpOwogICAgIApAQCAtMjEwLDI0ICsyMDYsMTggQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkR2V0QnlJZCgKICAgICBzbG93Q2FzZXMuYXBwZW5kKGdl
bi5zbG93UGF0aEp1bXAoKSk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2xvd1BhdGhHZW5lcmF0
b3I+IHNsb3dQYXRoOwotICAgIGlmIChiYXNlVGFnR1BST3JOb25lID09IEludmFsaWRHUFJSZWcp
IHsKLSAgICAgICAgc2xvd1BhdGggPSBzbG93UGF0aENhbGwoCi0gICAgICAgICAgICBzbG93Q2Fz
ZXMsIHRoaXMsIGFwcHJvcHJpYXRlT3B0aW1pemluZ0dldEJ5SWRGdW5jdGlvbih0eXBlKSwKLSAg
ICAgICAgICAgIEpTVmFsdWVSZWdzKHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUiksIFRy
dXN0ZWRJbW1QdHI6OndlYWtQb2ludGVyKG1fZ3JhcGgsIG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9y
KGNvZGVPcmlnaW4pKSwgZ2VuLnN0dWJJbmZvKCksCi0gICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OkNlbGxWYWx1ZShiYXNlUGF5bG9hZEdQUiksCi0gICAgICAgICAgICBpZGVudGlmaWVyVUlEKGlk
ZW50aWZpZXJOdW1iZXIpKTsKLSAgICB9IGVsc2UgewotICAgICAgICBzbG93UGF0aCA9IHNsb3dQ
YXRoQ2FsbCgKLSAgICAgICAgICAgIHNsb3dDYXNlcywgdGhpcywgYXBwcm9wcmlhdGVPcHRpbWl6
aW5nR2V0QnlJZEZ1bmN0aW9uKHR5cGUpLAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3MocmVzdWx0
VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSKSwgVHJ1c3RlZEltbVB0cjo6d2Vha1BvaW50ZXIobV9n
cmFwaCwgbV9ncmFwaC5nbG9iYWxPYmplY3RGb3IoY29kZU9yaWdpbikpLCBnZW4uc3R1YkluZm8o
KSwgSlNWYWx1ZVJlZ3MoYmFzZVRhZ0dQUk9yTm9uZSwgYmFzZVBheWxvYWRHUFIpLCBpZGVudGlm
aWVyVUlEKGlkZW50aWZpZXJOdW1iZXIpKTsKLSAgICB9CisgICAgc2xvd1BhdGggPSBzbG93UGF0
aENhbGwoCisgICAgICAgIHNsb3dDYXNlcywgdGhpcywgYXBwcm9wcmlhdGVPcHRpbWl6aW5nR2V0
QnlJZEZ1bmN0aW9uKHR5cGUpLAorICAgICAgICBKU1ZhbHVlUmVncyhyZXN1bHRUYWdHUFIsIHJl
c3VsdFBheWxvYWRHUFIpLCBUcnVzdGVkSW1tUHRyOjp3ZWFrUG9pbnRlcihtX2dyYXBoLCBtX2dy
YXBoLmdsb2JhbE9iamVjdEZvcihjb2RlT3JpZ2luKSksIGdlbi5zdHViSW5mbygpLAorICAgICAg
ICBDQ2FsbEhlbHBlcnM6OkNlbGxWYWx1ZShiYXNlUGF5bG9hZEdQUiksCisgICAgICAgIGlkZW50
aWZpZXJVSUQoaWRlbnRpZmllck51bWJlcikpOwogCiAgICAgbV9qaXQuYWRkR2V0QnlJZChnZW4s
IHNsb3dQYXRoLmdldCgpKTsKICAgICBhZGRTbG93UGF0aEdlbmVyYXRvcihXVEZNb3ZlKHNsb3dQ
YXRoKSk7CiB9CiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNhY2hlZEdldEJ5SWRXaXRoVGhpcygK
LSAgICBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIEdQUlJlZyBiYXNlVGFnR1BST3JOb25lLCBHUFJS
ZWcgYmFzZVBheWxvYWRHUFIsIEdQUlJlZyB0aGlzVGFnR1BSLCBHUFJSZWcgdGhpc1BheWxvYWRH
UFIsIEdQUlJlZyByZXN1bHRUYWdHUFIsIEdQUlJlZyByZXN1bHRQYXlsb2FkR1BSLAorICAgIENv
ZGVPcmlnaW4gY29kZU9yaWdpbiwgR1BSUmVnIGJhc2VQYXlsb2FkR1BSLCBHUFJSZWcgdGhpc1Rh
Z0dQUiwgR1BSUmVnIHRoaXNQYXlsb2FkR1BSLCBHUFJSZWcgcmVzdWx0VGFnR1BSLCBHUFJSZWcg
cmVzdWx0UGF5bG9hZEdQUiwKICAgICB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyLCBjb25zdCBK
SVRDb21waWxlcjo6SnVtcExpc3QmIHNsb3dQYXRoVGFyZ2V0KQogewogICAgIFJlZ2lzdGVyU2V0
IHVzZWRSZWdpc3RlcnMgPSB0aGlzLT51c2VkUmVnaXN0ZXJzKCk7CkBAIC0yMzUsNyArMjI1LDcg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkR2V0QnlJZFdpdGhUaGlzKAogICAgIENhbGxT
aXRlSW5kZXggY2FsbFNpdGUgPSBtX2ppdC5yZWNvcmRDYWxsU2l0ZUFuZEdlbmVyYXRlRXhjZXB0
aW9uSGFuZGxpbmdPU1JFeGl0SWZOZWVkZWQoY29kZU9yaWdpbiwgbV9zdHJlYW0tPnNpemUoKSk7
CiAgICAgSklUR2V0QnlJZFdpdGhUaGlzR2VuZXJhdG9yIGdlbigKICAgICAgICAgbV9qaXQuY29k
ZUJsb2NrKCksIGNvZGVPcmlnaW4sIGNhbGxTaXRlLCB1c2VkUmVnaXN0ZXJzLCBpZGVudGlmaWVy
VUlEKGlkZW50aWZpZXJOdW1iZXIpLAotICAgICAgICBKU1ZhbHVlUmVncyhyZXN1bHRUYWdHUFIs
IHJlc3VsdFBheWxvYWRHUFIpLCBKU1ZhbHVlUmVncyhiYXNlVGFnR1BST3JOb25lLCBiYXNlUGF5
bG9hZEdQUiksIEpTVmFsdWVSZWdzKHRoaXNUYWdHUFIsIHRoaXNQYXlsb2FkR1BSKSk7CisgICAg
ICAgIEpTVmFsdWVSZWdzKHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUiksIEpTVmFsdWVS
ZWdzOjpwYXlsb2FkT25seShiYXNlUGF5bG9hZEdQUiksIEpTVmFsdWVSZWdzKHRoaXNUYWdHUFIs
IHRoaXNQYXlsb2FkR1BSKSk7CiAgICAgCiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgobV9qaXQp
OwogICAgIApAQCAtMjQ1LDcgKzIzNSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNhY2hlZEdl
dEJ5SWRXaXRoVGhpcygKICAgICBzbG93Q2FzZXMuYXBwZW5kKGdlbi5zbG93UGF0aEp1bXAoKSk7
CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2xvd1BhdGhHZW5lcmF0b3I+IHNsb3dQYXRoOwotICAg
IGlmIChiYXNlVGFnR1BST3JOb25lID09IEludmFsaWRHUFJSZWcgJiYgdGhpc1RhZ0dQUiA9PSBJ
bnZhbGlkR1BSUmVnKSB7CisgICAgaWYgKHRoaXNUYWdHUFIgPT0gSW52YWxpZEdQUlJlZykgewog
ICAgICAgICBzbG93UGF0aCA9IHNsb3dQYXRoQ2FsbCgKICAgICAgICAgICAgIHNsb3dDYXNlcywg
dGhpcywgb3BlcmF0aW9uR2V0QnlJZFdpdGhUaGlzT3B0aW1pemUsCiAgICAgICAgICAgICBKU1Zh
bHVlUmVncyhyZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRHUFIpLCBUcnVzdGVkSW1tUHRyOjp3
ZWFrUG9pbnRlcihtX2dyYXBoLCBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihjb2RlT3JpZ2luKSks
IGdlbi5zdHViSW5mbygpLApAQCAtMjUzLDEyICsyNDMsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y2FjaGVkR2V0QnlJZFdpdGhUaGlzKAogICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpDZWxs
VmFsdWUodGhpc1BheWxvYWRHUFIpLAogICAgICAgICAgICAgaWRlbnRpZmllclVJRChpZGVudGlm
aWVyTnVtYmVyKSk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgQVNTRVJUKGJhc2VUYWdHUFJPck5v
bmUgIT0gSW52YWxpZEdQUlJlZyk7CiAgICAgICAgIEFTU0VSVCh0aGlzVGFnR1BSICE9IEludmFs
aWRHUFJSZWcpOwogICAgICAgICAKICAgICAgICAgc2xvd1BhdGggPSBzbG93UGF0aENhbGwoCiAg
ICAgICAgICAgICBzbG93Q2FzZXMsIHRoaXMsIG9wZXJhdGlvbkdldEJ5SWRXaXRoVGhpc09wdGlt
aXplLAotICAgICAgICAgICAgSlNWYWx1ZVJlZ3MocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2Fk
R1BSKSwgVHJ1c3RlZEltbVB0cjo6d2Vha1BvaW50ZXIobV9ncmFwaCwgbV9ncmFwaC5nbG9iYWxP
YmplY3RGb3IoY29kZU9yaWdpbikpLCBnZW4uc3R1YkluZm8oKSwgSlNWYWx1ZVJlZ3MoYmFzZVRh
Z0dQUk9yTm9uZSwgYmFzZVBheWxvYWRHUFIpLCBKU1ZhbHVlUmVncyh0aGlzVGFnR1BSLCB0aGlz
UGF5bG9hZEdQUiksIGlkZW50aWZpZXJVSUQoaWRlbnRpZmllck51bWJlcikpOworICAgICAgICAg
ICAgSlNWYWx1ZVJlZ3MocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSKSwgVHJ1c3RlZElt
bVB0cjo6d2Vha1BvaW50ZXIobV9ncmFwaCwgbV9ncmFwaC5nbG9iYWxPYmplY3RGb3IoY29kZU9y
aWdpbikpLCBnZW4uc3R1YkluZm8oKSwgQ0NhbGxIZWxwZXJzOjpDZWxsVmFsdWUoYmFzZVBheWxv
YWRHUFIpLCBKU1ZhbHVlUmVncyh0aGlzVGFnR1BSLCB0aGlzUGF5bG9hZEdQUiksIGlkZW50aWZp
ZXJVSUQoaWRlbnRpZmllck51bWJlcikpOwogICAgIH0KIAogICAgIG1faml0LmFkZEdldEJ5SWRX
aXRoVGhpcyhnZW4sIHNsb3dQYXRoLmdldCgpKTsKQEAgLTMzNDIsNyArMzMzMSw3IEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgIEdQUlJlZyBy
ZXN1bHRUYWdHUFIgPSByZXN1bHRUYWcuZ3ByKCk7CiAgICAgICAgICAgICBHUFJSZWcgcmVzdWx0
UGF5bG9hZEdQUiA9IHJlc3VsdFBheWxvYWQuZ3ByKCk7CiAgICAgICAgICAgICAKLSAgICAgICAg
ICAgIGNhY2hlZEdldEJ5SWRXaXRoVGhpcyhub2RlLT5vcmlnaW4uc2VtYW50aWMsIEludmFsaWRH
UFJSZWcsIGJhc2VHUFIsIEludmFsaWRHUFJSZWcsIHRoaXNHUFIsIHJlc3VsdFRhZ0dQUiwgcmVz
dWx0UGF5bG9hZEdQUiwgbm9kZS0+aWRlbnRpZmllck51bWJlcigpKTsKKyAgICAgICAgICAgIGNh
Y2hlZEdldEJ5SWRXaXRoVGhpcyhub2RlLT5vcmlnaW4uc2VtYW50aWMsIGJhc2VHUFIsIEludmFs
aWRHUFJSZWcsIHRoaXNHUFIsIHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUiwgbm9kZS0+
aWRlbnRpZmllck51bWJlcigpKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAganNWYWx1ZVJl
c3VsdChyZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRHUFIsIG5vZGUpOwogICAgICAgICB9IGVs
c2UgewpAQCAtMzM1MSw3ICszMzQwLDYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShO
b2RlKiBub2RlKQogICAgICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdFRhZyh0aGlzKTsKICAg
ICAgICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHRQYXlsb2FkKHRoaXMpOwogICAgICAgICAgICAg
Ci0gICAgICAgICAgICBHUFJSZWcgYmFzZVRhZ0dQUiA9IGJhc2UudGFnR1BSKCk7CiAgICAgICAg
ICAgICBHUFJSZWcgYmFzZVBheWxvYWRHUFIgPSBiYXNlLnBheWxvYWRHUFIoKTsKICAgICAgICAg
ICAgIEdQUlJlZyB0aGlzVGFnR1BSID0gdGhpc1ZhbHVlLnRhZ0dQUigpOwogICAgICAgICAgICAg
R1BSUmVnIHRoaXNQYXlsb2FkR1BSID0gdGhpc1ZhbHVlLnBheWxvYWRHUFIoKTsKQEAgLTMzNjIs
NyArMzM1MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAg
ICAgICAgICAgIG5vdENlbGxMaXN0LmFwcGVuZChtX2ppdC5icmFuY2hJZk5vdENlbGwoYmFzZS5q
c1ZhbHVlUmVncygpKSk7CiAgICAgICAgICAgICBub3RDZWxsTGlzdC5hcHBlbmQobV9qaXQuYnJh
bmNoSWZOb3RDZWxsKHRoaXNWYWx1ZS5qc1ZhbHVlUmVncygpKSk7CiAgICAgICAgICAgICAKLSAg
ICAgICAgICAgIGNhY2hlZEdldEJ5SWRXaXRoVGhpcyhub2RlLT5vcmlnaW4uc2VtYW50aWMsIGJh
c2VUYWdHUFIsIGJhc2VQYXlsb2FkR1BSLCB0aGlzVGFnR1BSLCB0aGlzUGF5bG9hZEdQUiwgcmVz
dWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSLCBub2RlLT5pZGVudGlmaWVyTnVtYmVyKCksIG5v
dENlbGxMaXN0KTsKKyAgICAgICAgICAgIGNhY2hlZEdldEJ5SWRXaXRoVGhpcyhub2RlLT5vcmln
aW4uc2VtYW50aWMsIGJhc2VQYXlsb2FkR1BSLCB0aGlzVGFnR1BSLCB0aGlzUGF5bG9hZEdQUiwg
cmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSLCBub2RlLT5pZGVudGlmaWVyTnVtYmVyKCks
IG5vdENlbGxMaXN0KTsKICAgICAgICAgICAgIAogICAgICAgICAgICAganNWYWx1ZVJlc3VsdChy
ZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRHUFIsIG5vZGUpOwogICAgICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZUNhY2hlR2VuZXJhdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuY3Bw
CmluZGV4IDk5N2E1ZWVjNjA3MGNjMTlkMjA0MjA3MTA3NTdjZTdlOTBjZGNjNGYuLmZlMzNlNDc4
NGU2NTYyMTJmYjMwYzhhZGU0YTY4ODgzYzFjNjE0YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuY3BwCkBAIC03Niw3ICs3
Niw2IEBAIEpJVEJ5SWRHZW5lcmF0b3I6OkpJVEJ5SWRHZW5lcmF0b3IoCiAgICAgbV9zdHViSW5m
by0+cGF0Y2gudmFsdWVHUFIgPSB2YWx1ZS5wYXlsb2FkR1BSKCk7CiAgICAgbV9zdHViSW5mby0+
cGF0Y2gudS50aGlzR1BSID0gSW52YWxpZEdQUlJlZzsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQot
ICAgIG1fc3R1YkluZm8tPnBhdGNoLmJhc2VUYWdHUFIgPSBiYXNlLnRhZ0dQUigpOwogICAgIG1f
c3R1YkluZm8tPnBhdGNoLnZhbHVlVGFnR1BSID0gdmFsdWUudGFnR1BSKCk7CiAgICAgbV9zdHVi
SW5mby0+cGF0Y2gudi50aGlzVGFnR1BSID0gSW52YWxpZEdQUlJlZzsKICNlbmRpZgpAQCAtMTg4
LDcgKzE4Nyw2IEBAIEpJVEluc3RhbmNlT2ZHZW5lcmF0b3I6OkpJVEluc3RhbmNlT2ZHZW5lcmF0
b3IoCiAgICAgbV9zdHViSW5mby0+cGF0Y2gudmFsdWVHUFIgPSByZXN1bHQ7CiAgICAgbV9zdHVi
SW5mby0+cGF0Y2gudS5wcm90b3R5cGVHUFIgPSBwcm90b3R5cGU7CiAjaWYgVVNFKEpTVkFMVUUz
Ml82NCkKLSAgICBtX3N0dWJJbmZvLT5wYXRjaC5iYXNlVGFnR1BSID0gSW52YWxpZEdQUlJlZzsK
ICAgICBtX3N0dWJJbmZvLT5wYXRjaC52YWx1ZVRhZ0dQUiA9IEludmFsaWRHUFJSZWc7CiAgICAg
bV9zdHViSW5mby0+cGF0Y2gudi50aGlzVGFnR1BSID0gSW52YWxpZEdQUlJlZzsKICNlbmRpZgpA
QCAtMjMwLDcgKzIyOCw2IEBAIEpJVEdldEJ5VmFsR2VuZXJhdG9yOjpKSVRHZXRCeVZhbEdlbmVy
YXRvcihDb2RlQmxvY2sqIGNvZGVCbG9jaywgQ29kZU9yaWdpbiBjb2RlCiAgICAgbV9zdHViSW5m
by0+cGF0Y2gudS5wcm9wZXJ0eUdQUiA9IHByb3BlcnR5LnBheWxvYWRHUFIoKTsKICAgICBtX3N0
dWJJbmZvLT5wYXRjaC52YWx1ZUdQUiA9IHJlc3VsdC5wYXlsb2FkR1BSKCk7CiAjaWYgVVNFKEpT
VkFMVUUzMl82NCkKLSAgICBtX3N0dWJJbmZvLT5wYXRjaC5iYXNlVGFnR1BSID0gYmFzZS50YWdH
UFIoKTsKICAgICBtX3N0dWJJbmZvLT5wYXRjaC52YWx1ZVRhZ0dQUiA9IHJlc3VsdC50YWdHUFIo
KTsKICAgICBtX3N0dWJJbmZvLT5wYXRjaC52LnByb3BlcnR5VGFnR1BSID0gcHJvcGVydHkudGFn
R1BSKCk7CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>