<?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>194768</bug_id>
          
          <creation_ts>2019-02-17 23:16:07 -0800</creation_ts>
          <short_desc>Add version number to cached bytecode</short_desc>
          <delta_ts>2019-08-24 11:22:09 -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>JavaScriptCore</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>
          
          <blocked>201118</blocked>
    
    <blocked>194769</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tadeu Zagallo">tzagallo</reporter>
          <assigned_to name="Tadeu Zagallo">tzagallo</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1507194</commentid>
    <comment_count>0</comment_count>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-02-17 23:16:07 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1507195</commentid>
    <comment_count>1</comment_count>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-02-17 23:16:38 -0800</bug_when>
    <thetext>&lt;rdar://problem/48147968&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1507196</commentid>
    <comment_count>2</comment_count>
      <attachid>362264</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-02-17 23:19:33 -0800</bug_when>
    <thetext>Created attachment 362264
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1507198</commentid>
    <comment_count>3</comment_count>
      <attachid>362264</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-02-17 23:50:50 -0800</bug_when>
    <thetext>Comment on attachment 362264
Patch

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

&gt; Source/JavaScriptCore/runtime/CodeCache.h:152
&gt; +        close(fd);

Nit: I’d just create an onScopeExit after the branch to make sure it’s a valid fd. I’d also remove the other close(fd)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1507199</commentid>
    <comment_count>4</comment_count>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-02-17 23:58:57 -0800</bug_when>
    <thetext>(In reply to Saam Barati from comment #3)
&gt; Comment on attachment 362264 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=362264&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/CodeCache.h:152
&gt; &gt; +        close(fd);
&gt; 
&gt; Nit: I’d just create an onScopeExit after the branch to make sure it’s a
&gt; valid fd. I’d also remove the other close(fd)

Not sure what do you mean by making sure it&apos;s a valid fd after the branch, we always check and return. I tried to find a helper like that before, but never did. Grepping for `onScopeExit` didn&apos;t find anything either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1507200</commentid>
    <comment_count>5</comment_count>
      <attachid>362264</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-02-18 00:07:19 -0800</bug_when>
    <thetext>Comment on attachment 362264
Patch

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

&gt;&gt;&gt; Source/JavaScriptCore/runtime/CodeCache.h:152
&gt;&gt;&gt; +        close(fd);
&gt;&gt; 
&gt;&gt; Nit: I’d just create an onScopeExit after the branch to make sure it’s a valid fd. I’d also remove the other close(fd)
&gt; 
&gt; Not sure what do you mean by making sure it&apos;s a valid fd after the branch, we always check and return. I tried to find a helper like that before, but never did. Grepping for `onScopeExit` didn&apos;t find anything either.

What I’m proposing is: On line 137, add:
auto closeFD = makeScopeExit([&amp;] { close(fd); })

I misremembered the name of the function</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1507202</commentid>
    <comment_count>6</comment_count>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-02-18 00:26:55 -0800</bug_when>
    <thetext>(In reply to Saam Barati from comment #5)
&gt; Comment on attachment 362264 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=362264&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/JavaScriptCore/runtime/CodeCache.h:152
&gt; &gt;&gt;&gt; +        close(fd);
&gt; &gt;&gt; 
&gt; &gt;&gt; Nit: I’d just create an onScopeExit after the branch to make sure it’s a valid fd. I’d also remove the other close(fd)
&gt; &gt; 
&gt; &gt; Not sure what do you mean by making sure it&apos;s a valid fd after the branch, we always check and return. I tried to find a helper like that before, but never did. Grepping for `onScopeExit` didn&apos;t find anything either.
&gt; 
&gt; What I’m proposing is: On line 137, add:
&gt; auto closeFD = makeScopeExit([&amp;] { close(fd); })
&gt; 
&gt; I misremembered the name of the function

Nice! Thanks, I&apos;ll update it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1507203</commentid>
    <comment_count>7</comment_count>
      <attachid>362266</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-02-18 00:39:23 -0800</bug_when>
    <thetext>Created attachment 362266
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1507220</commentid>
    <comment_count>8</comment_count>
      <attachid>362266</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-18 02:20:34 -0800</bug_when>
    <thetext>Comment on attachment 362266
Patch

Clearing flags on attachment: 362266

Committed r241660: &lt;https://trac.webkit.org/changeset/241660&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1507221</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-18 02:20:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362264</attachid>
            <date>2019-02-17 23:19:33 -0800</date>
            <delta_ts>2019-02-18 00:39:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194768-20190218081857.patch</filename>
            <type>text/plain</type>
            <size>7228</size>
            <attacher name="Tadeu Zagallo">tzagallo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxNjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
M2YxZDE3ZDI5MGY3ODFhMGYyNTJlYjQ5NmI2NDQ4ZjE3N2Y0NzRlLi5mMzQ0NmU4MGIzYTg4MmJk
MTY4NGZmYTY2ZmE4MzhhZWZmMGEzODVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxOS0wMi0xNyAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgdmVyc2lvbiBudW1iZXIgdG8gY2FjaGVkIGJ5dGVjb2RlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ3NjgKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzQ4MTQ3OTY4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHZlcnNpb24gbnVtYmVyIHRvIHRoZSBieXRlY29k
ZSBjYWNoZSB0aGF0IHNob3VsZCBiZSB1bmlxdWUgcGVyIGJ1aWxkLgorCisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
bWFrZToKKyAgICAgICAgKiBydW50aW1lL0NhY2hlZFR5cGVzLmNwcDoKKyAgICAgICAgKEpTQzo6
RW5jb2Rlcjo6bWFsbG9jKToKKyAgICAgICAgKEpTQzo6Q2FjaGVFbnRyeTo6ZGVjb2RlIGNvbnN0
KToKKyAgICAgICAgKEpTQzo6R2VuZXJpY0NhY2hlRW50cnk6OmRlY29kZSBjb25zdCk6CisgICAg
ICAgIChKU0M6OmRlY29kZUNvZGVCbG9ja0ltcGwpOgorICAgICAgICAoSlNDOjpDYWNoZUVudHJ5
OjogY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjogY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAqIHJ1bnRpbWUvQ29kZUNhY2hlLmg6CisgICAgICAgIChKU0M6OkNvZGVDYWNoZU1hcDo6
ZmV0Y2hGcm9tRGlza0ltcGwpOgorCiAyMDE5LTAyLTE3ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlA
YXBwbGUuY29tPgogCiAgICAgICAgIFdhc21CM0lSR2VuZXJhdG9yIG1vZGVscyBzb21lIGVmZmVj
dHMgaW5jb3JyZWN0bHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVk
U291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVk
U291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA5ZDZiNjRlOTJiZTdkNDY1YTZlNzEzNDQx
NjM2MmYxNWJhMzVhMzgyLi5kMmRlZTQyNDIzMzc3ODllNzRiYzRjNGRmZjU0YmY2MTc3YTk4MTM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0CkBAIC05LDYgKzksNyBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUvQXN5bmNHZW5lcmF0b3JQcm90b3R5cGUubHV0Lgog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlL0JpZ0lu
dENvbnN0cnVjdG9yLmx1dC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
SmF2YVNjcmlwdENvcmUvQmlnSW50UHJvdG90eXBlLmx1dC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUvQm9vbGVhblByb3RvdHlwZS5sdXQuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlL0J5dGVj
b2RlQ2FjaGVWZXJzaW9uLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9K
YXZhU2NyaXB0Q29yZS9CeXRlY29kZUluZGljZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlL0J5dGVjb2RlU3RydWN0cy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUvQnl0ZWNvZGVzLmgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNGQzZTQyOTA3NGMx
MmVmNTRkY2EyNTUxMmFjMjAzYzU5MzI5OTAxMy4uM2I1ZTEwNTQwYmJiZGIyMmMzYmJkNzA0ZTE3
YmJlNDliMjg2NmU0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTM1NiwzICszNTYsMTAgQEAgV2FzbUIzSVJHZW5lcmF0b3JJbmxpbmVzLmg6ICQoSmF2
YVNjcmlwdENvcmUpL3dhc20vZ2VuZXJhdGVXYXNtQjNJUkdlbmVyYXRvcklubGkKIGFsbCA6IFwK
ICAgICAkKE9CSkVDVF9MVVRfSEVBREVSUykgXAogIworCisuUEhPTlkgOiBCeXRlY29kZUNhY2hl
VmVyc2lvbi5oCisKK0J5dGVjb2RlQ2FjaGVWZXJzaW9uLmg6CisJZWNobyAiI2RlZmluZSBKU0Nf
QllURUNPREVfQ0FDSEVfVkVSU0lPTiAkKHNoZWxsIGRhdGUgJyslcycpIiA+IEJ5dGVjb2RlQ2Fj
aGVWZXJzaW9uLmgKKworYWxsIDogQnl0ZWNvZGVDYWNoZVZlcnNpb24uaApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2FjaGVkVHlwZXMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2FjaGVkVHlwZXMuY3BwCmluZGV4IDhhMWRkZTMxMzBlYjU1
Mjg0M2U4YzE5YmZhMGExYjcxMTlkYTcwMjAuLjliMWMxZTQwZGU4MGE3YWYxYzViYWExNjQwMDFh
OGExY2U3MDNlYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nh
Y2hlZFR5cGVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DYWNoZWRU
eXBlcy5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJDYWNoZWRUeXBlcy5oIgogCisjaW5jbHVkZSAiQnl0ZWNvZGVDYWNoZVZlcnNpb24uaCIKICNp
bmNsdWRlICJCeXRlY29kZUxpdmVuZXNzQW5hbHlzaXMuaCIKICNpbmNsdWRlICJKU0Nhc3QuaCIK
ICNpbmNsdWRlICJKU0ltbXV0YWJsZUJ1dHRlcmZseS5oIgpAQCAtMTA0LDcgKzEwNSw3IEBAIHB1
YmxpYzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIFQqIG1hbGxvYygpCiAgICAgewot
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxUKj4obWFsbG9jKHNpemVvZihUKSkuYnVm
ZmVyKCkpOworICAgICAgICByZXR1cm4gbmV3IChtYWxsb2Moc2l6ZW9mKFQpKS5idWZmZXIoKSkg
VCgpOwogICAgIH0KIAogICAgIHB0cmRpZmZfdCBvZmZzZXRPZihjb25zdCB2b2lkKiBhZGRyZXNz
KQpAQCAtMTcyMCw2ICsxNzIxLDcgQEAgZW51bSBDYWNoZWRDb2RlQmxvY2tUYWcgewogICAgIENh
Y2hlZFByb2dyYW1Db2RlQmxvY2tUYWcsCiAgICAgQ2FjaGVkTW9kdWxlQ29kZUJsb2NrVGFnLAog
ICAgIENhY2hlZEV2YWxDb2RlQmxvY2tUYWcsCisgICAgSW52YWxpZENvZGVCbG9ja1RhZywKIH07
CiAKIHRlbXBsYXRlPD4KQEAgLTE5ODYsMTAgKzE5ODgsMTEgQEAgcHJpdmF0ZToKIAogY2xhc3Mg
R2VuZXJpY0NhY2hlRW50cnkgewogcHVibGljOgotICAgIHN0ZDo6cGFpcjxTb3VyY2VDb2RlS2V5
LCBVbmxpbmtlZENvZGVCbG9jayo+IGRlY29kZShEZWNvZGVyJikgY29uc3Q7CisgICAgYm9vbCBk
ZWNvZGUoRGVjb2RlciYsIHN0ZDo6cGFpcjxTb3VyY2VDb2RlS2V5LCBVbmxpbmtlZENvZGVCbG9j
ayo+JikgY29uc3Q7CiAKIHByb3RlY3RlZDoKLSAgICBDYWNoZWRDb2RlQmxvY2tUYWcgbV90YWc7
CisgICAgdWludDMyX3QgbV9jYWNoZVZlcnNpb24geyBKU0NfQllURUNPREVfQ0FDSEVfVkVSU0lP
TiB9OworICAgIENhY2hlZENvZGVCbG9ja1RhZyBtX3RhZyB7IEludmFsaWRDb2RlQmxvY2tUYWcg
fTsKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFVubGlua2VkQ29kZUJsb2NrVHlwZT4KQEAgLTIw
MDUsMzMgKzIwMDgsMzggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBmcmllbmQgR2VuZXJpY0Nh
Y2hlRW50cnk7CiAKLSAgICBzdGQ6OnBhaXI8U291cmNlQ29kZUtleSwgVW5saW5rZWRDb2RlQmxv
Y2tUeXBlKj4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpIGNvbnN0CisgICAgYm9vbCBkZWNvZGUo
RGVjb2RlciYgZGVjb2Rlciwgc3RkOjpwYWlyPFNvdXJjZUNvZGVLZXksIFVubGlua2VkQ29kZUJs
b2NrVHlwZSo+JiByZXN1bHQpIGNvbnN0CiAgICAgeworICAgICAgICBpZiAobV9jYWNoZVZlcnNp
b24gIT0gSlNDX0JZVEVDT0RFX0NBQ0hFX1ZFUlNJT04pCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIEFTU0VSVChtX3RhZyA9PSBDYWNoZWRDb2RlQmxvY2tUeXBlSW1wbDxVbmxp
bmtlZENvZGVCbG9ja1R5cGU+Ojp0YWcpOworICAgICAgICBpZiAobV90YWcgIT0gQ2FjaGVkQ29k
ZUJsb2NrVHlwZUltcGw8VW5saW5rZWRDb2RlQmxvY2tUeXBlPjo6dGFnKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICBTb3VyY2VDb2RlS2V5IGRlY29kZWRLZXk7CiAgICAgICAg
IG1fa2V5LmRlY29kZShkZWNvZGVyLCBkZWNvZGVkS2V5KTsKLSAgICAgICAgcmV0dXJuIHsgV1RG
TW92ZShkZWNvZGVkS2V5KSwgbV9jb2RlQmxvY2suZGVjb2RlKGRlY29kZXIpIH07CisgICAgICAg
IHJlc3VsdCA9IHsgV1RGTW92ZShkZWNvZGVkS2V5KSwgbV9jb2RlQmxvY2suZGVjb2RlKGRlY29k
ZXIpIH07CisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAogICAgIENhY2hlZFNvdXJjZUNv
ZGVLZXkgbV9rZXk7CiAgICAgQ2FjaGVkUHRyPENhY2hlZENvZGVCbG9ja1R5cGU8VW5saW5rZWRD
b2RlQmxvY2tUeXBlPj4gbV9jb2RlQmxvY2s7CiB9OwogCi1zdGQ6OnBhaXI8U291cmNlQ29kZUtl
eSwgVW5saW5rZWRDb2RlQmxvY2sqPiBHZW5lcmljQ2FjaGVFbnRyeTo6ZGVjb2RlKERlY29kZXIm
IGRlY29kZXIpIGNvbnN0Citib29sIEdlbmVyaWNDYWNoZUVudHJ5OjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2Rlciwgc3RkOjpwYWlyPFNvdXJjZUNvZGVLZXksIFVubGlua2VkQ29kZUJsb2NrKj4mIHJl
c3VsdCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKG1fdGFnKSB7CiAgICAgY2FzZSBDYWNoZWRQcm9n
cmFtQ29kZUJsb2NrVGFnOgotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBD
YWNoZUVudHJ5PFVubGlua2VkUHJvZ3JhbUNvZGVCbG9jaz4qPih0aGlzKS0+ZGVjb2RlKGRlY29k
ZXIpOworICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBDYWNoZUVudHJ5PFVu
bGlua2VkUHJvZ3JhbUNvZGVCbG9jaz4qPih0aGlzKS0+ZGVjb2RlKGRlY29kZXIsIHJlaW50ZXJw
cmV0X2Nhc3Q8c3RkOjpwYWlyPFNvdXJjZUNvZGVLZXksIFVubGlua2VkUHJvZ3JhbUNvZGVCbG9j
ayo+Jj4ocmVzdWx0KSk7CiAgICAgY2FzZSBDYWNoZWRNb2R1bGVDb2RlQmxvY2tUYWc6Ci0gICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNvbnN0IENhY2hlRW50cnk8VW5saW5rZWRNb2R1
bGVQcm9ncmFtQ29kZUJsb2NrPio+KHRoaXMpLT5kZWNvZGUoZGVjb2Rlcik7Ci0gICAgY2FzZSBD
YWNoZWRFdmFsQ29kZUJsb2NrVGFnOgorICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxj
b25zdCBDYWNoZUVudHJ5PFVubGlua2VkTW9kdWxlUHJvZ3JhbUNvZGVCbG9jaz4qPih0aGlzKS0+
ZGVjb2RlKGRlY29kZXIsIHJlaW50ZXJwcmV0X2Nhc3Q8c3RkOjpwYWlyPFNvdXJjZUNvZGVLZXks
IFVubGlua2VkTW9kdWxlUHJvZ3JhbUNvZGVCbG9jayo+Jj4ocmVzdWx0KSk7CisgICAgZGVmYXVs
dDoKICAgICAgICAgLy8gV2UgZG8gbm90IGNhY2hlIGV2YWwgY29kZSBibG9ja3MKICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICNpZiBDT01QSUxFUihNU1ZDKQogICAgIC8vIFdpdGhvdXQgdGhpcywg
TVNWQyB3aWxsIGNvbXBsYWluIHRoYXQgdGhpcyBwYXRoIGRvZXMgbm90IHJldHVybiBhIHZhbHVl
LgotICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNvbnN0IENhY2hlRW50cnk8VW5saW5rZWRF
dmFsQ29kZUJsb2NrPio+KHRoaXMpLT5kZWNvZGUoZGVjb2Rlcik7CisgICAgcmV0dXJuIGZhbHNl
OwogI2VuZGlmCiB9CiAKQEAgLTIwNjQsNyArMjA3Miw4IEBAIFVubGlua2VkQ29kZUJsb2NrKiBk
ZWNvZGVDb2RlQmxvY2tJbXBsKFZNJiB2bSwgY29uc3QgU291cmNlQ29kZUtleSYga2V5LCBjb25z
dCB2CiAgICAgc3RkOjpwYWlyPFNvdXJjZUNvZGVLZXksIFVubGlua2VkQ29kZUJsb2NrKj4gZW50
cnk7CiAgICAgewogICAgICAgICBEZWZlckdDIGRlZmVyR0Modm0uaGVhcCk7Ci0gICAgICAgIGVu
dHJ5ID0gY2FjaGVkRW50cnktPmRlY29kZShkZWNvZGVyKTsKKyAgICAgICAgaWYgKCFjYWNoZWRF
bnRyeS0+ZGVjb2RlKGRlY29kZXIsIGVudHJ5KSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIH0KIAogICAgIGlmIChlbnRyeS5maXJzdCAhPSBrZXkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5oCmluZGV4IDdhYjgwZmUyMDFhYmQ4YmZkOTJlOTVmNDYw
ZmMzNjdiYjM4NDhiNzguLjQxYmU5NzcyYjZkZDg4N2FkZmEzMjc0ZWNiNDk4NDEwODI5ZWM0YjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5oCkBAIC0xNDksNiAr
MTQ5LDcgQEAgcHVibGljOgogICAgICAgICB9CiAKICAgICAgICAgdm9pZCogYnVmZmVyID0gbW1h
cChudWxscHRyLCBzaXplLCBQUk9UX1JFQUQsIE1BUF9QUklWQVRFLCBmZCwgMCk7CisgICAgICAg
IGNsb3NlKGZkKTsKICAgICAgICAgVW5saW5rZWRDb2RlQmxvY2tUeXBlKiB1bmxpbmtlZENvZGVC
bG9jayA9IGRlY29kZUNvZGVCbG9jazxVbmxpbmtlZENvZGVCbG9ja1R5cGU+KHZtLCBrZXksIGJ1
ZmZlciwgc2l6ZSk7CiAgICAgICAgIG11bm1hcChidWZmZXIsIHNpemUpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362266</attachid>
            <date>2019-02-18 00:39:23 -0800</date>
            <delta_ts>2019-02-18 02:20:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194768-20190218093846.patch</filename>
            <type>text/plain</type>
            <size>9686</size>
            <attacher name="Tadeu Zagallo">tzagallo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxNjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
M2YxZDE3ZDI5MGY3ODFhMGYyNTJlYjQ5NmI2NDQ4ZjE3N2Y0NzRlLi4yMDQ0ZTlhM2ZkYjk0MmJm
NDZlMDI4Y2UyOGY1ZGQ1Y2EzNWYxZDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxOS0wMi0xNyAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgdmVyc2lvbiBudW1iZXIgdG8gY2FjaGVkIGJ5dGVjb2RlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ3NjgKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzQ4MTQ3OTY4PgorCisgICAgICAgIFJldmlld2VkIGJ5IFNhYW0g
QmFyYXRpLgorCisgICAgICAgIEFkZCBhIHZlcnNpb24gbnVtYmVyIHRvIHRoZSBieXRlY29kZSBj
YWNoZSB0aGF0IHNob3VsZCBiZSB1bmlxdWUgcGVyIGJ1aWxkLgorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBydW50aW1lL0NhY2hlZFR5
cGVzLmNwcDoKKyAgICAgICAgKEpTQzo6RW5jb2Rlcjo6bWFsbG9jKToKKyAgICAgICAgKEpTQzo6
R2VuZXJpY0NhY2hlRW50cnk6OkdlbmVyaWNDYWNoZUVudHJ5KToKKyAgICAgICAgKEpTQzo6Q2Fj
aGVFbnRyeTo6Q2FjaGVFbnRyeSk6CisgICAgICAgIChKU0M6OkNhY2hlRW50cnk6OmVuY29kZSk6
CisgICAgICAgIChKU0M6OkNhY2hlRW50cnk6OmRlY29kZSBjb25zdCk6CisgICAgICAgIChKU0M6
OkdlbmVyaWNDYWNoZUVudHJ5OjpkZWNvZGUgY29uc3QpOgorICAgICAgICAoSlNDOjpkZWNvZGVD
b2RlQmxvY2tJbXBsKToKKyAgICAgICAgKiBydW50aW1lL0NvZGVDYWNoZS5oOgorICAgICAgICAo
SlNDOjpDb2RlQ2FjaGVNYXA6OmZldGNoRnJvbURpc2tJbXBsKToKKwogMjAxOS0wMi0xNyAgU2Fh
bSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBXYXNtQjNJUkdlbmVyYXRv
ciBtb2RlbHMgc29tZSBlZmZlY3RzIGluY29ycmVjdGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggMmNlZjkzNjY4YmFjOGRmZjk3ZTcwNTEwMGY4NmFhNzM1YWQ1NjczZS4u
ZTMxMWFjZTQyNmE3MjM3OTVhZmFjMTcyZjgzZWFjZTFiZTg5MGFlMSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjI4LDkgKzIyOCwxOSBAQCBhZGRfY3VzdG9tX2NvbW1h
bmQoCiAgICAgQ09NTUFORCAke1JVQllfRVhFQ1VUQUJMRX0gJHtKQVZBU0NSSVBUQ09SRV9ESVJ9
L2dlbmVyYXRvci9tYWluLnJiIC0tYnl0ZWNvZGVzX2ggJHtERVJJVkVEX1NPVVJDRVNfSkFWQVND
UklQVENPUkVfRElSfS9CeXRlY29kZXMuaCAtLWluaXRfYnl0ZWNvZGVzX2FzbSAke0RFUklWRURf
U09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L0luaXRCeXRlY29kZXMuYXNtIC0tYnl0ZWNvZGVf
c3RydWN0c19oICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vQnl0ZWNvZGVT
dHJ1Y3RzLmggLS1ieXRlY29kZV9pbmRpY2VzX2ggJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQ
VENPUkVfRElSfS9CeXRlY29kZUluZGljZXMuaCAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vYnl0ZWNv
ZGUvQnl0ZWNvZGVMaXN0LnJiCiAgICAgVkVSQkFUSU0pCiAKKworaWYgKFdURl9PU19NQUNfT1Nf
WCkKKyAgICBleGVjdXRlX3Byb2Nlc3MoQ09NTUFORCBiYXNoIC1jICJkYXRlICsnJXMnIiBPVVRQ
VVRfVkFSSUFCTEUgQlVJTERfVElNRSBPVVRQVVRfU1RSSVBfVFJBSUxJTkdfV0hJVEVTUEFDRSkK
K2Vsc2UgKCkKKyAgICBzZXQoQlVJTERfVElNRSAwKQorZW5kaWYgKCkKKworZmlsZShXUklURSAk
e0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L0J5dGVjb2RlQ2FjaGVWZXJzaW9u
LmggIiNkZWZpbmUgSlNDX0JZVEVDT0RFX0NBQ0hFX1ZFUlNJT04gJHtCVUlMRF9USU1FfVxuIikK
KwogbGlzdChBUFBFTkQgSmF2YVNjcmlwdENvcmVfSEVBREVSUwotICAgICR7REVSSVZFRF9TT1VS
Q0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vQnl0ZWNvZGVzLmgKKyAgICAke0RFUklWRURfU09VUkNF
U19KQVZBU0NSSVBUQ09SRV9ESVJ9L0J5dGVjb2RlQ2FjaGVWZXJzaW9uLmgKICAgICAke0RFUklW
RURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L0J5dGVjb2RlU3RydWN0cy5oCisgICAgJHtE
RVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9CeXRlY29kZXMuaAogKQogCiBpZiAo
V0lOMzIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggOWQ2YjY0ZTkyYmU3ZDQ2NWE2ZTcxMzQ0MTYzNjJmMTVi
YTM1YTM4Mi4uZDJkZWU0MjQyMzM3Nzg5ZTc0YmM0YzRkZmY1NGJmNjE3N2E5ODEzNCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdApAQCAtOSw2ICs5LDcgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL0phdmFTY3JpcHRDb3JlL0FzeW5jR2VuZXJhdG9yUHJvdG90eXBlLmx1dC4KICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZS9CaWdJbnRDb25zdHJ1
Y3Rvci5sdXQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL0phdmFTY3Jp
cHRDb3JlL0JpZ0ludFByb3RvdHlwZS5sdXQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlL0Jvb2xlYW5Qcm90b3R5cGUubHV0LmgKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZS9CeXRlY29kZUNhY2hl
VmVyc2lvbi5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlw
dENvcmUvQnl0ZWNvZGVJbmRpY2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9KYXZhU2NyaXB0Q29yZS9CeXRlY29kZVN0cnVjdHMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlL0J5dGVjb2Rlcy5oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDRkM2U0MjkwNzRjMTJlZjU0ZGNh
MjU1MTJhYzIwM2M1OTMyOTkwMTMuLjNiNWUxMDU0MGJiYmRiMjJjM2JiZDcwNGUxN2JiZTQ5YjI4
NjZlNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0z
NTYsMyArMzU2LDEwIEBAIFdhc21CM0lSR2VuZXJhdG9ySW5saW5lcy5oOiAkKEphdmFTY3JpcHRD
b3JlKS93YXNtL2dlbmVyYXRlV2FzbUIzSVJHZW5lcmF0b3JJbmxpCiBhbGwgOiBcCiAgICAgJChP
QkpFQ1RfTFVUX0hFQURFUlMpIFwKICMKKworLlBIT05ZIDogQnl0ZWNvZGVDYWNoZVZlcnNpb24u
aAorCitCeXRlY29kZUNhY2hlVmVyc2lvbi5oOgorCWVjaG8gIiNkZWZpbmUgSlNDX0JZVEVDT0RF
X0NBQ0hFX1ZFUlNJT04gJChzaGVsbCBkYXRlICcrJXMnKSIgPiBCeXRlY29kZUNhY2hlVmVyc2lv
bi5oCisKK2FsbCA6IEJ5dGVjb2RlQ2FjaGVWZXJzaW9uLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0NhY2hlZFR5cGVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NhY2hlZFR5cGVzLmNwcAppbmRleCA4YTFkZGUzMTMwZWI1NTI4NDNlOGMx
OWJmYTBhMWI3MTE5ZGE3MDIwLi5iYTI5ZTZlZjMzYzFiOGVhZWI4MjA3NmZmYmI2ZDRjMTU5Yzhh
ZDg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DYWNoZWRUeXBl
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2FjaGVkVHlwZXMuY3Bw
CkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ2FjaGVk
VHlwZXMuaCIKIAorI2luY2x1ZGUgIkJ5dGVjb2RlQ2FjaGVWZXJzaW9uLmgiCiAjaW5jbHVkZSAi
Qnl0ZWNvZGVMaXZlbmVzc0FuYWx5c2lzLmgiCiAjaW5jbHVkZSAiSlNDYXN0LmgiCiAjaW5jbHVk
ZSAiSlNJbW11dGFibGVCdXR0ZXJmbHkuaCIKQEAgLTEwNCw3ICsxMDUsNyBAQCBwdWJsaWM6CiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBUKiBtYWxsb2MoKQogICAgIHsKLSAgICAgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KG1hbGxvYyhzaXplb2YoVCkpLmJ1ZmZlcigpKTsK
KyAgICAgICAgcmV0dXJuIG5ldyAobWFsbG9jKHNpemVvZihUKSkuYnVmZmVyKCkpIFQoKTsKICAg
ICB9CiAKICAgICBwdHJkaWZmX3Qgb2Zmc2V0T2YoY29uc3Qgdm9pZCogYWRkcmVzcykKQEAgLTE5
ODYsMTggKzE5ODcsMjggQEAgcHJpdmF0ZToKIAogY2xhc3MgR2VuZXJpY0NhY2hlRW50cnkgewog
cHVibGljOgotICAgIHN0ZDo6cGFpcjxTb3VyY2VDb2RlS2V5LCBVbmxpbmtlZENvZGVCbG9jayo+
IGRlY29kZShEZWNvZGVyJikgY29uc3Q7CisgICAgYm9vbCBkZWNvZGUoRGVjb2RlciYsIHN0ZDo6
cGFpcjxTb3VyY2VDb2RlS2V5LCBVbmxpbmtlZENvZGVCbG9jayo+JikgY29uc3Q7CiAKIHByb3Rl
Y3RlZDoKKyAgICBHZW5lcmljQ2FjaGVFbnRyeShDYWNoZWRDb2RlQmxvY2tUYWcgdGFnKQorICAg
ICAgICA6IG1fdGFnKHRhZykKKyAgICB7CisgICAgfQorCisgICAgdWludDMyX3QgbV9jYWNoZVZl
cnNpb24geyBKU0NfQllURUNPREVfQ0FDSEVfVkVSU0lPTiB9OwogICAgIENhY2hlZENvZGVCbG9j
a1RhZyBtX3RhZzsKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFVubGlua2VkQ29kZUJsb2NrVHlw
ZT4KIGNsYXNzIENhY2hlRW50cnkgOiBwdWJsaWMgR2VuZXJpY0NhY2hlRW50cnkgewogcHVibGlj
OgorICAgIENhY2hlRW50cnkoKQorICAgICAgICA6IEdlbmVyaWNDYWNoZUVudHJ5KENhY2hlZENv
ZGVCbG9ja1R5cGVJbXBsPFVubGlua2VkQ29kZUJsb2NrVHlwZT46OnRhZykKKyAgICB7CisgICAg
fQorCiAgICAgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2Rlciwgc3RkOjpwYWlyPFNvdXJjZUNv
ZGVLZXksIGNvbnN0IFVubGlua2VkQ29kZUJsb2NrVHlwZSo+IHBhaXIpCiAgICAgewotICAgICAg
ICBtX3RhZyA9IENhY2hlZENvZGVCbG9ja1R5cGVJbXBsPFVubGlua2VkQ29kZUJsb2NrVHlwZT46
OnRhZzsKICAgICAgICAgbV9rZXkuZW5jb2RlKGVuY29kZXIsIHBhaXIuZmlyc3QpOwogICAgICAg
ICBtX2NvZGVCbG9jay5lbmNvZGUoZW5jb2RlciwgcGFpci5zZWNvbmQpOwogICAgIH0KQEAgLTIw
MDUsMjUgKzIwMTYsMzAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBmcmllbmQgR2VuZXJpY0Nh
Y2hlRW50cnk7CiAKLSAgICBzdGQ6OnBhaXI8U291cmNlQ29kZUtleSwgVW5saW5rZWRDb2RlQmxv
Y2tUeXBlKj4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpIGNvbnN0CisgICAgYm9vbCBkZWNvZGUo
RGVjb2RlciYgZGVjb2Rlciwgc3RkOjpwYWlyPFNvdXJjZUNvZGVLZXksIFVubGlua2VkQ29kZUJs
b2NrVHlwZSo+JiByZXN1bHQpIGNvbnN0CiAgICAgeworICAgICAgICBpZiAobV9jYWNoZVZlcnNp
b24gIT0gSlNDX0JZVEVDT0RFX0NBQ0hFX1ZFUlNJT04pCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIEFTU0VSVChtX3RhZyA9PSBDYWNoZWRDb2RlQmxvY2tUeXBlSW1wbDxVbmxp
bmtlZENvZGVCbG9ja1R5cGU+Ojp0YWcpOworICAgICAgICBpZiAobV90YWcgIT0gQ2FjaGVkQ29k
ZUJsb2NrVHlwZUltcGw8VW5saW5rZWRDb2RlQmxvY2tUeXBlPjo6dGFnKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICBTb3VyY2VDb2RlS2V5IGRlY29kZWRLZXk7CiAgICAgICAg
IG1fa2V5LmRlY29kZShkZWNvZGVyLCBkZWNvZGVkS2V5KTsKLSAgICAgICAgcmV0dXJuIHsgV1RG
TW92ZShkZWNvZGVkS2V5KSwgbV9jb2RlQmxvY2suZGVjb2RlKGRlY29kZXIpIH07CisgICAgICAg
IHJlc3VsdCA9IHsgV1RGTW92ZShkZWNvZGVkS2V5KSwgbV9jb2RlQmxvY2suZGVjb2RlKGRlY29k
ZXIpIH07CisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAogICAgIENhY2hlZFNvdXJjZUNv
ZGVLZXkgbV9rZXk7CiAgICAgQ2FjaGVkUHRyPENhY2hlZENvZGVCbG9ja1R5cGU8VW5saW5rZWRD
b2RlQmxvY2tUeXBlPj4gbV9jb2RlQmxvY2s7CiB9OwogCi1zdGQ6OnBhaXI8U291cmNlQ29kZUtl
eSwgVW5saW5rZWRDb2RlQmxvY2sqPiBHZW5lcmljQ2FjaGVFbnRyeTo6ZGVjb2RlKERlY29kZXIm
IGRlY29kZXIpIGNvbnN0Citib29sIEdlbmVyaWNDYWNoZUVudHJ5OjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2Rlciwgc3RkOjpwYWlyPFNvdXJjZUNvZGVLZXksIFVubGlua2VkQ29kZUJsb2NrKj4mIHJl
c3VsdCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKG1fdGFnKSB7CiAgICAgY2FzZSBDYWNoZWRQcm9n
cmFtQ29kZUJsb2NrVGFnOgotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBD
YWNoZUVudHJ5PFVubGlua2VkUHJvZ3JhbUNvZGVCbG9jaz4qPih0aGlzKS0+ZGVjb2RlKGRlY29k
ZXIpOworICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBDYWNoZUVudHJ5PFVu
bGlua2VkUHJvZ3JhbUNvZGVCbG9jaz4qPih0aGlzKS0+ZGVjb2RlKGRlY29kZXIsIHJlaW50ZXJw
cmV0X2Nhc3Q8c3RkOjpwYWlyPFNvdXJjZUNvZGVLZXksIFVubGlua2VkUHJvZ3JhbUNvZGVCbG9j
ayo+Jj4ocmVzdWx0KSk7CiAgICAgY2FzZSBDYWNoZWRNb2R1bGVDb2RlQmxvY2tUYWc6Ci0gICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNvbnN0IENhY2hlRW50cnk8VW5saW5rZWRNb2R1
bGVQcm9ncmFtQ29kZUJsb2NrPio+KHRoaXMpLT5kZWNvZGUoZGVjb2Rlcik7CisgICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PGNvbnN0IENhY2hlRW50cnk8VW5saW5rZWRNb2R1bGVQcm9n
cmFtQ29kZUJsb2NrPio+KHRoaXMpLT5kZWNvZGUoZGVjb2RlciwgcmVpbnRlcnByZXRfY2FzdDxz
dGQ6OnBhaXI8U291cmNlQ29kZUtleSwgVW5saW5rZWRNb2R1bGVQcm9ncmFtQ29kZUJsb2NrKj4m
PihyZXN1bHQpKTsKICAgICBjYXNlIENhY2hlZEV2YWxDb2RlQmxvY2tUYWc6CiAgICAgICAgIC8v
IFdlIGRvIG5vdCBjYWNoZSBldmFsIGNvZGUgYmxvY2tzCiAgICAgICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CkBAIC0yMDMxLDcgKzIwNDcsNyBAQCBzdGQ6OnBhaXI8U291cmNlQ29k
ZUtleSwgVW5saW5rZWRDb2RlQmxvY2sqPiBHZW5lcmljQ2FjaGVFbnRyeTo6ZGVjb2RlKERlY29k
ZXImCiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICNpZiBDT01QSUxFUihNU1ZD
KQogICAgIC8vIFdpdGhvdXQgdGhpcywgTVNWQyB3aWxsIGNvbXBsYWluIHRoYXQgdGhpcyBwYXRo
IGRvZXMgbm90IHJldHVybiBhIHZhbHVlLgotICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNv
bnN0IENhY2hlRW50cnk8VW5saW5rZWRFdmFsQ29kZUJsb2NrPio+KHRoaXMpLT5kZWNvZGUoZGVj
b2Rlcik7CisgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiB9CiAKQEAgLTIwNjQsNyArMjA4MCw4
IEBAIFVubGlua2VkQ29kZUJsb2NrKiBkZWNvZGVDb2RlQmxvY2tJbXBsKFZNJiB2bSwgY29uc3Qg
U291cmNlQ29kZUtleSYga2V5LCBjb25zdCB2CiAgICAgc3RkOjpwYWlyPFNvdXJjZUNvZGVLZXks
IFVubGlua2VkQ29kZUJsb2NrKj4gZW50cnk7CiAgICAgewogICAgICAgICBEZWZlckdDIGRlZmVy
R0Modm0uaGVhcCk7Ci0gICAgICAgIGVudHJ5ID0gY2FjaGVkRW50cnktPmRlY29kZShkZWNvZGVy
KTsKKyAgICAgICAgaWYgKCFjYWNoZWRFbnRyeS0+ZGVjb2RlKGRlY29kZXIsIGVudHJ5KSkKKyAg
ICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIGlmIChlbnRyeS5maXJzdCAh
PSBrZXkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2Fj
aGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5oCmluZGV4IDdh
YjgwZmUyMDFhYmQ4YmZkOTJlOTVmNDYwZmMzNjdiYjM4NDhiNzguLjBlNDFlMDIxMWNhZDljNWRi
M2ZjZDg4YWRjYTY0MzNlNGViNzhlMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NvZGVDYWNoZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0NvZGVDYWNoZS5oCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiVW5saW5rZWRQcm9ncmFt
Q29kZUJsb2NrLmgiCiAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgorI2luY2x1ZGUgPHd0Zi9TY29wZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTEzNCwxOSArMTM1LDE5IEBAIHB1YmxpYzoKICAg
ICAgICAgaWYgKGZkID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICAg
ICAgaW50IHJjID0gZmxvY2soZmQsIExPQ0tfU0ggfCBMT0NLX05CKTsKLSAgICAgICAgaWYgKHJj
KSB7CisgICAgICAgIGF1dG8gY2xvc2VGRCA9IG1ha2VTY29wZUV4aXQoWyZdIHsKICAgICAgICAg
ICAgIGNsb3NlKGZkKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgaW50IHJjID0gZmxvY2soZmQs
IExPQ0tfU0ggfCBMT0NLX05CKTsKKyAgICAgICAgaWYgKHJjKQogICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7Ci0gICAgICAgIH0KIAogICAgICAgICBzdHJ1Y3Qgc3RhdCBzYjsKICAgICAgICAg
aW50IHJlcyA9IGZzdGF0KGZkLCAmc2IpOwogICAgICAgICBzaXplX3Qgc2l6ZSA9IHN0YXRpY19j
YXN0PHNpemVfdD4oc2Iuc3Rfc2l6ZSk7Ci0gICAgICAgIGlmIChyZXMgfHwgIXNpemUpIHsKLSAg
ICAgICAgICAgIGNsb3NlKGZkKTsKKyAgICAgICAgaWYgKHJlcyB8fCAhc2l6ZSkKICAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOwotICAgICAgICB9CiAKICAgICAgICAgdm9pZCogYnVmZmVyID0g
bW1hcChudWxscHRyLCBzaXplLCBQUk9UX1JFQUQsIE1BUF9QUklWQVRFLCBmZCwgMCk7CiAgICAg
ICAgIFVubGlua2VkQ29kZUJsb2NrVHlwZSogdW5saW5rZWRDb2RlQmxvY2sgPSBkZWNvZGVDb2Rl
QmxvY2s8VW5saW5rZWRDb2RlQmxvY2tUeXBlPih2bSwga2V5LCBidWZmZXIsIHNpemUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>