<?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>45565</bug_id>
          
          <creation_ts>2010-09-10 14:24:32 -0700</creation_ts>
          <short_desc>URIs in styles created via innerHTML are not resolved against the document&apos;s base URI</short_desc>
          <delta_ts>2010-09-11 02:00:25 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihai Parparita">mihaip</reporter>
          <assigned_to name="Mihai Parparita">mihaip</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>277430</commentid>
    <comment_count>0</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-10 14:24:32 -0700</bug_when>
    <thetext>URIs in styles created via innerHTML are not resolved against the document&apos;s base URI</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277436</commentid>
    <comment_count>1</comment_count>
      <attachid>67241</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-10 14:27:03 -0700</bug_when>
    <thetext>Created attachment 67241
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277437</commentid>
    <comment_count>2</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-10 14:29:38 -0700</bug_when>
    <thetext>Note that this only affects Chromium right now since GoogleURL canonicalizes after resolving (previously against an empty URL), while KURL leaves the partial URL alone, so it would get re-resolved correctly once the nodes were moved from the fragment&apos;s dummy document into the real document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277441</commentid>
    <comment_count>3</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-10 14:32:03 -0700</bug_when>
    <thetext>Adam, can you review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277443</commentid>
    <comment_count>4</comment_count>
      <attachid>67241</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-10 14:40:39 -0700</bug_when>
    <thetext>Comment on attachment 67241
Patch

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

&gt; WebCore/html/parser/HTMLTreeBuilder.cpp:405
&gt; -    : m_dummyDocumentForFragmentParsing(HTMLDocument::create(0, KURL()))
&gt; +    : m_dummyDocumentForFragmentParsing(HTMLDocument::create(0, fragment-&gt;document()-&gt;baseURI()))
You don&apos;t want to set the URL of the dummy document to the baseURL.  That&apos;s a potential security vulnerability (since the base URL can be anything the document wants).  It&apos;s probably harmless right now, but it&apos;s pretty dangerous.  Instead, we want set the baseURL of the m_dummyDocumentForFragmentParsing after we construct it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277507</commentid>
    <comment_count>5</comment_count>
      <attachid>67256</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-10 16:13:32 -0700</bug_when>
    <thetext>Created attachment 67256
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277510</commentid>
    <comment_count>6</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-10 16:14:36 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; You don&apos;t want to set the URL of the dummy document to the baseURL.  That&apos;s a potential security vulnerability (since the base URL can be anything the document wants).  It&apos;s probably harmless right now, but it&apos;s pretty dangerous.  Instead, we want set the baseURL of the m_dummyDocumentForFragmentParsing after we construct it.

As discussed over IRC, no setter for the baseURI is exposed (and we probably don&apos;t want to have one). Added a basURI constructor parameter to (HTML)Document instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277513</commentid>
    <comment_count>7</comment_count>
      <attachid>67256</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-10 16:16:38 -0700</bug_when>
    <thetext>Comment on attachment 67256
Patch

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

&gt; WebCore/html/HTMLElement.cpp:-272
&gt; -static bool useLegacyTreeBuilder(Document*)
&gt; -{
&gt; -    return false;
&gt; -}
This patch is good, but it should be separate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277692</commentid>
    <comment_count>8</comment_count>
      <attachid>67256</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-11 02:00:20 -0700</bug_when>
    <thetext>Comment on attachment 67256
Patch

Clearing flags on attachment: 67256

Committed r67292: &lt;http://trac.webkit.org/changeset/67292&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277693</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-11 02:00:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67241</attachid>
            <date>2010-09-10 14:27:03 -0700</date>
            <delta_ts>2010-09-10 16:13:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45565-20100910142702.patch</filename>
            <type>text/plain</type>
            <size>4598</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjZjBiMzZkNDAwZWI2YWY4ZTgwMmI3MTBhYmI4ZTgwZTljZmI3M2Q3Li5kNTA1ZTMw
MWNkZDZlMWY5MmFkYWVlN2MwZjZjZjAyODA1MjhlZjA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTAtMDktMTAgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVVJJcyBpbiBzdHls
ZXMgY3JlYXRlZCB2aWEgaW5uZXJIVE1MIGFyZSBub3QgcmVzb2x2ZWQgYWdhaW5zdCB0aGUgZG9j
dW1lbnQncyBiYXNlIFVSSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDU1NjUKKworICAgICAgICBBZGQgdGVzdCB0byByZWFkIGJhY2sgdGhlIGJhY2tn
cm91bmQgaW1hZ2UgVVJMIGZyb20gYW4gZWxlbWVudCB0aGF0IHdhcworICAgICAgICBjcmVhdGVk
IHZpYSBpbm5lckhUTUwgKHJlZHVjdGlvbiBvZiBodHRwOi8vY3JidWcuY29tLzU1MDIzKS4KKwor
ICAgICAgICAqIGZhc3QvaW5uZXJIVE1ML2lubmVySFRNTC11cmktcmVzb2x1dGlvbi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaW5uZXJIVE1ML2lubmVySFRNTC11cmktcmVz
b2x1dGlvbi5odG1sOiBBZGRlZC4KKwogMjAxMC0wOS0xMCAgQWRhbSBSb2JlbiAgPGFyb2JlbkBh
cHBsZS5jb20+CiAKICAgICAgICAgTGFuZCBuZXcgZXhwZWN0ZWQgcmVzdWx0cyBmb3Igc29tZSB0
ZXN0cyBvbiBXaW5kb3dzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2lubmVySFRNTC9p
bm5lckhUTUwtdXJpLXJlc29sdXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9p
bm5lckhUTUwvaW5uZXJIVE1MLXVyaS1yZXNvbHV0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41MDVmNDM2MGIxOGYzNTQwZDhlOWE2NDQ1ODJhZjNlMjg4Yzk5ZGNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbm5lckhUTUwvaW5uZXJIVE1MLXVyaS1yZXNvbHV0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitDaGVja3MgdGhhdCBVUklzIHVzZWQgaW4g
c3R5bGVzIHRoYXQgYXJlIHNldCB2aWEgaW5uZXJIVE1MIGFyZSByZXNvbHZlZCBhZ2FpbnN0IHRo
ZSBjdXJyZW50IGRvY3VtZW50J3MgYmFzZSBVUkkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIGNzc1VyaVdhc1Jlc29sdmVkQWdhaW5zdERvY3VtZW50VXJpIGlzIHRydWUK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2lubmVySFRNTC9pbm5lckhUTUwtdXJpLXJlc29sdXRp
b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW5uZXJIVE1ML2lubmVySFRNTC11cmktcmVzb2x1
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1YWU2OGY1NWNlMWIxM2VmYTVlNWM2ODY0ZTYzYWFjZTI3
ZDM4NTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2lubmVySFRNTC9pbm5l
ckhUTUwtdXJpLXJlc29sdXRpb24uaHRtbApAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+PC9kaXY+Cis8c2NyaXB0PgorICBkZXNjcmlwdGlvbignQ2hlY2tzIHRoYXQgVVJJcyB1c2Vk
IGluIHN0eWxlcyB0aGF0IGFyZSBzZXQgdmlhIGlubmVySFRNTCBhcmUgcmVzb2x2ZWQgYWdhaW5z
dCB0aGUgY3VycmVudCBkb2N1bWVudFwncyBiYXNlIFVSSS4nKTsKKyAgCisgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdjb250YWluZXInKS5pbm5lckhUTUwgPSAKKyAgICAgICc8c3BhbiBpZD0i
dGVzdC1zcGFuIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlLnBuZykiPjwvc3Bh
bj4nOworICAKKyAgdmFyIGN1cnJlbnRVcmkgPSBkb2N1bWVudC5sb2NhdGlvbi5ocmVmOworICB2
YXIgY3VycmVudFBhdGggPSBjdXJyZW50VXJpLnN1YnN0cmluZygwLCBjdXJyZW50VXJpLmxhc3RJ
bmRleE9mKCcvJykpOworICB2YXIgY3NzVXJpV2FzUmVzb2x2ZWRBZ2FpbnN0RG9jdW1lbnRVcmkg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdC1zcGFuIikuc3R5bGUuYmFja2dyb3VuZElt
YWdlID09ICd1cmwoJyArIGN1cnJlbnRQYXRoICsgJy9pbWFnZS5wbmcpJzsKKyAgCisgIHNob3Vs
ZEJlVHJ1ZSgnY3NzVXJpV2FzUmVzb2x2ZWRBZ2FpbnN0RG9jdW1lbnRVcmknKTsKKworICB2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmUzOTVjZTQ2YmJkNGIxY2Q0MTQyMDJjMTk2Yjlj
NDQ2MDNlN2VmYi4uNmRkZWNjYTM4Mjc5ZDVmMTg1MTIwODcwMjA2YzgwYjkxOWE2YmJlZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxMC0wOS0xMCAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBV
UklzIGluIHN0eWxlcyBjcmVhdGVkIHZpYSBpbm5lckhUTUwgYXJlIG5vdCByZXNvbHZlZCBhZ2Fp
bnN0IHRoZSBkb2N1bWVudCdzIGJhc2UgVVJJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00NTU2NQorCisgICAgICAgIFRoZSBkdW1teSBkb2N1bWVudCB1
c2VkIGZvciBmcmFnbWVudCBwYXJzaW5nIGNyZWF0ZWQgYnkgRnJhZ21lbnRQYXJzaW5nQ29udGV4
dCBzaG91bGQKKyAgICAgICAgdXNlIHRoZSBiYXNlIFVSSSBvZiB0aGUgZnJhZ21lbnQncyBkb2N1
bWVudC4KKworICAgICAgICBUZXN0OiBmYXN0L2lubmVySFRNTC9pbm5lckhUTUwtdXJpLXJlc29s
dXRpb24uaHRtbAorCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6RnJhZ21lbnRQYXJzaW5nQ29udGV4
dDo6RnJhZ21lbnRQYXJzaW5nQ29udGV4dCk6CisKIDIwMTAtMDktMTAgIFBhdHJpY2sgR2Fuc3Rl
cmVyICA8cGFyb2dhQHBhcm9nYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAg
Yi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5kZXggNDA2YmI2Yzli
ODc5NjIyZTg2ZmYxY2ZjYmQxYjI2OTk2ODQ1NWZhYi4uYWFlOTgxM2M1NGE4MzM0Y2M3ZWY3MTA3
MzhhNDQxZDZkY2U5MzY1YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJl
ZUJ1aWxkZXIuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNw
cApAQCAtNDAyLDcgKzQwMiw3IEBAIEhUTUxUcmVlQnVpbGRlcjo6RnJhZ21lbnRQYXJzaW5nQ29u
dGV4dDo6RnJhZ21lbnRQYXJzaW5nQ29udGV4dCgpCiB9CiAKIEhUTUxUcmVlQnVpbGRlcjo6RnJh
Z21lbnRQYXJzaW5nQ29udGV4dDo6RnJhZ21lbnRQYXJzaW5nQ29udGV4dChEb2N1bWVudEZyYWdt
ZW50KiBmcmFnbWVudCwgRWxlbWVudCogY29udGV4dEVsZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbiBzY3JpcHRpbmdQZXJtaXNzaW9uKQotICAgIDogbV9kdW1teURvY3VtZW50Rm9y
RnJhZ21lbnRQYXJzaW5nKEhUTUxEb2N1bWVudDo6Y3JlYXRlKDAsIEtVUkwoKSkpCisgICAgOiBt
X2R1bW15RG9jdW1lbnRGb3JGcmFnbWVudFBhcnNpbmcoSFRNTERvY3VtZW50OjpjcmVhdGUoMCwg
ZnJhZ21lbnQtPmRvY3VtZW50KCktPmJhc2VVUkkoKSkpCiAgICAgLCBtX2ZyYWdtZW50KGZyYWdt
ZW50KQogICAgICwgbV9jb250ZXh0RWxlbWVudChjb250ZXh0RWxlbWVudCkKICAgICAsIG1fc2Ny
aXB0aW5nUGVybWlzc2lvbihzY3JpcHRpbmdQZXJtaXNzaW9uKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67256</attachid>
            <date>2010-09-10 16:13:32 -0700</date>
            <delta_ts>2010-09-11 02:00:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45565-20100910161330.patch</filename>
            <type>text/plain</type>
            <size>10449</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjZjBiMzZkNDAwZWI2YWY4ZTgwMmI3MTBhYmI4ZTgwZTljZmI3M2Q3Li5kNTA1ZTMw
MWNkZDZlMWY5MmFkYWVlN2MwZjZjZjAyODA1MjhlZjA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTAtMDktMTAgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVVJJcyBpbiBzdHls
ZXMgY3JlYXRlZCB2aWEgaW5uZXJIVE1MIGFyZSBub3QgcmVzb2x2ZWQgYWdhaW5zdCB0aGUgZG9j
dW1lbnQncyBiYXNlIFVSSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDU1NjUKKworICAgICAgICBBZGQgdGVzdCB0byByZWFkIGJhY2sgdGhlIGJhY2tn
cm91bmQgaW1hZ2UgVVJMIGZyb20gYW4gZWxlbWVudCB0aGF0IHdhcworICAgICAgICBjcmVhdGVk
IHZpYSBpbm5lckhUTUwgKHJlZHVjdGlvbiBvZiBodHRwOi8vY3JidWcuY29tLzU1MDIzKS4KKwor
ICAgICAgICAqIGZhc3QvaW5uZXJIVE1ML2lubmVySFRNTC11cmktcmVzb2x1dGlvbi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaW5uZXJIVE1ML2lubmVySFRNTC11cmktcmVz
b2x1dGlvbi5odG1sOiBBZGRlZC4KKwogMjAxMC0wOS0xMCAgQWRhbSBSb2JlbiAgPGFyb2JlbkBh
cHBsZS5jb20+CiAKICAgICAgICAgTGFuZCBuZXcgZXhwZWN0ZWQgcmVzdWx0cyBmb3Igc29tZSB0
ZXN0cyBvbiBXaW5kb3dzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2lubmVySFRNTC9p
bm5lckhUTUwtdXJpLXJlc29sdXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9p
bm5lckhUTUwvaW5uZXJIVE1MLXVyaS1yZXNvbHV0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41MDVmNDM2MGIxOGYzNTQwZDhlOWE2NDQ1ODJhZjNlMjg4Yzk5ZGNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbm5lckhUTUwvaW5uZXJIVE1MLXVyaS1yZXNvbHV0aW9u
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitDaGVja3MgdGhhdCBVUklzIHVzZWQgaW4g
c3R5bGVzIHRoYXQgYXJlIHNldCB2aWEgaW5uZXJIVE1MIGFyZSByZXNvbHZlZCBhZ2FpbnN0IHRo
ZSBjdXJyZW50IGRvY3VtZW50J3MgYmFzZSBVUkkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIGNzc1VyaVdhc1Jlc29sdmVkQWdhaW5zdERvY3VtZW50VXJpIGlzIHRydWUK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2lubmVySFRNTC9pbm5lckhUTUwtdXJpLXJlc29sdXRp
b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW5uZXJIVE1ML2lubmVySFRNTC11cmktcmVzb2x1
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2YzVkYzExMjQ3MzBmMGNiZjU1YmQwYTdjYWIyOGJlYTM1
NmU3ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2lubmVySFRNTC9pbm5l
ckhUTUwtdXJpLXJlc29sdXRpb24uaHRtbApAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+PC9kaXY+Cis8c2NyaXB0PgorICBkZXNjcmlwdGlvbignQ2hlY2tzIHRoYXQgVVJJcyB1c2Vk
IGluIHN0eWxlcyB0aGF0IGFyZSBzZXQgdmlhIGlubmVySFRNTCBhcmUgcmVzb2x2ZWQgYWdhaW5z
dCB0aGUgY3VycmVudCBkb2N1bWVudFwncyBiYXNlIFVSSS4nKTsKKyAgCisgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdjb250YWluZXInKS5pbm5lckhUTUwgPSAKKyAgICAgICc8c3BhbiBpZD0i
dGVzdC1zcGFuIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlLnBuZykiPjwvc3Bh
bj4nOworICAKKyAgdmFyIGN1cnJlbnRVcmkgPSBkb2N1bWVudC5sb2NhdGlvbi5ocmVmOworICB2
YXIgY3VycmVudFBhdGggPSBjdXJyZW50VXJpLnN1YnN0cmluZygwLCBjdXJyZW50VXJpLmxhc3RJ
bmRleE9mKCcvJykpOworICB2YXIgY3NzVXJpV2FzUmVzb2x2ZWRBZ2FpbnN0RG9jdW1lbnRVcmkg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdC1zcGFuIikuc3R5bGUuYmFja2dyb3VuZElt
YWdlID09ICd1cmwoJyArIGN1cnJlbnRQYXRoICsgJy9pbWFnZS5wbmcpJzsKKyAgCisgIC8vIENh
bid0IGxvZyB0aGUgYWN0dWFsIHBhdGggc2luY2UgaXQncyBkaWZmZXJlbnQgZGVwZW5kaW5nIG9u
IHdoZXJlIHRoZSB0ZXN0IGlzIHJ1bi4KKyAgc2hvdWxkQmVUcnVlKCdjc3NVcmlXYXNSZXNvbHZl
ZEFnYWluc3REb2N1bWVudFVyaScpOworCisgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBiZTM5NWNlNDZiYmQ0YjFjZDQxNDIwMmMxOTZiOWM0NDYwM2U3ZWZiLi5lZWYzMTMxMGU1MmE0
Yzg1ZDdiMjUxNDRkZDk3ZjFmNDFmNWJjNWM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEwLTA5LTEwICBN
aWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVSSXMgaW4gc3R5bGVzIGNyZWF0ZWQgdmlh
IGlubmVySFRNTCBhcmUgbm90IHJlc29sdmVkIGFnYWluc3QgdGhlIGRvY3VtZW50J3MgYmFzZSBV
UkkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NTY1
CisKKyAgICAgICAgVGhlIGR1bW15IGRvY3VtZW50IHVzZWQgZm9yIGZyYWdtZW50IHBhcnNpbmcg
Y3JlYXRlZCBieSAKKyAgICAgICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCBzaG91bGQgdXNlIHRo
ZSBiYXNlIFVSSSBvZiB0aGUgZnJhZ21lbnQncworICAgICAgICBkb2N1bWVudC4gU2luY2UgKEhU
TUwpRG9jdW1lbnQgZG9lc24ndCBleHBvc2UgYSBzZXR0ZXIgZm9yIHRoZSBiYXNlIFVSSQorICAg
ICAgICAoYW5kIHNob3VsZG4ndCksIHdlIGFsbG93IGl0IHRvIGJlIHNldCBieSB0aGUgY29uc3Ry
dWN0b3IvY3JlYXRlCisgICAgICAgIGZ1bmN0aW9uLgorICAgICAgICAKKyAgICAgICAgQWxzbyBy
ZW1vdmUgc29tZSBvYnNvbGV0ZSBjb2RlIHRoYXQgcmVmZXJlbmNlcyB0aGUgbGVnYWN5IHRyZWUg
YnVpbGRlcgorICAgICAgICBmcm9tIEhUTUxFbGVtZW50IHRoYXQgSSBoYXBwZW5lZCB0byBub3Rp
Y2UuCisKKyAgICAgICAgVGVzdDogZmFzdC9pbm5lckhUTUwvaW5uZXJIVE1MLXVyaS1yZXNvbHV0
aW9uLmh0bWwKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6RG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAg
ICAqIGh0bWwvSFRNTERvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVu
dDo6SFRNTERvY3VtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxEb2N1bWVudC5oOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTERvY3VtZW50OjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvSFRNTEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRnJhZ21lbnRGcm9tU291cmNlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50OjpzZXRJbm5lckhUTUwpOgorICAgICAgICAq
IGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
VHJlZUJ1aWxkZXI6OkZyYWdtZW50UGFyc2luZ0NvbnRleHQ6OkZyYWdtZW50UGFyc2luZ0NvbnRl
eHQpOgorCiAyMDEwLTA5LTEwICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDFjM2Nj
MWM3MGYwZDc4NmRjMjY4MjJiMWY4MmE0ZWI0YjI1YjgxYWIuLjdjM2M0NDRkYzBlYzA4ZDc0MzM2
OWYyNTViYmQ0Mzk1OWVmMzdiNDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTM1MSw3ICszNTEsNyBAQCBwcml2
YXRlOgogICAgIERvY3VtZW50KiBtX2RvY3VtZW50OwogfTsKIAotRG9jdW1lbnQ6OkRvY3VtZW50
KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYgdXJsLCBib29sIGlzWEhUTUwsIGJvb2wgaXNIVE1M
KQorRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYgdXJsLCBib29s
IGlzWEhUTUwsIGJvb2wgaXNIVE1MLCBjb25zdCBLVVJMJiBiYXNlVVJMKQogICAgIDogQ29udGFp
bmVyTm9kZSgwKQogICAgICwgbV9jb21wYXRpYmlsaXR5TW9kZShOb1F1aXJrc01vZGUpCiAgICAg
LCBtX2NvbXBhdGliaWxpdHlNb2RlTG9ja2VkKGZhbHNlKQpAQCAtNDIxLDYgKzQyMSwxMSBAQCBE
b2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNY
SFRNTCwgYm9vbCBpc0hUTUwpCiAgICAgaWYgKGZyYW1lIHx8ICF1cmwuaXNFbXB0eSgpKQogICAg
ICAgICBzZXRVUkwodXJsKTsKIAorICAgIC8vIFNldHRpbmcgb2YgbV9iYXNlVVJMIG5lZWRzIHRv
IGhhcHBlbiBhZnRlciB0aGUgc2V0VVJMIGNhbGwsIHNpbmNlIHRoYXQKKyAgICAvLyBjYWxscyB1
cGRhdGVCYXNlVVJMLCB3aGljaCB3b3VsZCBjbG9iYmVyIHRoZSBwYXNzZWQgaW4gdmFsdWUuCisg
ICAgaWYgKCFiYXNlVVJMLmlzTnVsbCgpKQorICAgICAgICBtX2Jhc2VVUkwgPSBiYXNlVVJMOwor
CiAgICAgbV9heE9iamVjdENhY2hlID0gMDsKIAogICAgIG1fbWFya2VycyA9IG5ldyBEb2N1bWVu
dE1hcmtlckNvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmgg
Yi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGRjN2Q5ZThkOWU0N2E2MmEwNWZjNDU5ZTRj
MjBlZTE1MGNhN2E0YjYuLjFhZGM0YjBjYTU4NTk0NzUxM2VhY2FkNDBhNDMxODUwYWVkNTU2MmEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaApAQCAtMTAyNSw3ICsxMDI1LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNEZWxheWlu
Z0xvYWRFdmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZEV2ZW50RGVsYXlDb3VudDsgfQogCiBw
cm90ZWN0ZWQ6Ci0gICAgRG9jdW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJiwgYm9vbCBpc1hIVE1M
LCBib29sIGlzSFRNTCk7CisgICAgRG9jdW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJiB1cmwsIGJv
b2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwsIGNvbnN0IEtVUkwmIGJhc2VVUkwgPSBLVVJMKCkpOwog
CiAgICAgdm9pZCBjbGVhclhNTFZlcnNpb24oKSB7IG1feG1sVmVyc2lvbiA9IFN0cmluZygpOyB9
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9o
dG1sL0hUTUxEb2N1bWVudC5jcHAKaW5kZXggZDY4YThjY2VlYmUxMTY0MGNmMTE4MDMwMWMwZTRm
YjM2MWJiYTMwMC4uYjVlOTc2ZDcxZWUwMWE5N2M4MTNmOTY3NTE3MjhkMjlmMzlmOTAwMSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1s
L0hUTUxEb2N1bWVudC5jcHAKQEAgLTgwLDggKzgwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1IVE1MRG9jdW1lbnQ6OkhUTUxEb2N1bWVu
dChGcmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCkKLSAgICA6IERvY3VtZW50KGZyYW1lLCB1
cmwsIGZhbHNlLCB0cnVlKQorSFRNTERvY3VtZW50OjpIVE1MRG9jdW1lbnQoRnJhbWUqIGZyYW1l
LCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IEtVUkwmIGJhc2VVUkwpCisgICAgOiBEb2N1bWVudChm
cmFtZSwgdXJsLCBmYWxzZSwgdHJ1ZSwgYmFzZVVSTCkKIHsKICAgICBjbGVhclhNTFZlcnNpb24o
KTsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuaCBiL1dlYkNvcmUv
aHRtbC9IVE1MRG9jdW1lbnQuaAppbmRleCA1ZGJlNjI3MjdlZTI2MjgzMTgzNDQ5MmIyZGIxYmQ3
M2VjNGRlZGRiLi4xMmRlZWUyNTMwM2QyN2FlMDg5MDliZmEwZTYyNzYxZGViMjkwY2RjIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hU
TUxEb2N1bWVudC5oCkBAIC0zNSw5ICszNSw5IEBAIGNsYXNzIEhUTUxFbGVtZW50OwogCiBjbGFz
cyBIVE1MRG9jdW1lbnQgOiBwdWJsaWMgRG9jdW1lbnQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50PiBjcmVh
dGUoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8
SFRNTERvY3VtZW50PiBjcmVhdGUoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0
IEtVUkwmIGJhc2VVUkwgPSBLVVJMKCkpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IEhUTUxEb2N1bWVudChmcmFtZSwgdXJsKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgSFRNTERvY3VtZW50KGZyYW1lLCB1cmwsIGJhc2VVUkwpKTsKICAgICB9CiAgICAgdmlydHVh
bCB+SFRNTERvY3VtZW50KCk7CiAKQEAgLTgxLDcgKzgxLDcgQEAgcHVibGljOgogICAgIGJvb2wg
aGFzRXh0cmFOYW1lZEl0ZW0oQXRvbWljU3RyaW5nSW1wbCogbmFtZSk7CiAKIHByb3RlY3RlZDoK
LSAgICBIVE1MRG9jdW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJik7CisgICAgSFRNTERvY3VtZW50
KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBLVVJMJiBiYXNlVVJMID0gS1VS
TCgpKTsKIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRl
RWxlbWVudChjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUsIEV4Y2VwdGlvbkNvZGUmKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRN
TEVsZW1lbnQuY3BwCmluZGV4IDA4NjIxMzBkNmYzZGQyMzAxOWI5MzdhYzc5ODJiM2U5NzFlOGNj
MGMuLjI4YjRiOTA2YTA1NzYwMjZkZGIwYzg0ZjIzY2IxNmM2OGMzMmYyNTQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVt
ZW50LmNwcApAQCAtMjY2LDExICsyNjYsNiBAQCBTdHJpbmcgSFRNTEVsZW1lbnQ6Om91dGVySFRN
TCgpIGNvbnN0CiAgICAgcmV0dXJuIGNyZWF0ZU1hcmt1cCh0aGlzKTsKIH0KIAotc3RhdGljIGJv
b2wgdXNlTGVnYWN5VHJlZUJ1aWxkZXIoRG9jdW1lbnQqKQotewotICAgIHJldHVybiBmYWxzZTsK
LX0KLQogLy8gRklYTUU6IFRoaXMgbG9naWMgc2hvdWxkIG1vdmUgaW50byBSYW5nZTo6Y3JlYXRl
Q29udGV4dHVhbEZyYWdtZW50CiBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IEhUTUxFbGVt
ZW50OjpkZXByZWNhdGVkQ3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KGNvbnN0IFN0cmluZyYgbWFy
a3VwLCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24gc2NyaXB0aW5nUGVybWlzc2lvbikKIHsK
QEAgLTM0MSwxMyArMzM2LDYgQEAgc3RhdGljIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4g
Y3JlYXRlRnJhZ21lbnRGcm9tU291cmNlKGNvbnN0IFN0cmluZyYgbWFya3UKICAgICBEb2N1bWVu
dCogZG9jdW1lbnQgPSBjb250ZXh0RWxlbWVudC0+ZG9jdW1lbnQoKTsKICAgICBSZWZQdHI8RG9j
dW1lbnRGcmFnbWVudD4gZnJhZ21lbnQ7CiAKLSAgICBpZiAodXNlTGVnYWN5VHJlZUJ1aWxkZXIo
ZG9jdW1lbnQpKSB7Ci0gICAgICAgIGZyYWdtZW50ID0gY29udGV4dEVsZW1lbnQtPmRlcHJlY2F0
ZWRDcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQobWFya3VwKTsKLSAgICAgICAgaWYgKCFmcmFnbWVu
dCkKLSAgICAgICAgICAgIGVjID0gTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSOwotICAgICAg
ICByZXR1cm4gZnJhZ21lbnQ7Ci0gICAgfQotCiAgICAgZnJhZ21lbnQgPSBEb2N1bWVudEZyYWdt
ZW50OjpjcmVhdGUoZG9jdW1lbnQpOwogICAgIGlmIChkb2N1bWVudC0+aXNIVE1MRG9jdW1lbnQo
KSkgewogICAgICAgICBmcmFnbWVudC0+cGFyc2VIVE1MKG1hcmt1cCwgY29udGV4dEVsZW1lbnQp
OwpAQCAtMzY0LDE0ICszNTIsNiBAQCBzdGF0aWMgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50
PiBjcmVhdGVGcmFnbWVudEZyb21Tb3VyY2UoY29uc3QgU3RyaW5nJiBtYXJrdQogCiB2b2lkIEhU
TUxFbGVtZW50OjpzZXRJbm5lckhUTUwoY29uc3QgU3RyaW5nJiBodG1sLCBFeGNlcHRpb25Db2Rl
JiBlYykKIHsKLSAgICAvLyBGSVhNRTogVGhpcyBjb2RlIGNhbiBiZSByZW1vdmVkLCBpdCdzIGhh
bmRsZWQgYnkgdGhlIEhUTUxEb2N1bWVudFBhcnNlciBjb3JyZWN0bHkuCi0gICAgaWYgKHVzZUxl
Z2FjeVRyZWVCdWlsZGVyKGRvY3VtZW50KCkpICYmIChoYXNMb2NhbE5hbWUoc2NyaXB0VGFnKSB8
fCBoYXNMb2NhbE5hbWUoc3R5bGVUYWcpKSkgewotICAgICAgICAvLyBTY3JpcHQgYW5kIENTUyBz
b3VyY2Ugc2hvdWxkbid0IGJlIHBhcnNlZCBhcyBIVE1MLgotICAgICAgICByZW1vdmVDaGlsZHJl
bigpOwotICAgICAgICBhcHBlbmRDaGlsZChkb2N1bWVudCgpLT5jcmVhdGVUZXh0Tm9kZShodG1s
KSwgZWMpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgUmVmUHRyPERvY3VtZW50RnJh
Z21lbnQ+IGZyYWdtZW50ID0gY3JlYXRlRnJhZ21lbnRGcm9tU291cmNlKGh0bWwsIHRoaXMsIGVj
KTsKICAgICBpZiAoZnJhZ21lbnQpCiAgICAgICAgIHJlcGxhY2VDaGlsZHJlbldpdGhGcmFnbWVu
dCh0aGlzLCBmcmFnbWVudC5yZWxlYXNlKCksIGVjKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRy
ZWVCdWlsZGVyLmNwcAppbmRleCA0MDZiYjZjOWI4Nzk2MjJlODZmZjFjZmNiZDFiMjY5OTY4NDU1
ZmFiLi5jODdkNDk0MjRlMzJiMTZiNDEzZTc1MzhlMWMwZmI1NzU4MTBlMjM2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC00MDIsNyArNDAyLDcgQEAgSFRNTFRy
ZWVCdWlsZGVyOjpGcmFnbWVudFBhcnNpbmdDb250ZXh0OjpGcmFnbWVudFBhcnNpbmdDb250ZXh0
KCkKIH0KIAogSFRNTFRyZWVCdWlsZGVyOjpGcmFnbWVudFBhcnNpbmdDb250ZXh0OjpGcmFnbWVu
dFBhcnNpbmdDb250ZXh0KERvY3VtZW50RnJhZ21lbnQqIGZyYWdtZW50LCBFbGVtZW50KiBjb250
ZXh0RWxlbWVudCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uIHNjcmlwdGluZ1Blcm1pc3Np
b24pCi0gICAgOiBtX2R1bW15RG9jdW1lbnRGb3JGcmFnbWVudFBhcnNpbmcoSFRNTERvY3VtZW50
OjpjcmVhdGUoMCwgS1VSTCgpKSkKKyAgICA6IG1fZHVtbXlEb2N1bWVudEZvckZyYWdtZW50UGFy
c2luZyhIVE1MRG9jdW1lbnQ6OmNyZWF0ZSgwLCBLVVJMKCksIGZyYWdtZW50LT5kb2N1bWVudCgp
LT5iYXNlVVJJKCkpKQogICAgICwgbV9mcmFnbWVudChmcmFnbWVudCkKICAgICAsIG1fY29udGV4
dEVsZW1lbnQoY29udGV4dEVsZW1lbnQpCiAgICAgLCBtX3NjcmlwdGluZ1Blcm1pc3Npb24oc2Ny
aXB0aW5nUGVybWlzc2lvbikK
</data>

          </attachment>
      

    </bug>

</bugzilla>