<?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>228092</bug_id>
          
          <creation_ts>2021-07-19 15:59:19 -0700</creation_ts>
          <short_desc>[JSC] StructureStubInfo&apos;s m_identifier should follow to the same protocol of inlineAccessBaseStructure</short_desc>
          <delta_ts>2021-07-19 18:31:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1778032</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-07-19 15:59:19 -0700</bug_when>
    <thetext>[JSC] StructureStubInfo&apos;s m_identifier should follow to the same protocol of inlineAccessBaseStructure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778035</commentid>
    <comment_count>1</comment_count>
      <attachid>433831</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-07-19 16:02:08 -0700</bug_when>
    <thetext>Created attachment 433831
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778038</commentid>
    <comment_count>2</comment_count>
      <attachid>433831</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-07-19 16:13:56 -0700</bug_when>
    <thetext>Comment on attachment 433831
Patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +        m_identifier field too. This patch makes m_identifier follow to the same protocol of inlineAccessBaseStructure
&gt; +        so that we fix this race issue too.

I&apos;d document just for completeness what we&apos;re doing specifically (so folks don&apos;t have to read r279813 change)

&gt; Source/JavaScriptCore/bytecode/StructureStubInfo.cpp:-422
&gt; -void StructureStubInfo::setCacheType(const ConcurrentJSLockerBase&amp;, CacheType newCacheType)

I would keep this function. It&apos;s nice to document/enforce that we&apos;re holding the lock. See https://trac.webkit.org/changeset/264388/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778040</commentid>
    <comment_count>3</comment_count>
      <attachid>433831</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-07-19 16:22:14 -0700</bug_when>
    <thetext>Comment on attachment 433831
Patch

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

&gt;&gt; Source/JavaScriptCore/bytecode/StructureStubInfo.cpp:-422
&gt;&gt; -void StructureStubInfo::setCacheType(const ConcurrentJSLockerBase&amp;, CacheType newCacheType)
&gt; 
&gt; I would keep this function. It&apos;s nice to document/enforce that we&apos;re holding the lock. See https://trac.webkit.org/changeset/264388/webkit

Maybe make it inline since it&apos;s no-op function now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778041</commentid>
    <comment_count>4</comment_count>
      <attachid>433831</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-07-19 16:26:59 -0700</bug_when>
    <thetext>Comment on attachment 433831
Patch

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

&gt;&gt;&gt; Source/JavaScriptCore/bytecode/StructureStubInfo.cpp:-422
&gt;&gt;&gt; -void StructureStubInfo::setCacheType(const ConcurrentJSLockerBase&amp;, CacheType newCacheType)
&gt;&gt; 
&gt;&gt; I would keep this function. It&apos;s nice to document/enforce that we&apos;re holding the lock. See https://trac.webkit.org/changeset/264388/webkit
&gt; 
&gt; Maybe make it inline since it&apos;s no-op function now?

For now, I&apos;ll just make it

ALWAYS_INLINE void StructureStubInfo::setCacheType(const ConcurrentJSLockerBase&amp;, CacheType newCacheType)
{
    m_cacheType = newCacheType;
}

But personally, thread-safety-annotation would be better to me in this case since we already get Locker parameter in each function which modifies this field. (but currently, not sure how to annotate it via that if it depends on CodeBlock&apos;s lock.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778077</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-07-19 18:30:07 -0700</bug_when>
    <thetext>Committed r280066 (239797@main): &lt;https://commits.webkit.org/239797@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778078</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-19 18:31:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/80813147&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433831</attachid>
            <date>2021-07-19 16:02:08 -0700</date>
            <delta_ts>2021-07-19 16:13:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228092-20210719160207.patch</filename>
            <type>text/plain</type>
            <size>15286</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
MjY2ZDg1MWYxOTIwZGJiNTNiNjM4YWRlYTJkY2U4ZjkxNmVhODZmLi5mZjg4MjE3YmE0ODZkOGVm
NjhlYTc2MWY1MTU2NDY1YzhiMGNkMDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAyMS0wNy0xOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFN0cnVjdHVyZVN0dWJJbmZvJ3MgbV9pZGVudGlmaWVyIHNob3Vs
ZCBmb2xsb3cgdG8gdGhlIHNhbWUgcHJvdG9jb2wgb2YgaW5saW5lQWNjZXNzQmFzZVN0cnVjdHVy
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4MDky
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gcjI3
OTgxMywgd2UgZml4ZWQgYSByYWNlIGNvbmRpdGlvbiByZWxhdGVkIHRvIGlubGluZUFjY2Vzc0Jh
c2VTdHJ1Y3R1cmUuIEFuZCB3ZSBoYXZlIHRoZSBzYW1lIHByb2JsZW0gd2l0aAorICAgICAgICBt
X2lkZW50aWZpZXIgZmllbGQgdG9vLiBUaGlzIHBhdGNoIG1ha2VzIG1faWRlbnRpZmllciBmb2xs
b3cgdG8gdGhlIHNhbWUgcHJvdG9jb2wgb2YgaW5saW5lQWNjZXNzQmFzZVN0cnVjdHVyZQorICAg
ICAgICBzbyB0aGF0IHdlIGZpeCB0aGlzIHJhY2UgaXNzdWUgdG9vLgorCisgICAgICAgIFdlIGFs
c28gbWFrZSBpbmxpbmVBY2Nlc3NCYXNlU3RydWN0dXJlIHRvIG1faW5saW5lQWNjZXNzQmFzZVN0
cnVjdHVyZSB0byBlYXNpbHkgZmluZCB0aGF0IHRoaXMgaXMgbWVtYmVyIGZpZWxkLgorICAgICAg
ICBBbmQgd2UgYWxzbyB1c2Ugc2V0V2l0aG91dFdyaXRlQmFycmllciBmb3IgbV9pbmxpbmVBY2Nl
c3NCYXNlU3RydWN0dXJlIHNpbmNlIHdlIGVtaXQgY29kZUJsb2NrLT52bSgpLmhlYXAud3JpdGVC
YXJyaWVyKGNvZGVCbG9jaykKKyAgICAgICAgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhhdC4KKworICAg
ICAgICAqIGJ5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNl
Ojpmcm9tU3RydWN0dXJlU3R1YkluZm8pOgorICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5U3RhdHVz
LmNwcDoKKyAgICAgICAgKEpTQzo6R2V0QnlTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mb1dpdGhv
dXRFeGl0U2l0ZUZlZWRiYWNrKToKKyAgICAgICAgKiBieXRlY29kZS9JbkJ5U3RhdHVzLmNwcDoK
KyAgICAgICAgKEpTQzo6SW5CeVN0YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZvV2l0aG91dEV4aXRT
aXRlRmVlZGJhY2spOgorICAgICAgICAqIGJ5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwOgorICAg
ICAgICAoSlNDOjpQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm8pOgorICAgICAgICAq
IGJ5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJl
U3R1YkluZm86OmluaXRHZXRCeUlkU2VsZik6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZVN0dWJJ
bmZvOjppbml0QXJyYXlMZW5ndGgpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTdHViSW5mbzo6
aW5pdFN0cmluZ0xlbmd0aCk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZVN0dWJJbmZvOjppbml0
UHV0QnlJZFJlcGxhY2UpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTdHViSW5mbzo6aW5pdElu
QnlJZFNlbGYpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTdHViSW5mbzo6YWRkQWNjZXNzQ2Fz
ZSk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZVN0dWJJbmZvOjpyZXNldCk6CisgICAgICAgIChK
U0M6OlN0cnVjdHVyZVN0dWJJbmZvOjp2aXNpdEFnZ3JlZ2F0ZUltcGwpOgorICAgICAgICAoSlND
OjpTdHJ1Y3R1cmVTdHViSW5mbzo6dmlzaXRXZWFrUmVmZXJlbmNlcyk6CisgICAgICAgIChKU0M6
OlN0cnVjdHVyZVN0dWJJbmZvOjpwcm9wYWdhdGVUcmFuc2l0aW9ucyk6CisgICAgICAgIChKU0M6
OlN0cnVjdHVyZVN0dWJJbmZvOjpzZXRDYWNoZVR5cGUpOiBEZWxldGVkLgorICAgICAgICAqIGJ5
dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmg6CisKIDIwMjEtMDctMTkgIFl1c3VrZSBTdXp1a2kg
IDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBJbkJ5U3RhdHVzIC8gSW5CeVZh
cmlhbnQgc2hvdWxkIHZpc2l0IENhY2hlYWJsZUlkZW50aWZpZXIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAppbmRleCBiNGM5NWY0MDIyNWI2NjEzZjdi
MzQ0ZTcxYmU4MzllMzNhZmM0N2U2Li40MDQ0Y2EyODVkZjlmODk2MmQyMTEyYjhkNGQ4MDNkMWVk
MGViZWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNz
Q2FzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2Uu
Y3BwCkBAIC0xNTUsMTUgKzE1NSwxNSBAQCBSZWZQdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6
ZnJvbVN0cnVjdHVyZVN0dWJJbmZvKAogICAgIHN3aXRjaCAoc3R1YkluZm8uY2FjaGVUeXBlKCkp
IHsKICAgICBjYXNlIENhY2hlVHlwZTo6R2V0QnlJZFNlbGY6CiAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKHN0dWJJbmZvLmhhc0NvbnN0YW50SWRlbnRpZmllcik7Ci0gICAgICAgIHJldHVybiBQcm94
eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIG93bmVyLCBMb2FkLCBpZGVudGlmaWVyLCBzdHVi
SW5mby51LmJ5SWRTZWxmLm9mZnNldCwgc3R1YkluZm8uaW5saW5lQWNjZXNzQmFzZVN0cnVjdHVy
ZS5nZXQoKSk7CisgICAgICAgIHJldHVybiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0s
IG93bmVyLCBMb2FkLCBpZGVudGlmaWVyLCBzdHViSW5mby51LmJ5SWRTZWxmLm9mZnNldCwgc3R1
YkluZm8ubV9pbmxpbmVBY2Nlc3NCYXNlU3RydWN0dXJlLmdldCgpKTsKIAogICAgIGNhc2UgQ2Fj
aGVUeXBlOjpQdXRCeUlkUmVwbGFjZToKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3R1YkluZm8u
aGFzQ29uc3RhbnRJZGVudGlmaWVyKTsKLSAgICAgICAgcmV0dXJuIEFjY2Vzc0Nhc2U6OmNyZWF0
ZSh2bSwgb3duZXIsIFJlcGxhY2UsIGlkZW50aWZpZXIsIHN0dWJJbmZvLnUuYnlJZFNlbGYub2Zm
c2V0LCBzdHViSW5mby5pbmxpbmVBY2Nlc3NCYXNlU3RydWN0dXJlLmdldCgpKTsKKyAgICAgICAg
cmV0dXJuIEFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgb3duZXIsIFJlcGxhY2UsIGlkZW50aWZpZXIs
IHN0dWJJbmZvLnUuYnlJZFNlbGYub2Zmc2V0LCBzdHViSW5mby5tX2lubGluZUFjY2Vzc0Jhc2VT
dHJ1Y3R1cmUuZ2V0KCkpOwogCiAgICAgY2FzZSBDYWNoZVR5cGU6OkluQnlJZFNlbGY6CiAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKHN0dWJJbmZvLmhhc0NvbnN0YW50SWRlbnRpZmllcik7Ci0gICAg
ICAgIHJldHVybiBBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIG93bmVyLCBJbkhpdCwgaWRlbnRpZmll
ciwgc3R1YkluZm8udS5ieUlkU2VsZi5vZmZzZXQsIHN0dWJJbmZvLmlubGluZUFjY2Vzc0Jhc2VT
dHJ1Y3R1cmUuZ2V0KCkpOworICAgICAgICByZXR1cm4gQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBv
d25lciwgSW5IaXQsIGlkZW50aWZpZXIsIHN0dWJJbmZvLnUuYnlJZFNlbGYub2Zmc2V0LCBzdHVi
SW5mby5tX2lubGluZUFjY2Vzc0Jhc2VTdHJ1Y3R1cmUuZ2V0KCkpOwogCiAgICAgY2FzZSBDYWNo
ZVR5cGU6OkFycmF5TGVuZ3RoOgogICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHViSW5mby5oYXND
b25zdGFudElkZW50aWZpZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0dldEJ5U3RhdHVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9H
ZXRCeVN0YXR1cy5jcHAKaW5kZXggNjc0ZWI5ZjFiZThlMTFiZjRhNjgzNjUyMzY4Y2Q1ZTNhOTkx
MTllYi4uN2VhODZkZDhiODlmZDRhNmU3MDdlYTNkMWRjNDBlYjEyODY0YzY3NyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5U3RhdHVzLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlTdGF0dXMuY3BwCkBAIC0yMTMsNyAr
MjEzLDcgQEAgR2V0QnlTdGF0dXMgR2V0QnlTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mb1dpdGhv
dXRFeGl0U2l0ZUZlZWRiYWNrKAogICAgICAgICByZXR1cm4gR2V0QnlTdGF0dXMoTm9JbmZvcm1h
dGlvbik7CiAgICAgICAgIAogICAgIGNhc2UgQ2FjaGVUeXBlOjpHZXRCeUlkU2VsZjogewotICAg
ICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHN0dWJJbmZvLT5pbmxpbmVBY2Nlc3NCYXNlU3Ry
dWN0dXJlLmdldCgpOworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHN0dWJJbmZvLT5t
X2lubGluZUFjY2Vzc0Jhc2VTdHJ1Y3R1cmUuZ2V0KCk7CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUt
PnRha2VzU2xvd1BhdGhJbkRGR0ZvckltcHVyZVByb3BlcnR5KCkpCiAgICAgICAgICAgICByZXR1
cm4gR2V0QnlTdGF0dXMoSlNDOjpzbG93VmVyc2lvbihzdW1tYXJ5KSwgKnN0dWJJbmZvKTsKICAg
ICAgICAgQ2FjaGVhYmxlSWRlbnRpZmllciBpZGVudGlmaWVyID0gc3R1YkluZm8tPmlkZW50aWZp
ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbkJ5U3Rh
dHVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbkJ5U3RhdHVzLmNwcApp
bmRleCBlYjBlYjVmZDEwNTYwZTdiNzE2Y2IxMWRjMjRmMTg5OTJhNjYyYjAwLi5lZGYxMThiYjVj
OTc1NWMyOTg5ZDc3MDI0ZGVmY2U4OTcwNDY3ZWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvSW5CeVN0YXR1cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0luQnlTdGF0dXMuY3BwCkBAIC0xMzksNyArMTM5LDcgQEAgSW5CeVN0YXR1
cyBJbkJ5U3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm9XaXRob3V0RXhpdFNpdGVGZWVkYmFjayhj
b25zdCBDb25jdXJyZW4KICAgICAgICAgcmV0dXJuIEluQnlTdGF0dXMoTm9JbmZvcm1hdGlvbik7
CiAKICAgICBjYXNlIENhY2hlVHlwZTo6SW5CeUlkU2VsZjogewotICAgICAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IHN0dWJJbmZvLT5pbmxpbmVBY2Nlc3NCYXNlU3RydWN0dXJlLmdldCgpOwor
ICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHN0dWJJbmZvLT5tX2lubGluZUFjY2Vzc0Jh
c2VTdHJ1Y3R1cmUuZ2V0KCk7CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPnRha2VzU2xvd1BhdGhJ
bkRGR0ZvckltcHVyZVByb3BlcnR5KCkpCiAgICAgICAgICAgICByZXR1cm4gSW5CeVN0YXR1cyhU
YWtlc1Nsb3dQYXRoKTsKICAgICAgICAgQ2FjaGVhYmxlSWRlbnRpZmllciBpZGVudGlmaWVyID0g
c3R1YkluZm8tPmlkZW50aWZpZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9QdXRCeUlkU3RhdHVzLmNwcAppbmRleCA2Njg0NWZkY2Y5NDU0NDA1ZGM5MjgzODIzODFm
MzFmZWRlYjE4MWRjLi4wNWFmYWI5ZDM5YzdhNGVhNmU2MWNmNTY0OGFlZmFjOTBjMWY3YzJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3Bw
CkBAIC0xNDcsMTAgKzE0NywxMCBAQCBQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1
dGVGb3JTdHViSW5mbygKICAgICAgICAgCiAgICAgY2FzZSBDYWNoZVR5cGU6OlB1dEJ5SWRSZXBs
YWNlOiB7CiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9Ci0gICAgICAgICAgICBzdHVi
SW5mby0+aW5saW5lQWNjZXNzQmFzZVN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KHVpZCk7Cisg
ICAgICAgICAgICBzdHViSW5mby0+bV9pbmxpbmVBY2Nlc3NCYXNlU3RydWN0dXJlLT5nZXRDb25j
dXJyZW50bHkodWlkKTsKICAgICAgICAgaWYgKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSkgewogICAg
ICAgICAgICAgcmV0dXJuIFB1dEJ5SWRWYXJpYW50OjpyZXBsYWNlKAotICAgICAgICAgICAgICAg
IHN0dWJJbmZvLT5pbmxpbmVBY2Nlc3NCYXNlU3RydWN0dXJlLmdldCgpLCBvZmZzZXQpOworICAg
ICAgICAgICAgICAgIHN0dWJJbmZvLT5tX2lubGluZUFjY2Vzc0Jhc2VTdHJ1Y3R1cmUuZ2V0KCks
IG9mZnNldCk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMoSlNDOjpz
bG93VmVyc2lvbihzdW1tYXJ5KSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAKaW5kZXggZjZjMDEzYThlMGEzZWQ5
OTJhZWEzNjNlZTIwN2RmYzdiOTU2YTI2Yy4uZGEyYWNmYmE3MWUxNTFhZjRlNWJkNzAzYWM1ZTI5
MjIwZjU2ZDUyMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0
cnVjdHVyZVN0dWJJbmZvLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
U3RydWN0dXJlU3R1YkluZm8uY3BwCkBAIC01OSw0NCArNTksNDYgQEAgU3RydWN0dXJlU3R1Yklu
Zm86On5TdHJ1Y3R1cmVTdHViSW5mbygpCiB7CiB9CiAKLXZvaWQgU3RydWN0dXJlU3R1YkluZm86
OmluaXRHZXRCeUlkU2VsZihjb25zdCBDb25jdXJyZW50SlNMb2NrZXJCYXNlJiBsb2NrZXIsIENv
ZGVCbG9jayogY29kZUJsb2NrLCBTdHJ1Y3R1cmUqIGlubGluZUFjY2Vzc0Jhc2VTdHJ1Y3R1cmUs
IFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgQ2FjaGVhYmxlSWRlbnRpZmllciBpZGVudGlmaWVyKQor
dm9pZCBTdHJ1Y3R1cmVTdHViSW5mbzo6aW5pdEdldEJ5SWRTZWxmKGNvbnN0IENvbmN1cnJlbnRK
U0xvY2tlckJhc2UmLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgU3RydWN0dXJlKiBpbmxpbmVBY2Nl
c3NCYXNlU3RydWN0dXJlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIENhY2hlYWJsZUlkZW50aWZp
ZXIgaWRlbnRpZmllcikKIHsKKyAgICBBU1NFUlQobV9jYWNoZVR5cGUgPT0gQ2FjaGVUeXBlOjpV
bnNldCk7CiAgICAgQVNTRVJUKGhhc0NvbnN0YW50SWRlbnRpZmllcik7Ci0gICAgc2V0Q2FjaGVU
eXBlKGxvY2tlciwgQ2FjaGVUeXBlOjpHZXRCeUlkU2VsZik7CisgICAgbV9jYWNoZVR5cGUgPSBD
YWNoZVR5cGU6OkdldEJ5SWRTZWxmOwogICAgIG1faWRlbnRpZmllciA9IGlkZW50aWZpZXI7Cisg
ICAgbV9pbmxpbmVBY2Nlc3NCYXNlU3RydWN0dXJlLnNldFdpdGhvdXRXcml0ZUJhcnJpZXIoaW5s
aW5lQWNjZXNzQmFzZVN0cnVjdHVyZSk7CiAgICAgY29kZUJsb2NrLT52bSgpLmhlYXAud3JpdGVC
YXJyaWVyKGNvZGVCbG9jayk7Ci0gICAgCi0gICAgdGhpcy0+aW5saW5lQWNjZXNzQmFzZVN0cnVj
dHVyZS5zZXQoY29kZUJsb2NrLT52bSgpLCBjb2RlQmxvY2ssIGlubGluZUFjY2Vzc0Jhc2VTdHJ1
Y3R1cmUpOwogICAgIHUuYnlJZFNlbGYub2Zmc2V0ID0gb2Zmc2V0OwogfQogCi12b2lkIFN0cnVj
dHVyZVN0dWJJbmZvOjppbml0QXJyYXlMZW5ndGgoY29uc3QgQ29uY3VycmVudEpTTG9ja2VyQmFz
ZSYgbG9ja2VyKQordm9pZCBTdHJ1Y3R1cmVTdHViSW5mbzo6aW5pdEFycmF5TGVuZ3RoKGNvbnN0
IENvbmN1cnJlbnRKU0xvY2tlckJhc2UmKQogewotICAgIHNldENhY2hlVHlwZShsb2NrZXIsIENh
Y2hlVHlwZTo6QXJyYXlMZW5ndGgpOworICAgIEFTU0VSVChtX2NhY2hlVHlwZSA9PSBDYWNoZVR5
cGU6OlVuc2V0KTsKKyAgICBtX2NhY2hlVHlwZSA9IENhY2hlVHlwZTo6QXJyYXlMZW5ndGg7CiB9
CiAKLXZvaWQgU3RydWN0dXJlU3R1YkluZm86OmluaXRTdHJpbmdMZW5ndGgoY29uc3QgQ29uY3Vy
cmVudEpTTG9ja2VyQmFzZSYgbG9ja2VyKQordm9pZCBTdHJ1Y3R1cmVTdHViSW5mbzo6aW5pdFN0
cmluZ0xlbmd0aChjb25zdCBDb25jdXJyZW50SlNMb2NrZXJCYXNlJikKIHsKLSAgICBzZXRDYWNo
ZVR5cGUobG9ja2VyLCBDYWNoZVR5cGU6OlN0cmluZ0xlbmd0aCk7CisgICAgQVNTRVJUKG1fY2Fj
aGVUeXBlID09IENhY2hlVHlwZTo6VW5zZXQpOworICAgIG1fY2FjaGVUeXBlID0gQ2FjaGVUeXBl
OjpTdHJpbmdMZW5ndGg7CiB9CiAKLXZvaWQgU3RydWN0dXJlU3R1YkluZm86OmluaXRQdXRCeUlk
UmVwbGFjZShjb25zdCBDb25jdXJyZW50SlNMb2NrZXJCYXNlJiBsb2NrZXIsIENvZGVCbG9jayog
Y29kZUJsb2NrLCBTdHJ1Y3R1cmUqIGlubGluZUFjY2Vzc0Jhc2VTdHJ1Y3R1cmUsIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCwgQ2FjaGVhYmxlSWRlbnRpZmllciBpZGVudGlmaWVyKQordm9pZCBTdHJ1
Y3R1cmVTdHViSW5mbzo6aW5pdFB1dEJ5SWRSZXBsYWNlKGNvbnN0IENvbmN1cnJlbnRKU0xvY2tl
ckJhc2UmLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgU3RydWN0dXJlKiBpbmxpbmVBY2Nlc3NCYXNl
U3RydWN0dXJlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIENhY2hlYWJsZUlkZW50aWZpZXIgaWRl
bnRpZmllcikKIHsKLSAgICBzZXRDYWNoZVR5cGUobG9ja2VyLCBDYWNoZVR5cGU6OlB1dEJ5SWRS
ZXBsYWNlKTsKKyAgICBBU1NFUlQobV9jYWNoZVR5cGUgPT0gQ2FjaGVUeXBlOjpVbnNldCk7Cisg
ICAgbV9jYWNoZVR5cGUgPSBDYWNoZVR5cGU6OlB1dEJ5SWRSZXBsYWNlOwogICAgIG1faWRlbnRp
ZmllciA9IGlkZW50aWZpZXI7CisgICAgbV9pbmxpbmVBY2Nlc3NCYXNlU3RydWN0dXJlLnNldFdp
dGhvdXRXcml0ZUJhcnJpZXIoaW5saW5lQWNjZXNzQmFzZVN0cnVjdHVyZSk7CiAgICAgY29kZUJs
b2NrLT52bSgpLmhlYXAud3JpdGVCYXJyaWVyKGNvZGVCbG9jayk7Ci0KLSAgICB0aGlzLT5pbmxp
bmVBY2Nlc3NCYXNlU3RydWN0dXJlLnNldChjb2RlQmxvY2stPnZtKCksIGNvZGVCbG9jaywgaW5s
aW5lQWNjZXNzQmFzZVN0cnVjdHVyZSk7CiAgICAgdS5ieUlkU2VsZi5vZmZzZXQgPSBvZmZzZXQ7
CiB9CiAKLXZvaWQgU3RydWN0dXJlU3R1YkluZm86OmluaXRJbkJ5SWRTZWxmKGNvbnN0IENvbmN1
cnJlbnRKU0xvY2tlckJhc2UmIGxvY2tlciwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIFN0cnVjdHVy
ZSogaW5saW5lQWNjZXNzQmFzZVN0cnVjdHVyZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBDYWNo
ZWFibGVJZGVudGlmaWVyIGlkZW50aWZpZXIpCit2b2lkIFN0cnVjdHVyZVN0dWJJbmZvOjppbml0
SW5CeUlkU2VsZihjb25zdCBDb25jdXJyZW50SlNMb2NrZXJCYXNlJiwgQ29kZUJsb2NrKiBjb2Rl
QmxvY2ssIFN0cnVjdHVyZSogaW5saW5lQWNjZXNzQmFzZVN0cnVjdHVyZSwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LCBDYWNoZWFibGVJZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7Ci0gICAgc2V0Q2Fj
aGVUeXBlKGxvY2tlciwgQ2FjaGVUeXBlOjpJbkJ5SWRTZWxmKTsKKyAgICBBU1NFUlQobV9jYWNo
ZVR5cGUgPT0gQ2FjaGVUeXBlOjpVbnNldCk7CisgICAgbV9jYWNoZVR5cGUgPSBDYWNoZVR5cGU6
OkluQnlJZFNlbGY7CiAgICAgbV9pZGVudGlmaWVyID0gaWRlbnRpZmllcjsKKyAgICBtX2lubGlu
ZUFjY2Vzc0Jhc2VTdHJ1Y3R1cmUuc2V0V2l0aG91dFdyaXRlQmFycmllcihpbmxpbmVBY2Nlc3NC
YXNlU3RydWN0dXJlKTsKICAgICBjb2RlQmxvY2stPnZtKCkuaGVhcC53cml0ZUJhcnJpZXIoY29k
ZUJsb2NrKTsKLQotICAgIHRoaXMtPmlubGluZUFjY2Vzc0Jhc2VTdHJ1Y3R1cmUuc2V0KGNvZGVC
bG9jay0+dm0oKSwgY29kZUJsb2NrLCBpbmxpbmVBY2Nlc3NCYXNlU3RydWN0dXJlKTsKICAgICB1
LmJ5SWRTZWxmLm9mZnNldCA9IG9mZnNldDsKIH0KIApAQCAtMTg5LDcgKzE5MSw3IEBAIEFjY2Vz
c0dlbmVyYXRpb25SZXN1bHQgU3RydWN0dXJlU3R1YkluZm86OmFkZEFjY2Vzc0Nhc2UoCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAot
ICAgICAgICAgICAgc2V0Q2FjaGVUeXBlKGxvY2tlciwgQ2FjaGVUeXBlOjpTdHViKTsKKyAgICAg
ICAgICAgIG1fY2FjaGVUeXBlID0gQ2FjaGVUeXBlOjpTdHViOwogICAgICAgICAgICAgdS5zdHVi
ID0gYWNjZXNzLnJlbGVhc2UoKTsKICAgICAgICAgfQogICAgICAgICAKQEAgLTIzMCwxMCArMjMy
LDExIEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgU3RydWN0dXJlU3R1YkluZm86OmFkZEFjY2Vz
c0Nhc2UoCiAgICAgICAgIC8vIGFjY2VzcyBjb2RlLiBUaGF0J3MgYmVjYXVzZSB3aGVuIHdlIGZp
cnN0IHRyYW5zaXRpb24gdG8gYmVjb21pbmcgYSBTdHViLCB3ZSBtYXkKICAgICAgICAgLy8gYmUg
YnVmZmVyZWQsIGFuZCB3ZSBoYXZlIG5vdCB5ZXQgZ2VuZXJhdGVkIGFueSBjb2RlLiBPbmNlIHRo
ZSBTdHViIGZpbmFsbHkgZ2VuZXJhdGVzCiAgICAgICAgIC8vIGNvZGUsIHdlJ3JlIG5vIGxvbmdl
ciBydW5uaW5nIHRoZSBpbmxpbmUgYWNjZXNzIGNvZGUsIHNvIHdlIGNhbiB0aGVuIGNsZWFyIG91
dAotICAgICAgICAvLyBpbmxpbmVBY2Nlc3NCYXNlU3RydWN0dXJlLiBUaGUgcmVhc29uIHdlIGRv
bid0IGNsZWFyIGlubGluZUFjY2Vzc0Jhc2VTdHJ1Y3R1cmUgd2hpbGUKLSAgICAgICAgLy8gd2Un
cmUgYnVmZmVyZWQgaXMgYmVjYXVzZSB3ZSByZWx5IG9uIGl0IHRvIHJlc2V0IGR1cmluZyBHQyBp
ZiBpbmxpbmVBY2Nlc3NCYXNlU3RydWN0dXJlCisgICAgICAgIC8vIG1faW5saW5lQWNjZXNzQmFz
ZVN0cnVjdHVyZS4gVGhlIHJlYXNvbiB3ZSBkb24ndCBjbGVhciBtX2lubGluZUFjY2Vzc0Jhc2VT
dHJ1Y3R1cmUgd2hpbGUKKyAgICAgICAgLy8gd2UncmUgYnVmZmVyZWQgaXMgYmVjYXVzZSB3ZSBy
ZWx5IG9uIGl0IHRvIHJlc2V0IGR1cmluZyBHQyBpZiBtX2lubGluZUFjY2Vzc0Jhc2VTdHJ1Y3R1
cmUKICAgICAgICAgLy8gaXMgY29sbGVjdGVkLgotICAgICAgICBpbmxpbmVBY2Nlc3NCYXNlU3Ry
dWN0dXJlLmNsZWFyKCk7CisgICAgICAgIG1faWRlbnRpZmllciA9IG51bGxwdHI7CisgICAgICAg
IG1faW5saW5lQWNjZXNzQmFzZVN0cnVjdHVyZS5jbGVhcigpOwogICAgICAgICAKICAgICAgICAg
Ly8gSWYgd2UgZ2VuZXJhdGVkIHNvbWUgY29kZSB0aGVuIHdlIGRvbid0IHdhbnQgdG8gYXR0ZW1w
dCB0byByZXBhdGNoIGluIHRoZSBmdXR1cmUgdW50aWwgd2UKICAgICAgICAgLy8gZ2F0aGVyIGVu
b3VnaCBjYXNlcy4KQEAgLTI0NCwxMCArMjQ3LDExIEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQg
U3RydWN0dXJlU3R1YkluZm86OmFkZEFjY2Vzc0Nhc2UoCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IAotdm9pZCBTdHJ1Y3R1cmVTdHViSW5mbzo6cmVzZXQoY29uc3QgQ29uY3VycmVudEpTTG9ja2Vy
QmFzZSYgbG9ja2VyLCBDb2RlQmxvY2sqIGNvZGVCbG9jaykKK3ZvaWQgU3RydWN0dXJlU3R1Yklu
Zm86OnJlc2V0KGNvbnN0IENvbmN1cnJlbnRKU0xvY2tlckJhc2UmLCBDb2RlQmxvY2sqIGNvZGVC
bG9jaykKIHsKICAgICBjbGVhckJ1ZmZlcmVkU3RydWN0dXJlcygpOwotICAgIGlubGluZUFjY2Vz
c0Jhc2VTdHJ1Y3R1cmUuY2xlYXIoKTsKKyAgICBtX2lkZW50aWZpZXIgPSBudWxscHRyOworICAg
IG1faW5saW5lQWNjZXNzQmFzZVN0cnVjdHVyZS5jbGVhcigpOwogCiAgICAgaWYgKG1fY2FjaGVU
eXBlID09IENhY2hlVHlwZTo6VW5zZXQpCiAgICAgICAgIHJldHVybjsKQEAgLTMxMCw3ICszMTQs
NyBAQCB2b2lkIFN0cnVjdHVyZVN0dWJJbmZvOjpyZXNldChjb25zdCBDb25jdXJyZW50SlNMb2Nr
ZXJCYXNlJiBsb2NrZXIsIENvZGVCbG9jayogYwogICAgIH0KICAgICAKICAgICBkZXJlZigpOwot
ICAgIHNldENhY2hlVHlwZShsb2NrZXIsIENhY2hlVHlwZTo6VW5zZXQpOworICAgIG1fY2FjaGVU
eXBlID0gQ2FjaGVUeXBlOjpVbnNldDsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgVmlzaXRvcj4K
QEAgLTMyMSwxNSArMzI1LDE0IEBAIHZvaWQgU3RydWN0dXJlU3R1YkluZm86OnZpc2l0QWdncmVn
YXRlSW1wbChWaXNpdG9yJiB2aXNpdG9yKQogICAgICAgICBmb3IgKGF1dG8mIGJ1ZmZlcmVkU3Ry
dWN0dXJlIDogbV9idWZmZXJlZFN0cnVjdHVyZXMpCiAgICAgICAgICAgICBidWZmZXJlZFN0cnVj
dHVyZS5ieVZhbElkKCkudmlzaXRBZ2dyZWdhdGUodmlzaXRvcik7CiAgICAgfQorICAgIG1faWRl
bnRpZmllci52aXNpdEFnZ3JlZ2F0ZSh2aXNpdG9yKTsKICAgICBzd2l0Y2ggKG1fY2FjaGVUeXBl
KSB7CiAgICAgY2FzZSBDYWNoZVR5cGU6OlVuc2V0OgogICAgIGNhc2UgQ2FjaGVUeXBlOjpBcnJh
eUxlbmd0aDoKICAgICBjYXNlIENhY2hlVHlwZTo6U3RyaW5nTGVuZ3RoOgotICAgICAgICByZXR1
cm47CiAgICAgY2FzZSBDYWNoZVR5cGU6OlB1dEJ5SWRSZXBsYWNlOgogICAgIGNhc2UgQ2FjaGVU
eXBlOjpJbkJ5SWRTZWxmOgogICAgIGNhc2UgQ2FjaGVUeXBlOjpHZXRCeUlkU2VsZjoKLSAgICAg
ICAgbV9pZGVudGlmaWVyLnZpc2l0QWdncmVnYXRlKHZpc2l0b3IpOwogICAgICAgICByZXR1cm47
CiAgICAgY2FzZSBDYWNoZVR5cGU6OlN0dWI6CiAgICAgICAgIHUuc3R1Yi0+dmlzaXRBZ2dyZWdh
dGUodmlzaXRvcik7CkBAIC0zNTQsOCArMzU3LDggQEAgdm9pZCBTdHJ1Y3R1cmVTdHViSW5mbzo6
dmlzaXRXZWFrUmVmZXJlbmNlcyhjb25zdCBDb25jdXJyZW50SlNMb2NrZXJCYXNlJiBsb2NrZXIK
ICAgICB9CiAKICAgICBib29sIGlzVmFsaWQgPSB0cnVlOwotICAgIGlmIChpbmxpbmVBY2Nlc3NC
YXNlU3RydWN0dXJlKQotICAgICAgICBpc1ZhbGlkICY9IHZtLmhlYXAuaXNNYXJrZWQoaW5saW5l
QWNjZXNzQmFzZVN0cnVjdHVyZS5nZXQoKSk7CisgICAgaWYgKG1faW5saW5lQWNjZXNzQmFzZVN0
cnVjdHVyZSkKKyAgICAgICAgaXNWYWxpZCAmPSB2bS5oZWFwLmlzTWFya2VkKG1faW5saW5lQWNj
ZXNzQmFzZVN0cnVjdHVyZS5nZXQoKSk7CiAgICAgaWYgKG1fY2FjaGVUeXBlID09IENhY2hlVHlw
ZTo6U3R1YikKICAgICAgICAgaXNWYWxpZCAmPSB1LnN0dWItPnZpc2l0V2Vhayh2bSk7CiAKQEAg
LTM2OSw4ICszNzIsOCBAQCB2b2lkIFN0cnVjdHVyZVN0dWJJbmZvOjp2aXNpdFdlYWtSZWZlcmVu
Y2VzKGNvbnN0IENvbmN1cnJlbnRKU0xvY2tlckJhc2UmIGxvY2tlcgogdGVtcGxhdGU8dHlwZW5h
bWUgVmlzaXRvcj4KIHZvaWQgU3RydWN0dXJlU3R1YkluZm86OnByb3BhZ2F0ZVRyYW5zaXRpb25z
KFZpc2l0b3ImIHZpc2l0b3IpCiB7Ci0gICAgaWYgKGlubGluZUFjY2Vzc0Jhc2VTdHJ1Y3R1cmUp
Ci0gICAgICAgIGlubGluZUFjY2Vzc0Jhc2VTdHJ1Y3R1cmUtPm1hcmtJZkNoZWFwKHZpc2l0b3Ip
OworICAgIGlmIChtX2lubGluZUFjY2Vzc0Jhc2VTdHJ1Y3R1cmUpCisgICAgICAgIG1faW5saW5l
QWNjZXNzQmFzZVN0cnVjdHVyZS0+bWFya0lmQ2hlYXAodmlzaXRvcik7CiAKICAgICBpZiAobV9j
YWNoZVR5cGUgPT0gQ2FjaGVUeXBlOjpTdHViKQogICAgICAgICB1LnN0dWItPnByb3BhZ2F0ZVRy
YW5zaXRpb25zKHZpc2l0b3IpOwpAQCAtNDE5LDIzICs0MjIsNiBAQCBib29sIFN0cnVjdHVyZVN0
dWJJbmZvOjpjb250YWluc1BDKHZvaWQqIHBjKSBjb25zdAogICAgIHJldHVybiB1LnN0dWItPmNv
bnRhaW5zUEMocGMpOwogfQogCi12b2lkIFN0cnVjdHVyZVN0dWJJbmZvOjpzZXRDYWNoZVR5cGUo
Y29uc3QgQ29uY3VycmVudEpTTG9ja2VyQmFzZSYsIENhY2hlVHlwZSBuZXdDYWNoZVR5cGUpCi17
Ci0gICAgc3dpdGNoIChtX2NhY2hlVHlwZSkgewotICAgIGNhc2UgQ2FjaGVUeXBlOjpVbnNldDoK
LSAgICBjYXNlIENhY2hlVHlwZTo6QXJyYXlMZW5ndGg6Ci0gICAgY2FzZSBDYWNoZVR5cGU6OlN0
cmluZ0xlbmd0aDoKLSAgICBjYXNlIENhY2hlVHlwZTo6U3R1YjoKLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBDYWNoZVR5cGU6OlB1dEJ5SWRSZXBsYWNlOgotICAgIGNhc2UgQ2FjaGVUeXBlOjpJ
bkJ5SWRTZWxmOgotICAgIGNhc2UgQ2FjaGVUeXBlOjpHZXRCeUlkU2VsZjoKLSAgICAgICAgbV9p
ZGVudGlmaWVyID0gbnVsbHB0cjsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIG1fY2FjaGVU
eXBlID0gbmV3Q2FjaGVUeXBlOwotfQotCiAjaWYgQVNTRVJUX0VOQUJMRUQKIHZvaWQgU3RydWN0
dXJlU3R1YkluZm86OmNoZWNrQ29uc2lzdGVuY3koKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAppbmRleCAwYWIzMGI1NzUzMWQ5
NzBlYjJjODkxNTg2MGYxYThlOGI3MTA1ZjNlLi40YWNiNzM4ODQ3MGRjNzMwODA2NGNjMDU0NGNj
NWM2YjQxZmRlODU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
U3RydWN0dXJlU3R1YkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
U3RydWN0dXJlU3R1YkluZm8uaApAQCAtMjU4LDggKzI1OCw2IEBAIGNsYXNzIFN0cnVjdHVyZVN0
dWJJbmZvIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIHZvaWQgc2V0Q2Fj
aGVUeXBlKGNvbnN0IENvbmN1cnJlbnRKU0xvY2tlckJhc2UmLCBDYWNoZVR5cGUpOwotCiAgICAg
dm9pZCBjbGVhckJ1ZmZlcmVkU3RydWN0dXJlcygpCiAgICAgewogICAgICAgICBMb2NrZXIgbG9j
a2VyIHsgbV9idWZmZXJlZFN0cnVjdHVyZXNMb2NrIH07CkBAIC0zMzAsNyArMzI4LDcgQEAgY2xh
c3MgU3RydWN0dXJlU3R1YkluZm8gewogICAgICAgICB9IGJ5SWRTZWxmOwogICAgICAgICBQb2x5
bW9ycGhpY0FjY2Vzcyogc3R1YjsKICAgICB9IHU7Ci0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT4gaW5saW5lQWNjZXNzQmFzZVN0cnVjdHVyZTsKKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiBtX2lubGluZUFjY2Vzc0Jhc2VTdHJ1Y3R1cmU7CiBwcml2YXRlOgogICAgIENhY2hlYWJsZUlk
ZW50aWZpZXIgbV9pZGVudGlmaWVyOwogICAgIC8vIFJlcHJlc2VudHMgdGhvc2Ugc3RydWN0dXJl
cyB0aGF0IGFscmVhZHkgaGF2ZSBidWZmZXJlZCBBY2Nlc3NDYXNlcyBpbiB0aGUgUG9seW1vcnBo
aWNBY2Nlc3MuCg==
</data>
<flag name="review"
          id="456183"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>