<?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>160226</bug_id>
          
          <creation_ts>2016-07-26 17:34:44 -0700</creation_ts>
          <short_desc>rollout r203666</short_desc>
          <delta_ts>2016-07-26 18:25: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 Local 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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>rniwa</cc>
    
    <cc>sukolsak</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1214769</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-07-26 17:34:44 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214770</commentid>
    <comment_count>1</comment_count>
      <attachid>284658</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-07-26 17:40:20 -0700</bug_when>
    <thetext>Created attachment 284658
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214779</commentid>
    <comment_count>2</comment_count>
      <attachid>284658</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-26 18:25:04 -0700</bug_when>
    <thetext>Comment on attachment 284658
patch

Clearing flags on attachment: 284658

Committed r203758: &lt;http://trac.webkit.org/changeset/203758&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214780</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-26 18:25:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284658</attachid>
            <date>2016-07-26 17:40:20 -0700</date>
            <delta_ts>2016-07-26 18:25:04 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>23176</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjAzNzU1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBA
CisyMDE2LTA3LTI2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IHJvbGxvdXQgcjIwMzY2NgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTYwMjI2CisKKyAgICAgICAgVW5yZXZpZXdlZCByb2xsb3V0LgorCisgICAgICAg
ICogYjMvQjNCYXNpY0Jsb2NrLmg6CisgICAgICAgIChKU0M6OkIzOjpCYXNpY0Jsb2NrOjpzdWNj
ZXNzb3JCbG9jayk6CisgICAgICAgICogYjMvQjNMb3dlclRvQWlyLmNwcDoKKyAgICAgICAgKEpT
Qzo6QjM6OkFpcjo6TG93ZXJUb0Fpcjo6Y3JlYXRlR2VuZXJpY0NvbXBhcmUpOgorICAgICAgICAq
IGIzL0IzTG93ZXJUb0Fpci5oOgorICAgICAgICAqIGIzL2Fpci9BaXJBcmcuY3BwOgorICAgICAg
ICAoSlNDOjpCMzo6QWlyOjpBcmc6OmlzUmVwcmVzZW50YWJsZUFzKToKKyAgICAgICAgKEpTQzo6
QjM6OkFpcjo6QXJnOjp1c2VzVG1wKToKKyAgICAgICAgKiBiMy9haXIvQWlyQXJnLmg6CisgICAg
ICAgIChKU0M6OkIzOjpBaXI6OkFyZzo6aXNSZXByZXNlbnRhYmxlQXMpOgorICAgICAgICAoSlND
OjpCMzo6QWlyOjpBcmc6OmFzTnVtYmVyKToKKyAgICAgICAgKEpTQzo6QjM6OkFpcjo6QXJnOjpj
YXN0VG9UeXBlKTogRGVsZXRlZC4KKyAgICAgICAgKiBiMy9haXIvQWlyQ29kZS5oOgorICAgICAg
ICAoSlNDOjpCMzo6QWlyOjpDb2RlOjpzaXplKToKKyAgICAgICAgKEpTQzo6QjM6OkFpcjo6Q29k
ZTo6YXQpOgorICAgICAgICAqIGIzL2Fpci9BaXJPcGNvZGUub3Bjb2RlczoKKyAgICAgICAgKiBi
My9haXIvQWlyVmFsaWRhdGUuaDoKKyAgICAgICAgKiBiMy9haXIvb3Bjb2RlX2dlbmVyYXRvci5y
YjoKKyAgICAgICAgKiBiMy90ZXN0YjMuY3BwOgorICAgICAgICAoSlNDOjpCMzo6Y29tcGlsZUFu
ZFJ1bik6CisgICAgICAgIChKU0M6OkIzOjp0ZXN0U29tZUVhcmx5UmVnaXN0ZXIpOgorICAgICAg
ICAoSlNDOjpCMzo6emVybyk6CisgICAgICAgIChKU0M6OkIzOjpydW4pOgorICAgICAgICAoSlND
OjpCMzo6bG93ZXJUb0FpckZvclRlc3RpbmcpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpCMzo6
dGVzdEJyYW5jaEJpdEFuZEltbUZ1c2lvbik6IERlbGV0ZWQuCisKIDIwMTYtMDctMjYgIENhaXRs
aW4gUG90dGVyICA8Y2FpdHBAaWdhbGlhLmNvbT4KIAogICAgICAgICBbSlNDXSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9ycyBzaG91bGQgbm90IGFkZCB1bmRlZmluZWQgcHJvcHMgdG8g
cmVzdWx0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNMb3dlclRvQWlyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNMb3dlclRvQWlyLmNwcAko
cmV2aXNpb24gMjAzNzU1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTG93ZXJUb0Fp
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMzAsNDMgKzEzMzAsMjIgQEAgcHJpdmF0ZToKICAg
ICAgICAgICAgICAgICBWYWx1ZSogbGVmdCA9IHZhbHVlLT5jaGlsZCgwKTsKICAgICAgICAgICAg
ICAgICBWYWx1ZSogcmlnaHQgPSB2YWx1ZS0+Y2hpbGQoMSk7CiAKLSAgICAgICAgICAgICAgICBi
b29sIGhhc1JpZ2h0Q29uc3Q7Ci0gICAgICAgICAgICAgICAgaW50NjRfdCByaWdodENvbnN0Owot
ICAgICAgICAgICAgICAgIEFyZyByaWdodEltbTsKLSAgICAgICAgICAgICAgICBBcmcgcmlnaHRJ
bW02NDsKLQotICAgICAgICAgICAgICAgIGhhc1JpZ2h0Q29uc3QgPSByaWdodC0+aGFzSW50KCk7
Ci0gICAgICAgICAgICAgICAgaWYgKGhhc1JpZ2h0Q29uc3QpIHsKLSAgICAgICAgICAgICAgICAg
ICAgcmlnaHRDb25zdCA9IHJpZ2h0LT5hc0ludCgpOwotICAgICAgICAgICAgICAgICAgICByaWdo
dEltbSA9IGJpdEltbShyaWdodCk7Ci0gICAgICAgICAgICAgICAgICAgIHJpZ2h0SW1tNjQgPSBi
aXRJbW02NChyaWdodCk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIC8vIEZJ
WE1FOiBXZSBkb24ndCBhY3R1YWxseSBoYXZlIHRvIHdvcnJ5IGFib3V0IGxlZnRJbW0uCisgICAg
ICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
MDk1NAorCisgICAgICAgICAgICAgICAgQXJnIGxlZnRJbW0gPSBpbW0obGVmdCk7CisgICAgICAg
ICAgICAgICAgQXJnIHJpZ2h0SW1tID0gaW1tKHJpZ2h0KTsKICAgICAgICAgICAgICAgICAKLSAg
ICAgICAgICAgICAgICBhdXRvIHRyeVRlc3RMb2FkSW1tID0gWyZdIChBcmc6OldpZHRoIHdpZHRo
LCBBcmc6OlNpZ25lZG5lc3Mgc2lnbmVkbmVzcywgQjM6Ok9wY29kZSBsb2FkT3Bjb2RlKSAtPiBJ
bnN0IHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFoYXNSaWdodENvbnN0KQotICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIEluc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgLy8gU2ln
bmVkIGxvYWRzIHdpbGwgY3JlYXRlIGhpZ2ggYml0cywgc28gaWYgdGhlIGltbWVkaWF0ZSBoYXMg
aGlnaCBiaXRzCi0gICAgICAgICAgICAgICAgICAgIC8vIHRoZW4gd2UgY2Fubm90IHByb2NlZWQu
IENvbnNpZGVyIEJpdEFuZChMb2FkOFMocHRyKSwgMHgxMDEpLiBUaGlzIGNhbm5vdAotICAgICAg
ICAgICAgICAgICAgICAvLyBiZSB0dXJuZWQgaW50byB0ZXN0YiAocHRyKSwgJDEsIHNpbmNlIGlm
IHRoZSBoaWdoIGJpdCB3aXRoaW4gdGhhdCBieXRlCi0gICAgICAgICAgICAgICAgICAgIC8vIHdh
cyBzZXQgdGhlbiBpdCB3b3VsZCBiZSBleHRlbmRlZCB0byBpbmNsdWRlIDB4MTAwLiBUaGUgaGFu
ZGxpbmcgYmVsb3cKLSAgICAgICAgICAgICAgICAgICAgLy8gd29uJ3QgYW50aWNpcGF0ZSB0aGlz
LCBzbyB3ZSBuZWVkIHRvIGNhdGNoIGl0IGhlcmUuCi0gICAgICAgICAgICAgICAgICAgIGlmIChz
aWduZWRuZXNzID09IEFyZzo6U2lnbmVkCi0gICAgICAgICAgICAgICAgICAgICAgICAmJiAhQXJn
Ojppc1JlcHJlc2VudGFibGVBcyh3aWR0aCwgQXJnOjpVbnNpZ25lZCwgcmlnaHRDb25zdCkpCi0g
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSW5zdCgpOwotICAgICAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IElmIHRoaXMgaXMgdW5zaWduZWQgdGhl
biB3ZSBjYW4gY2hvcCB0aGluZ3Mgb2ZmIG9mIHRoZSBpbW1lZGlhdGUuCi0gICAgICAgICAgICAg
ICAgICAgIC8vIFRoaXMgbWlnaHQgbWFrZSB0aGUgaW1tZWRpYXRlIG1vcmUgbGVnYWwuIFBlcmhh
cHMgdGhhdCdzIGEgam9iIGZvcgotICAgICAgICAgICAgICAgICAgICAvLyBzdHJlbmd0aCByZWR1
Y3Rpb24/Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICBpZiAocmln
aHRJbW0pIHsKKyAgICAgICAgICAgICAgICBhdXRvIHRyeVRlc3RMb2FkSW1tID0gWyZdIChBcmc6
OldpZHRoIHdpZHRoLCBCMzo6T3Bjb2RlIGxvYWRPcGNvZGUpIC0+IEluc3QgeworICAgICAgICAg
ICAgICAgICAgICBpZiAocmlnaHRJbW0gJiYgcmlnaHRJbW0uaXNSZXByZXNlbnRhYmxlQXMod2lk
dGgsIEFyZzo6VW5zaWduZWQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoSW5zdCBy
ZXN1bHQgPSB0cnlUZXN0KHdpZHRoLCBsb2FkUHJvbWlzZShsZWZ0LCBsb2FkT3Bjb2RlKSwgcmln
aHRJbW0pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWl0SW50ZXJuYWwobGVm
dCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
ICAgICBpZiAocmlnaHRJbW02NCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEluc3Qg
cmVzdWx0ID0gdHJ5VGVzdCh3aWR0aCwgbG9hZFByb21pc2UobGVmdCwgbG9hZE9wY29kZSksIHJp
Z2h0SW1tNjQpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWl0SW50ZXJuYWwo
bGVmdCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChsZWZ0SW1tICYmIGxlZnRJbW0uaXNSZXBy
ZXNlbnRhYmxlQXMod2lkdGgsIEFyZzo6VW5zaWduZWQpKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoSW5zdCByZXN1bHQgPSB0cnlUZXN0KHdpZHRoLCBsZWZ0SW1tLCBsb2FkUHJvbWlz
ZShyaWdodCwgbG9hZE9wY29kZSkpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29t
bWl0SW50ZXJuYWwocmlnaHQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0K
QEAgLTEzNzYsMjggKzEzNTUsMjQgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBpZiAoY2Fu
Q29tbWl0SW50ZXJuYWwpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gRmlyc3QgaGFuZGxlIHRl
c3QncyB0aGF0IGludm9sdmUgZmV3ZXIgYml0cyB0aGFuIEIzJ3MgdHlwZSBzeXN0ZW0gc3VwcG9y
dHMuCiAKLSAgICAgICAgICAgICAgICAgICAgaWYgKEluc3QgcmVzdWx0ID0gdHJ5VGVzdExvYWRJ
bW0oQXJnOjpXaWR0aDgsIEFyZzo6VW5zaWduZWQsIExvYWQ4WikpCisgICAgICAgICAgICAgICAg
ICAgIGlmIChJbnN0IHJlc3VsdCA9IHRyeVRlc3RMb2FkSW1tKEFyZzo6V2lkdGg4LCBMb2FkOFop
KQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgICAgICAg
ICAgICAgCi0gICAgICAgICAgICAgICAgICAgIGlmIChJbnN0IHJlc3VsdCA9IHRyeVRlc3RMb2Fk
SW1tKEFyZzo6V2lkdGg4LCBBcmc6OlNpZ25lZCwgTG9hZDhTKSkKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKEluc3QgcmVzdWx0ID0gdHJ5VGVzdExvYWRJbW0oQXJnOjpXaWR0aDgsIExvYWQ4Uykp
CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICAgICAgICAg
ICAgICAKLSAgICAgICAgICAgICAgICAgICAgaWYgKEluc3QgcmVzdWx0ID0gdHJ5VGVzdExvYWRJ
bW0oQXJnOjpXaWR0aDE2LCBBcmc6OlVuc2lnbmVkLCBMb2FkMTZaKSkKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKEluc3QgcmVzdWx0ID0gdHJ5VGVzdExvYWRJbW0oQXJnOjpXaWR0aDE2LCBMb2Fk
MTZaKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICBpZiAoSW5zdCByZXN1bHQgPSB0cnlUZXN0
TG9hZEltbShBcmc6OldpZHRoMTYsIEFyZzo6U2lnbmVkLCBMb2FkMTZTKSkKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKEluc3QgcmVzdWx0ID0gdHJ5VGVzdExvYWRJbW0oQXJnOjpXaWR0aDE2LCBM
b2FkMTZTKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAKLSAgICAg
ICAgICAgICAgICAgICAgLy8gVGhpcyBhbGxvd3MgdXMgdG8gdXNlIGEgMzItYml0IHRlc3QgZm9y
IDY0LWJpdCBCaXRBbmQgaWYgdGhlIGltbWVkaWF0ZSBpcwotICAgICAgICAgICAgICAgICAgICAv
LyByZXByZXNlbnRhYmxlIGFzIGFuIHVuc2lnbmVkIDMyLWJpdCB2YWx1ZS4gVGhlIGxvZ2ljIGlu
dm9sdmVkIGlzIHRoZSBzYW1lCi0gICAgICAgICAgICAgICAgICAgIC8vIGFzIGlmIHdlIHdlcmUg
cG9uZGVyaW5nIHVzaW5nIGEgMzItYml0IHRlc3QgZm9yCi0gICAgICAgICAgICAgICAgICAgIC8v
IEJpdEFuZChTRXh0KExvYWQocHRyKSksIGNvbnN0KSwgaW4gdGhlIHNlbnNlIHRoYXQgaW4gYm90
aCBjYXNlcyB3ZSBoYXZlCi0gICAgICAgICAgICAgICAgICAgIC8vIHRvIHdvcnJ5IGFib3V0IGhp
Z2ggYml0cy4gU28sIHdlIHVzZSB0aGUgIlNpZ25lZCIgdmVyc2lvbiBvZiB0aGlzIGhlbHBlci4K
LSAgICAgICAgICAgICAgICAgICAgaWYgKEluc3QgcmVzdWx0ID0gdHJ5VGVzdExvYWRJbW0oQXJn
OjpXaWR0aDMyLCBBcmc6OlNpZ25lZCwgTG9hZCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gcmVzdWx0OworICAgICAgICAgICAgICAgICAgICAvLyBOb3cgaGFuZGxlIHRlc3QncyB0
aGF0IGludm9sdmUgYSBsb2FkIGFuZCBhbiBpbW1lZGlhdGUuIE5vdGUgdGhhdCBpbW1lZGlhdGVz
CisgICAgICAgICAgICAgICAgICAgIC8vIGFyZSAzMi1iaXQsIGFuZCB3ZSB3YW50IHplcm8tZXh0
ZW5zaW9uLiBIZW5jZSwgdGhlIGltbWVkaWF0ZSBmb3JtIGlzIGNvbXBpbGVkCisgICAgICAgICAg
ICAgICAgICAgIC8vIGFzIGEgMzItYml0IHRlc3QuIE5vdGUgdGhhdCB0aGlzIHNwaXRzIG9uIHRo
ZSBncmF2ZSBvZiBpbmZlcmlvciBlbmRpYW5zLCBzdWNoCisgICAgICAgICAgICAgICAgICAgIC8v
IGFzIHRoZSBiaWcgb25lLgogICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAg
ICAgLy8gVGhpcyBpcyBuZWVkZWQgdG8gaGFuZGxlIDMyLWJpdCB0ZXN0IGZvciBhcmJpdHJhcnkg
MzItYml0IGltbWVkaWF0ZXMuCi0gICAgICAgICAgICAgICAgICAgIGlmIChJbnN0IHJlc3VsdCA9
IHRyeVRlc3RMb2FkSW1tKHdpZHRoLCBBcmc6OlVuc2lnbmVkLCBMb2FkKSkKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKEluc3QgcmVzdWx0ID0gdHJ5VGVzdExvYWRJbW0oQXJnOjpXaWR0aDMyLCBM
b2FkKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAvLyBOb3cgaGFuZGxlIHRlc3QncyB0aGF0
IGludm9sdmUgYSBsb2FkLgpAQCAtMTQxNiwyMyArMTM5MSwzMCBAQCBwcml2YXRlOgogCiAgICAg
ICAgICAgICAgICAgLy8gTm93IGhhbmRsZSB0ZXN0J3MgdGhhdCBpbnZvbHZlIGFuIGltbWVkaWF0
ZSBhbmQgYSB0bXAuCiAKLSAgICAgICAgICAgICAgICBpZiAoaGFzUmlnaHRDb25zdCkgewotICAg
ICAgICAgICAgICAgICAgICBpZiAoKHdpZHRoID09IEFyZzo6V2lkdGgzMiAmJiByaWdodENvbnN0
ID09IDB4ZmZmZmZmZmYpCi0gICAgICAgICAgICAgICAgICAgICAgICB8fCAod2lkdGggPT0gQXJn
OjpXaWR0aDY0ICYmIHJpZ2h0Q29uc3QgPT0gLTEpKSB7CisgICAgICAgICAgICAgICAgaWYgKGxl
ZnRJbW0pIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCh3aWR0aCA9PSBBcmc6OldpZHRoMzIg
JiYgbGVmdEltbS52YWx1ZSgpID09IDB4ZmZmZmZmZmYpCisgICAgICAgICAgICAgICAgICAgICAg
ICB8fCAod2lkdGggPT0gQXJnOjpXaWR0aDY0ICYmIGxlZnRJbW0udmFsdWUoKSA9PSAtMSkpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIEFyZ1Byb21pc2UgYXJnUHJvbWlzZSA9IHRtcFByb21p
c2UocmlnaHQpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEluc3QgcmVzdWx0ID0gdHJ5
VGVzdCh3aWR0aCwgYXJnUHJvbWlzZSwgYXJnUHJvbWlzZSkpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgICAgICBpZiAobGVmdEltbS5pc1JlcHJlc2VudGFibGVBczx1aW50MzJfdD4oKSkgewor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEluc3QgcmVzdWx0ID0gdHJ5VGVzdChBcmc6Oldp
ZHRoMzIsIGxlZnRJbW0sIHRtcFByb21pc2UocmlnaHQpKSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKHJpZ2h0SW1tKSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmICgod2lkdGggPT0gQXJnOjpXaWR0aDMyICYmIHJpZ2h0SW1tLnZhbHVlKCkgPT0g
MHhmZmZmZmZmZikKKyAgICAgICAgICAgICAgICAgICAgICAgIHx8ICh3aWR0aCA9PSBBcmc6Oldp
ZHRoNjQgJiYgcmlnaHRJbW0udmFsdWUoKSA9PSAtMSkpIHsKICAgICAgICAgICAgICAgICAgICAg
ICAgIEFyZ1Byb21pc2UgYXJnUHJvbWlzZSA9IHRtcFByb21pc2UobGVmdCk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoSW5zdCByZXN1bHQgPSB0cnlUZXN0KHdpZHRoLCBhcmdQcm9taXNl
LCBhcmdQcm9taXNlKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0
OwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGlmIChpc1JlcHJl
c2VudGFibGVBczx1aW50MzJfdD4ocmlnaHRDb25zdCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKHJpZ2h0SW1tLmlzUmVwcmVzZW50YWJsZUFzPHVpbnQzMl90PigpKSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoSW5zdCByZXN1bHQgPSB0cnlUZXN0KEFyZzo6V2lkdGgzMiwgdG1w
UHJvbWlzZShsZWZ0KSwgcmlnaHRJbW0pKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiByZXN1bHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoSW5zdCByZXN1bHQgPSB0
cnlUZXN0KEFyZzo6V2lkdGgzMiwgdG1wUHJvbWlzZShsZWZ0KSwgcmlnaHRJbW02NCkpCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgICAgICBpZiAoSW5zdCByZXN1bHQgPSB0cnlUZXN0KHdpZHRo
LCB0bXBQcm9taXNlKGxlZnQpLCByaWdodEltbSkpCi0gICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gcmVzdWx0OwotICAgICAgICAgICAgICAgICAgICBpZiAoSW5zdCByZXN1bHQgPSB0cnlU
ZXN0KHdpZHRoLCB0bXBQcm9taXNlKGxlZnQpLCByaWdodEltbTY0KSkKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAg
ICAgICAgLy8gRmluYWxseSwganVzdCBkbyB0bXAncy4KQEAgLTE0NTAsMzcgKzE0MzIsMzcgQEAg
cHJpdmF0ZToKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIGlmIChBcmc6Omlz
VmFsaWRCaXRJbW1Gb3JtKC0xKSkgeworICAgICAgICBpZiAoQXJnOjppc1ZhbGlkSW1tRm9ybSgt
MSkpIHsKICAgICAgICAgICAgIGlmIChjYW5Db21taXRJbnRlcm5hbCAmJiB2YWx1ZS0+YXM8TWVt
b3J5VmFsdWU+KCkpIHsKICAgICAgICAgICAgICAgICAvLyBIYW5kbGUgdGhpbmdzIGxpa2UgQnJh
bmNoKExvYWQ4Wih2YWx1ZSkpCiAKLSAgICAgICAgICAgICAgICBpZiAoSW5zdCByZXN1bHQgPSB0
cnlUZXN0KEFyZzo6V2lkdGg4LCBsb2FkUHJvbWlzZSh2YWx1ZSwgTG9hZDhaKSwgQXJnOjpiaXRJ
bW0oLTEpKSkgeworICAgICAgICAgICAgICAgIGlmIChJbnN0IHJlc3VsdCA9IHRyeVRlc3QoQXJn
OjpXaWR0aDgsIGxvYWRQcm9taXNlKHZhbHVlLCBMb2FkOFopLCBBcmc6OmltbSgtMSkpKSB7CiAg
ICAgICAgICAgICAgICAgICAgIGNvbW1pdEludGVybmFsKHZhbHVlKTsKICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAg
ICBpZiAoSW5zdCByZXN1bHQgPSB0cnlUZXN0KEFyZzo6V2lkdGg4LCBsb2FkUHJvbWlzZSh2YWx1
ZSwgTG9hZDhTKSwgQXJnOjpiaXRJbW0oLTEpKSkgeworICAgICAgICAgICAgICAgIGlmIChJbnN0
IHJlc3VsdCA9IHRyeVRlc3QoQXJnOjpXaWR0aDgsIGxvYWRQcm9taXNlKHZhbHVlLCBMb2FkOFMp
LCBBcmc6OmltbSgtMSkpKSB7CiAgICAgICAgICAgICAgICAgICAgIGNvbW1pdEludGVybmFsKHZh
bHVlKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgICAgICAg
ICB9CiAKLSAgICAgICAgICAgICAgICBpZiAoSW5zdCByZXN1bHQgPSB0cnlUZXN0KEFyZzo6V2lk
dGgxNiwgbG9hZFByb21pc2UodmFsdWUsIExvYWQxNlopLCBBcmc6OmJpdEltbSgtMSkpKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKEluc3QgcmVzdWx0ID0gdHJ5VGVzdChBcmc6OldpZHRoMTYsIGxv
YWRQcm9taXNlKHZhbHVlLCBMb2FkMTZaKSwgQXJnOjppbW0oLTEpKSkgewogICAgICAgICAgICAg
ICAgICAgICBjb21taXRJbnRlcm5hbCh2YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVy
biByZXN1bHQ7CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgaWYgKEluc3Qg
cmVzdWx0ID0gdHJ5VGVzdChBcmc6OldpZHRoMTYsIGxvYWRQcm9taXNlKHZhbHVlLCBMb2FkMTZT
KSwgQXJnOjpiaXRJbW0oLTEpKSkgeworICAgICAgICAgICAgICAgIGlmIChJbnN0IHJlc3VsdCA9
IHRyeVRlc3QoQXJnOjpXaWR0aDE2LCBsb2FkUHJvbWlzZSh2YWx1ZSwgTG9hZDE2UyksIEFyZzo6
aW1tKC0xKSkpIHsKICAgICAgICAgICAgICAgICAgICAgY29tbWl0SW50ZXJuYWwodmFsdWUpOwog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICAgICAgICAgIH0KIAot
ICAgICAgICAgICAgICAgIGlmIChJbnN0IHJlc3VsdCA9IHRyeVRlc3Qod2lkdGgsIGxvYWRQcm9t
aXNlKHZhbHVlKSwgQXJnOjpiaXRJbW0oLTEpKSkgeworICAgICAgICAgICAgICAgIGlmIChJbnN0
IHJlc3VsdCA9IHRyeVRlc3Qod2lkdGgsIGxvYWRQcm9taXNlKHZhbHVlKSwgQXJnOjppbW0oLTEp
KSkgewogICAgICAgICAgICAgICAgICAgICBjb21taXRJbnRlcm5hbCh2YWx1ZSk7CiAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQogCi0gICAgICAgICAgICBpZiAoSW5zdCByZXN1bHQgPSB0ZXN0KHdpZHRoLCByZXNDb25k
LCB0bXBQcm9taXNlKHZhbHVlKSwgQXJnOjpiaXRJbW0oLTEpKSkKKyAgICAgICAgICAgIGlmIChJ
bnN0IHJlc3VsdCA9IHRlc3Qod2lkdGgsIHJlc0NvbmQsIHRtcFByb21pc2UodmFsdWUpLCBBcmc6
OmltbSgtMSkpKQogICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgIH0KICAg
ICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNMb3dlclRvQWlyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTG93ZXJUb0Fpci5oCShyZXZp
c2lvbiAyMDM3NTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNMb3dlclRvQWlyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1
LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgQWlyIHsgY2xhc3MgQ29kZTsg
fQogCiAvLyBUaGlzIGxvd2VycyB0aGUgY3VycmVudCBCMyBwcm9jZWR1cmUgdG8gYW4gQWlyIGNv
ZGUuCiAKLUpTX0VYUE9SVF9QUklWQVRFIHZvaWQgbG93ZXJUb0FpcihQcm9jZWR1cmUmKTsKK3Zv
aWQgbG93ZXJUb0FpcihQcm9jZWR1cmUmKTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzCiAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjMuY3BwCShyZXZpc2lvbiAyMDM3NTUpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTM1LDIyICsxMzUsNiBAQCBUIGNvbXBpbGVBbmRSdW4oUHJvY2VkdXJlJiBwcm9jZWR1cmUsIEFy
CiAgICAgcmV0dXJuIGludm9rZTxUPigqY29tcGlsZShwcm9jZWR1cmUpLCBhcmd1bWVudHMuLi4p
OwogfQogCi12b2lkIGxvd2VyVG9BaXJGb3JUZXN0aW5nKFByb2NlZHVyZSYgcHJvYykKLXsKLSAg
ICBwcm9jLnJlc2V0UmVhY2hhYmlsaXR5KCk7Ci0gICAgCi0gICAgaWYgKHNob3VsZEJlVmVyYm9z
ZSgpKQotICAgICAgICBkYXRhTG9nKCJCMyBiZWZvcmUgbG93ZXJpbmc6XG4iLCBwcm9jKTsKLSAg
ICAKLSAgICB2YWxpZGF0ZShwcm9jKTsKLSAgICBsb3dlclRvQWlyKHByb2MpOwotICAgIAotICAg
IGlmIChzaG91bGRCZVZlcmJvc2UoKSkKLSAgICAgICAgZGF0YUxvZygiQWlyIGFmdGVyIGxvd2Vy
aW5nOlxuIiwgcHJvYy5jb2RlKCkpOwotICAgIAotICAgIEFpcjo6dmFsaWRhdGUocHJvYy5jb2Rl
KCkpOwotfQotCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUeXBlPgogc3RydWN0IE9wZXJhbmQgewogICAg
IGNvbnN0IGNoYXIqIG5hbWU7CkBAIC0xMjgyNyw0OCArMTI4MTEsNiBAQCB2b2lkIHRlc3RTb21l
RWFybHlSZWdpc3RlcigpCiAgICAgcnVuKGZhbHNlKTsKIH0KIAotdm9pZCB0ZXN0QnJhbmNoQml0
QW5kSW1tRnVzaW9uKAotICAgIEIzOjpPcGNvZGUgdmFsdWVNb2RpZmllciwgVHlwZSB2YWx1ZVR5
cGUsIGludDY0X3QgY29uc3RhbnQsCi0gICAgQWlyOjpPcGNvZGUgZXhwZWN0ZWRPcGNvZGUsIEFp
cjo6QXJnOjpLaW5kIGZpcnN0S2luZCkKLXsKLSAgICAvLyBDdXJyZW50bHkgdGhpcyB0ZXN0IHNo
b3VsZCBwYXNzIG9uIGFsbCBDUFVzLiBCdXQgc29tZSBDUFVzIG1heSBub3Qgc3VwcG9ydCB0aGlz
IGZ1c2VkCi0gICAgLy8gaW5zdHJ1Y3Rpb24uIEl0J3MgT0sgdG8gc2tpcCB0aGlzIHRlc3Qgb24g
dGhvc2UgQ1BVcy4KLSAgICAKLSAgICBQcm9jZWR1cmUgcHJvYzsKLSAgICAKLSAgICBCYXNpY0Js
b2NrKiByb290ID0gcHJvYy5hZGRCbG9jaygpOwotICAgIEJhc2ljQmxvY2sqIG9uZSA9IHByb2Mu
YWRkQmxvY2soKTsKLSAgICBCYXNpY0Jsb2NrKiB0d28gPSBwcm9jLmFkZEJsb2NrKCk7Ci0gICAg
Ci0gICAgVmFsdWUqIGxlZnQgPSByb290LT5hcHBlbmROZXc8QXJndW1lbnRSZWdWYWx1ZT4ocHJv
YywgT3JpZ2luKCksIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7Ci0gICAgCi0gICAgaWYgKHZhbHVl
TW9kaWZpZXIgIT0gSWRlbnRpdHkpIHsKLSAgICAgICAgaWYgKE1lbW9yeVZhbHVlOjphY2NlcHRz
KHZhbHVlTW9kaWZpZXIpKQotICAgICAgICAgICAgbGVmdCA9IHJvb3QtPmFwcGVuZE5ldzxNZW1v
cnlWYWx1ZT4ocHJvYywgdmFsdWVNb2RpZmllciwgdmFsdWVUeXBlLCBPcmlnaW4oKSwgbGVmdCk7
Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxlZnQgPSByb290LT5hcHBlbmROZXc8VmFsdWU+
KHByb2MsIHZhbHVlTW9kaWZpZXIsIHZhbHVlVHlwZSwgT3JpZ2luKCksIGxlZnQpOwotICAgIH0K
LSAgICAKLSAgICByb290LT5hcHBlbmROZXc8VmFsdWU+KAotICAgICAgICBwcm9jLCBCcmFuY2gs
IE9yaWdpbigpLAotICAgICAgICByb290LT5hcHBlbmROZXc8VmFsdWU+KAotICAgICAgICAgICAg
cHJvYywgQml0QW5kLCBPcmlnaW4oKSwgbGVmdCwKLSAgICAgICAgICAgIHJvb3QtPmFwcGVuZElu
dENvbnN0YW50KHByb2MsIE9yaWdpbigpLCB2YWx1ZVR5cGUsIGNvbnN0YW50KSkpOwotICAgIHJv
b3QtPnNldFN1Y2Nlc3NvcnMoRnJlcXVlbnRlZEJsb2NrKG9uZSksIEZyZXF1ZW50ZWRCbG9jayh0
d28pKTsKLSAgICAKLSAgICBvbmUtPmFwcGVuZE5ldzxWYWx1ZT4ocHJvYywgT29wcywgT3JpZ2lu
KCkpOwotICAgIHR3by0+YXBwZW5kTmV3PFZhbHVlPihwcm9jLCBPb3BzLCBPcmlnaW4oKSk7Ci0K
LSAgICBsb3dlclRvQWlyRm9yVGVzdGluZyhwcm9jKTsKLQotICAgIC8vIFRoZSBmaXJzdCBiYXNp
YyBibG9jayBtdXN0IGVuZCBpbiBhIEJyYW5jaFRlc3Q2NChyZXNDb25kLCB0bXAsIGJpdEltbSku
Ci0gICAgQWlyOjpJbnN0IHRlcm1pbmFsID0gcHJvYy5jb2RlKClbMF0tPmxhc3QoKTsKLSAgICBD
SEVDS19FUSh0ZXJtaW5hbC5vcGNvZGUsIGV4cGVjdGVkT3Bjb2RlKTsKLSAgICBDSEVDS19FUSh0
ZXJtaW5hbC5hcmdzWzBdLmtpbmQoKSwgQWlyOjpBcmc6OlJlc0NvbmQpOwotICAgIENIRUNLX0VR
KHRlcm1pbmFsLmFyZ3NbMV0ua2luZCgpLCBmaXJzdEtpbmQpOwotICAgIENIRUNLKHRlcm1pbmFs
LmFyZ3NbMl0ua2luZCgpID09IEFpcjo6QXJnOjpCaXRJbW0gfHwgdGVybWluYWwuYXJnc1syXS5r
aW5kKCkgPT0gQWlyOjpBcmc6OkJpdEltbTY0KTsKLX0KLQogLy8gTWFrZSBzdXJlIHRoZSBjb21w
aWxlciBkb2VzIG5vdCB0cnkgdG8gb3B0aW1pemUgYW55dGhpbmcgb3V0LgogTkVWRVJfSU5MSU5F
IGRvdWJsZSB6ZXJvKCkKIHsKQEAgLTE0MjgyLDE3ICsxNDIyNCw2IEBAIHZvaWQgcnVuKGNvbnN0
IGNoYXIqIGZpbHRlcikKIAogICAgIFJVTih0ZXN0U29tZUVhcmx5UmVnaXN0ZXIoKSk7CiAgICAg
Ci0gICAgUlVOKHRlc3RCcmFuY2hCaXRBbmRJbW1GdXNpb24oSWRlbnRpdHksIEludDY0LCAxLCBB
aXI6OkJyYW5jaFRlc3QzMiwgQWlyOjpBcmc6OlRtcCkpOwotICAgIFJVTih0ZXN0QnJhbmNoQml0
QW5kSW1tRnVzaW9uKElkZW50aXR5LCBJbnQ2NCwgMHhmZiwgQWlyOjpCcmFuY2hUZXN0MzIsIEFp
cjo6QXJnOjpUbXApKTsKLSAgICBSVU4odGVzdEJyYW5jaEJpdEFuZEltbUZ1c2lvbihUcnVuYywg
SW50MzIsIDEsIEFpcjo6QnJhbmNoVGVzdDMyLCBBaXI6OkFyZzo6VG1wKSk7Ci0gICAgUlVOKHRl
c3RCcmFuY2hCaXRBbmRJbW1GdXNpb24oVHJ1bmMsIEludDMyLCAweGZmLCBBaXI6OkJyYW5jaFRl
c3QzMiwgQWlyOjpBcmc6OlRtcCkpOwotICAgIGlmIChpc1g4NigpKSB7Ci0gICAgICAgIFJVTih0
ZXN0QnJhbmNoQml0QW5kSW1tRnVzaW9uKExvYWQ4UywgSW50MzIsIDEsIEFpcjo6QnJhbmNoVGVz
dDgsIEFpcjo6QXJnOjpBZGRyKSk7Ci0gICAgICAgIFJVTih0ZXN0QnJhbmNoQml0QW5kSW1tRnVz
aW9uKExvYWQ4WiwgSW50MzIsIDEsIEFpcjo6QnJhbmNoVGVzdDgsIEFpcjo6QXJnOjpBZGRyKSk7
Ci0gICAgICAgIFJVTih0ZXN0QnJhbmNoQml0QW5kSW1tRnVzaW9uKExvYWQsIEludDMyLCAxLCBB
aXI6OkJyYW5jaFRlc3QzMiwgQWlyOjpBcmc6OkFkZHIpKTsKLSAgICAgICAgUlVOKHRlc3RCcmFu
Y2hCaXRBbmRJbW1GdXNpb24oTG9hZCwgSW50NjQsIDEsIEFpcjo6QnJhbmNoVGVzdDMyLCBBaXI6
OkFyZzo6QWRkcikpOwotICAgIH0KLQogICAgIGlmICh0YXNrcy5pc0VtcHR5KCkpCiAgICAgICAg
IHVzYWdlKCk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQXJnLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFyZy5jcHAJ
KHJldmlzaW9uIDIwMzc1NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQXJn
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsNyArNTcsMzEgQEAgYm9vbCBBcmc6OmlzU3RhY2tN
ZW1vcnkoKSBjb25zdAogCiBib29sIEFyZzo6aXNSZXByZXNlbnRhYmxlQXMoV2lkdGggd2lkdGgs
IFNpZ25lZG5lc3Mgc2lnbmVkbmVzcykgY29uc3QKIHsKLSAgICByZXR1cm4gaXNSZXByZXNlbnRh
YmxlQXMod2lkdGgsIHNpZ25lZG5lc3MsIHZhbHVlKCkpOworICAgIHN3aXRjaCAoc2lnbmVkbmVz
cykgeworICAgIGNhc2UgU2lnbmVkOgorICAgICAgICBzd2l0Y2ggKHdpZHRoKSB7CisgICAgICAg
IGNhc2UgV2lkdGg4OgorICAgICAgICAgICAgcmV0dXJuIGlzUmVwcmVzZW50YWJsZUFzPGludDhf
dD4oKTsKKyAgICAgICAgY2FzZSBXaWR0aDE2OgorICAgICAgICAgICAgcmV0dXJuIGlzUmVwcmVz
ZW50YWJsZUFzPGludDE2X3Q+KCk7CisgICAgICAgIGNhc2UgV2lkdGgzMjoKKyAgICAgICAgICAg
IHJldHVybiBpc1JlcHJlc2VudGFibGVBczxpbnQzMl90PigpOworICAgICAgICBjYXNlIFdpZHRo
NjQ6CisgICAgICAgICAgICByZXR1cm4gaXNSZXByZXNlbnRhYmxlQXM8aW50NjRfdD4oKTsKKyAg
ICAgICAgfQorICAgIGNhc2UgVW5zaWduZWQ6CisgICAgICAgIHN3aXRjaCAod2lkdGgpIHsKKyAg
ICAgICAgY2FzZSBXaWR0aDg6CisgICAgICAgICAgICByZXR1cm4gaXNSZXByZXNlbnRhYmxlQXM8
dWludDhfdD4oKTsKKyAgICAgICAgY2FzZSBXaWR0aDE2OgorICAgICAgICAgICAgcmV0dXJuIGlz
UmVwcmVzZW50YWJsZUFzPHVpbnQxNl90PigpOworICAgICAgICBjYXNlIFdpZHRoMzI6CisgICAg
ICAgICAgICByZXR1cm4gaXNSZXByZXNlbnRhYmxlQXM8dWludDMyX3Q+KCk7CisgICAgICAgIGNh
c2UgV2lkdGg2NDoKKyAgICAgICAgICAgIHJldHVybiBpc1JlcHJlc2VudGFibGVBczx1aW50NjRf
dD4oKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAog
Ym9vbCBBcmc6OnVzZXNUbXAoQWlyOjpUbXAgdG1wKSBjb25zdApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL2Fpci9BaXJBcmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvYWlyL0FpckFyZy5oCShyZXZpc2lvbiAyMDM3NTUpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvYWlyL0FpckFyZy5oCSh3b3JraW5nIGNvcHkpCkBAIC03OTMsNjYgKzc5Myw4
IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBCMzo6aXNSZXByZXNlbnRhYmxlQXM8
VD4odmFsdWUoKSk7CiAgICAgfQotICAgIAotICAgIHN0YXRpYyBib29sIGlzUmVwcmVzZW50YWJs
ZUFzKFdpZHRoIHdpZHRoLCBTaWduZWRuZXNzIHNpZ25lZG5lc3MsIGludDY0X3QgdmFsdWUpCi0g
ICAgewotICAgICAgICBzd2l0Y2ggKHNpZ25lZG5lc3MpIHsKLSAgICAgICAgY2FzZSBTaWduZWQ6
Ci0gICAgICAgICAgICBzd2l0Y2ggKHdpZHRoKSB7Ci0gICAgICAgICAgICBjYXNlIFdpZHRoODoK
LSAgICAgICAgICAgICAgICByZXR1cm4gQjM6OmlzUmVwcmVzZW50YWJsZUFzPGludDhfdD4odmFs
dWUpOwotICAgICAgICAgICAgY2FzZSBXaWR0aDE2OgotICAgICAgICAgICAgICAgIHJldHVybiBC
Mzo6aXNSZXByZXNlbnRhYmxlQXM8aW50MTZfdD4odmFsdWUpOwotICAgICAgICAgICAgY2FzZSBX
aWR0aDMyOgotICAgICAgICAgICAgICAgIHJldHVybiBCMzo6aXNSZXByZXNlbnRhYmxlQXM8aW50
MzJfdD4odmFsdWUpOwotICAgICAgICAgICAgY2FzZSBXaWR0aDY0OgotICAgICAgICAgICAgICAg
IHJldHVybiBCMzo6aXNSZXByZXNlbnRhYmxlQXM8aW50NjRfdD4odmFsdWUpOwotICAgICAgICAg
ICAgfQotICAgICAgICBjYXNlIFVuc2lnbmVkOgotICAgICAgICAgICAgc3dpdGNoICh3aWR0aCkg
ewotICAgICAgICAgICAgY2FzZSBXaWR0aDg6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEIzOjpp
c1JlcHJlc2VudGFibGVBczx1aW50OF90Pih2YWx1ZSk7Ci0gICAgICAgICAgICBjYXNlIFdpZHRo
MTY6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEIzOjppc1JlcHJlc2VudGFibGVBczx1aW50MTZf
dD4odmFsdWUpOwotICAgICAgICAgICAgY2FzZSBXaWR0aDMyOgotICAgICAgICAgICAgICAgIHJl
dHVybiBCMzo6aXNSZXByZXNlbnRhYmxlQXM8dWludDMyX3Q+KHZhbHVlKTsKLSAgICAgICAgICAg
IGNhc2UgV2lkdGg2NDoKLSAgICAgICAgICAgICAgICByZXR1cm4gQjM6OmlzUmVwcmVzZW50YWJs
ZUFzPHVpbnQ2NF90Pih2YWx1ZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgfQogCiAgICAgYm9vbCBpc1JlcHJlc2VudGFibGVB
cyhXaWR0aCwgU2lnbmVkbmVzcykgY29uc3Q7Ci0gICAgCi0gICAgc3RhdGljIGludDY0X3QgY2Fz
dFRvVHlwZShXaWR0aCB3aWR0aCwgU2lnbmVkbmVzcyBzaWduZWRuZXNzLCBpbnQ2NF90IHZhbHVl
KQotICAgIHsKLSAgICAgICAgc3dpdGNoIChzaWduZWRuZXNzKSB7Ci0gICAgICAgIGNhc2UgU2ln
bmVkOgotICAgICAgICAgICAgc3dpdGNoICh3aWR0aCkgewotICAgICAgICAgICAgY2FzZSBXaWR0
aDg6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludDhfdD4odmFsdWUpOwot
ICAgICAgICAgICAgY2FzZSBXaWR0aDE2OgotICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxpbnQxNl90Pih2YWx1ZSk7Ci0gICAgICAgICAgICBjYXNlIFdpZHRoMzI6Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludDMyX3Q+KHZhbHVlKTsKLSAgICAgICAgICAg
IGNhc2UgV2lkdGg2NDoKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50NjRf
dD4odmFsdWUpOwotICAgICAgICAgICAgfQotICAgICAgICBjYXNlIFVuc2lnbmVkOgotICAgICAg
ICAgICAgc3dpdGNoICh3aWR0aCkgewotICAgICAgICAgICAgY2FzZSBXaWR0aDg6Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVpbnQ4X3Q+KHZhbHVlKTsKLSAgICAgICAgICAg
IGNhc2UgV2lkdGgxNjoKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dWludDE2
X3Q+KHZhbHVlKTsKLSAgICAgICAgICAgIGNhc2UgV2lkdGgzMjoKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHZhbHVlKTsKLSAgICAgICAgICAgIGNhc2UgV2lk
dGg2NDoKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KHZhbHVl
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIFQgYXNOdW1iZXIoKSBj
b25zdApAQCAtMTM1OCwxMSArMTMwMCwxMSBAQCBzdHJ1Y3QgQXJnSGFzaCB7CiAKIG5hbWVzcGFj
ZSBXVEYgewogCi1KU19FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJl
YW0mLCBKU0M6OkIzOjpBaXI6OkFyZzo6S2luZCk7Ci1KU19FWFBPUlRfUFJJVkFURSB2b2lkIHBy
aW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBKU0M6OkIzOjpBaXI6OkFyZzo6Um9sZSk7Ci1KU19F
WFBPUlRfUFJJVkFURSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBKU0M6OkIzOjpB
aXI6OkFyZzo6VHlwZSk7Ci1KU19FWFBPUlRfUFJJVkFURSB2b2lkIHByaW50SW50ZXJuYWwoUHJp
bnRTdHJlYW0mLCBKU0M6OkIzOjpBaXI6OkFyZzo6V2lkdGgpOwotSlNfRVhQT1JUX1BSSVZBVEUg
dm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgSlNDOjpCMzo6QWlyOjpBcmc6OlNpZ25l
ZG5lc3MpOwordm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgSlNDOjpCMzo6QWlyOjpB
cmc6OktpbmQpOwordm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgSlNDOjpCMzo6QWly
OjpBcmc6OlJvbGUpOwordm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgSlNDOjpCMzo6
QWlyOjpBcmc6OlR5cGUpOwordm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiwgSlNDOjpC
Mzo6QWlyOjpBcmc6OldpZHRoKTsKK3ZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYsIEpT
Qzo6QjM6OkFpcjo6QXJnOjpTaWduZWRuZXNzKTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3Ry
dWN0IERlZmF1bHRIYXNoOwogdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8SlNDOjpCMzo6
QWlyOjpBcmc+IHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQ29kZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQ29kZS5oCShy
ZXZpc2lvbiAyMDM3NTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckNvZGUu
aAkod29ya2luZyBjb3B5KQpAQCAtMTUyLDcgKzE1Miw3IEBAIHB1YmxpYzoKICAgICAvLyBSZWNv
bXB1dGVzIHByZWRlY2Vzc29ycyBhbmQgZGVsZXRlcyB1bnJlYWNoYWJsZSBibG9ja3MuCiAgICAg
dm9pZCByZXNldFJlYWNoYWJpbGl0eSgpOwogCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBk
dW1wKFByaW50U3RyZWFtJikgY29uc3Q7CisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29u
c3Q7CiAKICAgICB1bnNpZ25lZCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9ibG9ja3Muc2l6ZSgp
OyB9CiAgICAgQmFzaWNCbG9jayogYXQodW5zaWduZWQgaW5kZXgpIGNvbnN0IHsgcmV0dXJuIG1f
YmxvY2tzW2luZGV4XS5nZXQoKTsgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fp
ci9BaXJPcGNvZGUub3Bjb2Rlcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvYWlyL0Fpck9wY29kZS5vcGNvZGVzCShyZXZpc2lvbiAyMDM3NTUpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvYWlyL0Fpck9wY29kZS5vcGNvZGVzCSh3b3JraW5nIGNvcHkpCkBAIC02
NzUsMjQgKzY3NSwyMyBAQCBCcmFuY2gzMiBVOkc6MzIsIFU6RzozMiwgVTpHOjMyIC9icmFuY2gK
ICAgICB4ODY6IFJlbENvbmQsIEluZGV4LCBUbXAKIAogQnJhbmNoVGVzdDggVTpHOjMyLCBVOkc6
OCwgVTpHOjggL2JyYW5jaAotICAgIHg4NjogUmVzQ29uZCwgQWRkciwgQml0SW1tCi0gICAgeDg2
OiBSZXNDb25kLCBJbmRleCwgQml0SW1tCisgICAgeDg2OiBSZXNDb25kLCBBZGRyLCBJbW0KKyAg
ICB4ODY6IFJlc0NvbmQsIEluZGV4LCBJbW0KIAogQnJhbmNoVGVzdDMyIFU6RzozMiwgVTpHOjMy
LCBVOkc6MzIgL2JyYW5jaAogICAgIFJlc0NvbmQsIFRtcCwgVG1wCiAgICAgUmVzQ29uZCwgVG1w
LCBCaXRJbW0KLSAgICB4ODY6IFJlc0NvbmQsIEFkZHIsIEJpdEltbQotICAgIHg4NjogUmVzQ29u
ZCwgSW5kZXgsIEJpdEltbQorICAgIHg4NjogUmVzQ29uZCwgQWRkciwgSW1tCisgICAgeDg2OiBS
ZXNDb25kLCBJbmRleCwgSW1tCiAKICMgV2FybmluZzogZm9ybXMgdGhhdCB0YWtlIGFuIGltbWVk
aWF0ZSB3aWxsIHNpZ24tZXh0ZW5kIHRoZWlyIGltbWVkaWF0ZS4gWW91IHByb2JhYmx5IHdhbnQK
ICMgQnJhbmNoVGVzdDMyIGluIG1vc3QgY2FzZXMgd2hlcmUgeW91IHVzZSBhbiBpbW1lZGlhdGUu
CiA2NDogQnJhbmNoVGVzdDY0IFU6RzozMiwgVTpHOjY0LCBVOkc6NjQgL2JyYW5jaAogICAgIFJl
c0NvbmQsIFRtcCwgVG1wCi0gICAgYXJtOiBSZXNDb25kLCBUbXAsIEJpdEltbTY0Ci0gICAgeDg2
OiBSZXNDb25kLCBUbXAsIEJpdEltbQotICAgIHg4NjogUmVzQ29uZCwgQWRkciwgQml0SW1tCisg
ICAgUmVzQ29uZCwgVG1wLCBCaXRJbW02NAorICAgIHg4NjogUmVzQ29uZCwgQWRkciwgSW1tCiAg
ICAgeDg2OiBSZXNDb25kLCBBZGRyLCBUbXAKLSAgICB4ODY6IFJlc0NvbmQsIEluZGV4LCBCaXRJ
bW0KKyAgICB4ODY6IFJlc0NvbmQsIEluZGV4LCBJbW0KIAogQnJhbmNoRG91YmxlIFU6RzozMiwg
VTpGOjY0LCBVOkY6NjQgL2JyYW5jaAogICAgIERvdWJsZUNvbmQsIFRtcCwgVG1wCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpclZhbGlkYXRlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJWYWxpZGF0ZS5oCShyZXZpc2lvbiAyMDM3
NTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpclZhbGlkYXRlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMzIsNyArMzIsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIzIHsgbmFt
ZXNwYWNlCiAKIGNsYXNzIENvZGU7CiAKLUpTX0VYUE9SVF9QUklWQVRFIHZvaWQgdmFsaWRhdGUo
Q29kZSYsIGNvbnN0IGNoYXIqIGR1bXBCZWZvcmUgPSBudWxscHRyKTsKK3ZvaWQgdmFsaWRhdGUo
Q29kZSYsIGNvbnN0IGNoYXIqIGR1bXBCZWZvcmUgPSBudWxscHRyKTsKIAogfSB9IH0gLy8gbmFt
ZXNwYWNlIEpTQzo6QjM6OkFpcgogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWly
L29wY29kZV9nZW5lcmF0b3IucmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL2Fpci9vcGNvZGVfZ2VuZXJhdG9yLnJiCShyZXZpc2lvbiAyMDM3NTUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvYWlyL29wY29kZV9nZW5lcmF0b3IucmIJKHdvcmtpbmcgY29weSkK
QEAgLTQ5MCw3ICs0OTAsNyBAQCB3cml0ZUgoIk9wY29kZSIpIHsKICAgICAKICAgICBvdXRwLnB1
dHMgIm5hbWVzcGFjZSBXVEYgeyIKICAgICBvdXRwLnB1dHMgImNsYXNzIFByaW50U3RyZWFtOyIK
LSAgICBvdXRwLnB1dHMgIkpTX0VYUE9SVF9QUklWQVRFIHZvaWQgcHJpbnRJbnRlcm5hbChQcmlu
dFN0cmVhbSYsIEpTQzo6QjM6OkFpcjo6T3Bjb2RlKTsiCisgICAgb3V0cC5wdXRzICJ2b2lkIHBy
aW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBKU0M6OkIzOjpBaXI6Ok9wY29kZSk7IgogICAgIG91
dHAucHV0cyAifSAvLyBuYW1lc3BhY2UgV1RGIgogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>