<?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>69353</bug_id>
          
          <creation_ts>2011-10-04 11:00:56 -0700</creation_ts>
          <short_desc>Add support for the CSP connect-src directive</short_desc>
          <delta_ts>2011-10-04 17:48:19 -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>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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>abarth</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>477749</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-10-04 11:00:56 -0700</bug_when>
    <thetext>Add support for the CSP connect-src directive</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477764</commentid>
    <comment_count>1</comment_count>
      <attachid>109653</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-10-04 11:09:46 -0700</bug_when>
    <thetext>Created attachment 109653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477777</commentid>
    <comment_count>2</comment_count>
      <attachid>109653</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-04 11:16:22 -0700</bug_when>
    <thetext>Comment on attachment 109653
Patch

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

This is a good first iteration, but it would be good to do a followup that handles redirects as well.

&gt; Source/WebCore/page/ContentSecurityPolicy.h:66
&gt; +    bool allowConnectFromSource(const KURL&amp;) const;

I would have called this &quot;allowConnectToSource&quot;

&gt; Source/WebCore/page/EventSource.cpp:95
&gt; +    if (!context-&gt;contentSecurityPolicy()-&gt;allowConnectFromSource(fullURL)) {
&gt; +        // FIXME: Should this be throwing an exception?
&gt; +        ec = SECURITY_ERR;
&gt; +        return 0;
&gt; +    }

What about redirects?

&gt; Source/WebCore/xml/XMLHttpRequest.cpp:434
&gt; +    if (!scriptExecutionContext()-&gt;contentSecurityPolicy()-&gt;allowConnectFromSource(url)) {
&gt; +        // FIXME: Should this be throwing an exception?
&gt; +        ec = SECURITY_ERR;
&gt; +        return;
&gt; +    }

Same question about redirects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477787</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-10-04 11:29:29 -0700</bug_when>
    <thetext>Committed r96621: &lt;http://trac.webkit.org/changeset/96621&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478093</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-10-04 17:48:19 -0700</bug_when>
    <thetext>*** Bug 63636 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109653</attachid>
            <date>2011-10-04 11:09:46 -0700</date>
            <delta_ts>2011-10-04 11:16:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69353-20111004110945.patch</filename>
            <type>text/plain</type>
            <size>18172</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2NjEzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTEtMTAtMDQgIFNhbSBXZWlu
aWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdGhlIENTUCBj
b25uZWN0LXNyYyBkaXJlY3RpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY5MzUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIENTUCBzdXBwb3J0IGZvciBYTUxIdHRwUmVxdWVzdCwgV2ViU29ja2V0
cyBhbmQgRXZlbnRTb3VyY2UuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLWV2ZW50c291cmNlLWFsbG93ZWQuaHRt
bAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvY29ubmVjdC1zcmMtZXZlbnRzb3VyY2UtYmxvY2tlZC5odG1sCisgICAgICAgICAgICAgICBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy13ZWJz
b2NrZXQtYWxsb3dlZC5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy13ZWJzb2NrZXQtYmxvY2tlZC5odG1sCisg
ICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9j
b25uZWN0LXNyYy14bWxodHRwcmVxdWVzdC1hbGxvd2VkLmh0bWwKKyAgICAgICAgICAgICAgIGh0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXhtbGh0
dHByZXF1ZXN0LWJsb2NrZWQuaHRtbAorCisgICAgICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQ
b2xpY3kuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxv
d0Nvbm5lY3RGcm9tU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBv
bGljeTo6YWRkRGlyZWN0aXZlKToKKyAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGlj
eS5oOgorICAgICAgICBBZGQgY29ubmVjdC1zcmMgZGlyZWN0aXZlIHBhcnNpbmcgYW5kIHByZWRp
Y2F0ZS4KKworICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRTb3VyY2U6OmNyZWF0ZSk6CisgICAgICAgICogd2Vic29ja2V0cy9XZWJTb2NrZXQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Ojpjb25uZWN0KToKKyAgICAgICAgKiB4
bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6
Om9wZW4pOgorICAgICAgICBUZXN0IGFsbG93Q29ubmVjdEZyb21Tb3VyY2Ugd2hlbiBlc3RhYmxp
c2hpbmcgYSBjb25uZWN0aW9uLgorCiAyMDExLTEwLTAzICBKb24gTGVlICA8am9ubGVlQGFwcGxl
LmNvbT4KIAogICAgICAgICBFeHRlbmQgRE9NIFdoZWVsRXZlbnQgdG8gZGlmZmVyZW50aWF0ZSBi
ZXR3ZWVuIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNjcm9sbCBkaXJlY3Rpb25zCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCShyZXZpc2lvbiA5
NjU2MykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjQ0LDYgKzY0NCwxMiBAQCBib29sIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6YWxsb3dNZWRpYUZyCiAgICAgcmV0dXJuIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0
aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX21lZGlhU3JjLmdldCgpKSwgdXJsLCB0eXBlKTsKIH0K
IAorYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93Q29ubmVjdEZyb21Tb3VyY2UoY29u
c3QgS1VSTCYgdXJsKSBjb25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCB0
eXBlLCAoImNvbm5lY3QiKSk7CisgICAgcmV0dXJuIGNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0
aW9uKG9wZXJhdGl2ZURpcmVjdGl2ZShtX2Nvbm5lY3RTcmMuZ2V0KCkpLCB1cmwsIHR5cGUpOwor
fQorCiAvLyBwb2xpY3kgICAgICAgICAgICA9IGRpcmVjdGl2ZS1saXN0CiAvLyBkaXJlY3RpdmUt
bGlzdCAgICA9IFsgZGlyZWN0aXZlICooICI7IiBbIGRpcmVjdGl2ZSBdICkgXQogLy8KQEAgLTc0
OCw2ICs3NTQsNyBAQCB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWRkRGlyZWN0aXZlCiAg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHN0eWxlU3JjLCAoInN0eWxlLXNyYyIpKTsK
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgZm9udFNyYywgKCJmb250LXNyYyIpKTsK
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgbWVkaWFTcmMsICgibWVkaWEtc3JjIikp
OworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25uZWN0U3JjLCAoImNvbm5lY3Qt
c3JjIikpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCByZXBvcnRVUkksICgicmVw
b3J0LXVyaSIpKTsKIAogICAgIEFTU0VSVCghbmFtZS5pc0VtcHR5KCkpOwpAQCAtNzY4LDYgKzc3
NSw4IEBAIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjphZGREaXJlY3RpdmUKICAgICAgICAg
bV9mb250U3JjID0gY3JlYXRlQ1NQRGlyZWN0aXZlKG5hbWUsIHZhbHVlKTsKICAgICBlbHNlIGlm
ICghbV9tZWRpYVNyYyAmJiBlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCBtZWRpYVNyYykpCiAgICAg
ICAgIG1fbWVkaWFTcmMgPSBjcmVhdGVDU1BEaXJlY3RpdmUobmFtZSwgdmFsdWUpOworICAgIGVs
c2UgaWYgKCFtX2Nvbm5lY3RTcmMgJiYgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgY29ubmVjdFNy
YykpCisgICAgICAgIG1fY29ubmVjdFNyYyA9IGNyZWF0ZUNTUERpcmVjdGl2ZShuYW1lLCB2YWx1
ZSk7CiAgICAgZWxzZSBpZiAobV9yZXBvcnRVUkxzLmlzRW1wdHkoKSAmJiBlcXVhbElnbm9yaW5n
Q2FzZShuYW1lLCByZXBvcnRVUkkpKQogICAgICAgICBwYXJzZVJlcG9ydFVSSSh2YWx1ZSk7CiB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmgJKHJl
dmlzaW9uIDk2NTYzKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xp
Y3kuaAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBh
bGxvd1N0eWxlRnJvbVNvdXJjZShjb25zdCBLVVJMJikgY29uc3Q7CiAgICAgYm9vbCBhbGxvd0Zv
bnRGcm9tU291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKICAgICBib29sIGFsbG93TWVkaWFGcm9t
U291cmNlKGNvbnN0IEtVUkwmKSBjb25zdDsKKyAgICBib29sIGFsbG93Q29ubmVjdEZyb21Tb3Vy
Y2UoY29uc3QgS1VSTCYpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IENvbnRlbnRT
ZWN1cml0eVBvbGljeShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CkBAIC05Niw2ICs5Nyw3IEBA
IHByaXZhdGU6CiAgICAgT3duUHRyPENTUERpcmVjdGl2ZT4gbV9zdHlsZVNyYzsKICAgICBPd25Q
dHI8Q1NQRGlyZWN0aXZlPiBtX2ZvbnRTcmM7CiAgICAgT3duUHRyPENTUERpcmVjdGl2ZT4gbV9t
ZWRpYVNyYzsKKyAgICBPd25QdHI8Q1NQRGlyZWN0aXZlPiBtX2Nvbm5lY3RTcmM7CiAgICAgVmVj
dG9yPEtVUkw+IG1fcmVwb3J0VVJMczsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRTb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwCShyZXZpc2lvbiA5NjU2MykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwxMyArMzQsMTQgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJFdmVudFNvdXJjZS5oIgogCi0jaW5jbHVkZSAiTWVtb3J5Q2Fj
aGUuaCIKKyNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJET01X
aW5kb3cuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50RXhjZXB0aW9uLmgi
CiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
CisjaW5jbHVkZSAiTWVtb3J5Q2FjaGUuaCIKICNpbmNsdWRlICJNZXNzYWdlRXZlbnQuaCIKKyNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNp
bmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgi
CkBAIC04Nyw2ICs4OCwxMiBAQCBQYXNzUmVmUHRyPEV2ZW50U291cmNlPiBFdmVudFNvdXJjZTo6
Y3JlCiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAorICAgIGlmICghY29udGV4dC0+Y29udGVu
dFNlY3VyaXR5UG9saWN5KCktPmFsbG93Q29ubmVjdEZyb21Tb3VyY2UoZnVsbFVSTCkpIHsKKyAg
ICAgICAgLy8gRklYTUU6IFNob3VsZCB0aGlzIGJlIHRocm93aW5nIGFuIGV4Y2VwdGlvbj8KKyAg
ICAgICAgZWMgPSBTRUNVUklUWV9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKwogICAg
IFJlZlB0cjxFdmVudFNvdXJjZT4gc291cmNlID0gYWRvcHRSZWYobmV3IEV2ZW50U291cmNlKGZ1
bGxVUkwsIGNvbnRleHQpKTsKIAogICAgIHNvdXJjZS0+c2V0UGVuZGluZ0FjdGl2aXR5KHNvdXJj
ZS5nZXQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCShy
ZXZpc2lvbiA5NjU2MykKKysrIFNvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkJsb2IuaCIKICNp
bmNsdWRlICJCbG9iRGF0YS5oIgogI2luY2x1ZGUgIkNsb3NlRXZlbnQuaCIKKyNpbmNsdWRlICJD
b250ZW50U2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRl
ICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50RXhjZXB0aW9uLmgiCkBAIC0xOTcsNiArMTk4LDE0
IEBAIHZvaWQgV2ViU29ja2V0Ojpjb25uZWN0KGNvbnN0IFN0cmluZyYgdXIKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAorICAgIGlmICghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5jb250ZW50
U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dDb25uZWN0RnJvbVNvdXJjZShtX3VybCkpIHsKKyAgICAg
ICAgbV9zdGF0ZSA9IENMT1NFRDsKKworICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHRoaXMgYmUg
dGhyb3dpbmcgYW4gZXhjZXB0aW9uPworICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKwogICAgIG1fY2hhbm5lbCA9IFRocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB0aGlzKTsKICAgICBtX3Vz
ZUhpeGllNzZQcm90b2NvbCA9IG1fY2hhbm5lbC0+dXNlSGl4aWU3NlByb3RvY29sKCk7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAkocmV2aXNpb24gOTY1NjMpCisr
KyBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNCw3ICsyNCw3IEBACiAKICNpbmNsdWRlICJBcnJheUJ1ZmZlci5oIgogI2luY2x1ZGUgIkJs
b2IuaCIKLSNpbmNsdWRlICJNZW1vcnlDYWNoZS5oIgorI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0
eVBvbGljeS5oIgogI2luY2x1ZGUgIkNyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5oIgogI2luY2x1
ZGUgIkRPTUZvcm1EYXRhLmgiCiAjaW5jbHVkZSAiRE9NSW1wbGVtZW50YXRpb24uaCIKQEAgLTM4
LDYgKzM4LDcgQEAKICNpbmNsdWRlICJIVFRQUGFyc2Vycy5oIgogI2luY2x1ZGUgIkhUVFBWYWxp
ZGF0aW9uLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVk
ZSAiTWVtb3J5Q2FjaGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCkBAIC01MSwx
MCArNTIsMTAgQEAKICNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCIKICNp
bmNsdWRlICJYTUxIdHRwUmVxdWVzdFVwbG9hZC5oIgogI2luY2x1ZGUgIm1hcmt1cC5oIgotI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KLSNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWRMZWFrQ291bnRlci5oPgorI2luY2x1ZGUgPHd0Zi9T
dGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KKyNpbmNsdWRlIDx3
dGYvdGV4dC9DU3RyaW5nLmg+CiAKICNpZiBVU0UoSlNDKQogI2luY2x1ZGUgIkpTRE9NQmluZGlu
Zy5oIgpAQCAtNDI2LDYgKzQyNywxMiBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpvcGVuKGNvbnN0
IFN0cmluZyYgCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAoIXNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93Q29ubmVjdEZyb21T
b3VyY2UodXJsKSkgeworICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHRoaXMgYmUgdGhyb3dpbmcg
YW4gZXhjZXB0aW9uPworICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKwogICAgIG1fbWV0aG9kID0gdXBwZXJjYXNlS25vd25IVFRQTWV0aG9kKG1ldGhv
ZCk7CiAKICAgICBtX3VybCA9IHVybDsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2NjEzKQorKysgTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEt
MTAtMDQgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgdGhlIENTUCBjb25uZWN0LXNyYyBkaXJlY3RpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIENTUCBzdXBwb3J0IGZvciBYTUxIdHRwUmVx
dWVzdCwgV2ViU29ja2V0cyBhbmQgRXZlbnRTb3VyY2UuCisKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy1ldmVudHNvdXJjZS1h
bGxvd2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMtZXZlbnRzb3VyY2UtYWxsb3dlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9jb25uZWN0LXNyYy1ldmVudHNvdXJjZS1ibG9ja2VkLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
Y29ubmVjdC1zcmMtZXZlbnRzb3VyY2UtYmxvY2tlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy13ZWJz
b2NrZXQtYWxsb3dlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXdlYnNvY2tldC1hbGxv
d2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXdlYnNvY2tldC1ibG9ja2VkLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvY29ubmVjdC1zcmMtd2Vic29ja2V0LWJsb2NrZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMteG1s
aHR0cHJlcXVlc3QtYWxsb3dlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXhtbGh0dHBy
ZXF1ZXN0LWFsbG93ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMteG1saHR0cHJlcXVlc3QtYmxvY2tl
ZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXhtbGh0dHByZXF1ZXN0LWJsb2NrZWQuaHRt
bDogQWRkZWQuCisKIDIwMTEtMTAtMDMgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAg
ICAgICAgIEV4dGVuZCBET00gV2hlZWxFdmVudCB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gcGh5
c2ljYWwgYW5kIGxvZ2ljYWwgc2Nyb2xsIGRpcmVjdGlvbnMKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLWV2ZW50
c291cmNlLWFsbG93ZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLWV2ZW50
c291cmNlLWFsbG93ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMtZXZl
bnRzb3VyY2UtYWxsb3dlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBA
QAorUGFzcworCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy1ldmVudHNvdXJjZS1hbGxvd2VkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvY29ubmVjdC1zcmMtZXZlbnRzb3VyY2UtYWxsb3dlZC5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
Y29ubmVjdC1zcmMtZXZlbnRzb3VyY2UtYWxsb3dlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVx
dWl2PSJYLVdlYktpdC1DU1AiIGNvbnRlbnQ9ImNvbm5lY3Qtc3JjIGh0dHA6Ly8xMjcuMC4wLjE6
ODAwMCI+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8c2NyaXB0PgorZnVuY3Rpb24gbG9nKG1z
ZykKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICJcbiIpKTsKK30KKwordHJ5IHsKKyAgICB2
YXIgZXMgPSBuZXcgRXZlbnRTb3VyY2UoImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9ldmVudHNvdXJj
ZS9yZXNvdXJjZXMvc2ltcGxlLWV2ZW50LXN0cmVhbS5hc2lzIik7CisgICAgbG9nKCJQYXNzIik7
Cit9IGNhdGNoKGUpIHsKKyAgICBsb2coIkZhaWwiKTsKK30KKworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy1ldmVudHNvdXJjZS1ibG9ja2VkLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy1ldmVudHNvdXJjZS1ibG9ja2VkLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLWV2ZW50c291cmNlLWJsb2NrZWQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAx
OiBSZWZ1c2VkIHRvIGxvYWQgY29ubmVjdCBmcm9tICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvZXZl
bnRzb3VyY2UvcmVzb3VyY2VzL3NpbXBsZS1ldmVudC1zdHJlYW0uYXNpcycgYmVjYXVzZSBvZiBD
b250ZW50LVNlY3VyaXR5LVBvbGljeS4KKworUGFzcworCkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy1ldmVudHNv
dXJjZS1ibG9ja2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMtZXZlbnRzb3VyY2UtYmxv
Y2tlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMtZXZlbnRzb3VyY2UtYmxvY2tlZC5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJYLVdlYktpdC1DU1AiIGNvbnRlbnQ9ImNvbm5l
Y3Qtc3JjIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8
c2NyaXB0PgorZnVuY3Rpb24gbG9nKG1zZykKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29uc29sZSIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICJc
biIpKTsKK30KKwordHJ5IHsKKyAgICB2YXIgZXMgPSBuZXcgRXZlbnRTb3VyY2UoImh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9ldmVudHNvdXJjZS9yZXNvdXJjZXMvc2ltcGxlLWV2ZW50LXN0cmVhbS5h
c2lzIik7CisgICAgbG9nKCJGYWlsIik7Cit9IGNhdGNoKGUpIHsKKyAgICBsb2coIlBhc3MiKTsK
K30KKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy13ZWJzb2Nr
ZXQtYWxsb3dlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMtd2Vic29ja2V0
LWFsbG93ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMtd2Vic29ja2V0
LWFsbG93ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK1Bhc3MK
KwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvY29ubmVjdC1zcmMtd2Vic29ja2V0LWFsbG93ZWQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25u
ZWN0LXNyYy13ZWJzb2NrZXQtYWxsb3dlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMt
d2Vic29ja2V0LWFsbG93ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iWC1XZWJLaXQt
Q1NQIiBjb250ZW50PSJjb25uZWN0LXNyYyB3czovLzEyNy4wLjAuMTo4ODgwIj4KKzxzY3JpcHQ+
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cHJlIGlkPSJj
b25zb2xlIj48L3ByZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2cobXNnKQoreworICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
VGV4dE5vZGUobXNnICsgIlxuIikpOworfQorCit0cnkgeworICAgIHZhciB3cyA9IG5ldyBXZWJT
b2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNobyIpOwor
ICAgIGxvZygiUGFzcyIpOworfSBjYXRjaChlKSB7CisgICAgbG9nKCJGYWlsIik7Cit9CisKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMtd2Vic29ja2V0LWJsb2Nr
ZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXdlYnNvY2tldC1ibG9ja2Vk
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXdlYnNvY2tldC1ibG9ja2Vk
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTogUmVmdXNlZCB0byBsb2FkIGNvbm5lY3QgZnJvbSAnd3M6Ly9sb2NhbGhvc3Q6
ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvJyBiZWNhdXNlIG9mIENvbnRlbnQtU2VjdXJp
dHktUG9saWN5LgorCitQYXNzCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXdlYnNvY2tldC1ibG9ja2VkLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMtd2Vic29ja2V0LWJsb2NrZWQuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L2Nvbm5lY3Qtc3JjLXdlYnNvY2tldC1ibG9ja2VkLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0
dHAtZXF1aXY9IlgtV2ViS2l0LUNTUCIgY29udGVudD0iY29ubmVjdC1zcmMgd3M6Ly8xMjcuMC4w
LjE6ODg4MCI+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8c2NyaXB0PgorZnVuY3Rpb24gbG9n
KG1zZykKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICJcbiIpKTsKK30KKwordHJ5IHsKKyAg
ICB2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2VjaG8iKTsKKyAgICBsb2coIkZhaWwiKTsKK30gY2F0Y2goZSkgeworICAgIGxv
ZygiUGFzcyIpOworfQorCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qt
c3JjLXhtbGh0dHByZXF1ZXN0LWFsbG93ZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5l
Y3Qtc3JjLXhtbGh0dHByZXF1ZXN0LWFsbG93ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
Y29ubmVjdC1zcmMteG1saHR0cHJlcXVlc3QtYWxsb3dlZC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMiBAQAorUGFzcworCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy14bWxodHRwcmVxdWVz
dC1hbGxvd2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMteG1saHR0cHJlcXVlc3QtYWxs
b3dlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvY29ubmVjdC1zcmMteG1saHR0cHJlcXVlc3QtYWxsb3dl
ZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJYLVdlYktpdC1DU1AiIGNvbnRlbnQ9ImNv
bm5lY3Qtc3JjIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCI+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+
Cis8c2NyaXB0PgorZnVuY3Rpb24gbG9nKG1zZykKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29uc29sZSIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyAr
ICJcbiIpKTsKK30KKwordHJ5IHsKKyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0Owor
ICAgIHhoci5vcGVuKCJHRVQiLCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3htbGh0dHByZXF1ZXN0
L3Jlc291cmNlcy9nZXQudHh0IiwgdHJ1ZSk7IAorICAgIGxvZygiUGFzcyIpOworfSBjYXRjaChl
KSB7CisgICAgbG9nKCJGYWlsIik7Cit9CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvY29ubmVjdC1zcmMteG1saHR0cHJlcXVlc3QtYmxvY2tlZC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvY29ubmVjdC1zcmMteG1saHR0cHJlcXVlc3QtYmxvY2tlZC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9jb25uZWN0LXNyYy14bWxodHRwcmVxdWVzdC1ibG9ja2VkLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTog
UmVmdXNlZCB0byBsb2FkIGNvbm5lY3QgZnJvbSAnaHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0
dHByZXF1ZXN0L3Jlc291cmNlcy9nZXQudHh0JyBiZWNhdXNlIG9mIENvbnRlbnQtU2VjdXJpdHkt
UG9saWN5LgorCitQYXNzCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L2Nvbm5lY3Qtc3JjLXhtbGh0dHByZXF1ZXN0LWJsb2NrZWQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy14bWxodHRwcmVxdWVzdC1ibG9ja2VkLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy14bWxodHRwcmVxdWVzdC1ibG9ja2VkLmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGh0dHAtZXF1aXY9IlgtV2ViS2l0LUNTUCIgY29udGVudD0iY29ubmVjdC1zcmMg
aHR0cDovLzEyNy4wLjAuMTo4MDAwIj4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKzxzY3JpcHQ+
CitmdW5jdGlvbiBsb2cobXNnKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25z
b2xlIikuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnICsgIlxuIikpOwor
fQorCit0cnkgeworICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CisgICAgeGhyLm9w
ZW4oIkdFVCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2Vz
L2dldC50eHQiLCB0cnVlKTsgCisgICAgbG9nKCJGYWlsIik7Cit9IGNhdGNoKGUpIHsKKyAgICBs
b2coIlBhc3MiKTsKK30KKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="106938"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>