<?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>184672</bug_id>
          
          <creation_ts>2018-04-16 16:10:13 -0700</creation_ts>
          <short_desc>PutStackSinkingPhase should know that KillStack means ConflictingFlush</short_desc>
          <delta_ts>2018-04-17 12:54: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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <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>1414946</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-04-16 16:10:13 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414967</commentid>
    <comment_count>1</comment_count>
      <attachid>338062</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-04-16 17:16:55 -0700</bug_when>
    <thetext>Created attachment 338062
possible patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414990</commentid>
    <comment_count>2</comment_count>
      <attachid>338068</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-04-16 18:54:58 -0700</bug_when>
    <thetext>Created attachment 338068
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415247</commentid>
    <comment_count>3</comment_count>
      <attachid>338143</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-04-17 12:37:11 -0700</bug_when>
    <thetext>Created attachment 338143
the patch

Decided to be even more conservative and change clobberize for KillStack.

This is all perf neutral so it&apos;s probably worth it for the correctness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415250</commentid>
    <comment_count>4</comment_count>
      <attachid>338143</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-04-17 12:46:42 -0700</bug_when>
    <thetext>Comment on attachment 338143
the patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:20
&gt; +        KillStack along one path frough the CFG. Also, the definition of DeadFlush and ConflictingFlush in the comment

Spelling *frough*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415251</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-04-17 12:53:59 -0700</bug_when>
    <thetext>Landed in https://trac.webkit.org/changeset/230725/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415252</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-17 12:54:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/39500467&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338062</attachid>
            <date>2018-04-16 17:16:55 -0700</date>
            <delta_ts>2018-04-16 18:54:58 -0700</delta_ts>
            <desc>possible patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>6394</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjMwNjgzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDE4LTA0LTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
UHV0U3RhY2tTaW5raW5nUGhhc2Ugc2hvdWxkIGtub3cgdGhhdCBLaWxsU3RhY2sgbWVhbnMgQ29u
ZmxpY3RpbmdGbHVzaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg0NjcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2UndmUgaGFkIGEgbG9uZyBoaXN0b3J5IG9mIEtpbGxTdGFjayBhbmQgUHV0U3RhY2tT
aW5raW5nUGhhc2UKKworICAgICAgICAqIGRmZy9ERkdQdXRTdGFja1NpbmtpbmdQaGFzZS5jcHA6
IEZpeCB0aGUgYnVnLgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMuY3BwOiBBZGQgYmV0
dGVyIGFzc2VydGlvbiBmYWlsdXJlLgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdU
b0IzOjpidWlsZEV4aXRBcmd1bWVudHMpOgorCiAyMDE4LTA0LTE0ICBGaWxpcCBQaXpsbyAgPGZw
aXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGxlciBzaG91
bGRuJ3QgcmV0dXJuIGdlbmVyYXRvciBib2RpZXMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcAko
cmV2aXNpb24gMjMwNjgzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcmd1bWVu
dHNFbGltaW5hdGlvblBoYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDc2LDYgKzQ3NiwxMCBA
QCBwcml2YXRlOgogICAgICAgICAgICAgT3BlcmFuZHM8Ym9vbD4mIGNsb2JiZXJlZEJ5VGhpc0Js
b2NrID0gY2xvYmJlcmVkQnlCbG9ja1tibG9ja107CiAgICAgICAgICAgICBjbG9iYmVyZWRCeVRo
aXNCbG9jayA9IE9wZXJhbmRzPGJvb2w+KE9wZXJhbmRzTGlrZSwgbV9ncmFwaC5ibG9jaygwKS0+
dmFyaWFibGVzQXRIZWFkKTsKICAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA6ICpibG9jaykg
eworICAgICAgICAgICAgICAgIGlmIChub2RlLT5vcCgpID09IEtpbGxTdGFjaykgeworICAgICAg
ICAgICAgICAgICAgICBjbG9iYmVyZWRCeVRoaXNCbG9jay5vcGVyYW5kKG5vZGUtPnVubGlua2Vk
TG9jYWwoKSkgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgY2xvYmJlcml6ZSgKICAgICAgICAgICAgICAgICAg
ICAgbV9ncmFwaCwgbm9kZSwgTm9PcENsb2JiZXJpemUoKSwKICAgICAgICAgICAgICAgICAgICAg
WyZdIChBYnN0cmFjdEhlYXAgaGVhcCkgewpAQCAtNTczLDE4ICs1NzcsMjMgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBmb3VuZCA9IGZhbHNlOwotICAgICAg
ICAgICAgICAgICAgICAgICAgY2xvYmJlcml6ZSgKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtX2dyYXBoLCBub2RlLCBOb09wQ2xvYmJlcml6ZSgpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFsmXSAoQWJzdHJhY3RIZWFwIGhlYXApIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKGhlYXAua2luZCgpID09IFN0YWNrICYmICFoZWFwLnBheWxvYWQoKS5pc1Rv
cCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJndW1lbnRz
SW52b2x2ZVN0YWNrU2xvdChjYW5kaWRhdGUsIFZpcnR1YWxSZWdpc3RlcihoZWFwLnBheWxvYWQo
KS52YWx1ZTMyKCkpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChub2RlLT5vcCgpID09
IEtpbGxTdGFjaykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcmd1bWVudHNJ
bnZvbHZlU3RhY2tTbG90KGNhbmRpZGF0ZSwgbm9kZS0+dW5saW5rZWRMb2NhbCgpKSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZm91bmQgPSB0cnVlOworICAgICAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9iYmVyaXpl
KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLCBOb09wQ2xv
YmJlcml6ZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJl0gKEFic3RyYWN0
SGVhcCBoZWFwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGVh
cC5raW5kKCkgPT0gU3RhY2sgJiYgIWhlYXAucGF5bG9hZCgpLmlzVG9wKCkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJndW1lbnRzSW52b2x2ZVN0YWNr
U2xvdChjYW5kaWRhdGUsIFZpcnR1YWxSZWdpc3RlcihoZWFwLnBheWxvYWQoKS52YWx1ZTMyKCkp
KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm91bmQgPSB0
cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChoZWFwLm92ZXJsYXBzKFN0YWNrKSkKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhlYXAub3ZlcmxhcHMo
U3RhY2spKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm91bmQgPSB0cnVl
OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTm9PcENsb2JiZXJpemUoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vT3BDbG9iYmVyaXplKCkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoZm91bmQpIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZUludGVybmFsOjp2ZXJib3NlKQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQdXRTdGFja1NpbmtpbmdQaGFzZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQdXRTdGFja1Np
bmtpbmdQaGFzZS5jcHAJKHJldmlzaW9uIDIzMDY4MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHUHV0U3RhY2tTaW5raW5nUGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCwgMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxOCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI3
OCw2ICsyNzgsMTAgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbFJl
Z2lzdGVyIG9wZXJhbmQgPSBub2RlLT5zdGFja0FjY2Vzc0RhdGEoKS0+bG9jYWw7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBkZWZlcnJlZC5vcGVyYW5kKG9wZXJhbmQpID0gbm9kZS0+c3RhY2tB
Y2Nlc3NEYXRhKCktPmZvcm1hdDsKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG5vZGUtPm9wKCkgPT0gS2lsbFN0YWNrKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHNpbmsgYSBQdXRT
dGFjayBwYXN0IGEgS2lsbFN0YWNrLgorICAgICAgICAgICAgICAgICAgICAgICAgZGVmZXJyZWQu
b3BlcmFuZChub2RlLT51bmxpbmtlZExvY2FsKCkpID0gQ29uZmxpY3RpbmdGbHVzaDsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICBhdXRvIGVzY2FwZUhhbmRsZXIg
PSBbJl0gKFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kKSB7CkBAIC00NzMsNiArNDc3LDExIEBAIHB1
YmxpYzoKICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvSWRlbnRpdHkoKTsKICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICAgICAgY2FzZSBLaWxsU3RhY2s6IHsKKyAgICAgICAgICAgICAgICAgICAgZGVmZXJyZWQub3Bl
cmFuZChub2RlLT51bmxpbmtlZExvY2FsKCkpID0gQ29uZmxpY3RpbmdGbHVzaDsKKyAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHsKICAgICAgICAgICAgICAgICAgICAgYXV0byBlc2Nh
cGVIYW5kbGVyID0gWyZdIChWaXJ0dWFsUmVnaXN0ZXIgb3BlcmFuZCkgewpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkocmV2aXNpb24gMjMw
NjgzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNTg3MSw3ICsxNTg3MSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAg
ICAgICAgTm9kZSogbm9kZSA9IGF2YWlsYWJpbGl0eS5ub2RlKCk7CiAgICAgICAgICAgICAgICAg
aWYgKCFub2RlLT5pc1BoYW50b21BbGxvY2F0aW9uKCkpCiAgICAgICAgICAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0g
bWFwLmFkZChub2RlLCBudWxscHRyKTsKICAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmlzTmV3
RW50cnkpIHsKICAgICAgICAgICAgICAgICAgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSA9CkBA
IC0xNTg5OSw2ICsxNTg5OSw4IEBAIHByaXZhdGU6CiAgICAgICAgIGZvciAoYXV0byBoZWFwUGFp
ciA6IGF2YWlsYWJpbGl0eU1hcC5tX2hlYXApIHsKICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBo
ZWFwUGFpci5rZXkuYmFzZSgpOwogICAgICAgICAgICAgRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6
YXRpb24qIG1hdGVyaWFsaXphdGlvbiA9IG1hcC5nZXQobm9kZSk7CisgICAgICAgICAgICBpZiAo
IW1hdGVyaWFsaXphdGlvbikKKyAgICAgICAgICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwgbV9u
b2RlLCB0b0NTdHJpbmcoIkNvdWxkIG5vdCBmaW5kIG1hdGVyaWFsaXphdGlvbiBmb3IgIiwgbm9k
ZSwgIiBpbiAiLCBhdmFpbGFiaWxpdHlNYXApLmRhdGEoKSk7CiAgICAgICAgICAgICBFeGl0VmFs
dWUgZXhpdFZhbHVlID0gZXhpdFZhbHVlRm9yQXZhaWxhYmlsaXR5KGFyZ3VtZW50cywgbWFwLCBo
ZWFwUGFpci52YWx1ZSk7CiAgICAgICAgICAgICBpZiAoZXhpdFZhbHVlLmhhc0luZGV4SW5TdGFj
a21hcExvY2F0aW9ucygpKQogICAgICAgICAgICAgICAgIGV4aXRWYWx1ZS5hZGp1c3RTdGFja21h
cExvY2F0aW9uc0luZGV4QnlPZmZzZXQob2Zmc2V0T2ZFeGl0QXJndW1lbnRzSW5TdGFja21hcExv
Y2F0aW9ucyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338068</attachid>
            <date>2018-04-16 18:54:58 -0700</date>
            <delta_ts>2018-04-17 12:37:11 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>10064</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzA2ODcpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDE4LTA0LTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CisKKyAgICAgICAgUHV0U3RhY2tTaW5raW5nUGhhc2Ugc2hvdWxkIGtub3cgdGhhdCBLaWxs
U3RhY2sgbWVhbnMgQ29uZmxpY3RpbmdGbHVzaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NjcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3Mvc2luay1wdXQtc3RhY2stb3Zlci1raWxsLXN0
YWNrLmpzOiBBZGRlZC4KKyAgICAgICAgKGF2b2NhZG9fMSk6CisgICAgICAgIChhcHJpY290XzAp
OgorICAgICAgICAoX19jXzApOgorICAgICAgICAoYmFuYW5hXzIpOgorCiAyMDE4LTA0LTE0ICBG
aWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgRnVuY3Rpb24ucHJvdG90
eXBlLmNhbGxlciBzaG91bGRuJ3QgcmV0dXJuIGdlbmVyYXRvciBib2RpZXMKSW5kZXg6IEpTVGVz
dHMvc3RyZXNzL3NpbmstcHV0LXN0YWNrLW92ZXIta2lsbC1zdGFjay5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3N0cmVzcy9zaW5rLXB1dC1zdGFjay1vdmVyLWtpbGwtc3RhY2suanMJKG5vbmV4
aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3Mvc2luay1wdXQtc3RhY2stb3Zlci1raWxsLXN0YWNr
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTYgQEAKK2Z1bmN0aW9uKiBhdm9jYWRvXzEo
KSB7fQorCitmdW5jdGlvbiBhcHJpY290XzAoYWxwYWNhXzApIHsKKyAgaWYgKGFscGFjYV8wKSB7
fQorfQorCitjbGFzcyBfX2NfMCBleHRlbmRzIG51bGwge30KKworZnVuY3Rpb24gYmFuYW5hXzIo
KSB7CisgIGFwcmljb3RfMCgpOworICBhdm9jYWRvXzEoKCkgPT4gbnVsbCk7Cit9CisKK2ZvciAo
bGV0IGkgPSAwOyBpIDwgMTAwMDAwOyBpKyspIHsKKyAgYmFuYW5hXzIoKTsKK30KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjMwNjgzKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE4LTA0
LTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAgUHV0U3RhY2tT
aW5raW5nUGhhc2Ugc2hvdWxkIGtub3cgdGhhdCBLaWxsU3RhY2sgbWVhbnMgQ29uZmxpY3RpbmdG
bHVzaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0
NjcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Un
dmUgaGFkIGEgbG9uZyBoaXN0b3J5IG9mIEtpbGxTdGFjayBhbmQgUHV0U3RhY2tTaW5raW5nUGhh
c2UgaGF2aW5nIHByb2JsZW1zLiBXZSBrZXB0IGNoYW5naW5nIHRoZSBtZWFuaW5nIG9mCisgICAg
ICAgIEtpbGxTdGFjaywgYW5kIGF0IHNvbWUgcG9pbnQgd2UgcmVtb3ZlZCByZWFzb25pbmcgYWJv
dXQgS2lsbFN0YWNrIGZyb20gUHV0U3RhY2tTaW5raW5nUGhhc2UuIEkgdHJpZWQgZG9pbmcgc29t
ZQorICAgICAgICBhcmNoZW9sb2d5IC0gYnV0IEknbSBzdGlsbCBub3Qgc3VyZSB3aHkgdGhhdCBw
aGFzZSBpZ25vcmVzIEtpbGxTdGFjayBlbnRpcmVseS4gTWF5YmUgaXQncyBhbiBvdmVyc2lnaHQg
b3IgbWF5YmUgaXQncworICAgICAgICBpbnRlbnRpb25hbCAtIEkgZG9uJ3Qga25vdy4KKworICAg
ICAgICBXaGF0ZXZlciB0aGUgaGlzdG9yeSwgaXQncyBjbGVhciBmcm9tIHRoZSBhdHRhY2hlZCB0
ZXN0IGNhc2UgdGhhdCBpZ25vcmluZyBLaWxsU3RhY2sgaXMgbm90IGNvcnJlY3QuIFRoZSBvdXRj
b21lIG9mCisgICAgICAgIGRvaW5nIHNvIGlzIHRoYXQgd2Ugd2lsbCBzb21ldGltZXMgc2luayBh
IFB1dFN0YWNrIGJlbG93IGEgS2lsbFN0YWNrLiBUaGF0J3Mgd3JvbmcgYmVjYXVzZSB0aGVuLCBP
U1IgZXhpdCB3aWxsIHVzZQorICAgICAgICB0aGUgdmFsdWUgZnJvbSB0aGUgUHV0U3RhY2sgaW5z
dGVhZCBvZiB1c2luZyB0aGUgdmFsdWUgZnJvbSB0aGUgTW92SGludCB0aGF0IGlzIGFzc29jaWF0
ZWQgd2l0aCB0aGUgS2lsbFN0YWNrLiBTbywKKyAgICAgICAgS2lsbFN0YWNrIG11c3QgYmUgc2Vl
biBhcyBhIHNwZWNpYWwga2luZCBvZiBjbG9iYmVyIG9mIHRoZSBzdGFjayBzbG90LiBPU1JBdmFp
bGFiaWl0eSB1c2VzIENvbmZsaWN0aW5nRmx1c2guIEkgdGhpbmsKKyAgICAgICAgdGhhdCdzIGNv
cnJlY3QgaGVyZSwgdG9vLiBJZiB3ZSB1c2VkIERlYWRGbHVzaCBhbmQgdGhhdCB3YXMgbWVyZ2Vk
IHdpdGggYW5vdGhlciBjb250cm9sIGZsb3cgcGF0aCB0aGF0IGhhZCBhCisgICAgICAgIHNwZWNp
ZmljIGZsdXNoIGZvcm1hdCwgdGhlbiB3ZSB3b3VsZCB0aGluayB0aGF0IHdlIGNvdWxkIHNpbmsg
dGhlIGZsdXNoIGZyb20gdGhhdCBwYXRoLiBUaGF0J3Mgbm90IHJpZ2h0LCBzaW5jZSB0aGF0Cisg
ICAgICAgIGNvdWxkIHN0aWxsIGxlYWQgdG8gc2lua2luZyBhIFB1dFN0YWNrIHBhc3QgdGhlIEtp
bGxTdGFjayBpbiB0aGUgc2Vuc2UgdGhhdCBhIFB1dFN0YWNrIHdpbGwgYXBwZWFyIGFmdGVyIHRo
ZQorICAgICAgICBLaWxsU3RhY2sgYWxvbmcgb25lIHBhdGggZnJvdWdoIHRoZSBDRkcuIEFsc28s
IHRoZSBkZWZpbml0aW9uIG9mIERlYWRGbHVzaCBhbmQgQ29uZmxpY3RpbmdGbHVzaCBpbiB0aGUg
Y29tbWVudAorICAgICAgICBpbnNpZGUgUHV0U3RhY2tTaW5raW5nUGhhc2Ugc2VlbXMgdG8gc3Vn
Z2VzdCB0aGF0IEtpbGxTdGFjayBpcyBhIENvbmZsaWN0aW5nRmx1c2gsIHNpbmNlIERlYWRGbHVz
aCBtZWFucyB0aGF0IHdlCisgICAgICAgIGhhdmUgZG9uZSBzb21lIFB1dFN0YWNrIGFuZCB0aGVp
ciB2YWx1ZXMgYXJlIHN0aWxsIHZhbGlkLiBLaWxsU3RhY2sgaXMgbm90IGEgUHV0U3RhY2sgYW5k
IGl0IG1lYW5zIHRoYXQgcHJldmlvdXMKKyAgICAgICAgdmFsdWVzIGFyZSBub3QgdmFsaWQuIFRo
ZSBkZWZpbml0aW9uIG9mIENvbmZsaWN0aW5nRmx1c2ggaXMgdGhhdCAid2Uga25vdywgdmlhIGZv
cndhcmQgZmxvdywgdGhhdCB0aGVyZSBpc24ndCBhbnkKKyAgICAgICAgdmFsdWUgaW4gdGhlIGdp
dmVuIGxvY2FsIHRoYXQgYW55b25lIHNob3VsZCBoYXZlIGJlZW4gcmVseWluZyBvbiIgLSB3aGlj
aCBleGFjdGx5IG1hdGNoZXMgS2lsbFN0YWNrJ3MgZGVmaW5pdGlvbi4KKworICAgICAgICBUaGlz
IGFsc28gbWVhbnMgdGhhdCB3ZSBjYW5ub3QgZWxpbWluYXRlIGFyZ3VtZW50cyBhbGxvY2F0aW9u
cyB0aGF0IGFyZSBsaXZlIG92ZXIgS2lsbFN0YWNrcywgc2luY2UgaWYgd2UgZWxpbWluYXRlZAor
ICAgICAgICB0aGVtIHRoZW4gd2Ugd291bGQgaGF2ZSBhIEdldFN0YWNrIGFmdGVyIGEgS2lsbFN0
YWNrLgorCisgICAgICAgIFByZXZpb3VzbHksIHdlIHRob3VnaHQgdGhhdCBLaWxsU3RhY2sgaXMg
anVzdCBhbiBPU1IgZXhpdCBoaW50IGFuZCBzbyB0aGVyZWZvcmUsIGl0IGNhbm5vdCBtYXR0ZXIg
Zm9yIHRoZSByZWFzb25pbmcKKyAgICAgICAgb2Ygc3RhY2sgZWZmZWN0cy4gSSB0aGluayB0aGF0
IHRoaXMgaXMgc3RpbGwgdHJ1ZSBmb3IgYSBsb25nIG9mIHN0eWxlcyBvZiByZWFzb25pbmcsIHNv
IEknbSBub3QgY2hhbmdpbmcgY2xvYmJlcml6ZS4KKyAgICAgICAgQnV0IHBoYXNlcyB0aGF0IHdh
bnQgdG8gbW92ZSBQdXRTdGFja3Mgb3IgaW5zZXJ0IEdldFN0YWNrcyBoYXZlIHRvIGJlIGF3YXJl
IHRoYXQgS2lsbFN0YWNrIGRlc3Ryb3lzIHRoZSB2YWx1ZSB0aGF0CisgICAgICAgIHRoZXkgYXJl
IGludGVyZXN0ZWQgaW4uCisKKyAgICAgICAgKiBkZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25Q
aGFzZS5jcHA6IEluaGliaXQgc29tZSBlbGltaW5hdGlvbi4KKyAgICAgICAgKiBkZmcvREZHUHV0
U3RhY2tTaW5raW5nUGhhc2UuY3BwOiBGaXggdGhlIGJ1Zy4KKyAgICAgICAgKiBmdGwvRlRMTG93
ZXJERkdUb0IzLmNwcDogQWRkIGJldHRlciBhc3NlcnRpb24gZmFpbHVyZS4KKyAgICAgICAgKEpT
Qzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6YnVpbGRFeGl0QXJndW1lbnRzKToKKwogMjAxOC0w
NC0xNCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEZ1bmN0aW9u
LnByb3RvdHlwZS5jYWxsZXIgc2hvdWxkbid0IHJldHVybiBnZW5lcmF0b3IgYm9kaWVzCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2Uu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJndW1lbnRz
RWxpbWluYXRpb25QaGFzZS5jcHAJKHJldmlzaW9uIDIzMDY4MykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ3Niw2ICs0NzYsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIE9wZXJhbmRzPGJv
b2w+JiBjbG9iYmVyZWRCeVRoaXNCbG9jayA9IGNsb2JiZXJlZEJ5QmxvY2tbYmxvY2tdOwogICAg
ICAgICAgICAgY2xvYmJlcmVkQnlUaGlzQmxvY2sgPSBPcGVyYW5kczxib29sPihPcGVyYW5kc0xp
a2UsIG1fZ3JhcGguYmxvY2soMCktPnZhcmlhYmxlc0F0SGVhZCk7CiAgICAgICAgICAgICBmb3Ig
KE5vZGUqIG5vZGUgOiAqYmxvY2spIHsKKyAgICAgICAgICAgICAgICBpZiAobm9kZS0+b3AoKSA9
PSBLaWxsU3RhY2spIHsKKyAgICAgICAgICAgICAgICAgICAgY2xvYmJlcmVkQnlUaGlzQmxvY2su
b3BlcmFuZChub2RlLT51bmxpbmtlZExvY2FsKCkpID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGNsb2JiZXJp
emUoCiAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUsIE5vT3BDbG9iYmVyaXplKCks
CiAgICAgICAgICAgICAgICAgICAgIFsmXSAoQWJzdHJhY3RIZWFwIGhlYXApIHsKQEAgLTU3Mywx
OCArNTc3LDIzIEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wg
Zm91bmQgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNsb2JiZXJpemUoCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaCwgbm9kZSwgTm9PcENsb2JiZXJpemUoKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJl0gKEFic3RyYWN0SGVhcCBoZWFwKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoZWFwLmtpbmQoKSA9PSBTdGFjayAm
JiAhaGVhcC5wYXlsb2FkKCkuaXNUb3AoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKGFyZ3VtZW50c0ludm9sdmVTdGFja1Nsb3QoY2FuZGlkYXRlLCBWaXJ0dWFs
UmVnaXN0ZXIoaGVhcC5wYXlsb2FkKCkudmFsdWUzMigpKSkpCisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAobm9kZS0+b3AoKSA9PSBLaWxsU3RhY2spIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoYXJndW1lbnRzSW52b2x2ZVN0YWNrU2xvdChjYW5kaWRhdGUsIG5vZGUtPnVu
bGlua2VkTG9jYWwoKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kID0g
dHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY2xvYmJlcml6ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bV9ncmFwaCwgbm9kZSwgTm9PcENsb2JiZXJpemUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgWyZdIChBYnN0cmFjdEhlYXAgaGVhcCkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKGhlYXAua2luZCgpID09IFN0YWNrICYmICFoZWFwLnBheWxvYWQo
KS5pc1RvcCgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KGFyZ3VtZW50c0ludm9sdmVTdGFja1Nsb3QoY2FuZGlkYXRlLCBWaXJ0dWFsUmVnaXN0ZXIoaGVh
cC5wYXlsb2FkKCkudmFsdWUzMigpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGVhcC5vdmVybGFwcyhT
dGFjaykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm91bmQgPSB0
cnVlOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChoZWFwLm92ZXJsYXBzKFN0YWNrKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vT3BDbG9iYmVyaXplKCkpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBOb09wQ2xvYmJlcml6ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvdW5kKSB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKERGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhh
c2VJbnRlcm5hbDo6dmVyYm9zZSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
UHV0U3RhY2tTaW5raW5nUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHUHV0U3RhY2tTaW5raW5nUGhhc2UuY3BwCShyZXZpc2lvbiAyMzA2ODMpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1B1dFN0YWNrU2lua2luZ1BoYXNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQs
IDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDE0LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yNzgsNiArMjc4LDEwIEBAIHB1YmxpYzoKICAgICAgICAgICAg
ICAgICAgICAgICAgIFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kID0gbm9kZS0+c3RhY2tBY2Nlc3NE
YXRhKCktPmxvY2FsOwogICAgICAgICAgICAgICAgICAgICAgICAgZGVmZXJyZWQub3BlcmFuZChv
cGVyYW5kKSA9IG5vZGUtPnN0YWNrQWNjZXNzRGF0YSgpLT5mb3JtYXQ7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChub2Rl
LT5vcCgpID09IEtpbGxTdGFjaykgeworICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgZG9u
J3Qgd2FudCB0byBzaW5rIGEgUHV0U3RhY2sgcGFzdCBhIEtpbGxTdGFjay4KKyAgICAgICAgICAg
ICAgICAgICAgICAgIGRlZmVycmVkLm9wZXJhbmQobm9kZS0+dW5saW5rZWRMb2NhbCgpKSA9IENv
bmZsaWN0aW5nRmx1c2g7CisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgYXV0byBlc2NhcGVIYW5kbGVyID0gWyZdIChWaXJ0dWFsUmVnaXN0ZXIgb3BlcmFuZCkgewpA
QCAtNDczLDYgKzQ3NywxMSBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNv
bnZlcnRUb0lkZW50aXR5KCk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgICAgIGNhc2UgS2lsbFN0YWNrOiB7CisgICAgICAgICAg
ICAgICAgICAgIGRlZmVycmVkLm9wZXJhbmQobm9kZS0+dW5saW5rZWRMb2NhbCgpKSA9IENvbmZs
aWN0aW5nRmx1c2g7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7CiAgICAgICAg
ICAgICAgICAgICAgIGF1dG8gZXNjYXBlSGFuZGxlciA9IFsmXSAoVmlydHVhbFJlZ2lzdGVyIG9w
ZXJhbmQpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0Iz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9CMy5jcHAJKHJldmlzaW9uIDIzMDY4MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU4NzEsNyArMTU4NzEsNyBA
QCBwcml2YXRlOgogICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBhdmFpbGFiaWxpdHkubm9k
ZSgpOwogICAgICAgICAgICAgICAgIGlmICghbm9kZS0+aXNQaGFudG9tQWxsb2NhdGlvbigpKQog
ICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgCisKICAgICAgICAg
ICAgICAgICBhdXRvIHJlc3VsdCA9IG1hcC5hZGQobm9kZSwgbnVsbHB0cik7CiAgICAgICAgICAg
ICAgICAgaWYgKHJlc3VsdC5pc05ld0VudHJ5KSB7CiAgICAgICAgICAgICAgICAgICAgIHJlc3Vs
dC5pdGVyYXRvci0+dmFsdWUgPQpAQCAtMTU4OTksNiArMTU4OTksOCBAQCBwcml2YXRlOgogICAg
ICAgICBmb3IgKGF1dG8gaGVhcFBhaXIgOiBhdmFpbGFiaWxpdHlNYXAubV9oZWFwKSB7CiAgICAg
ICAgICAgICBOb2RlKiBub2RlID0gaGVhcFBhaXIua2V5LmJhc2UoKTsKICAgICAgICAgICAgIEV4
aXRUaW1lT2JqZWN0TWF0ZXJpYWxpemF0aW9uKiBtYXRlcmlhbGl6YXRpb24gPSBtYXAuZ2V0KG5v
ZGUpOworICAgICAgICAgICAgaWYgKCFtYXRlcmlhbGl6YXRpb24pCisgICAgICAgICAgICAgICAg
REZHX0NSQVNIKG1fZ3JhcGgsIG1fbm9kZSwgdG9DU3RyaW5nKCJDb3VsZCBub3QgZmluZCBtYXRl
cmlhbGl6YXRpb24gZm9yICIsIG5vZGUsICIgaW4gIiwgYXZhaWxhYmlsaXR5TWFwKS5kYXRhKCkp
OwogICAgICAgICAgICAgRXhpdFZhbHVlIGV4aXRWYWx1ZSA9IGV4aXRWYWx1ZUZvckF2YWlsYWJp
bGl0eShhcmd1bWVudHMsIG1hcCwgaGVhcFBhaXIudmFsdWUpOwogICAgICAgICAgICAgaWYgKGV4
aXRWYWx1ZS5oYXNJbmRleEluU3RhY2ttYXBMb2NhdGlvbnMoKSkKICAgICAgICAgICAgICAgICBl
eGl0VmFsdWUuYWRqdXN0U3RhY2ttYXBMb2NhdGlvbnNJbmRleEJ5T2Zmc2V0KG9mZnNldE9mRXhp
dEFyZ3VtZW50c0luU3RhY2ttYXBMb2NhdGlvbnMpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338143</attachid>
            <date>2018-04-17 12:37:11 -0700</date>
            <delta_ts>2018-04-17 12:46:42 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>8203</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzA2ODcpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDE4LTA0LTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CisKKyAgICAgICAgUHV0U3RhY2tTaW5raW5nUGhhc2Ugc2hvdWxkIGtub3cgdGhhdCBLaWxs
U3RhY2sgbWVhbnMgQ29uZmxpY3RpbmdGbHVzaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NjcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3Mvc2luay1wdXQtc3RhY2stb3Zlci1raWxsLXN0
YWNrLmpzOiBBZGRlZC4KKyAgICAgICAgKGF2b2NhZG9fMSk6CisgICAgICAgIChhcHJpY290XzAp
OgorICAgICAgICAoX19jXzApOgorICAgICAgICAoYmFuYW5hXzIpOgorCiAyMDE4LTA0LTE0ICBG
aWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgRnVuY3Rpb24ucHJvdG90
eXBlLmNhbGxlciBzaG91bGRuJ3QgcmV0dXJuIGdlbmVyYXRvciBib2RpZXMKSW5kZXg6IEpTVGVz
dHMvc3RyZXNzL3NpbmstcHV0LXN0YWNrLW92ZXIta2lsbC1zdGFjay5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3N0cmVzcy9zaW5rLXB1dC1zdGFjay1vdmVyLWtpbGwtc3RhY2suanMJKG5vbmV4
aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3Mvc2luay1wdXQtc3RhY2stb3Zlci1raWxsLXN0YWNr
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTYgQEAKK2Z1bmN0aW9uKiBhdm9jYWRvXzEo
KSB7fQorCitmdW5jdGlvbiBhcHJpY290XzAoYWxwYWNhXzApIHsKKyAgaWYgKGFscGFjYV8wKSB7
fQorfQorCitjbGFzcyBfX2NfMCBleHRlbmRzIG51bGwge30KKworZnVuY3Rpb24gYmFuYW5hXzIo
KSB7CisgIGFwcmljb3RfMCgpOworICBhdm9jYWRvXzEoKCkgPT4gbnVsbCk7Cit9CisKK2ZvciAo
bGV0IGkgPSAwOyBpIDwgMTAwMDAwOyBpKyspIHsKKyAgYmFuYW5hXzIoKTsKK30KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjMwNjgzKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDE4LTA0
LTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAgUHV0U3RhY2tT
aW5raW5nUGhhc2Ugc2hvdWxkIGtub3cgdGhhdCBLaWxsU3RhY2sgbWVhbnMgQ29uZmxpY3RpbmdG
bHVzaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0
NjcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Un
dmUgaGFkIGEgbG9uZyBoaXN0b3J5IG9mIEtpbGxTdGFjayBhbmQgUHV0U3RhY2tTaW5raW5nUGhh
c2UgaGF2aW5nIHByb2JsZW1zLiBXZSBrZXB0IGNoYW5naW5nIHRoZSBtZWFuaW5nIG9mCisgICAg
ICAgIEtpbGxTdGFjaywgYW5kIGF0IHNvbWUgcG9pbnQgd2UgcmVtb3ZlZCByZWFzb25pbmcgYWJv
dXQgS2lsbFN0YWNrIGZyb20gUHV0U3RhY2tTaW5raW5nUGhhc2UuIEkgdHJpZWQgZG9pbmcgc29t
ZQorICAgICAgICBhcmNoZW9sb2d5IC0gYnV0IEknbSBzdGlsbCBub3Qgc3VyZSB3aHkgdGhhdCBw
aGFzZSBpZ25vcmVzIEtpbGxTdGFjayBlbnRpcmVseS4gTWF5YmUgaXQncyBhbiBvdmVyc2lnaHQg
b3IgbWF5YmUgaXQncworICAgICAgICBpbnRlbnRpb25hbCAtIEkgZG9uJ3Qga25vdy4KKworICAg
ICAgICBXaGF0ZXZlciB0aGUgaGlzdG9yeSwgaXQncyBjbGVhciBmcm9tIHRoZSBhdHRhY2hlZCB0
ZXN0IGNhc2UgdGhhdCBpZ25vcmluZyBLaWxsU3RhY2sgaXMgbm90IGNvcnJlY3QuIFRoZSBvdXRj
b21lIG9mCisgICAgICAgIGRvaW5nIHNvIGlzIHRoYXQgd2Ugd2lsbCBzb21ldGltZXMgc2luayBh
IFB1dFN0YWNrIGJlbG93IGEgS2lsbFN0YWNrLiBUaGF0J3Mgd3JvbmcgYmVjYXVzZSB0aGVuLCBP
U1IgZXhpdCB3aWxsIHVzZQorICAgICAgICB0aGUgdmFsdWUgZnJvbSB0aGUgUHV0U3RhY2sgaW5z
dGVhZCBvZiB1c2luZyB0aGUgdmFsdWUgZnJvbSB0aGUgTW92SGludCB0aGF0IGlzIGFzc29jaWF0
ZWQgd2l0aCB0aGUgS2lsbFN0YWNrLiBTbywKKyAgICAgICAgS2lsbFN0YWNrIG11c3QgYmUgc2Vl
biBhcyBhIHNwZWNpYWwga2luZCBvZiBjbG9iYmVyIG9mIHRoZSBzdGFjayBzbG90LiBPU1JBdmFp
bGFiaWl0eSB1c2VzIENvbmZsaWN0aW5nRmx1c2guIEkgdGhpbmsKKyAgICAgICAgdGhhdCdzIGNv
cnJlY3QgaGVyZSwgdG9vLiBJZiB3ZSB1c2VkIERlYWRGbHVzaCBhbmQgdGhhdCB3YXMgbWVyZ2Vk
IHdpdGggYW5vdGhlciBjb250cm9sIGZsb3cgcGF0aCB0aGF0IGhhZCBhCisgICAgICAgIHNwZWNp
ZmljIGZsdXNoIGZvcm1hdCwgdGhlbiB3ZSB3b3VsZCB0aGluayB0aGF0IHdlIGNvdWxkIHNpbmsg
dGhlIGZsdXNoIGZyb20gdGhhdCBwYXRoLiBUaGF0J3Mgbm90IHJpZ2h0LCBzaW5jZSB0aGF0Cisg
ICAgICAgIGNvdWxkIHN0aWxsIGxlYWQgdG8gc2lua2luZyBhIFB1dFN0YWNrIHBhc3QgdGhlIEtp
bGxTdGFjayBpbiB0aGUgc2Vuc2UgdGhhdCBhIFB1dFN0YWNrIHdpbGwgYXBwZWFyIGFmdGVyIHRo
ZQorICAgICAgICBLaWxsU3RhY2sgYWxvbmcgb25lIHBhdGggZnJvdWdoIHRoZSBDRkcuIEFsc28s
IHRoZSBkZWZpbml0aW9uIG9mIERlYWRGbHVzaCBhbmQgQ29uZmxpY3RpbmdGbHVzaCBpbiB0aGUg
Y29tbWVudAorICAgICAgICBpbnNpZGUgUHV0U3RhY2tTaW5raW5nUGhhc2Ugc2VlbXMgdG8gc3Vn
Z2VzdCB0aGF0IEtpbGxTdGFjayBpcyBhIENvbmZsaWN0aW5nRmx1c2gsIHNpbmNlIERlYWRGbHVz
aCBtZWFucyB0aGF0IHdlCisgICAgICAgIGhhdmUgZG9uZSBzb21lIFB1dFN0YWNrIGFuZCB0aGVp
ciB2YWx1ZXMgYXJlIHN0aWxsIHZhbGlkLiBLaWxsU3RhY2sgaXMgbm90IGEgUHV0U3RhY2sgYW5k
IGl0IG1lYW5zIHRoYXQgcHJldmlvdXMKKyAgICAgICAgdmFsdWVzIGFyZSBub3QgdmFsaWQuIFRo
ZSBkZWZpbml0aW9uIG9mIENvbmZsaWN0aW5nRmx1c2ggaXMgdGhhdCAid2Uga25vdywgdmlhIGZv
cndhcmQgZmxvdywgdGhhdCB0aGVyZSBpc24ndCBhbnkKKyAgICAgICAgdmFsdWUgaW4gdGhlIGdp
dmVuIGxvY2FsIHRoYXQgYW55b25lIHNob3VsZCBoYXZlIGJlZW4gcmVseWluZyBvbiIgLSB3aGlj
aCBleGFjdGx5IG1hdGNoZXMgS2lsbFN0YWNrJ3MgZGVmaW5pdGlvbi4KKworICAgICAgICBUaGlz
IGFsc28gbWVhbnMgdGhhdCB3ZSBjYW5ub3QgZWxpbWluYXRlIGFyZ3VtZW50cyBhbGxvY2F0aW9u
cyB0aGF0IGFyZSBsaXZlIG92ZXIgS2lsbFN0YWNrcywgc2luY2UgaWYgd2UgZWxpbWluYXRlZAor
ICAgICAgICB0aGVtIHRoZW4gd2Ugd291bGQgaGF2ZSBhIEdldFN0YWNrIGFmdGVyIGEgS2lsbFN0
YWNrLiBPbmUgZWFzeSB3YXkgdG8gZml4IHRoaXMgaXMgdG8gc2F5IHRoYXQgS2lsbFN0YWNrIHdy
aXRlcyB0bworICAgICAgICBpdHMgc3RhY2sgc2xvdCBmb3IgdGhlIHB1cnBvc2Ugb2YgY2xvYmJl
cml6ZS4KKworICAgICAgICAqIGRmZy9ERkdDbG9iYmVyaXplLmg6IEtpbGxTdGFjayAid3JpdGVz
IiB0byBpdHMgc3RhY2sgc2xvdC4KKyAgICAgICAgKiBkZmcvREZHUHV0U3RhY2tTaW5raW5nUGhh
c2UuY3BwOiBGaXggdGhlIGJ1Zy4KKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDog
QWRkIGJldHRlciBhc3NlcnRpb24gZmFpbHVyZS4KKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxv
d2VyREZHVG9CMzo6YnVpbGRFeGl0QXJndW1lbnRzKToKKwogMjAxOC0wNC0xNCAgRmlsaXAgUGl6
bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxs
ZXIgc2hvdWxkbid0IHJldHVybiBnZW5lcmF0b3IgYm9kaWVzCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAkocmV2aXNpb24gMjMwNjgzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgJKHdvcmtpbmcgY29weSkKQEAgLTQx
NSwxMSArNDE1LDE0IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUK
ICAgICBjYXNlIENvbnN0YW50U3RvcmFnZVBvaW50ZXI6CiAgICAgICAgIGRlZihQdXJlVmFsdWUo
bm9kZSwgbm9kZS0+c3RvcmFnZVBvaW50ZXIoKSkpOwogICAgICAgICByZXR1cm47CisKKyAgICBj
YXNlIEtpbGxTdGFjazoKKyAgICAgICAgd3JpdGUoQWJzdHJhY3RIZWFwKFN0YWNrLCBub2RlLT51
bmxpbmtlZExvY2FsKCkpKTsKKyAgICAgICAgcmV0dXJuOwogICAgICAgICAgCiAgICAgY2FzZSBN
b3ZIaW50OgogICAgIGNhc2UgWm9tYmllSGludDoKICAgICBjYXNlIEV4aXRPSzoKLSAgICBjYXNl
IEtpbGxTdGFjazoKICAgICBjYXNlIFVwc2lsb246CiAgICAgY2FzZSBQaGk6CiAgICAgY2FzZSBQ
aGFudG9tTG9jYWw6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1B1dFN0YWNr
U2lua2luZ1BoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1B1dFN0YWNrU2lua2luZ1BoYXNlLmNwcAkocmV2aXNpb24gMjMwNjgzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQdXRTdGFja1NpbmtpbmdQaGFzZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0LCAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNC0yMDE4
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMTIzLDcgKzEyMyw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICAgICAg
YXV0byB3cml0ZUhhbmRsZXIgPSBbJl0gKFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAob3BlcmFuZC5pc0hlYWRlcigpKQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKG5vZGUtPm9wKCkgPT0gUHV0U3RhY2sgfHwgbm9kZS0+b3AoKSA9PSBMb2FkVmFyYXJn
cyB8fCBub2RlLT5vcCgpID09IEZvcndhcmRWYXJhcmdzKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKG5vZGUtPm9wKCkgPT0gUHV0U3RhY2sgfHwgbm9kZS0+b3AoKSA9
PSBMb2FkVmFyYXJncyB8fCBub2RlLT5vcCgpID09IEZvcndhcmRWYXJhcmdzIHx8IG5vZGUtPm9w
KCkgPT0gS2lsbFN0YWNrKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlcy5hcHBlbmQo
b3BlcmFuZCk7CiAgICAgICAgICAgICAgICAgICAgIH07CiAKQEAgLTI3OCw2ICsyNzgsMTAgQEAg
cHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbFJlZ2lzdGVyIG9wZXJhbmQg
PSBub2RlLT5zdGFja0FjY2Vzc0RhdGEoKS0+bG9jYWw7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBkZWZlcnJlZC5vcGVyYW5kKG9wZXJhbmQpID0gbm9kZS0+c3RhY2tBY2Nlc3NEYXRhKCktPmZv
cm1hdDsKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgaWYgKG5vZGUtPm9wKCkgPT0gS2lsbFN0YWNrKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHNpbmsgYSBQdXRTdGFjayBwYXN0IGEgS2ls
bFN0YWNrLgorICAgICAgICAgICAgICAgICAgICAgICAgZGVmZXJyZWQub3BlcmFuZChub2RlLT51
bmxpbmtlZExvY2FsKCkpID0gQ29uZmxpY3RpbmdGbHVzaDsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICBhdXRvIGVzY2FwZUhhbmRsZXIgPSBbJl0gKFZpcnR1YWxS
ZWdpc3RlciBvcGVyYW5kKSB7CkBAIC00NzMsNiArNDc3LDExIEBAIHB1YmxpYzoKICAgICAgICAg
ICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvSWRlbnRpdHkoKTsKICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgY2FzZSBLaWxs
U3RhY2s6IHsKKyAgICAgICAgICAgICAgICAgICAgZGVmZXJyZWQub3BlcmFuZChub2RlLT51bmxp
bmtlZExvY2FsKCkpID0gQ29uZmxpY3RpbmdGbHVzaDsKKyAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
IGRlZmF1bHQ6IHsKICAgICAgICAgICAgICAgICAgICAgYXV0byBlc2NhcGVIYW5kbGVyID0gWyZd
IChWaXJ0dWFsUmVnaXN0ZXIgb3BlcmFuZCkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkocmV2aXNpb24gMjMwNjgzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNTg3MSw3ICsxNTg3MSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgTm9kZSogbm9k
ZSA9IGF2YWlsYWJpbGl0eS5ub2RlKCk7CiAgICAgICAgICAgICAgICAgaWYgKCFub2RlLT5pc1Bo
YW50b21BbGxvY2F0aW9uKCkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgICAgICAKKwogICAgICAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gbWFwLmFkZChub2RlLCBu
dWxscHRyKTsKICAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmlzTmV3RW50cnkpIHsKICAgICAg
ICAgICAgICAgICAgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSA9CkBAIC0xNTg5OSw2ICsxNTg5
OSw4IEBAIHByaXZhdGU6CiAgICAgICAgIGZvciAoYXV0byBoZWFwUGFpciA6IGF2YWlsYWJpbGl0
eU1hcC5tX2hlYXApIHsKICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBoZWFwUGFpci5rZXkuYmFz
ZSgpOwogICAgICAgICAgICAgRXhpdFRpbWVPYmplY3RNYXRlcmlhbGl6YXRpb24qIG1hdGVyaWFs
aXphdGlvbiA9IG1hcC5nZXQobm9kZSk7CisgICAgICAgICAgICBpZiAoIW1hdGVyaWFsaXphdGlv
bikKKyAgICAgICAgICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwgbV9ub2RlLCB0b0NTdHJpbmco
IkNvdWxkIG5vdCBmaW5kIG1hdGVyaWFsaXphdGlvbiBmb3IgIiwgbm9kZSwgIiBpbiAiLCBhdmFp
bGFiaWxpdHlNYXApLmRhdGEoKSk7CiAgICAgICAgICAgICBFeGl0VmFsdWUgZXhpdFZhbHVlID0g
ZXhpdFZhbHVlRm9yQXZhaWxhYmlsaXR5KGFyZ3VtZW50cywgbWFwLCBoZWFwUGFpci52YWx1ZSk7
CiAgICAgICAgICAgICBpZiAoZXhpdFZhbHVlLmhhc0luZGV4SW5TdGFja21hcExvY2F0aW9ucygp
KQogICAgICAgICAgICAgICAgIGV4aXRWYWx1ZS5hZGp1c3RTdGFja21hcExvY2F0aW9uc0luZGV4
QnlPZmZzZXQob2Zmc2V0T2ZFeGl0QXJndW1lbnRzSW5TdGFja21hcExvY2F0aW9ucyk7Cg==
</data>
<flag name="review"
          id="356442"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>