<?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>154266</bug_id>
          
          <creation_ts>2016-02-15 16:29:29 -0800</creation_ts>
          <short_desc>FTL should be able to run everything in Octane/regexp</short_desc>
          <delta_ts>2016-02-29 11:31:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>154267</dependson>
    
    <dependson>154269</dependson>
          <blocked>132356</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1164963</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-02-15 16:29:29 -0800</bug_when>
    <thetext>We&apos;re missing coverage in silly places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169082</commentid>
    <comment_count>1</comment_count>
      <attachid>272476</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-02-28 22:23:27 -0800</bug_when>
    <thetext>Created attachment 272476
maybe the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169083</commentid>
    <comment_count>2</comment_count>
      <attachid>272477</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-02-28 23:01:04 -0800</bug_when>
    <thetext>Created attachment 272477
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169187</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-02-29 10:05:41 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/197357</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169214</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-02-29 11:31:47 -0800</bug_when>
    <thetext>LOL: https://bugs.webkit.org/show_bug.cgi?id=154827

In fact this patch was a speed-up on Octane/regexp, but we didn&apos;t know because run-jsc-benchmarks was busted for this benchmark.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>272476</attachid>
            <date>2016-02-28 22:23:27 -0800</date>
            <delta_ts>2016-02-28 23:01:04 -0800</delta_ts>
            <desc>maybe the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>11936</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk3MzA4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBA
CisyMDE2LTAyLTI4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
RlRMIHNob3VsZCBiZSBhYmxlIHRvIHJ1biBldmVyeXRoaW5nIGluIE9jdGFuZS9yZWdleHAKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDI2NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgRlRMIHN1
cHBvcnQgZm9yIE5ld1JlZ2V4cCwgUmVnRXhwVGVzdCwgYW5kIFJlZ0V4cEV4ZWMuIEkgY291bGRu
J3QgZmlndXJlIG91dCBob3cgdG8KKyAgICAgICAgbWFrZSB0aGUgUmVnRXhwRXhlYyBwZWVwaG9s
ZSBvcHRpbWl6YXRpb24gd29yayBpbiBGVEwuIFRoaXMgb3B0aW1pemF0aW9ucyBzaG91bGRuJ3Qg
YmUgYQorICAgICAgICBERkcgYmFja2VuZCBvcHRpbWl6YXRpb24gYW55d2F5IC0gaWYgd2UgbmVl
ZCB0aGlzIG9wdGltaXphdGlvbiB0aGVuIGl0IHNob3VsZCBiZSBhCisgICAgICAgIHN0cmVuZ3Ro
IHJlZHVjdGlvbiBydWxlIG92ZXIgSVIuIFRoYXQgd2F5LCBpdCBjYW4gYmUgc2hhcmVkIGJ5IGFs
bCBiYWNrZW5kcy4KKworICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAg
ICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRm
Zy9ERkdOb2RlLmg6CisgICAgICAgIChKU0M6OkRGRzo6Tm9kZTo6c2V0SW5kZXhpbmdUeXBlKToK
KyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjpoYXNSZWdleHBJbmRleCk6CisgICAgICAgICogZGZn
L0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZU5vdGlmeVdyaXRlKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZUlzT2JqZWN0T3JOdWxsKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZVJlZ0V4cEV4ZWMpOiBEZWxldGVkLgorICAgICAgICAqIGRmZy9ERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBmdGwvRlRM
Q2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpjYW5Db21waWxlKToKKyAgICAg
ICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxv
d2VyREZHVG9CMzo6Y29tcGlsZU5vZGUpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJE
RkdUb0IzOjpjb21waWxlQ2hlY2tXYXRjaGRvZ1RpbWVyKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZVJlZ0V4cEV4ZWMpOgorICAgICAgICAoSlNDOjpGVEw6
OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlUmVnRXhwVGVzdCk6CisgICAgICAgIChKU0M6OkZU
TDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVOZXdSZWdleHApOgorICAgICAgICAoSlNDOjpG
VEw6OkRGRzo6TG93ZXJERkdUb0IzOjpkaWRPdmVyZmxvd1N0YWNrKToKKyAgICAgICAgKiB0ZXN0
cy9zdHJlc3MvZnRsLXJlZ2V4cC1leGVjLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvZnRsLXJlZ2V4cC10ZXN0LmpzOiBBZGRlZC4KKwogMjAxNi0wMi0yOCAgQW5kcmVhcyBLbGlu
ZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBKU0Z1bmN0aW9uLm5hbWUgYWxs
b2NhdGlvbiBmdWxseSBsYXp5LgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdC
eXRlQ29kZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHJldmlzaW9uIDE5NzI5OSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MzQwLDYgKzMzNDAsOSBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVk
CiAgICAgICAgIH0KICAgICAgICAgICAgIAogICAgICAgICBjYXNlIG9wX25ld19yZWdleHA6IHsK
KyAgICAgICAgICAgIC8vIEZJWE1FOiBXZSByZWFsbHkgc2hvdWxkIGJlIGFibGUgdG8gaW5saW5l
IGNvZGUgdGhhdCB1c2VzIE5ld1JlZ2V4cC4gVGhhdCBtZWFucworICAgICAgICAgICAgLy8gdXNp
bmcgc29tZXRoaW5nIG90aGVyIHRoYW4gdGhlIGluZGV4IGludG8gdGhlIENvZGVCbG9jayBoZXJl
LgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1NDgwOAogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rp
b25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdSZWdleHAsIE9wSW5mbyhjdXJyZW50SW5z
dHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpOwogICAgICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3
X3JlZ2V4cCk7CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Tm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5o
CShyZXZpc2lvbiAxOTcyOTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUu
aAkod29ya2luZyBjb3B5KQpAQCAtMTAyMiw2ICsxMDIyLDkgQEAgc3RydWN0IE5vZGUgewogICAg
ICAgICBtX29wSW5mbyA9IGluZGV4aW5nVHlwZTsKICAgICB9CiAgICAgCisgICAgLy8gRklYTUU6
IFdlIHJlYWxseSBzaG91bGQgYmUgYWJsZSB0byBpbmxpbmUgY29kZSB0aGF0IHVzZXMgTmV3UmVn
ZXhwLiBUaGF0IG1lYW5zCisgICAgLy8gdXNpbmcgc29tZXRoaW5nIG90aGVyIHRoYW4gdGhlIGlu
ZGV4IGludG8gdGhlIENvZGVCbG9jayBoZXJlLgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ4MDgKICAgICBib29sIGhhc1JlZ2V4cEluZGV4KCkKICAg
ICB7CiAgICAgICAgIHJldHVybiBvcCgpID09IE5ld1JlZ2V4cDsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkocmV2
aXNpb24gMTk3Mjk5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgzNCwyNiArMjgzNCw2IEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICB9CiAKICAgICBjYXNlIFJl
Z0V4cEV4ZWM6IHsKLSAgICAgICAgaWYgKGNvbXBpbGVSZWdFeHBFeGVjKG5vZGUpKQotICAgICAg
ICAgICAgcmV0dXJuOwotCi0gICAgICAgIGlmICghbm9kZS0+YWRqdXN0ZWRSZWZDb3VudCgpKSB7
Ci0gICAgICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBiYXNlKHRoaXMsIG5vZGUtPmNoaWxk
MSgpKTsKLSAgICAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGFyZ3VtZW50KHRoaXMsIG5v
ZGUtPmNoaWxkMigpKTsKLSAgICAgICAgICAgIEdQUlJlZyBiYXNlR1BSID0gYmFzZS5ncHIoKTsK
LSAgICAgICAgICAgIEdQUlJlZyBhcmd1bWVudEdQUiA9IGFyZ3VtZW50LmdwcigpOwotICAgICAg
ICAgICAgCi0gICAgICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwotICAgICAgICAgICAgR1BSRmx1
c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOwotICAgICAgICAgICAgY2FsbE9wZXJhdGlvbihv
cGVyYXRpb25SZWdFeHBUZXN0LCByZXN1bHQuZ3ByKCksIGJhc2VHUFIsIGFyZ3VtZW50R1BSKTsK
LSAgICAgICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7Ci0gICAgICAgICAgICAKLSAgICAg
ICAgICAgIC8vIE11c3QgdXNlIGpzVmFsdWVSZXN1bHQgYmVjYXVzZSBvdGhlcndpc2Ugd2Ugc2Ny
ZXcgdXAgcmVnaXN0ZXIKLSAgICAgICAgICAgIC8vIGFsbG9jYXRpb24sIHdoaWNoIHRoaW5rcyB0
aGF0IHRoaXMgbm9kZSBoYXMgYSByZXN1bHQuCi0gICAgICAgICAgICBib29sZWFuUmVzdWx0KHJl
c3VsdC5ncHIoKSwgbm9kZSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotCiAgICAg
ICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwogICAg
ICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBhcmd1bWVudCh0aGlzLCBub2RlLT5jaGlsZDIoKSk7
CiAgICAgICAgIEdQUlJlZyBiYXNlR1BSID0gYmFzZS5ncHIoKTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24g
MTk3Mjk5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk1OSwyNSArMjk1OSw2IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICB9CiAKICAgICBjYXNlIFJlZ0V4cEV4ZWM6
IHsKLSAgICAgICAgaWYgKGNvbXBpbGVSZWdFeHBFeGVjKG5vZGUpKQotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICBpZiAoIW5vZGUtPmFkanVzdGVkUmVmQ291bnQoKSkgewotICAgICAgICAg
ICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0gICAg
ICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBhcmd1bWVudCh0aGlzLCBub2RlLT5jaGlsZDIo
KSk7Ci0gICAgICAgICAgICBHUFJSZWcgYmFzZUdQUiA9IGJhc2UuZ3ByKCk7Ci0gICAgICAgICAg
ICBHUFJSZWcgYXJndW1lbnRHUFIgPSBhcmd1bWVudC5ncHIoKTsKLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICAgICAgICAgIEdQUkZsdXNoZWRDYWxsUmVz
dWx0IHJlc3VsdCh0aGlzKTsKLSAgICAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uUmVn
RXhwVGVzdCwgcmVzdWx0LmdwcigpLCBiYXNlR1BSLCBhcmd1bWVudEdQUik7Ci0gICAgICAgICAg
ICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBN
dXN0IHVzZSBqc1ZhbHVlUmVzdWx0IGJlY2F1c2Ugb3RoZXJ3aXNlIHdlIHNjcmV3IHVwIHJlZ2lz
dGVyCi0gICAgICAgICAgICAvLyBhbGxvY2F0aW9uLCB3aGljaCB0aGlua3MgdGhhdCB0aGlzIG5v
ZGUgaGFzIGEgcmVzdWx0LgotICAgICAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1bHQuZ3ByKCks
IG5vZGUpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQogICAgICAgICBTcGVjdWxh
dGVDZWxsT3BlcmFuZCBiYXNlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgU3BlY3Vs
YXRlQ2VsbE9wZXJhbmQgYXJndW1lbnQodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwogICAgICAgICBH
UFJSZWcgYmFzZUdQUiA9IGJhc2UuZ3ByKCk7CkBAIC0zNjgzLDYgKzM2NjQsOSBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGZsdXNoUmVnaXN0ZXJz
KCk7CiAgICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKICAgICAgICAg
CisgICAgICAgIC8vIEZJWE1FOiBXZSByZWFsbHkgc2hvdWxkIGJlIGFibGUgdG8gaW5saW5lIGNv
ZGUgdGhhdCB1c2VzIE5ld1JlZ2V4cC4gVGhhdCBtZWFucyBub3QKKyAgICAgICAgLy8gcmVhY2hp
bmcgaW50byB0aGUgQ29kZUJsb2NrIGhlcmUuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ4MDgKICAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVy
YXRpb25OZXdSZWdleHAsIHJlc3VsdC5ncHIoKSwgbV9qaXQuY29kZUJsb2NrKCktPnJlZ2V4cChu
b2RlLT5yZWdleHBJbmRleCgpKSk7CiAgICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7CiAg
ICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5jcHAJKHJldmlzaW9uIDE5NzI5OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTEwLDQ2ICs1OTEw
LDYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU5vdGlmeVdyaXRlKAogICAgIG5vUmVz
dWx0KG5vZGUpOwogfQogCi1ib29sIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUmVnRXhwRXhlYyhO
b2RlKiBub2RlKQotewotICAgIHVuc2lnbmVkIGJyYW5jaEluZGV4SW5CbG9jayA9IGRldGVjdFBl
ZXBIb2xlQnJhbmNoKCk7Ci0gICAgaWYgKGJyYW5jaEluZGV4SW5CbG9jayA9PSBVSU5UX01BWCkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIE5vZGUqIGJyYW5jaE5vZGUgPSBtX2Jsb2NrLT5h
dChicmFuY2hJbmRleEluQmxvY2spOwotICAgIEFTU0VSVChub2RlLT5hZGp1c3RlZFJlZkNvdW50
KCkgPT0gMSk7Ci0KLSAgICBCYXNpY0Jsb2NrKiB0YWtlbiA9IGJyYW5jaE5vZGUtPmJyYW5jaERh
dGEoKS0+dGFrZW4uYmxvY2s7Ci0gICAgQmFzaWNCbG9jayogbm90VGFrZW4gPSBicmFuY2hOb2Rl
LT5icmFuY2hEYXRhKCktPm5vdFRha2VuLmJsb2NrOwotICAgIAotICAgIGJvb2wgaW52ZXJ0ID0g
ZmFsc2U7Ci0gICAgaWYgKHRha2VuID09IG5leHRCbG9jaygpKSB7Ci0gICAgICAgIGludmVydCA9
IHRydWU7Ci0gICAgICAgIEJhc2ljQmxvY2sqIHRtcCA9IHRha2VuOwotICAgICAgICB0YWtlbiA9
IG5vdFRha2VuOwotICAgICAgICBub3RUYWtlbiA9IHRtcDsKLSAgICB9Ci0KLSAgICBTcGVjdWxh
dGVDZWxsT3BlcmFuZCBiYXNlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICBTcGVjdWxhdGVD
ZWxsT3BlcmFuZCBhcmd1bWVudCh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAgR1BSUmVnIGJh
c2VHUFIgPSBiYXNlLmdwcigpOwotICAgIEdQUlJlZyBhcmd1bWVudEdQUiA9IGFyZ3VtZW50Lmdw
cigpOwotICAgIAotICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgR1BSRmx1c2hlZENhbGxSZXN1
bHQgcmVzdWx0KHRoaXMpOwotICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uUmVnRXhwVGVzdCwg
cmVzdWx0LmdwcigpLCBiYXNlR1BSLCBhcmd1bWVudEdQUik7Ci0gICAgbV9qaXQuZXhjZXB0aW9u
Q2hlY2soKTsKLQotICAgIGJyYW5jaFRlc3QzMihpbnZlcnQgPyBKSVRDb21waWxlcjo6WmVybyA6
IEpJVENvbXBpbGVyOjpOb25aZXJvLCByZXN1bHQuZ3ByKCksIHRha2VuKTsKLSAgICBqdW1wKG5v
dFRha2VuKTsKLQotICAgIHVzZShub2RlLT5jaGlsZDEoKSk7Ci0gICAgdXNlKG5vZGUtPmNoaWxk
MigpKTsKLSAgICBtX2luZGV4SW5CbG9jayA9IGJyYW5jaEluZGV4SW5CbG9jazsKLSAgICBtX2N1
cnJlbnROb2RlID0gYnJhbmNoTm9kZTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlSXNPYmplY3RPck51bGwoTm9kZSogbm9kZSkKIHsKICAgICBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RG
b3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAJKHJldmlzaW9uIDE5NzI5OSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjE4LDYgKzIxOCw5IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGlsZShOb2RlKiAK
ICAgICBjYXNlIFB1dFNldHRlckJ5VmFsOgogICAgIGNhc2UgQ29weVJlc3Q6CiAgICAgY2FzZSBH
ZXRSZXN0TGVuZ3RoOgorICAgIGNhc2UgUmVnRXhwRXhlYzoKKyAgICBjYXNlIFJlZ0V4cFRlc3Q6
CisgICAgY2FzZSBOZXdSZWdleHA6CiAgICAgICAgIC8vIFRoZXNlIGFyZSBPSy4KICAgICAgICAg
YnJlYWs7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0Iz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9CMy5jcHAJKHJldmlzaW9uIDE5NzI5OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTA4LDYgKzkwOCwxNSBAQCBw
cml2YXRlOgogICAgICAgICBjYXNlIEdldFJlc3RMZW5ndGg6CiAgICAgICAgICAgICBjb21waWxl
R2V0UmVzdExlbmd0aCgpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUmVnRXhw
RXhlYzoKKyAgICAgICAgICAgIGNvbXBpbGVSZWdFeHBFeGVjKCk7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBSZWdFeHBUZXN0OgorICAgICAgICAgICAgY29tcGlsZVJlZ0V4cFRl
c3QoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE5ld1JlZ2V4cDoKKyAgICAg
ICAgICAgIGNvbXBpbGVOZXdSZWdleHAoKTsKKyAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAg
IGNhc2UgUGhhbnRvbUxvY2FsOgogICAgICAgICBjYXNlIExvb3BIaW50OgpAQCAtNjM4Nyw2ICs2
Mzk2LDM2IEBAIHByaXZhdGU6CiAgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlvbiwg
bGFzdE5leHQpOwogICAgIH0KIAorICAgIHZvaWQgY29tcGlsZVJlZ0V4cEV4ZWMoKQorICAgIHsK
KyAgICAgICAgTFZhbHVlIGJhc2UgPSBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOworICAgICAg
ICBMVmFsdWUgYXJndW1lbnQgPSBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQyKCkpOworICAgICAgICBz
ZXRKU1ZhbHVlKAorICAgICAgICAgICAgdm1DYWxsKEludDY0LCBtX291dC5vcGVyYXRpb24ob3Bl
cmF0aW9uUmVnRXhwRXhlYyksIG1fY2FsbEZyYW1lLCBiYXNlLCBhcmd1bWVudCkpOworICAgIH0K
KworICAgIHZvaWQgY29tcGlsZVJlZ0V4cFRlc3QoKQorICAgIHsKKyAgICAgICAgTFZhbHVlIGJh
c2UgPSBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOworICAgICAgICBMVmFsdWUgYXJndW1lbnQg
PSBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQyKCkpOworICAgICAgICBzZXRCb29sZWFuKAorICAgICAg
ICAgICAgdm1DYWxsKEludDMyLCBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uUmVnRXhwVGVzdCks
IG1fY2FsbEZyYW1lLCBiYXNlLCBhcmd1bWVudCkpOworICAgIH0KKworICAgIHZvaWQgY29tcGls
ZU5ld1JlZ2V4cCgpCisgICAgeworICAgICAgICAvLyBGSVhNRTogV2UgcmVhbGx5IHNob3VsZCBi
ZSBhYmxlIHRvIGlubGluZSBjb2RlIHRoYXQgdXNlcyBOZXdSZWdleHAuIFRoYXQgbWVhbnMgbm90
CisgICAgICAgIC8vIHJlYWNoaW5nIGludG8gdGhlIENvZGVCbG9jayBoZXJlLgorICAgICAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0ODA4CisKKyAgICAg
ICAgTFZhbHVlIHJlc3VsdCA9IHZtQ2FsbCgKKyAgICAgICAgICAgIHBvaW50ZXJUeXBlKCksCisg
ICAgICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3UmVnZXhwKSwgbV9jYWxsRnJh
bWUsCisgICAgICAgICAgICBtX291dC5jb25zdEludFB0cihjb2RlQmxvY2soKS0+cmVnZXhwKG1f
bm9kZS0+cmVnZXhwSW5kZXgoKSkpKTsKKyAgICAgICAgCisgICAgICAgIHNldEpTVmFsdWUocmVz
dWx0KTsKKyAgICB9CisKICAgICBMVmFsdWUgZGlkT3ZlcmZsb3dTdGFjaygpCiAgICAgewogICAg
ICAgICAvLyBUaGlzIGRvZXMgYSB2ZXJ5IHNpbXBsZSBsZWFmIGZ1bmN0aW9uIGFuYWx5c2lzLiBU
aGUgaW52YXJpYW50IG9mIEZUTCBjYWxsCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Z0bC1yZWdleHAtZXhlYy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Z0bC1yZWdleHAtZXhlYy5qcwkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLXJlZ2V4cC1leGVjLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTcgQEAKK2Z1bmN0aW9uIGZvbyhzKSB7CisgICAgcmV0
dXJuIC9mb28vLmV4ZWMocyk7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAw
OyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2YXIgcmVzdWx0ID0gZm9vKCJmb28iKTsKKyAgICBp
ZiAoIXJlc3VsdCkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0IGZvciBmb28iOwor
ICAgIGlmIChyZXN1bHQubGVuZ3RoICE9IDEpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJl
c3VsdCBmb3IgZm9vOiAiICsgcmVzdWx0OworICAgIGlmIChyZXN1bHRbMF0gIT0gImZvbyIpCisg
ICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdCBmb3IgZm9vOiAiICsgcmVzdWx0OworICAg
IGlmIChmb28oImJhciIpKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQgZm9yIGJh
ciI7Cit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Z0bC1yZWdl
eHAtdGVzdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Z0bC1yZWdleHAtdGVzdC5qcwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvZnRsLXJlZ2V4cC10ZXN0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTIgQEAKK2Z1bmN0aW9uIGZvbyhzKSB7CisgICAgcmV0dXJuIC9mb28vLnRlc3Qocyk7
Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBpZiAoIWZvbygiZm9vIikpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3Vs
dCBmb3IgZm9vIjsKKyAgICBpZiAoZm9vKCJiYXIiKSkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBi
YWQgcmVzdWx0IGZvciBiYXIiOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>272477</attachid>
            <date>2016-02-28 23:01:04 -0800</date>
            <delta_ts>2016-02-29 00:05:33 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>12600</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk3MzA4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBA
CisyMDE2LTAyLTI4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
RlRMIHNob3VsZCBiZSBhYmxlIHRvIHJ1biBldmVyeXRoaW5nIGluIE9jdGFuZS9yZWdleHAKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDI2NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgRlRMIHN1
cHBvcnQgZm9yIE5ld1JlZ2V4cCwgUmVnRXhwVGVzdCwgYW5kIFJlZ0V4cEV4ZWMuIEkgY291bGRu
J3QgZmlndXJlIG91dCBob3cgdG8KKyAgICAgICAgbWFrZSB0aGUgUmVnRXhwRXhlYyBwZWVwaG9s
ZSBvcHRpbWl6YXRpb24gd29yayBpbiBGVEwuIFRoaXMgb3B0aW1pemF0aW9ucyBzaG91bGRuJ3Qg
YmUgYQorICAgICAgICBERkcgYmFja2VuZCBvcHRpbWl6YXRpb24gYW55d2F5IC0gaWYgd2UgbmVl
ZCB0aGlzIG9wdGltaXphdGlvbiB0aGVuIGl0IHNob3VsZCBiZSBhCisgICAgICAgIHN0cmVuZ3Ro
IHJlZHVjdGlvbiBydWxlIG92ZXIgSVIuIFRoYXQgd2F5LCBpdCBjYW4gYmUgc2hhcmVkIGJ5IGFs
bCBiYWNrZW5kcy4KKworICAgICAgICBJIG1lYXN1cmVkIHdoZXRoZXIgcmVtb3ZpbmcgdGhhdCBv
cHRpbWl6YXRpb24gaGFkIGFueSBlZmZlY3Qgb24gcGVyZm9ybWFuY2Ugc2VwYXJhdGVseQorICAg
ICAgICBmcm9tIG1lYXN1cmluZyB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhpcyBwYXRjaC4gUmVtb3Zp
bmcgdGhhdCBvcHRpbWl6YXRpb24gZGlkIG5vdCBjaGFuZ2UKKyAgICAgICAgb3VyIHNjb3JlIG9u
IGFueSBiZW5jaG1hcmtzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyBoYXZlIGFuIG92ZXJh
bGwgbmVnYXRpdmUgZWZmZWN0IG9uIHRoZSBPY3RhbmUvcmVnZXhwIHNjb3JlLiBUaGlzIGlzCisg
ICAgICAgIHByZXN1bWFibHkgYmVjYXVzZSB0aWVyaW5nIHVwIHRvIHRoZSBGVEwgaGFzIG5vIHZh
bHVlIHRvIHRoZSBjb2RlIGluIHRoZSByZWdleHAgdGVzdC4gT3IKKyAgICAgICAgbWF5YmUgaXQn
cyBzb21ldGhpbmcgZWxzZS4gTm8gbWF0dGVyIC0gdGhlIG92ZXJhbGwgZWZmZWN0IG9uIHRoZSBP
Y3RhbmUgc2NvcmUgaXMgbm90CisgICAgICAgIHN0YXRpc3RpY2FsbHkgc2lnbmlmaWNhbnQgYW5k
IHdlIGRvbid0IHdhbnQgdGhpcyBraW5kIG9mIGNvdmVyYWdlIGJsb2NrZWQgYnkgdGhlIGZhY3QK
KyAgICAgICAgdGhhdCBhZGRpbmcgY292ZXJhZ2UgaHVydHMgYSBiZW5jaG1hcmsuCisKKyAgICAg
ICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVD
b2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAg
ICAoSlNDOjpERkc6Ok5vZGU6OnNldEluZGV4aW5nVHlwZSk6CisgICAgICAgIChKU0M6OkRGRzo6
Tm9kZTo6aGFzUmVnZXhwSW5kZXgpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVOb3RpZnlXcml0
ZSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJc09iamVjdE9y
TnVsbCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVSZWdFeHBF
eGVjKTogRGVsZXRlZC4KKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAq
IGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6Cisg
ICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZH
VG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVO
b2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZUNoZWNr
V2F0Y2hkb2dUaW1lcik6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNv
bXBpbGVSZWdFeHBFeGVjKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6
Y29tcGlsZVJlZ0V4cFRlc3QpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0Iz
Ojpjb21waWxlTmV3UmVnZXhwKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9C
Mzo6ZGlkT3ZlcmZsb3dTdGFjayk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Z0bC1yZWdleHAt
ZXhlYy5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Z0bC1yZWdleHAtdGVzdC5q
czogQWRkZWQuCisKIDIwMTYtMDItMjggIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29t
PgogCiAgICAgICAgIE1ha2UgSlNGdW5jdGlvbi5uYW1lIGFsbG9jYXRpb24gZnVsbHkgbGF6eS4K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwCShyZXZpc2lvbiAxOTcyOTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5
dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM0MCw2ICszMzQwLDkgQEAgYm9v
bCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICB9CiAgICAgICAg
ICAgICAKICAgICAgICAgY2FzZSBvcF9uZXdfcmVnZXhwOiB7CisgICAgICAgICAgICAvLyBGSVhN
RTogV2UgcmVhbGx5IHNob3VsZCBiZSBhYmxlIHRvIGlubGluZSBjb2RlIHRoYXQgdXNlcyBOZXdS
ZWdleHAuIFRoYXQgbWVhbnMKKyAgICAgICAgICAgIC8vIHVzaW5nIHNvbWV0aGluZyBvdGhlciB0
aGFuIHRoZSBpbmRleCBpbnRvIHRoZSBDb2RlQmxvY2sgaGVyZS4KKyAgICAgICAgICAgIC8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ4MDgKICAgICAgICAgICAg
IHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFk
ZFRvR3JhcGgoTmV3UmVnZXhwLCBPcEluZm8oY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFu
ZCkpKTsKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19yZWdleHApOwogICAgICAgICB9
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAkocmV2aXNpb24gMTk3Mjk5KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTEwMjIsNiArMTAyMiw5IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAgbV9vcEluZm8gPSBpbmRl
eGluZ1R5cGU7CiAgICAgfQogICAgIAorICAgIC8vIEZJWE1FOiBXZSByZWFsbHkgc2hvdWxkIGJl
IGFibGUgdG8gaW5saW5lIGNvZGUgdGhhdCB1c2VzIE5ld1JlZ2V4cC4gVGhhdCBtZWFucworICAg
IC8vIHVzaW5nIHNvbWV0aGluZyBvdGhlciB0aGFuIHRoZSBpbmRleCBpbnRvIHRoZSBDb2RlQmxv
Y2sgaGVyZS4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU0ODA4CiAgICAgYm9vbCBoYXNSZWdleHBJbmRleCgpCiAgICAgewogICAgICAgICByZXR1cm4g
b3AoKSA9PSBOZXdSZWdleHA7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUMzJfNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHJldmlzaW9uIDE5NzI5OSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI4MzQsMjYgKzI4MzQsNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKE5vZGUqIG5vZGUpCiAgICAgfQogCiAgICAgY2FzZSBSZWdFeHBFeGVjOiB7Ci0gICAgICAg
IGlmIChjb21waWxlUmVnRXhwRXhlYyhub2RlKSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAg
ICAgICBpZiAoIW5vZGUtPmFkanVzdGVkUmVmQ291bnQoKSkgewotICAgICAgICAgICAgU3BlY3Vs
YXRlQ2VsbE9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgICAgICBT
cGVjdWxhdGVDZWxsT3BlcmFuZCBhcmd1bWVudCh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAg
ICAgICAgICBHUFJSZWcgYmFzZUdQUiA9IGJhc2UuZ3ByKCk7Ci0gICAgICAgICAgICBHUFJSZWcg
YXJndW1lbnRHUFIgPSBhcmd1bWVudC5ncHIoKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAg
Zmx1c2hSZWdpc3RlcnMoKTsKLSAgICAgICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3Vs
dCh0aGlzKTsKLSAgICAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uUmVnRXhwVGVzdCwg
cmVzdWx0LmdwcigpLCBiYXNlR1BSLCBhcmd1bWVudEdQUik7Ci0gICAgICAgICAgICBtX2ppdC5l
eGNlcHRpb25DaGVjaygpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBNdXN0IHVzZSBq
c1ZhbHVlUmVzdWx0IGJlY2F1c2Ugb3RoZXJ3aXNlIHdlIHNjcmV3IHVwIHJlZ2lzdGVyCi0gICAg
ICAgICAgICAvLyBhbGxvY2F0aW9uLCB3aGljaCB0aGlua3MgdGhhdCB0aGlzIG5vZGUgaGFzIGEg
cmVzdWx0LgotICAgICAgICAgICAgYm9vbGVhblJlc3VsdChyZXN1bHQuZ3ByKCksIG5vZGUpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQogICAgICAgICBTcGVjdWxhdGVDZWxsT3Bl
cmFuZCBiYXNlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgU3BlY3VsYXRlQ2VsbE9w
ZXJhbmQgYXJndW1lbnQodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwogICAgICAgICBHUFJSZWcgYmFz
ZUdQUiA9IGJhc2UuZ3ByKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDE5NzI5OSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI5NTksMjUgKzI5NTksNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUq
IG5vZGUpCiAgICAgfQogCiAgICAgY2FzZSBSZWdFeHBFeGVjOiB7Ci0gICAgICAgIGlmIChjb21w
aWxlUmVnRXhwRXhlYyhub2RlKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKCFu
b2RlLT5hZGp1c3RlZFJlZkNvdW50KCkpIHsKLSAgICAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVy
YW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwotICAgICAgICAgICAgU3BlY3VsYXRlQ2Vs
bE9wZXJhbmQgYXJndW1lbnQodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICAgICAgR1BS
UmVnIGJhc2VHUFIgPSBiYXNlLmdwcigpOwotICAgICAgICAgICAgR1BSUmVnIGFyZ3VtZW50R1BS
ID0gYXJndW1lbnQuZ3ByKCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGZsdXNoUmVnaXN0
ZXJzKCk7Ci0gICAgICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7Ci0g
ICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblJlZ0V4cFRlc3QsIHJlc3VsdC5ncHIo
KSwgYmFzZUdQUiwgYXJndW1lbnRHUFIpOwotICAgICAgICAgICAgbV9qaXQuZXhjZXB0aW9uQ2hl
Y2soKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgLy8gTXVzdCB1c2UganNWYWx1ZVJlc3Vs
dCBiZWNhdXNlIG90aGVyd2lzZSB3ZSBzY3JldyB1cCByZWdpc3RlcgotICAgICAgICAgICAgLy8g
YWxsb2NhdGlvbiwgd2hpY2ggdGhpbmtzIHRoYXQgdGhpcyBub2RlIGhhcyBhIHJlc3VsdC4KLSAg
ICAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9Ci0KICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgYmFzZSh0
aGlzLCBub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGFyZ3Vt
ZW50KHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKICAgICAgICAgR1BSUmVnIGJhc2VHUFIgPSBiYXNl
LmdwcigpOwpAQCAtMzY4Myw2ICszNjY0LDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZShOb2RlKiBub2RlKQogICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwogICAgICAgICBHUFJGbHVz
aGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CiAgICAgICAgIAorICAgICAgICAvLyBGSVhNRTog
V2UgcmVhbGx5IHNob3VsZCBiZSBhYmxlIHRvIGlubGluZSBjb2RlIHRoYXQgdXNlcyBOZXdSZWdl
eHAuIFRoYXQgbWVhbnMgbm90CisgICAgICAgIC8vIHJlYWNoaW5nIGludG8gdGhlIENvZGVCbG9j
ayBoZXJlLgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTU0ODA4CiAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3UmVnZXhwLCByZXN1
bHQuZ3ByKCksIG1faml0LmNvZGVCbG9jaygpLT5yZWdleHAobm9kZS0+cmVnZXhwSW5kZXgoKSkp
OwogICAgICAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwogICAgICAgICAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lv
biAxOTcyOTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTkxMCw0NiArNTkxMCw2IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVOb3RpZnlXcml0ZSgKICAgICBub1Jlc3VsdChub2RlKTsKIH0KIAotYm9v
bCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVJlZ0V4cEV4ZWMoTm9kZSogbm9kZSkKLXsKLSAgICB1
bnNpZ25lZCBicmFuY2hJbmRleEluQmxvY2sgPSBkZXRlY3RQZWVwSG9sZUJyYW5jaCgpOwotICAg
IGlmIChicmFuY2hJbmRleEluQmxvY2sgPT0gVUlOVF9NQVgpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICBOb2RlKiBicmFuY2hOb2RlID0gbV9ibG9jay0+YXQoYnJhbmNoSW5kZXhJbkJsb2Nr
KTsKLSAgICBBU1NFUlQobm9kZS0+YWRqdXN0ZWRSZWZDb3VudCgpID09IDEpOwotCi0gICAgQmFz
aWNCbG9jayogdGFrZW4gPSBicmFuY2hOb2RlLT5icmFuY2hEYXRhKCktPnRha2VuLmJsb2NrOwot
ICAgIEJhc2ljQmxvY2sqIG5vdFRha2VuID0gYnJhbmNoTm9kZS0+YnJhbmNoRGF0YSgpLT5ub3RU
YWtlbi5ibG9jazsKLSAgICAKLSAgICBib29sIGludmVydCA9IGZhbHNlOwotICAgIGlmICh0YWtl
biA9PSBuZXh0QmxvY2soKSkgewotICAgICAgICBpbnZlcnQgPSB0cnVlOwotICAgICAgICBCYXNp
Y0Jsb2NrKiB0bXAgPSB0YWtlbjsKLSAgICAgICAgdGFrZW4gPSBub3RUYWtlbjsKLSAgICAgICAg
bm90VGFrZW4gPSB0bXA7Ci0gICAgfQotCi0gICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgYmFzZSh0
aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0gICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgYXJndW1lbnQo
dGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotICAgIEdQUlJlZyBiYXNlR1BSID0gYmFzZS5ncHIoKTsK
LSAgICBHUFJSZWcgYXJndW1lbnRHUFIgPSBhcmd1bWVudC5ncHIoKTsKLSAgICAKLSAgICBmbHVz
aFJlZ2lzdGVycygpOwotICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKLSAg
ICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblJlZ0V4cFRlc3QsIHJlc3VsdC5ncHIoKSwgYmFzZUdQ
UiwgYXJndW1lbnRHUFIpOwotICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7Ci0KLSAgICBicmFu
Y2hUZXN0MzIoaW52ZXJ0ID8gSklUQ29tcGlsZXI6Olplcm8gOiBKSVRDb21waWxlcjo6Tm9uWmVy
bywgcmVzdWx0LmdwcigpLCB0YWtlbik7Ci0gICAganVtcChub3RUYWtlbik7Ci0KLSAgICB1c2Uo
bm9kZS0+Y2hpbGQxKCkpOwotICAgIHVzZShub2RlLT5jaGlsZDIoKSk7Ci0gICAgbV9pbmRleElu
QmxvY2sgPSBicmFuY2hJbmRleEluQmxvY2s7Ci0gICAgbV9jdXJyZW50Tm9kZSA9IGJyYW5jaE5v
ZGU7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZUlzT2JqZWN0T3JOdWxsKE5vZGUqIG5vZGUpCiB7CiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCA9IG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1h
bnRpYyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRp
ZXMuY3BwCShyZXZpc2lvbiAxOTcyOTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TENhcGFiaWxpdGllcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxOCw2ICsyMTgsOSBAQCBpbmxp
bmUgQ2FwYWJpbGl0eUxldmVsIGNhbkNvbXBpbGUoTm9kZSogCiAgICAgY2FzZSBQdXRTZXR0ZXJC
eVZhbDoKICAgICBjYXNlIENvcHlSZXN0OgogICAgIGNhc2UgR2V0UmVzdExlbmd0aDoKKyAgICBj
YXNlIFJlZ0V4cEV4ZWM6CisgICAgY2FzZSBSZWdFeHBUZXN0OgorICAgIGNhc2UgTmV3UmVnZXhw
OgogICAgICAgICAvLyBUaGVzZSBhcmUgT0suCiAgICAgICAgIGJyZWFrOwogCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lvbiAx
OTcyOTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTkwOCw2ICs5MDgsMTUgQEAgcHJpdmF0ZToKICAgICAgICAgY2Fz
ZSBHZXRSZXN0TGVuZ3RoOgogICAgICAgICAgICAgY29tcGlsZUdldFJlc3RMZW5ndGgoKTsKICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFJlZ0V4cEV4ZWM6CisgICAgICAgICAgICBj
b21waWxlUmVnRXhwRXhlYygpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUmVn
RXhwVGVzdDoKKyAgICAgICAgICAgIGNvbXBpbGVSZWdFeHBUZXN0KCk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBOZXdSZWdleHA6CisgICAgICAgICAgICBjb21waWxlTmV3UmVn
ZXhwKCk7CisgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFBoYW50b21Mb2NhbDoK
ICAgICAgICAgY2FzZSBMb29wSGludDoKQEAgLTYzODcsNiArNjM5NiwzNiBAQCBwcml2YXRlOgog
ICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0KTsKICAgICB9CiAK
KyAgICB2b2lkIGNvbXBpbGVSZWdFeHBFeGVjKCkKKyAgICB7CisgICAgICAgIExWYWx1ZSBiYXNl
ID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgTFZhbHVlIGFyZ3VtZW50ID0g
bG93Q2VsbChtX25vZGUtPmNoaWxkMigpKTsKKyAgICAgICAgc2V0SlNWYWx1ZSgKKyAgICAgICAg
ICAgIHZtQ2FsbChJbnQ2NCwgbV9vdXQub3BlcmF0aW9uKG9wZXJhdGlvblJlZ0V4cEV4ZWMpLCBt
X2NhbGxGcmFtZSwgYmFzZSwgYXJndW1lbnQpKTsKKyAgICB9CisKKyAgICB2b2lkIGNvbXBpbGVS
ZWdFeHBUZXN0KCkKKyAgICB7CisgICAgICAgIExWYWx1ZSBiYXNlID0gbG93Q2VsbChtX25vZGUt
PmNoaWxkMSgpKTsKKyAgICAgICAgTFZhbHVlIGFyZ3VtZW50ID0gbG93Q2VsbChtX25vZGUtPmNo
aWxkMigpKTsKKyAgICAgICAgc2V0Qm9vbGVhbigKKyAgICAgICAgICAgIHZtQ2FsbChJbnQzMiwg
bV9vdXQub3BlcmF0aW9uKG9wZXJhdGlvblJlZ0V4cFRlc3QpLCBtX2NhbGxGcmFtZSwgYmFzZSwg
YXJndW1lbnQpKTsKKyAgICB9CisKKyAgICB2b2lkIGNvbXBpbGVOZXdSZWdleHAoKQorICAgIHsK
KyAgICAgICAgLy8gRklYTUU6IFdlIHJlYWxseSBzaG91bGQgYmUgYWJsZSB0byBpbmxpbmUgY29k
ZSB0aGF0IHVzZXMgTmV3UmVnZXhwLiBUaGF0IG1lYW5zIG5vdAorICAgICAgICAvLyByZWFjaGlu
ZyBpbnRvIHRoZSBDb2RlQmxvY2sgaGVyZS4KKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDgwOAorCisgICAgICAgIExWYWx1ZSByZXN1bHQgPSB2
bUNhbGwoCisgICAgICAgICAgICBwb2ludGVyVHlwZSgpLAorICAgICAgICAgICAgbV9vdXQub3Bl
cmF0aW9uKG9wZXJhdGlvbk5ld1JlZ2V4cCksIG1fY2FsbEZyYW1lLAorICAgICAgICAgICAgbV9v
dXQuY29uc3RJbnRQdHIoY29kZUJsb2NrKCktPnJlZ2V4cChtX25vZGUtPnJlZ2V4cEluZGV4KCkp
KSk7CisgICAgICAgIAorICAgICAgICBzZXRKU1ZhbHVlKHJlc3VsdCk7CisgICAgfQorCiAgICAg
TFZhbHVlIGRpZE92ZXJmbG93U3RhY2soKQogICAgIHsKICAgICAgICAgLy8gVGhpcyBkb2VzIGEg
dmVyeSBzaW1wbGUgbGVhZiBmdW5jdGlvbiBhbmFseXNpcy4gVGhlIGludmFyaWFudCBvZiBGVEwg
Y2FsbApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9mdGwtcmVnZXhw
LWV4ZWMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9mdGwtcmVnZXhwLWV4ZWMuanMJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Z0bC1yZWdleHAtZXhlYy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDE3IEBACitmdW5jdGlvbiBmb28ocykgeworICAgIHJldHVybiAvZm9vLy5leGVjKHMpOwor
fQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7
CisgICAgdmFyIHJlc3VsdCA9IGZvbygiZm9vIik7CisgICAgaWYgKCFyZXN1bHQpCisgICAgICAg
IHRocm93ICJFcnJvcjogYmFkIHJlc3VsdCBmb3IgZm9vIjsKKyAgICBpZiAocmVzdWx0Lmxlbmd0
aCAhPSAxKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQgZm9yIGZvbzogIiArIHJl
c3VsdDsKKyAgICBpZiAocmVzdWx0WzBdICE9ICJmb28iKQorICAgICAgICB0aHJvdyAiRXJyb3I6
IGJhZCByZXN1bHQgZm9yIGZvbzogIiArIHJlc3VsdDsKKyAgICBpZiAoZm9vKCJiYXIiKSkKKyAg
ICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0IGZvciBiYXIiOworfQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9mdGwtcmVnZXhwLXRlc3QuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9mdGwtcmVnZXhwLXRlc3Qu
anMJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Z0
bC1yZWdleHAtdGVzdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyIEBACitmdW5jdGlv
biBmb28ocykgeworICAgIHJldHVybiAvZm9vLy50ZXN0KHMpOworfQorCitub0lubGluZShmb28p
OworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgaWYgKCFmb28oImZv
byIpKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQgZm9yIGZvbyI7CisgICAgaWYg
KGZvbygiYmFyIikpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdCBmb3IgYmFyIjsK
K30K
</data>
<flag name="review"
          id="297254"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>