<?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>44011</bug_id>
          
          <creation_ts>2010-08-14 09:23:15 -0700</creation_ts>
          <short_desc>Move innerHTML off of Range::createContextualFragment</short_desc>
          <delta_ts>2010-08-14 14:51:45 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>264699</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-14 09:23:15 -0700</bug_when>
    <thetext>Move innerHTML off of Range::createContextualFragment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264704</commentid>
    <comment_count>1</comment_count>
      <attachid>64419</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-14 09:40:51 -0700</bug_when>
    <thetext>Created attachment 64419
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264705</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-14 09:42:27 -0700</bug_when>
    <thetext>diff seems to have made this patch way more confusing than it needs to be.  This is all just removing html5TreeBuilder if blocks around some code in createContextualFragment, and adding new if blocks in innerHTML and outerHTML.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264715</commentid>
    <comment_count>3</comment_count>
      <attachid>64419</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-14 11:11:55 -0700</bug_when>
    <thetext>Comment on attachment 64419
Patch

This instead broke the XML innerHTML code path.  Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264739</commentid>
    <comment_count>4</comment_count>
      <attachid>64427</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-14 14:02:08 -0700</bug_when>
    <thetext>Created attachment 64427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264741</commentid>
    <comment_count>5</comment_count>
      <attachid>64427</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-14 14:05:29 -0700</bug_when>
    <thetext>Comment on attachment 64427
Patch

Ok.  These stuff is somewhat messy after this patch (ok, it was messy before), but we&apos;re making progress.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264747</commentid>
    <comment_count>6</comment_count>
      <attachid>64427</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-14 14:39:14 -0700</bug_when>
    <thetext>Comment on attachment 64427
Patch

Clearing flags on attachment: 64427

Committed r65372: &lt;http://trac.webkit.org/changeset/65372&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264748</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-14 14:39:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264750</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-14 14:51:45 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/65372 might have broken Qt Linux Release minimal</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64419</attachid>
            <date>2010-08-14 09:40:51 -0700</date>
            <delta_ts>2010-08-14 14:02:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44011-20100814094050.patch</filename>
            <type>text/plain</type>
            <size>12847</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDYzZGI3NmYyNGI0NTNkZWQ1YTA0YWY0NmU4YzhmOWI1MDk0YjRjOC4uNzU0YTM4NTFkMTIzOGYw
NGNjNDA5YjJmNzIzODdkZmI5OGRhNjAyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NyBAQAorMjAxMC0wOC0xNCAgRXJp
YyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTW92ZSBpbm5lckhUTUwgb2ZmIG9mIFJhbmdlOjpjcmVhdGVD
b250ZXh0dWFsRnJhZ21lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ0MDExCisKKyAgICAgICAgVGhpcyBtYWtlcyBhbGwgdGhlIGVkaXRpbmcgdGVz
dHMgc3RvcCBmYWlsaW5nIHVuZGVyIHRoZQorICAgICAgICBIVE1MNSBUcmVlQnVpbGRlci4KKwor
ICAgICAgICBJbiBhIHByZXZpb3VzIHBhdGNoIEFkYW0gZGlzYWJsZWQgc29tZSBvZiB0aGUgKHdy
b25nKSBjb2RlCisgICAgICAgIGluIGNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudCB3aGVuIGluIGh0
bWw1IHRyZWVidWlsZGVyIG1vZGUuCisgICAgICAgIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIGVk
aXRpbmcgY29kZSBkZXBlbmRzIG9uCisgICAgICAgIGNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudCAo
YXMgd2VsbCBhcyB0aGUgUmFuZ2UgRE9NIEFQSSksCisgICAgICAgIHNvIHdlIGhhdmUgdG8gbGVh
dmUgdGhpcyBjb2RlIGluIHVudGlsIHdlIGNhbiBmaWd1cmUKKyAgICAgICAgb3V0IGlmIGl0J3Mg
cmlnaHQgb3Igd3JvbmcgYmVoYXZpb3IgZm9yIHRoZSBSYW5nZSBBUEkuCisKKyAgICAgICAgVGhp
cyBwYXRjaCBtb3ZlcyBpbm5lckhUTUwvb3V0ZXJIVE1MIG9mZiBvZiB1c2luZworICAgICAgICBj
cmVhdGVDb250ZXh0dWFsRnJhZ21lbnQgYW5kIGluc3RlYWQgY2FsbHMKKyAgICAgICAgRG9jdW1l
bnRGcmFnbWVudDo6cGFyc2VIVE1MIGRpcmVjdGx5ICh3aGljaCBpcyBtdWNoIHNpbXBsZXIpLgor
CisgICAgICAgIEkgZXhwZWN0IEFkYW0gYW5kIEkgd2lsbCBlbmQgdXAgdHVybmluZyBvbiB0aGUg
SFRNTDUgVHJlZUJ1aWxkZXIKKyAgICAgICAgaW4gdGhlIG5leHQgY291cGxlIGRheXMsIGFuZCBt
b3N0IG9mIHRoZSBpZiBicmFuY2hlcyBJIGFkZGVkCisgICAgICAgIGhlcmUgd2lsbCBnbyBhd2F5
IGZvciBnb29kLgorCisgICAgICAgIEkgcmVuYW1lZCBFbGVtZW50OjpjcmVhdGVDb250ZXh0dWFs
RnJhZ21lbnQgdG8KKyAgICAgICAgZGVwcmVjYXRlZENyZWF0ZUNvbnRleHR1YWxGcmFnbWVudCwg
dG8gaW5kaWNhdGUgdGhhdCBpdCdzIGEKKyAgICAgICAgZGVhZCBBUEkuICBUaGUgZWRpdGluZyBj
b2RlIHNob3VsZCBtb3ZlIG9mZiBvZiBpdCBhbmQgY29uc2lkZXIKKyAgICAgICAgdXNpbmcgRG9j
dW1lbnRGcmFnbWVudDo6cGFyc2VIVE1MIGluc3RlYWQuCisKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpkZXByZWNhdGVkQ3JlYXRlQ29udGV4
dHVhbEZyYWdtZW50KToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAqIGRvbS9S
YW5nZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSYW5nZTo6Y3JlYXRlQ29udGV4dHVhbEZyYWdt
ZW50KToKKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
cmVhdGVGcmFnbWVudEZyb21NYXJrdXApOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dXNlTGVnYWN5VHJlZUJ1aWxkZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTEVsZW1lbnQ6OmRlcHJlY2F0ZWRDcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnNldElubmVySFRNTCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MRWxlbWVudDo6c2V0T3V0ZXJIVE1MKToKKyAgICAgICAgKiBodG1sL0hUTUxF
bGVtZW50Lmg6CisKIDIwMTAtMDgtMTQgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9n
YS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4u
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwCmluZGV4IGNjM2JmMWYzNzMzOGQwYWY5YmE5NGM5NWZhMWZjODZmMTliNzAwZjAuLjg0
OWI5MDBmYjA0Yjk5ZGMxYzdlYWM0MWQ2MDcwMTA4YjE0M2ZhYzkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC05MSw3
ICs5MSw3IEBAIE5vZGVSYXJlRGF0YSogRWxlbWVudDo6Y3JlYXRlUmFyZURhdGEoKQogICAgIHJl
dHVybiBuZXcgRWxlbWVudFJhcmVEYXRhOwogfQogCi1QYXNzUmVmUHRyPERvY3VtZW50RnJhZ21l
bnQ+IEVsZW1lbnQ6OmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChjb25zdCBTdHJpbmcmIG1hcmt1
cCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uIHNjcmlwdGluZ1Blcm1pc3Npb24pCitQYXNz
UmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IEVsZW1lbnQ6OmRlcHJlY2F0ZWRDcmVhdGVDb250ZXh0
dWFsRnJhZ21lbnQoY29uc3QgU3RyaW5nJiBtYXJrdXAsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlz
c2lvbiBzY3JpcHRpbmdQZXJtaXNzaW9uKQogewogICAgIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50
PiBmcmFnbWVudCA9IGRvY3VtZW50KCktPmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKIApAQCAt
MTAyLDM2ICsxMDIsMzQgQEAgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBFbGVtZW50Ojpj
cmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoY29uc3QgU3RyaW5nJiBtYXIKICAgICAgICAgICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgcHJvcGFnYXRlIGEgc3ludGF4IGVycm9yIGV4Y2VwdGlvbiBvdXQg
aGVyZS4KICAgICAgICAgICAgIHJldHVybiAwOwogICAgIH0KLSAgICAKLSAgICBpZiAoIWRvY3Vt
ZW50KCktPnNldHRpbmdzKCkgfHwgIWRvY3VtZW50KCktPnNldHRpbmdzKCktPmh0bWw1VHJlZUJ1
aWxkZXJFbmFibGVkKCkpIHsKLSAgICAgICAgLy8gRXhjZXB0aW9ucyBhcmUgaWdub3JlZCBiZWNh
dXNlIG5vbmUgb3VnaHQgdG8gaGFwcGVuIGhlcmUuCi0gICAgICAgIEV4Y2VwdGlvbkNvZGUgaWdu
b3JlZEV4Y2VwdGlvbkNvZGU7Ci0gICAgICAgIAotICAgICAgICAvLyBXZSBuZWVkIHRvIHBvcCA8
aHRtbD4gYW5kIDxib2R5PiBlbGVtZW50cyBhbmQgcmVtb3ZlIDxoZWFkPiB0bwotICAgICAgICAv
LyBhY2NvbW1vZGF0ZSBmb2xrcyBwYXNzaW5nIGNvbXBsZXRlIEhUTUwgZG9jdW1lbnRzIHRvIG1h
a2UgdGhlCi0gICAgICAgIC8vIGNoaWxkIG9mIGFuIGVsZW1lbnQuCi0gICAgICAgIAotICAgICAg
ICBSZWZQdHI8Tm9kZT4gbmV4dE5vZGU7Ci0gICAgICAgIGZvciAoUmVmUHRyPE5vZGU+IG5vZGUg
PSBmcmFnbWVudC0+Zmlyc3RDaGlsZCgpOyBub2RlOyBub2RlID0gbmV4dE5vZGUpIHsKLSAgICAg
ICAgICAgIG5leHROb2RlID0gbm9kZS0+bmV4dFNpYmxpbmcoKTsKLSAgICAgICAgICAgIGlmIChu
b2RlLT5oYXNUYWdOYW1lKGh0bWxUYWcpIHx8IG5vZGUtPmhhc1RhZ05hbWUoYm9keVRhZykpIHsK
LSAgICAgICAgICAgICAgICBOb2RlKiBmaXJzdENoaWxkID0gbm9kZS0+Zmlyc3RDaGlsZCgpOwot
ICAgICAgICAgICAgICAgIGlmIChmaXJzdENoaWxkKQotICAgICAgICAgICAgICAgICAgICBuZXh0
Tm9kZSA9IGZpcnN0Q2hpbGQ7Ci0gICAgICAgICAgICAgICAgUmVmUHRyPE5vZGU+IG5leHRDaGls
ZDsKLSAgICAgICAgICAgICAgICBmb3IgKFJlZlB0cjxOb2RlPiBjaGlsZCA9IGZpcnN0Q2hpbGQ7
IGNoaWxkOyBjaGlsZCA9IG5leHRDaGlsZCkgewotICAgICAgICAgICAgICAgICAgICBuZXh0Q2hp
bGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKTsKLSAgICAgICAgICAgICAgICAgICAgbm9kZS0+cmVt
b3ZlQ2hpbGQoY2hpbGQuZ2V0KCksIGlnbm9yZWRFeGNlcHRpb25Db2RlKTsKLSAgICAgICAgICAg
ICAgICAgICAgQVNTRVJUKCFpZ25vcmVkRXhjZXB0aW9uQ29kZSk7Ci0gICAgICAgICAgICAgICAg
ICAgIGZyYWdtZW50LT5pbnNlcnRCZWZvcmUoY2hpbGQsIG5vZGUuZ2V0KCksIGlnbm9yZWRFeGNl
cHRpb25Db2RlKTsKLSAgICAgICAgICAgICAgICAgICAgQVNTRVJUKCFpZ25vcmVkRXhjZXB0aW9u
Q29kZSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGZyYWdtZW50LT5yZW1v
dmVDaGlsZChub2RlLmdldCgpLCBpZ25vcmVkRXhjZXB0aW9uQ29kZSk7CisKKyAgICAvLyBFeGNl
cHRpb25zIGFyZSBpZ25vcmVkIGJlY2F1c2Ugbm9uZSBvdWdodCB0byBoYXBwZW4gaGVyZS4KKyAg
ICBFeGNlcHRpb25Db2RlIGlnbm9yZWRFeGNlcHRpb25Db2RlOworCisgICAgLy8gV2UgbmVlZCB0
byBwb3AgPGh0bWw+IGFuZCA8Ym9keT4gZWxlbWVudHMgYW5kIHJlbW92ZSA8aGVhZD4gdG8KKyAg
ICAvLyBhY2NvbW1vZGF0ZSBmb2xrcyBwYXNzaW5nIGNvbXBsZXRlIEhUTUwgZG9jdW1lbnRzIHRv
IG1ha2UgdGhlCisgICAgLy8gY2hpbGQgb2YgYW4gZWxlbWVudC4KKworICAgIFJlZlB0cjxOb2Rl
PiBuZXh0Tm9kZTsKKyAgICBmb3IgKFJlZlB0cjxOb2RlPiBub2RlID0gZnJhZ21lbnQtPmZpcnN0
Q2hpbGQoKTsgbm9kZTsgbm9kZSA9IG5leHROb2RlKSB7CisgICAgICAgIG5leHROb2RlID0gbm9k
ZS0+bmV4dFNpYmxpbmcoKTsKKyAgICAgICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUoaHRtbFRhZykg
fHwgbm9kZS0+aGFzVGFnTmFtZShib2R5VGFnKSkgeworICAgICAgICAgICAgTm9kZSogZmlyc3RD
aGlsZCA9IG5vZGUtPmZpcnN0Q2hpbGQoKTsKKyAgICAgICAgICAgIGlmIChmaXJzdENoaWxkKQor
ICAgICAgICAgICAgICAgIG5leHROb2RlID0gZmlyc3RDaGlsZDsKKyAgICAgICAgICAgIFJlZlB0
cjxOb2RlPiBuZXh0Q2hpbGQ7CisgICAgICAgICAgICBmb3IgKFJlZlB0cjxOb2RlPiBjaGlsZCA9
IGZpcnN0Q2hpbGQ7IGNoaWxkOyBjaGlsZCA9IG5leHRDaGlsZCkgeworICAgICAgICAgICAgICAg
IG5leHRDaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpOworICAgICAgICAgICAgICAgIG5vZGUt
PnJlbW92ZUNoaWxkKGNoaWxkLmdldCgpLCBpZ25vcmVkRXhjZXB0aW9uQ29kZSk7CiAgICAgICAg
ICAgICAgICAgQVNTRVJUKCFpZ25vcmVkRXhjZXB0aW9uQ29kZSk7Ci0gICAgICAgICAgICB9IGVs
c2UgaWYgKG5vZGUtPmhhc1RhZ05hbWUoaGVhZFRhZykpIHsKLSAgICAgICAgICAgICAgICBmcmFn
bWVudC0+cmVtb3ZlQ2hpbGQobm9kZS5nZXQoKSwgaWdub3JlZEV4Y2VwdGlvbkNvZGUpOworICAg
ICAgICAgICAgICAgIGZyYWdtZW50LT5pbnNlcnRCZWZvcmUoY2hpbGQsIG5vZGUuZ2V0KCksIGln
bm9yZWRFeGNlcHRpb25Db2RlKTsKICAgICAgICAgICAgICAgICBBU1NFUlQoIWlnbm9yZWRFeGNl
cHRpb25Db2RlKTsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZyYWdtZW50LT5yZW1vdmVD
aGlsZChub2RlLmdldCgpLCBpZ25vcmVkRXhjZXB0aW9uQ29kZSk7CisgICAgICAgICAgICBBU1NF
UlQoIWlnbm9yZWRFeGNlcHRpb25Db2RlKTsKKyAgICAgICAgfSBlbHNlIGlmIChub2RlLT5oYXNU
YWdOYW1lKGhlYWRUYWcpKSB7CisgICAgICAgICAgICBmcmFnbWVudC0+cmVtb3ZlQ2hpbGQobm9k
ZS5nZXQoKSwgaWdub3JlZEV4Y2VwdGlvbkNvZGUpOworICAgICAgICAgICAgQVNTRVJUKCFpZ25v
cmVkRXhjZXB0aW9uQ29kZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGZyYWdtZW50
LnJlbGVhc2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaAppbmRleCBhNjY4MDlhYjZkNjQwOWRhMDA2NDZlMWJmODBiMTdlNzA1MWVl
YmIwLi42OTRkYjk4OGJiNmVjNmZhNjMzNjMxYjM2YjAzZWIxZDkxMmI5NTkyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC05
NSw3ICs5NSw3IEBAIHB1YmxpYzoKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KHRvdWNoY2FuY2VsKTsKICNlbmRpZgogCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPERvY3VtZW50
RnJhZ21lbnQ+IGNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChjb25zdCBTdHJpbmcmLCBGcmFnbWVu
dFNjcmlwdGluZ1Blcm1pc3Npb24gPSBGcmFnbWVudFNjcmlwdGluZ0FsbG93ZWQpOworICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBkZXByZWNhdGVkQ3JlYXRlQ29udGV4
dHVhbEZyYWdtZW50KGNvbnN0IFN0cmluZyYsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbiA9
IEZyYWdtZW50U2NyaXB0aW5nQWxsb3dlZCk7CiAKICAgICBib29sIGhhc0F0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9k
b20vUmFuZ2UuY3BwIGIvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCmluZGV4IDMzYTIxYmI3NTZlZTA4
MTNkNGUyMGI2YzE2ZGYxMDlmZDZhZjYyZWIuLmQ5M2E1OGUxMjVjOTliYzI3ZjgxZmEwM2Q1ZWE5
YmM5YTI3NjFhMjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1JhbmdlLmNwcAorKysgYi9XZWJD
b3JlL2RvbS9SYW5nZS5jcHAKQEAgLTEwNjEsNyArMTA2MSwxMCBAQCBQYXNzUmVmUHRyPERvY3Vt
ZW50RnJhZ21lbnQ+IFJhbmdlOjpjcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoY29uc3QgU3RyaW5n
JiBtYXJrdQogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBSZWZQdHI8RG9jdW1lbnRG
cmFnbWVudD4gZnJhZ21lbnQgPSBzdGF0aWNfY2FzdDxIVE1MRWxlbWVudCo+KGVsZW1lbnQpLT5j
cmVhdGVDb250ZXh0dWFsRnJhZ21lbnQobWFya3VwKTsKKyAgICAvLyBMb2dpYyBmcm9tIGRlcHJl
Y2F0ZWRDcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQgc2hvdWxkIGp1c3QgYmUgbW92ZWQgaW50bwor
ICAgIC8vIHRoaXMgZnVuY3Rpb24uICBSYW5nZTo6Y3JlYXRlQ29udGV4dHVhbEZyYWdtZW50IHNl
bWFudGljcyBkbyBub3QgbWFrZQorICAgIC8vIHNlbnNlIGZvciB0aGUgcmVzdCBvZiB0aGUgRE9N
IGltcGxlbWVudGF0aW9uIHRvIHVzZS4KKyAgICBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gZnJh
Z21lbnQgPSBzdGF0aWNfY2FzdDxIVE1MRWxlbWVudCo+KGVsZW1lbnQpLT5kZXByZWNhdGVkQ3Jl
YXRlQ29udGV4dHVhbEZyYWdtZW50KG1hcmt1cCk7CiAgICAgaWYgKCFmcmFnbWVudCkgewogICAg
ICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwogICAgICAgICByZXR1cm4gMDsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5j
cHAKaW5kZXggOGY4MjI5OGIwNTJiMGVhOGRhYzM2MGI2ZDY5Y2I0YzgwYzViZWQzOC4uZjllZWIz
OGJmNjE1N2E0NTI2NzM0NGY0YTdmYjM4YTBmZjhjZDdiNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9l
ZGl0aW5nL21hcmt1cC5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAKQEAgLTEw
NDMsNyArMTA0Myw4IEBAIFN0cmluZyBjcmVhdGVNYXJrdXAoY29uc3QgUmFuZ2UqIHJhbmdlLCBW
ZWN0b3I8Tm9kZSo+KiBub2RlcywgRUFubm90YXRlRm9ySW50ZXJjCiAKIFBhc3NSZWZQdHI8RG9j
dW1lbnRGcmFnbWVudD4gY3JlYXRlRnJhZ21lbnRGcm9tTWFya3VwKERvY3VtZW50KiBkb2N1bWVu
dCwgY29uc3QgU3RyaW5nJiBtYXJrdXAsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgRnJhZ21lbnRT
Y3JpcHRpbmdQZXJtaXNzaW9uIHNjcmlwdGluZ1Blcm1pc3Npb24pCiB7Ci0gICAgUmVmUHRyPERv
Y3VtZW50RnJhZ21lbnQ+IGZyYWdtZW50ID0gZG9jdW1lbnQtPmRvY3VtZW50RWxlbWVudCgpLT5j
cmVhdGVDb250ZXh0dWFsRnJhZ21lbnQobWFya3VwLCBzY3JpcHRpbmdQZXJtaXNzaW9uKTsKKyAg
ICAvLyBGSVhNRTogVGhpcyBzaG91bGQgbm90IHVzZSBkZXByZWNhdGVkQ3JlYXRlQ29udGV4dHVh
bEZyYWdtZW50CisgICAgUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGZyYWdtZW50ID0gZG9jdW1l
bnQtPmRvY3VtZW50RWxlbWVudCgpLT5kZXByZWNhdGVkQ3JlYXRlQ29udGV4dHVhbEZyYWdtZW50
KG1hcmt1cCwgc2NyaXB0aW5nUGVybWlzc2lvbik7CiAKICAgICBpZiAoZnJhZ21lbnQgJiYgIWJh
c2VVUkwuaXNFbXB0eSgpICYmIGJhc2VVUkwgIT0gYmxhbmtVUkwoKSAmJiBiYXNlVVJMICE9IGRv
Y3VtZW50LT5iYXNlVVJMKCkpCiAgICAgICAgIGNvbXBsZXRlVVJMcyhmcmFnbWVudC5nZXQoKSwg
YmFzZVVSTCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwIGIvV2Vi
Q29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAppbmRleCBiN2Q0NWRlY2FlMTBiYWI1ZDRhYjdjMGZl
YjMyNGZjOGU4YTdmNzZkLi5mOGE5ZWUyOTZiN2IwM2YwNjI5OGNmYjc2YTA0NTdhYTdkYzMwODA2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUv
aHRtbC9IVE1MRWxlbWVudC5jcHAKQEAgLTI3NSwyMCArMjc1LDIzIEBAIFN0cmluZyBIVE1MRWxl
bWVudDo6b3V0ZXJIVE1MKCkgY29uc3QKICAgICByZXR1cm4gY3JlYXRlTWFya3VwKHRoaXMpOwog
fQogCi0vLyBGSVhNRTogVGhpcyBtZXRob2QgaXMgdW5uZWNlc3Nhcnkgd2l0aCB0aGUgbmV3IEhU
TUxEb2N1bWVudFBhcnNlci4KLVBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gSFRNTEVsZW1l
bnQ6OmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChjb25zdCBTdHJpbmcmIG1hcmt1cCwgRnJhZ21l
bnRTY3JpcHRpbmdQZXJtaXNzaW9uIHNjcmlwdGluZ1Blcm1pc3Npb24pCitzdGF0aWMgYm9vbCB1
c2VMZWdhY3lUcmVlQnVpbGRlcihEb2N1bWVudCogZG9jdW1lbnQpCiB7Ci0gICAgaWYgKCFkb2N1
bWVudCgpLT5zZXR0aW5ncygpIHx8ICFkb2N1bWVudCgpLT5zZXR0aW5ncygpLT5odG1sNVRyZWVC
dWlsZGVyRW5hYmxlZCgpKSB7Ci0gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgaXMgaW4gYWNjb3Jk
YW5jZSB3aXRoIHRoZSBkZWZpbml0aW9uIGFzIHVzZWQgYnkgSUUuCi0gICAgICAgIGlmIChlbmRU
YWdSZXF1aXJlbWVudCgpID09IFRhZ1N0YXR1c0ZvcmJpZGRlbikKLSAgICAgICAgICAgIHJldHVy
biAwOworICAgIHJldHVybiAhZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5zZXR0aW5ncygpIHx8ICFk
b2N1bWVudC0+c2V0dGluZ3MoKS0+aHRtbDVUcmVlQnVpbGRlckVuYWJsZWQoKTsKK30KIAotICAg
ICAgICBpZiAoaGFzTG9jYWxOYW1lKGNvbFRhZykgfHwgaGFzTG9jYWxOYW1lKGNvbGdyb3VwVGFn
KSB8fCBoYXNMb2NhbE5hbWUoZnJhbWVzZXRUYWcpCi0gICAgICAgICAgICB8fCBoYXNMb2NhbE5h
bWUoaGVhZFRhZykgfHwgaGFzTG9jYWxOYW1lKHN0eWxlVGFnKSB8fCBoYXNMb2NhbE5hbWUodGl0
bGVUYWcpKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQorLy8gRklYTUU6IFRoaXMgbG9n
aWMgc2hvdWxkIG1vdmUgaW50byBSYW5nZTo6Y3JlYXRlQ29udGV4dHVhbEZyYWdtZW50CitQYXNz
UmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IEhUTUxFbGVtZW50OjpkZXByZWNhdGVkQ3JlYXRlQ29u
dGV4dHVhbEZyYWdtZW50KGNvbnN0IFN0cmluZyYgbWFya3VwLCBGcmFnbWVudFNjcmlwdGluZ1Bl
cm1pc3Npb24gc2NyaXB0aW5nUGVybWlzc2lvbikKK3sKKyAgICAvLyBUaGUgZm9sbG93aW5nIGlz
IGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgZGVmaW5pdGlvbiBhcyB1c2VkIGJ5IElFLgorICAgIGlm
IChlbmRUYWdSZXF1aXJlbWVudCgpID09IFRhZ1N0YXR1c0ZvcmJpZGRlbikKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICBpZiAoaGFzTG9jYWxOYW1lKGNvbFRhZykgfHwgaGFzTG9jYWxOYW1lKGNv
bGdyb3VwVGFnKSB8fCBoYXNMb2NhbE5hbWUoZnJhbWVzZXRUYWcpCisgICAgICAgIHx8IGhhc0xv
Y2FsTmFtZShoZWFkVGFnKSB8fCBoYXNMb2NhbE5hbWUoc3R5bGVUYWcpIHx8IGhhc0xvY2FsTmFt
ZSh0aXRsZVRhZykpCisgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIEVsZW1lbnQ6OmNy
ZWF0ZUNvbnRleHR1YWxGcmFnbWVudChtYXJrdXAsIHNjcmlwdGluZ1Blcm1pc3Npb24pOworICAg
IHJldHVybiBFbGVtZW50OjpkZXByZWNhdGVkQ3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KG1hcmt1
cCwgc2NyaXB0aW5nUGVybWlzc2lvbik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBoYXNPbmVD
aGlsZChDb250YWluZXJOb2RlKiBub2RlKQpAQCAtMzUxLDEwICszNTQsMTcgQEAgdm9pZCBIVE1M
RWxlbWVudDo6c2V0SW5uZXJIVE1MKGNvbnN0IFN0cmluZyYgaHRtbCwgRXhjZXB0aW9uQ29kZSYg
ZWMpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSZWZQdHI8RG9jdW1lbnRGcmFnbWVu
dD4gZnJhZ21lbnQgPSBjcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoaHRtbCk7Ci0gICAgaWYgKCFm
cmFnbWVudCkgewotICAgICAgICBlYyA9IE5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUjsKLSAg
ICAgICAgcmV0dXJuOworICAgIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBmcmFnbWVudDsKKyAg
ICAKKyAgICBpZiAodXNlTGVnYWN5VHJlZUJ1aWxkZXIoZG9jdW1lbnQoKSkpIHsKKyAgICAgICAg
ZnJhZ21lbnQgPSBkZXByZWNhdGVkQ3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KGh0bWwpOworICAg
ICAgICBpZiAoIWZyYWdtZW50KSB7CisgICAgICAgICAgICBlYyA9IE5PX01PRElGSUNBVElPTl9B
TExPV0VEX0VSUjsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7
CisgICAgICAgIGZyYWdtZW50ID0gRG9jdW1lbnRGcmFnbWVudDo6Y3JlYXRlKGRvY3VtZW50KCkp
OworICAgICAgICBmcmFnbWVudC0+cGFyc2VIVE1MKGh0bWwsIHRoaXMpOwogICAgIH0KIAogICAg
IHJlcGxhY2VDaGlsZHJlbldpdGhGcmFnbWVudCh0aGlzLCBmcmFnbWVudC5yZWxlYXNlKCksIGVj
KTsKQEAgLTM2NywxMiArMzc3LDE4IEBAIHZvaWQgSFRNTEVsZW1lbnQ6OnNldE91dGVySFRNTChj
b25zdCBTdHJpbmcmIGh0bWwsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICBlYyA9IE5PX01P
RElGSUNBVElPTl9BTExPV0VEX0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLQogICAgIEhU
TUxFbGVtZW50KiBwYXJlbnQgPSBzdGF0aWNfY2FzdDxIVE1MRWxlbWVudCo+KHApOwotICAgIFJl
ZlB0cjxEb2N1bWVudEZyYWdtZW50PiBmcmFnbWVudCA9IHBhcmVudC0+Y3JlYXRlQ29udGV4dHVh
bEZyYWdtZW50KGh0bWwpOwotICAgIGlmICghZnJhZ21lbnQpIHsKLSAgICAgICAgZWMgPSBOT19N
T0RJRklDQVRJT05fQUxMT1dFRF9FUlI7Ci0gICAgICAgIHJldHVybjsKKworICAgIFJlZlB0cjxE
b2N1bWVudEZyYWdtZW50PiBmcmFnbWVudDsKKyAgICBpZiAodXNlTGVnYWN5VHJlZUJ1aWxkZXIo
ZG9jdW1lbnQoKSkpIHsKKyAgICAgICAgZnJhZ21lbnQgPSBwYXJlbnQtPmRlcHJlY2F0ZWRDcmVh
dGVDb250ZXh0dWFsRnJhZ21lbnQoaHRtbCk7CisgICAgICAgIGlmICghZnJhZ21lbnQpIHsKKyAg
ICAgICAgICAgIGVjID0gTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgZnJhZ21lbnQgPSBEb2N1
bWVudEZyYWdtZW50OjpjcmVhdGUoZG9jdW1lbnQoKSk7CisgICAgICAgIGZyYWdtZW50LT5wYXJz
ZUhUTUwoaHRtbCwgcGFyZW50KTsKICAgICB9CiAKICAgICAvLyBGSVhNRTogV2h5IGRvZXNuJ3Qg
dGhpcyBoYXZlIGNvZGUgdG8gbWVyZ2UgbmVpZ2hib3JpbmcgdGV4dCBub2RlcyB0aGUgd2F5IHNl
dE91dGVyVGV4dCBkb2VzPwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50Lmgg
Yi9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaAppbmRleCAwMzQ0OWM5ODVhZTA0Mjc1NTUxZDc4
MWRkMjBmZGRjNjQ5YWVjMTcyLi44ZjU0ZDNlYjA1MDM4NmI4ZDkyZDBlN2NlMTVlNWI0YTBmNTBh
NWFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaAorKysgYi9XZWJDb3Jl
L2h0bWwvSFRNTEVsZW1lbnQuaApAQCAtNDYsNyArNDYsOCBAQCBwdWJsaWM6CiAKICAgICBTdHJp
bmcgaW5uZXJIVE1MKCkgY29uc3Q7CiAgICAgU3RyaW5nIG91dGVySFRNTCgpIGNvbnN0OwotICAg
IFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KGNv
bnN0IFN0cmluZyYsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbiA9IEZyYWdtZW50U2NyaXB0
aW5nQWxsb3dlZCk7CisgICAgLy8gZGVwcmVjYXRlZENyZWF0ZUNvbnRleHR1YWxGcmFnbWVudCBs
b2dpYyBzaG91bGQgYmUgbW92ZWQgaW50byBSYW5nZTo6Y3JlYXRlQ29udGV4dHVhbEZyYWdtZW50
CisgICAgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBkZXByZWNhdGVkQ3JlYXRlQ29udGV4
dHVhbEZyYWdtZW50KGNvbnN0IFN0cmluZyYsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbiA9
IEZyYWdtZW50U2NyaXB0aW5nQWxsb3dlZCk7CiAgICAgdm9pZCBzZXRJbm5lckhUTUwoY29uc3Qg
U3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0T3V0ZXJIVE1MKGNvbnN0IFN0
cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldElubmVyVGV4dChjb25zdCBTdHJp
bmcmLCBFeGNlcHRpb25Db2RlJik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64427</attachid>
            <date>2010-08-14 14:02:08 -0700</date>
            <delta_ts>2010-08-14 14:39:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44011-20100814160206.patch</filename>
            <type>text/plain</type>
            <size>14189</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDYzZGI3NmYyNGI0NTNkZWQ1YTA0YWY0NmU4YzhmOWI1MDk0YjRjOC4uNzU0YTM4NTFkMTIzOGYw
NGNjNDA5YjJmNzIzODdkZmI5OGRhNjAyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NyBAQAorMjAxMC0wOC0xNCAgRXJp
YyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTW92ZSBpbm5lckhUTUwgb2ZmIG9mIFJhbmdlOjpjcmVhdGVD
b250ZXh0dWFsRnJhZ21lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ0MDExCisKKyAgICAgICAgVGhpcyBtYWtlcyBhbGwgdGhlIGVkaXRpbmcgdGVz
dHMgc3RvcCBmYWlsaW5nIHVuZGVyIHRoZQorICAgICAgICBIVE1MNSBUcmVlQnVpbGRlci4KKwor
ICAgICAgICBJbiBhIHByZXZpb3VzIHBhdGNoIEFkYW0gZGlzYWJsZWQgc29tZSBvZiB0aGUgKHdy
b25nKSBjb2RlCisgICAgICAgIGluIGNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudCB3aGVuIGluIGh0
bWw1IHRyZWVidWlsZGVyIG1vZGUuCisgICAgICAgIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIGVk
aXRpbmcgY29kZSBkZXBlbmRzIG9uCisgICAgICAgIGNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudCAo
YXMgd2VsbCBhcyB0aGUgUmFuZ2UgRE9NIEFQSSksCisgICAgICAgIHNvIHdlIGhhdmUgdG8gbGVh
dmUgdGhpcyBjb2RlIGluIHVudGlsIHdlIGNhbiBmaWd1cmUKKyAgICAgICAgb3V0IGlmIGl0J3Mg
cmlnaHQgb3Igd3JvbmcgYmVoYXZpb3IgZm9yIHRoZSBSYW5nZSBBUEkuCisKKyAgICAgICAgVGhp
cyBwYXRjaCBtb3ZlcyBpbm5lckhUTUwvb3V0ZXJIVE1MIG9mZiBvZiB1c2luZworICAgICAgICBj
cmVhdGVDb250ZXh0dWFsRnJhZ21lbnQgYW5kIGluc3RlYWQgY2FsbHMKKyAgICAgICAgRG9jdW1l
bnRGcmFnbWVudDo6cGFyc2VIVE1MIGRpcmVjdGx5ICh3aGljaCBpcyBtdWNoIHNpbXBsZXIpLgor
CisgICAgICAgIEkgZXhwZWN0IEFkYW0gYW5kIEkgd2lsbCBlbmQgdXAgdHVybmluZyBvbiB0aGUg
SFRNTDUgVHJlZUJ1aWxkZXIKKyAgICAgICAgaW4gdGhlIG5leHQgY291cGxlIGRheXMsIGFuZCBt
b3N0IG9mIHRoZSBpZiBicmFuY2hlcyBJIGFkZGVkCisgICAgICAgIGhlcmUgd2lsbCBnbyBhd2F5
IGZvciBnb29kLgorCisgICAgICAgIEkgcmVuYW1lZCBFbGVtZW50OjpjcmVhdGVDb250ZXh0dWFs
RnJhZ21lbnQgdG8KKyAgICAgICAgZGVwcmVjYXRlZENyZWF0ZUNvbnRleHR1YWxGcmFnbWVudCwg
dG8gaW5kaWNhdGUgdGhhdCBpdCdzIGEKKyAgICAgICAgZGVhZCBBUEkuICBUaGUgZWRpdGluZyBj
b2RlIHNob3VsZCBtb3ZlIG9mZiBvZiBpdCBhbmQgY29uc2lkZXIKKyAgICAgICAgdXNpbmcgRG9j
dW1lbnRGcmFnbWVudDo6cGFyc2VIVE1MIGluc3RlYWQuCisKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpkZXByZWNhdGVkQ3JlYXRlQ29udGV4
dHVhbEZyYWdtZW50KToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAqIGRvbS9S
YW5nZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSYW5nZTo6Y3JlYXRlQ29udGV4dHVhbEZyYWdt
ZW50KToKKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
cmVhdGVGcmFnbWVudEZyb21NYXJrdXApOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dXNlTGVnYWN5VHJlZUJ1aWxkZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTEVsZW1lbnQ6OmRlcHJlY2F0ZWRDcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnNldElubmVySFRNTCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MRWxlbWVudDo6c2V0T3V0ZXJIVE1MKToKKyAgICAgICAgKiBodG1sL0hUTUxF
bGVtZW50Lmg6CisKIDIwMTAtMDgtMTQgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9n
YS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4u
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwCmluZGV4IGNjM2JmMWYzNzMzOGQwYWY5YmE5NGM5NWZhMWZjODZmMTliNzAwZjAuLjg0
OWI5MDBmYjA0Yjk5ZGMxYzdlYWM0MWQ2MDcwMTA4YjE0M2ZhYzkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC05MSw3
ICs5MSw3IEBAIE5vZGVSYXJlRGF0YSogRWxlbWVudDo6Y3JlYXRlUmFyZURhdGEoKQogICAgIHJl
dHVybiBuZXcgRWxlbWVudFJhcmVEYXRhOwogfQogCi1QYXNzUmVmUHRyPERvY3VtZW50RnJhZ21l
bnQ+IEVsZW1lbnQ6OmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChjb25zdCBTdHJpbmcmIG1hcmt1
cCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uIHNjcmlwdGluZ1Blcm1pc3Npb24pCitQYXNz
UmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IEVsZW1lbnQ6OmRlcHJlY2F0ZWRDcmVhdGVDb250ZXh0
dWFsRnJhZ21lbnQoY29uc3QgU3RyaW5nJiBtYXJrdXAsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlz
c2lvbiBzY3JpcHRpbmdQZXJtaXNzaW9uKQogewogICAgIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50
PiBmcmFnbWVudCA9IGRvY3VtZW50KCktPmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKIApAQCAt
MTAyLDM2ICsxMDIsMzQgQEAgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBFbGVtZW50Ojpj
cmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoY29uc3QgU3RyaW5nJiBtYXIKICAgICAgICAgICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgcHJvcGFnYXRlIGEgc3ludGF4IGVycm9yIGV4Y2VwdGlvbiBvdXQg
aGVyZS4KICAgICAgICAgICAgIHJldHVybiAwOwogICAgIH0KLSAgICAKLSAgICBpZiAoIWRvY3Vt
ZW50KCktPnNldHRpbmdzKCkgfHwgIWRvY3VtZW50KCktPnNldHRpbmdzKCktPmh0bWw1VHJlZUJ1
aWxkZXJFbmFibGVkKCkpIHsKLSAgICAgICAgLy8gRXhjZXB0aW9ucyBhcmUgaWdub3JlZCBiZWNh
dXNlIG5vbmUgb3VnaHQgdG8gaGFwcGVuIGhlcmUuCi0gICAgICAgIEV4Y2VwdGlvbkNvZGUgaWdu
b3JlZEV4Y2VwdGlvbkNvZGU7Ci0gICAgICAgIAotICAgICAgICAvLyBXZSBuZWVkIHRvIHBvcCA8
aHRtbD4gYW5kIDxib2R5PiBlbGVtZW50cyBhbmQgcmVtb3ZlIDxoZWFkPiB0bwotICAgICAgICAv
LyBhY2NvbW1vZGF0ZSBmb2xrcyBwYXNzaW5nIGNvbXBsZXRlIEhUTUwgZG9jdW1lbnRzIHRvIG1h
a2UgdGhlCi0gICAgICAgIC8vIGNoaWxkIG9mIGFuIGVsZW1lbnQuCi0gICAgICAgIAotICAgICAg
ICBSZWZQdHI8Tm9kZT4gbmV4dE5vZGU7Ci0gICAgICAgIGZvciAoUmVmUHRyPE5vZGU+IG5vZGUg
PSBmcmFnbWVudC0+Zmlyc3RDaGlsZCgpOyBub2RlOyBub2RlID0gbmV4dE5vZGUpIHsKLSAgICAg
ICAgICAgIG5leHROb2RlID0gbm9kZS0+bmV4dFNpYmxpbmcoKTsKLSAgICAgICAgICAgIGlmIChu
b2RlLT5oYXNUYWdOYW1lKGh0bWxUYWcpIHx8IG5vZGUtPmhhc1RhZ05hbWUoYm9keVRhZykpIHsK
LSAgICAgICAgICAgICAgICBOb2RlKiBmaXJzdENoaWxkID0gbm9kZS0+Zmlyc3RDaGlsZCgpOwot
ICAgICAgICAgICAgICAgIGlmIChmaXJzdENoaWxkKQotICAgICAgICAgICAgICAgICAgICBuZXh0
Tm9kZSA9IGZpcnN0Q2hpbGQ7Ci0gICAgICAgICAgICAgICAgUmVmUHRyPE5vZGU+IG5leHRDaGls
ZDsKLSAgICAgICAgICAgICAgICBmb3IgKFJlZlB0cjxOb2RlPiBjaGlsZCA9IGZpcnN0Q2hpbGQ7
IGNoaWxkOyBjaGlsZCA9IG5leHRDaGlsZCkgewotICAgICAgICAgICAgICAgICAgICBuZXh0Q2hp
bGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKTsKLSAgICAgICAgICAgICAgICAgICAgbm9kZS0+cmVt
b3ZlQ2hpbGQoY2hpbGQuZ2V0KCksIGlnbm9yZWRFeGNlcHRpb25Db2RlKTsKLSAgICAgICAgICAg
ICAgICAgICAgQVNTRVJUKCFpZ25vcmVkRXhjZXB0aW9uQ29kZSk7Ci0gICAgICAgICAgICAgICAg
ICAgIGZyYWdtZW50LT5pbnNlcnRCZWZvcmUoY2hpbGQsIG5vZGUuZ2V0KCksIGlnbm9yZWRFeGNl
cHRpb25Db2RlKTsKLSAgICAgICAgICAgICAgICAgICAgQVNTRVJUKCFpZ25vcmVkRXhjZXB0aW9u
Q29kZSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGZyYWdtZW50LT5yZW1v
dmVDaGlsZChub2RlLmdldCgpLCBpZ25vcmVkRXhjZXB0aW9uQ29kZSk7CisKKyAgICAvLyBFeGNl
cHRpb25zIGFyZSBpZ25vcmVkIGJlY2F1c2Ugbm9uZSBvdWdodCB0byBoYXBwZW4gaGVyZS4KKyAg
ICBFeGNlcHRpb25Db2RlIGlnbm9yZWRFeGNlcHRpb25Db2RlOworCisgICAgLy8gV2UgbmVlZCB0
byBwb3AgPGh0bWw+IGFuZCA8Ym9keT4gZWxlbWVudHMgYW5kIHJlbW92ZSA8aGVhZD4gdG8KKyAg
ICAvLyBhY2NvbW1vZGF0ZSBmb2xrcyBwYXNzaW5nIGNvbXBsZXRlIEhUTUwgZG9jdW1lbnRzIHRv
IG1ha2UgdGhlCisgICAgLy8gY2hpbGQgb2YgYW4gZWxlbWVudC4KKworICAgIFJlZlB0cjxOb2Rl
PiBuZXh0Tm9kZTsKKyAgICBmb3IgKFJlZlB0cjxOb2RlPiBub2RlID0gZnJhZ21lbnQtPmZpcnN0
Q2hpbGQoKTsgbm9kZTsgbm9kZSA9IG5leHROb2RlKSB7CisgICAgICAgIG5leHROb2RlID0gbm9k
ZS0+bmV4dFNpYmxpbmcoKTsKKyAgICAgICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUoaHRtbFRhZykg
fHwgbm9kZS0+aGFzVGFnTmFtZShib2R5VGFnKSkgeworICAgICAgICAgICAgTm9kZSogZmlyc3RD
aGlsZCA9IG5vZGUtPmZpcnN0Q2hpbGQoKTsKKyAgICAgICAgICAgIGlmIChmaXJzdENoaWxkKQor
ICAgICAgICAgICAgICAgIG5leHROb2RlID0gZmlyc3RDaGlsZDsKKyAgICAgICAgICAgIFJlZlB0
cjxOb2RlPiBuZXh0Q2hpbGQ7CisgICAgICAgICAgICBmb3IgKFJlZlB0cjxOb2RlPiBjaGlsZCA9
IGZpcnN0Q2hpbGQ7IGNoaWxkOyBjaGlsZCA9IG5leHRDaGlsZCkgeworICAgICAgICAgICAgICAg
IG5leHRDaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpOworICAgICAgICAgICAgICAgIG5vZGUt
PnJlbW92ZUNoaWxkKGNoaWxkLmdldCgpLCBpZ25vcmVkRXhjZXB0aW9uQ29kZSk7CiAgICAgICAg
ICAgICAgICAgQVNTRVJUKCFpZ25vcmVkRXhjZXB0aW9uQ29kZSk7Ci0gICAgICAgICAgICB9IGVs
c2UgaWYgKG5vZGUtPmhhc1RhZ05hbWUoaGVhZFRhZykpIHsKLSAgICAgICAgICAgICAgICBmcmFn
bWVudC0+cmVtb3ZlQ2hpbGQobm9kZS5nZXQoKSwgaWdub3JlZEV4Y2VwdGlvbkNvZGUpOworICAg
ICAgICAgICAgICAgIGZyYWdtZW50LT5pbnNlcnRCZWZvcmUoY2hpbGQsIG5vZGUuZ2V0KCksIGln
bm9yZWRFeGNlcHRpb25Db2RlKTsKICAgICAgICAgICAgICAgICBBU1NFUlQoIWlnbm9yZWRFeGNl
cHRpb25Db2RlKTsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZyYWdtZW50LT5yZW1vdmVD
aGlsZChub2RlLmdldCgpLCBpZ25vcmVkRXhjZXB0aW9uQ29kZSk7CisgICAgICAgICAgICBBU1NF
UlQoIWlnbm9yZWRFeGNlcHRpb25Db2RlKTsKKyAgICAgICAgfSBlbHNlIGlmIChub2RlLT5oYXNU
YWdOYW1lKGhlYWRUYWcpKSB7CisgICAgICAgICAgICBmcmFnbWVudC0+cmVtb3ZlQ2hpbGQobm9k
ZS5nZXQoKSwgaWdub3JlZEV4Y2VwdGlvbkNvZGUpOworICAgICAgICAgICAgQVNTRVJUKCFpZ25v
cmVkRXhjZXB0aW9uQ29kZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGZyYWdtZW50
LnJlbGVhc2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaAppbmRleCBhNjY4MDlhYjZkNjQwOWRhMDA2NDZlMWJmODBiMTdlNzA1MWVl
YmIwLi42OTRkYjk4OGJiNmVjNmZhNjMzNjMxYjM2YjAzZWIxZDkxMmI5NTkyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC05
NSw3ICs5NSw3IEBAIHB1YmxpYzoKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KHRvdWNoY2FuY2VsKTsKICNlbmRpZgogCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPERvY3VtZW50
RnJhZ21lbnQ+IGNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChjb25zdCBTdHJpbmcmLCBGcmFnbWVu
dFNjcmlwdGluZ1Blcm1pc3Npb24gPSBGcmFnbWVudFNjcmlwdGluZ0FsbG93ZWQpOworICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBkZXByZWNhdGVkQ3JlYXRlQ29udGV4
dHVhbEZyYWdtZW50KGNvbnN0IFN0cmluZyYsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbiA9
IEZyYWdtZW50U2NyaXB0aW5nQWxsb3dlZCk7CiAKICAgICBib29sIGhhc0F0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9k
b20vUmFuZ2UuY3BwIGIvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCmluZGV4IDMzYTIxYmI3NTZlZTA4
MTNkNGUyMGI2YzE2ZGYxMDlmZDZhZjYyZWIuLmQ5M2E1OGUxMjVjOTliYzI3ZjgxZmEwM2Q1ZWE5
YmM5YTI3NjFhMjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1JhbmdlLmNwcAorKysgYi9XZWJD
b3JlL2RvbS9SYW5nZS5jcHAKQEAgLTEwNjEsNyArMTA2MSwxMCBAQCBQYXNzUmVmUHRyPERvY3Vt
ZW50RnJhZ21lbnQ+IFJhbmdlOjpjcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoY29uc3QgU3RyaW5n
JiBtYXJrdQogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBSZWZQdHI8RG9jdW1lbnRG
cmFnbWVudD4gZnJhZ21lbnQgPSBzdGF0aWNfY2FzdDxIVE1MRWxlbWVudCo+KGVsZW1lbnQpLT5j
cmVhdGVDb250ZXh0dWFsRnJhZ21lbnQobWFya3VwKTsKKyAgICAvLyBMb2dpYyBmcm9tIGRlcHJl
Y2F0ZWRDcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQgc2hvdWxkIGp1c3QgYmUgbW92ZWQgaW50bwor
ICAgIC8vIHRoaXMgZnVuY3Rpb24uICBSYW5nZTo6Y3JlYXRlQ29udGV4dHVhbEZyYWdtZW50IHNl
bWFudGljcyBkbyBub3QgbWFrZQorICAgIC8vIHNlbnNlIGZvciB0aGUgcmVzdCBvZiB0aGUgRE9N
IGltcGxlbWVudGF0aW9uIHRvIHVzZS4KKyAgICBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gZnJh
Z21lbnQgPSBzdGF0aWNfY2FzdDxIVE1MRWxlbWVudCo+KGVsZW1lbnQpLT5kZXByZWNhdGVkQ3Jl
YXRlQ29udGV4dHVhbEZyYWdtZW50KG1hcmt1cCk7CiAgICAgaWYgKCFmcmFnbWVudCkgewogICAg
ICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwogICAgICAgICByZXR1cm4gMDsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5j
cHAKaW5kZXggOGY4MjI5OGIwNTJiMGVhOGRhYzM2MGI2ZDY5Y2I0YzgwYzViZWQzOC4uZjllZWIz
OGJmNjE1N2E0NTI2NzM0NGY0YTdmYjM4YTBmZjhjZDdiNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9l
ZGl0aW5nL21hcmt1cC5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAKQEAgLTEw
NDMsNyArMTA0Myw4IEBAIFN0cmluZyBjcmVhdGVNYXJrdXAoY29uc3QgUmFuZ2UqIHJhbmdlLCBW
ZWN0b3I8Tm9kZSo+KiBub2RlcywgRUFubm90YXRlRm9ySW50ZXJjCiAKIFBhc3NSZWZQdHI8RG9j
dW1lbnRGcmFnbWVudD4gY3JlYXRlRnJhZ21lbnRGcm9tTWFya3VwKERvY3VtZW50KiBkb2N1bWVu
dCwgY29uc3QgU3RyaW5nJiBtYXJrdXAsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgRnJhZ21lbnRT
Y3JpcHRpbmdQZXJtaXNzaW9uIHNjcmlwdGluZ1Blcm1pc3Npb24pCiB7Ci0gICAgUmVmUHRyPERv
Y3VtZW50RnJhZ21lbnQ+IGZyYWdtZW50ID0gZG9jdW1lbnQtPmRvY3VtZW50RWxlbWVudCgpLT5j
cmVhdGVDb250ZXh0dWFsRnJhZ21lbnQobWFya3VwLCBzY3JpcHRpbmdQZXJtaXNzaW9uKTsKKyAg
ICAvLyBGSVhNRTogVGhpcyBzaG91bGQgbm90IHVzZSBkZXByZWNhdGVkQ3JlYXRlQ29udGV4dHVh
bEZyYWdtZW50CisgICAgUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGZyYWdtZW50ID0gZG9jdW1l
bnQtPmRvY3VtZW50RWxlbWVudCgpLT5kZXByZWNhdGVkQ3JlYXRlQ29udGV4dHVhbEZyYWdtZW50
KG1hcmt1cCwgc2NyaXB0aW5nUGVybWlzc2lvbik7CiAKICAgICBpZiAoZnJhZ21lbnQgJiYgIWJh
c2VVUkwuaXNFbXB0eSgpICYmIGJhc2VVUkwgIT0gYmxhbmtVUkwoKSAmJiBiYXNlVVJMICE9IGRv
Y3VtZW50LT5iYXNlVVJMKCkpCiAgICAgICAgIGNvbXBsZXRlVVJMcyhmcmFnbWVudC5nZXQoKSwg
YmFzZVVSTCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwIGIvV2Vi
Q29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAppbmRleCBiN2Q0NWRlY2FlMTBiYWI1ZDRhYjdjMGZl
YjMyNGZjOGU4YTdmNzZkLi5mZjI1ZTYyZmE3Y2Y4OTdjOTUwMWY1ZWM4OWQyZDc0MzAwOGE5MmJi
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUv
aHRtbC9IVE1MRWxlbWVudC5jcHAKQEAgLTI3NSwyMCArMjc1LDIzIEBAIFN0cmluZyBIVE1MRWxl
bWVudDo6b3V0ZXJIVE1MKCkgY29uc3QKICAgICByZXR1cm4gY3JlYXRlTWFya3VwKHRoaXMpOwog
fQogCi0vLyBGSVhNRTogVGhpcyBtZXRob2QgaXMgdW5uZWNlc3Nhcnkgd2l0aCB0aGUgbmV3IEhU
TUxEb2N1bWVudFBhcnNlci4KLVBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gSFRNTEVsZW1l
bnQ6OmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChjb25zdCBTdHJpbmcmIG1hcmt1cCwgRnJhZ21l
bnRTY3JpcHRpbmdQZXJtaXNzaW9uIHNjcmlwdGluZ1Blcm1pc3Npb24pCitzdGF0aWMgYm9vbCB1
c2VMZWdhY3lUcmVlQnVpbGRlcihEb2N1bWVudCogZG9jdW1lbnQpCiB7Ci0gICAgaWYgKCFkb2N1
bWVudCgpLT5zZXR0aW5ncygpIHx8ICFkb2N1bWVudCgpLT5zZXR0aW5ncygpLT5odG1sNVRyZWVC
dWlsZGVyRW5hYmxlZCgpKSB7Ci0gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgaXMgaW4gYWNjb3Jk
YW5jZSB3aXRoIHRoZSBkZWZpbml0aW9uIGFzIHVzZWQgYnkgSUUuCi0gICAgICAgIGlmIChlbmRU
YWdSZXF1aXJlbWVudCgpID09IFRhZ1N0YXR1c0ZvcmJpZGRlbikKLSAgICAgICAgICAgIHJldHVy
biAwOworICAgIHJldHVybiAhZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5zZXR0aW5ncygpIHx8ICFk
b2N1bWVudC0+c2V0dGluZ3MoKS0+aHRtbDVUcmVlQnVpbGRlckVuYWJsZWQoKTsKK30KIAotICAg
ICAgICBpZiAoaGFzTG9jYWxOYW1lKGNvbFRhZykgfHwgaGFzTG9jYWxOYW1lKGNvbGdyb3VwVGFn
KSB8fCBoYXNMb2NhbE5hbWUoZnJhbWVzZXRUYWcpCi0gICAgICAgICAgICB8fCBoYXNMb2NhbE5h
bWUoaGVhZFRhZykgfHwgaGFzTG9jYWxOYW1lKHN0eWxlVGFnKSB8fCBoYXNMb2NhbE5hbWUodGl0
bGVUYWcpKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQorLy8gRklYTUU6IFRoaXMgbG9n
aWMgc2hvdWxkIG1vdmUgaW50byBSYW5nZTo6Y3JlYXRlQ29udGV4dHVhbEZyYWdtZW50CitQYXNz
UmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IEhUTUxFbGVtZW50OjpkZXByZWNhdGVkQ3JlYXRlQ29u
dGV4dHVhbEZyYWdtZW50KGNvbnN0IFN0cmluZyYgbWFya3VwLCBGcmFnbWVudFNjcmlwdGluZ1Bl
cm1pc3Npb24gc2NyaXB0aW5nUGVybWlzc2lvbikKK3sKKyAgICAvLyBUaGUgZm9sbG93aW5nIGlz
IGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgZGVmaW5pdGlvbiBhcyB1c2VkIGJ5IElFLgorICAgIGlm
IChlbmRUYWdSZXF1aXJlbWVudCgpID09IFRhZ1N0YXR1c0ZvcmJpZGRlbikKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICBpZiAoaGFzTG9jYWxOYW1lKGNvbFRhZykgfHwgaGFzTG9jYWxOYW1lKGNv
bGdyb3VwVGFnKSB8fCBoYXNMb2NhbE5hbWUoZnJhbWVzZXRUYWcpCisgICAgICAgIHx8IGhhc0xv
Y2FsTmFtZShoZWFkVGFnKSB8fCBoYXNMb2NhbE5hbWUoc3R5bGVUYWcpIHx8IGhhc0xvY2FsTmFt
ZSh0aXRsZVRhZykpCisgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIEVsZW1lbnQ6OmNy
ZWF0ZUNvbnRleHR1YWxGcmFnbWVudChtYXJrdXAsIHNjcmlwdGluZ1Blcm1pc3Npb24pOworICAg
IHJldHVybiBFbGVtZW50OjpkZXByZWNhdGVkQ3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KG1hcmt1
cCwgc2NyaXB0aW5nUGVybWlzc2lvbik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBoYXNPbmVD
aGlsZChDb250YWluZXJOb2RlKiBub2RlKQpAQCAtMzQxLDIzICszNDQsNDYgQEAgc3RhdGljIHZv
aWQgcmVwbGFjZUNoaWxkcmVuV2l0aFRleHQoSFRNTEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IFN0
cmluZyYgdGV4dCwgRXgKICAgICBlbGVtZW50LT5hcHBlbmRDaGlsZCh0ZXh0Tm9kZS5yZWxlYXNl
KCksIGVjKTsKIH0KIAorLy8gV2UgbWF5IHdhbnQgdG8gbW92ZSBhIHZlcnNpb24gb2YgdGhpcyBm
dW5jdGlvbiBpbnRvIERvY3VtZW50RnJhZ21lbnQuaC9jcHAKK3N0YXRpYyBQYXNzUmVmUHRyPERv
Y3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUZyYWdtZW50RnJvbVNvdXJjZShjb25zdCBTdHJpbmcmIG1h
cmt1cCwgRWxlbWVudCogY29udGV4dEVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAg
IERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHRFbGVtZW50LT5kb2N1bWVudCgpOworICAgIFJl
ZlB0cjxEb2N1bWVudEZyYWdtZW50PiBmcmFnbWVudDsKKworICAgIGlmICh1c2VMZWdhY3lUcmVl
QnVpbGRlcihkb2N1bWVudCkpIHsKKyAgICAgICAgZnJhZ21lbnQgPSBjb250ZXh0RWxlbWVudC0+
ZGVwcmVjYXRlZENyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChtYXJrdXApOworICAgICAgICBpZiAo
IWZyYWdtZW50KQorICAgICAgICAgICAgZWMgPSBOT19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlI7
CisgICAgICAgIHJldHVybiBmcmFnbWVudDsKKyAgICB9CisKKyAgICBmcmFnbWVudCA9IERvY3Vt
ZW50RnJhZ21lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CisgICAgaWYgKGRvY3VtZW50LT5pc0hUTUxE
b2N1bWVudCgpKSB7CisgICAgICAgIGZyYWdtZW50LT5wYXJzZUhUTUwobWFya3VwLCBjb250ZXh0
RWxlbWVudCk7CisgICAgICAgIHJldHVybiBmcmFnbWVudDsKKyAgICB9CisKKyAgICBib29sIHdh
c1ZhbGlkID0gZnJhZ21lbnQtPnBhcnNlWE1MKG1hcmt1cCwgY29udGV4dEVsZW1lbnQpOworICAg
IGlmICghd2FzVmFsaWQpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAg
ICAgcmV0dXJuIDA7CisgICAgfQorICAgIHJldHVybiBmcmFnbWVudDsKK30KKwogdm9pZCBIVE1M
RWxlbWVudDo6c2V0SW5uZXJIVE1MKGNvbnN0IFN0cmluZyYgaHRtbCwgRXhjZXB0aW9uQ29kZSYg
ZWMpCiB7CiAgICAgLy8gRklYTUU6IFRoaXMgY29kZSBjYW4gYmUgcmVtb3ZlZCwgaXQncyBoYW5k
bGVkIGJ5IHRoZSBIVE1MRG9jdW1lbnRQYXJzZXIgY29ycmVjdGx5LgotICAgIGlmIChoYXNMb2Nh
bE5hbWUoc2NyaXB0VGFnKSB8fCBoYXNMb2NhbE5hbWUoc3R5bGVUYWcpKSB7CisgICAgaWYgKHVz
ZUxlZ2FjeVRyZWVCdWlsZGVyKGRvY3VtZW50KCkpICYmIChoYXNMb2NhbE5hbWUoc2NyaXB0VGFn
KSB8fCBoYXNMb2NhbE5hbWUoc3R5bGVUYWcpKSkgewogICAgICAgICAvLyBTY3JpcHQgYW5kIENT
UyBzb3VyY2Ugc2hvdWxkbid0IGJlIHBhcnNlZCBhcyBIVE1MLgogICAgICAgICByZW1vdmVDaGls
ZHJlbigpOwogICAgICAgICBhcHBlbmRDaGlsZChkb2N1bWVudCgpLT5jcmVhdGVUZXh0Tm9kZSho
dG1sKSwgZWMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUmVmUHRyPERvY3VtZW50
RnJhZ21lbnQ+IGZyYWdtZW50ID0gY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KGh0bWwpOwotICAg
IGlmICghZnJhZ21lbnQpIHsKLSAgICAgICAgZWMgPSBOT19NT0RJRklDQVRJT05fQUxMT1dFRF9F
UlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICByZXBsYWNlQ2hpbGRyZW5XaXRoRnJh
Z21lbnQodGhpcywgZnJhZ21lbnQucmVsZWFzZSgpLCBlYyk7CisgICAgUmVmUHRyPERvY3VtZW50
RnJhZ21lbnQ+IGZyYWdtZW50ID0gY3JlYXRlRnJhZ21lbnRGcm9tU291cmNlKGh0bWwsIHRoaXMs
IGVjKTsKKyAgICBpZiAoZnJhZ21lbnQpCisgICAgICAgIHJlcGxhY2VDaGlsZHJlbldpdGhGcmFn
bWVudCh0aGlzLCBmcmFnbWVudC5yZWxlYXNlKCksIGVjKTsKIH0KIAogdm9pZCBIVE1MRWxlbWVu
dDo6c2V0T3V0ZXJIVE1MKGNvbnN0IFN0cmluZyYgaHRtbCwgRXhjZXB0aW9uQ29kZSYgZWMpCkBA
IC0zNjcsMTcgKzM5MywxMyBAQCB2b2lkIEhUTUxFbGVtZW50OjpzZXRPdXRlckhUTUwoY29uc3Qg
U3RyaW5nJiBodG1sLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgZWMgPSBOT19NT0RJRklD
QVRJT05fQUxMT1dFRF9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KICAgICBIVE1MRWxl
bWVudCogcGFyZW50ID0gc3RhdGljX2Nhc3Q8SFRNTEVsZW1lbnQqPihwKTsKLSAgICBSZWZQdHI8
RG9jdW1lbnRGcmFnbWVudD4gZnJhZ21lbnQgPSBwYXJlbnQtPmNyZWF0ZUNvbnRleHR1YWxGcmFn
bWVudChodG1sKTsKLSAgICBpZiAoIWZyYWdtZW50KSB7Ci0gICAgICAgIGVjID0gTk9fTU9ESUZJ
Q0FUSU9OX0FMTE9XRURfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gRklY
TUU6IFdoeSBkb2Vzbid0IHRoaXMgaGF2ZSBjb2RlIHRvIG1lcmdlIG5laWdoYm9yaW5nIHRleHQg
bm9kZXMgdGhlIHdheSBzZXRPdXRlclRleHQgZG9lcz8KIAotICAgIHBhcmVudC0+cmVwbGFjZUNo
aWxkKGZyYWdtZW50LnJlbGVhc2UoKSwgdGhpcywgZWMpOworICAgIFJlZlB0cjxEb2N1bWVudEZy
YWdtZW50PiBmcmFnbWVudCA9IGNyZWF0ZUZyYWdtZW50RnJvbVNvdXJjZShodG1sLCBwYXJlbnQs
IGVjKTsKKyAgICBpZiAoZnJhZ21lbnQpIHsKKyAgICAgICAgLy8gRklYTUU6IFdoeSBkb2Vzbid0
IHRoaXMgaGF2ZSBjb2RlIHRvIG1lcmdlIG5laWdoYm9yaW5nIHRleHQgbm9kZXMgdGhlIHdheSBz
ZXRPdXRlclRleHQgZG9lcz8KKyAgICAgICAgcGFyZW50LT5yZXBsYWNlQ2hpbGQoZnJhZ21lbnQu
cmVsZWFzZSgpLCB0aGlzLCBlYyk7CisgICAgfQogfQogCiB2b2lkIEhUTUxFbGVtZW50OjpzZXRJ
bm5lclRleHQoY29uc3QgU3RyaW5nJiB0ZXh0LCBFeGNlcHRpb25Db2RlJiBlYykKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50
LmgKaW5kZXggMDM0NDljOTg1YWUwNDI3NTU1MWQ3ODFkZDIwZmRkYzY0OWFlYzE3Mi4uOGY1NGQz
ZWIwNTAzODZiOGQ5MmQwZTdjZTE1ZTViNGEwZjUwYTVhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL0hUTUxFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKQEAgLTQ2
LDcgKzQ2LDggQEAgcHVibGljOgogCiAgICAgU3RyaW5nIGlubmVySFRNTCgpIGNvbnN0OwogICAg
IFN0cmluZyBvdXRlckhUTUwoKSBjb25zdDsKLSAgICBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21l
bnQ+IGNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChjb25zdCBTdHJpbmcmLCBGcmFnbWVudFNjcmlw
dGluZ1Blcm1pc3Npb24gPSBGcmFnbWVudFNjcmlwdGluZ0FsbG93ZWQpOworICAgIC8vIGRlcHJl
Y2F0ZWRDcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQgbG9naWMgc2hvdWxkIGJlIG1vdmVkIGludG8g
UmFuZ2U6OmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudAorICAgIFBhc3NSZWZQdHI8RG9jdW1lbnRG
cmFnbWVudD4gZGVwcmVjYXRlZENyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChjb25zdCBTdHJpbmcm
LCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24gPSBGcmFnbWVudFNjcmlwdGluZ0FsbG93ZWQp
OwogICAgIHZvaWQgc2V0SW5uZXJIVE1MKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsK
ICAgICB2b2lkIHNldE91dGVySFRNTChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CiAg
ICAgdm9pZCBzZXRJbm5lclRleHQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>