<?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>103228</bug_id>
          
          <creation_ts>2012-11-26 01:40:30 -0800</creation_ts>
          <short_desc>CSP 1.1: Teach ContentSecurityPolicy about policy sources.</short_desc>
          <delta_ts>2013-01-04 00:53:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</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>
          
          <blocked>85558</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike West">mkwst</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>775251</commentid>
    <comment_count>0</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-26 01:40:30 -0800</bug_when>
    <thetext>We&apos;re accepting Content Security Policies via either an HTTP header or meta element, and there&apos;s discussion in the WG regarding the way we parse/handle the header&apos;s content. `report-uri`, for instance, might or might not be something we want to support in the meta element. Likewise, we almost certainly don&apos;t want to suport `reflected-xss` in the meta element.

To support those sorts of distinction, we should teach the CSP object about the source of the policy. This is probably as simple as adding an enum. I&apos;ll take a look today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775272</commentid>
    <comment_count>1</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-26 02:11:40 -0800</bug_when>
    <thetext>Ugh. The actual change here is very straightforward, but things end up being piped through eighty-three levels of worker context shifts*, and back and forth between Chromium and WebKit. Not pretty.

I&apos;d also end up requiring a new `deprecatedSource` method to match `deprecatedType`. I don&apos;t really want to add an instantly deprecated method. :)

I&apos;m not sure the distinction is even relevant for workers (at least, the directives being discussed right now don&apos;t seem relevant). I&apos;ll throw up a patch that papers over the problem with a Worker source, just to get a conversation going.

*this number might be slightly exaggerated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775293</commentid>
    <comment_count>2</comment_count>
      <attachid>175951</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-26 02:48:17 -0800</bug_when>
    <thetext>Created attachment 175951
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778751</commentid>
    <comment_count>3</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-29 00:10:15 -0800</bug_when>
    <thetext>Friendly ping. I&apos;m hopeful that we can either avoid piping this through workers, or find a mechanism that lets us do it without tons of busywork. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779512</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-29 15:32:23 -0800</bug_when>
    <thetext>This seems too speculative at the moment.  We don&apos;t know how this conversation is going to pan out in the working group.  If we end up needing this flag, this isn&apos;t an unreasonably way to wire it in, but it&apos;s not clear to me whether we&apos;re going to need it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780297</commentid>
    <comment_count>5</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-11-30 12:18:59 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; This seems too speculative at the moment.  We don&apos;t know how this conversation is going to pan out in the working group.  If we end up needing this flag, this isn&apos;t an unreasonably way to wire it in, but it&apos;s not clear to me whether we&apos;re going to need it.

If meta or html@policy or whatever remains in 1.1, we&apos;ll quite likely need something along these lines for &apos;reflected-xss&apos; (assuming that remains in 1.1 as well). *shrug* I&apos;ll mark this LATER for the moment, and come back to it when it&apos;s more pressing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800040</commentid>
    <comment_count>6</comment_count>
      <attachid>175951</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-04 00:53:14 -0800</bug_when>
    <thetext>Comment on attachment 175951
Patch

Cleared review? from attachment 175951 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175951</attachid>
            <date>2012-11-26 02:48:17 -0800</date>
            <delta_ts>2013-01-04 00:53:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103228-20121126114556.patch</filename>
            <type>text/plain</type>
            <size>15076</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1Njg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWRjMzhhZWQ3YjIwYTM1
MTRlN2NkZDI0NTI1YTdkZDFjNGUzNDY3Mi4uMjdmZTc2MDNkNjYxZWJmODc3ZTMzM2QyNzhkNTVi
MTRkNjg2NzY0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEyLTExLTI2ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NQIDEuMTogVGVhY2ggQ29u
dGVudFNlY3VyaXR5UG9saWN5IGFib3V0IHBvbGljeSBzb3VyY2VzLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMjI4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCB0ZWFjaGVzIHRoZSBD
b250ZW50U2VjdXJpdHlQb2xpY3kgb2JqZWN0IGFib3V0IHRoZSBzb3VyY2UgdmlhCisgICAgICAg
IHdoaWNoIHRoZSBwb2xpY3kgd2FzIHNldC4gQ3VycmVudGx5LCBpdCdzIG9ubHkgdXNlZCBmb3Ig
bWVhc3VyZW1lbnQsIGJ1dAorICAgICAgICB0aGUgZXhwZWN0YXRpb24gaXMgdGhhdCB0aGUgcG9s
aWN5J3MgaW50ZXJwcmV0YXRpb24gd2lsbCBjaGFuZ2UgYmFzZWQKKyAgICAgICAgdXBvbiB0aGUg
c291cmNlLiBGb3IgZXhhbXBsZSwgdGhlICdyZWZsZWN0ZWQteHNzJyBkaXJlY3RpdmUgd2lsbCBs
aWtlbHkKKyAgICAgICAgbm90IGJlIHN1cHBvcnRlZCB2aWEgYSBtZXRhIGVsZW1lbnQuCisKKyAg
ICAgICAgVGhlIFdvcmtlciBjaGFuZ2UgaXMgYSBiaXQgb2YgYSBjb3Atb3V0LCBob25lc3RseS4g
SSdtIGhvcGluZyByZXZpZXdlcnMKKyAgICAgICAgd2lsbCBhZ3JlZSB0aGF0IGl0J3MgbW9yZSB3
b3JrIHRoYW4gaXQncyB3b3J0aCB0byBwaXBlIHRoaW5ncyB0aHJvdWdoLgorICAgICAgICBMZXQn
cyBzZWUgaG93IHRoYXQgY29udmVyc2F0aW9uIGdvZXM7IHRoaXMgd29uJ3QgbGFuZCB1bnRpbCB0
aGF0J3MKKyAgICAgICAgd29ya2VkIG91dDogKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVz
dHM7IHRoaXMgcGF0Y2ggb25seSBhZGRzIG1lYXN1cmVtZW50LCBub3RoaW5nIHZpc2libGUgc2hv
dWxkCisgICAgICAgIGNoYW5nZSwgc28gdGhlIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5IHBhdGNoZXMgd2lsbAorICAgICAgICBjb250aW51ZSB0byBwYXNzLgorCisg
ICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpw
cm9jZXNzSHR0cEVxdWl2KToKKyAgICAgICAgICAgIEFkZCB0aGUgbWV0YSBzb3VyY2Ugd2hlbiBj
YWxsaW5nIGRpZFJlY2VpdmVIZWFkZXIuCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpkaWRCZWdpbkRvY3VtZW50KToKKyAg
ICAgICAgICAgIEFkZCB0aGUgSFRUUCBzb3VyY2Ugd2hlbiBjYWxsaW5nIGRpZFJlY2VpdmVIZWFk
ZXIuCisgICAgICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwOgorICAgICAgICAo
Q1NQRGlyZWN0aXZlTGlzdCk6CisgICAgICAgICAgICBBZGQgYSBzb3VyY2UgdG8gdGhpcyBjb25z
dHJ1Y3RvciwgYW5kIHN0b3JlIGl0LgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlz
dDo6aGVhZGVyU291cmNlKToKKyAgICAgICAgICAgIFJldHVybiB0aGUgc291cmNlIG9mIHRoZSBo
ZWFkZXIgZm9yIHRoaXMgZGlyZWN0aXZlIGxpc3QuCisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJl
Y3RpdmVMaXN0OjpDU1BEaXJlY3RpdmVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVj
dGl2ZUxpc3Q6OmNyZWF0ZSk6CisgICAgICAgICAgICBHcmFiIGEgc291cmNlIHdoZW4gY3JlYXRp
bmcgYSBkaXJlY3RpdmUgbGlzdC4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBv
bGljeTo6Y29weVN0YXRlRnJvbSk6CisgICAgICAgICAgICBQYXNzIHRoZSBzb3VyY2UgdGhyb3Vn
aCB3aGVuIGNvcHlpbmcuCisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6
OmRpZFJlY2VpdmVIZWFkZXIpOgorICAgICAgICAgICAgQWNjZXB0IGEgc291cmNlIHdoZW4gcmVj
ZWl2aW5nIGEgaGVhZGVyLCBhbmQgcnVuIGl0IHRocm91Z2gKKyAgICAgICAgICAgIEZlYXR1cmVP
YnNlcnZlciBmb3IgbWVhc3VyZW1lbnQuCisgICAgICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQ
b2xpY3kuaDoKKyAgICAgICAgICAgIEFkZCBhIEhlYWRlclNvdXJjZSBlbnVtLgorICAgICAgICAq
IHBhZ2UvRmVhdHVyZU9ic2VydmVyLmg6CisgICAgICAgICAgICBBZGQgZW51bSBlbnRyaWVzIGZv
ciB0aGUgQ1NQIHNvdXJjZXMgd2UnZCBsaWtlIHRvIG1lYXN1cmUuCisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHQ6OmFw
cGx5Q29udGVudFNlY3VyaXR5UG9saWN5RnJvbVN0cmluZyk6CisgICAgICAgICAgICBBZGQgdGhl
IFdvcmtlciBzb3VyY2Ugd2hlbiBjYWxsaW5nIGRpZFJlY2VpdmVIZWFkZXIuCisKIDIwMTItMTEt
MjYgIERhbiBDYXJuZXkgIDxkY2FybmV5QGdvb2dsZS5jb20+CiAKICAgICAgICAgW1Y4XSBHaXZl
IGlzb2xhdGVkIHNoZWxscyBhIGxpZmVjeWNsZSBsaWtlIHRoYXQgb2YgbWFpbiBzaGVsbHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDMzYzJkMDVhOTU2MWM0NDE0MjU5OTlmYmEwYTM1YzEy
ZGVkZWIyZTUuLjFlOGU1MTg0MTBjYzYwMmEzOTdlNGMyNDI3M2Q5YTFkYTBmNDA2OTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjg4OCwxMyArMjg4OCwxMyBAQCB2b2lkIERvY3VtZW50
Ojpwcm9jZXNzSHR0cEVxdWl2KGNvbnN0IFN0cmluZyYgZXF1aXYsIGNvbnN0IFN0cmluZyYgY29u
dGVudCkKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UoZXF1aXYsICJjb250ZW50LXNlY3VyaXR5LXBvbGljeSIpKQotICAgICAgICBjb250
ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRlcihjb250ZW50LCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OkVuZm9yY2VTdGFibGVEaXJlY3RpdmVzKTsKKyAgICAgICAgY29udGVudFNl
Y3VyaXR5UG9saWN5KCktPmRpZFJlY2VpdmVIZWFkZXIoY29udGVudCwgQ29udGVudFNlY3VyaXR5
UG9saWN5OjpFbmZvcmNlU3RhYmxlRGlyZWN0aXZlcywgQ29udGVudFNlY3VyaXR5UG9saWN5OjpN
ZXRhKTsKICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShlcXVpdiwgImNvbnRlbnQtc2Vj
dXJpdHktcG9saWN5LXJlcG9ydC1vbmx5IikpCi0gICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGlj
eSgpLT5kaWRSZWNlaXZlSGVhZGVyKGNvbnRlbnQsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVw
b3J0U3RhYmxlRGlyZWN0aXZlcyk7CisgICAgICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5k
aWRSZWNlaXZlSGVhZGVyKGNvbnRlbnQsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0U3Rh
YmxlRGlyZWN0aXZlcywgQ29udGVudFNlY3VyaXR5UG9saWN5OjpNZXRhKTsKICAgICBlbHNlIGlm
IChlcXVhbElnbm9yaW5nQ2FzZShlcXVpdiwgIngtd2Via2l0LWNzcCIpKQotICAgICAgICBjb250
ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRlcihjb250ZW50LCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OkVuZm9yY2VBbGxEaXJlY3RpdmVzKTsKKyAgICAgICAgY29udGVudFNlY3Vy
aXR5UG9saWN5KCktPmRpZFJlY2VpdmVIZWFkZXIoY29udGVudCwgQ29udGVudFNlY3VyaXR5UG9s
aWN5OjpFbmZvcmNlQWxsRGlyZWN0aXZlcywgQ29udGVudFNlY3VyaXR5UG9saWN5OjpNZXRhKTsK
ICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShlcXVpdiwgIngtd2Via2l0LWNzcC1yZXBv
cnQtb25seSIpKQotICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhl
YWRlcihjb250ZW50LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydEFsbERpcmVjdGl2ZXMp
OworICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRlcihjb250
ZW50LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydEFsbERpcmVjdGl2ZXMsIENvbnRlbnRT
ZWN1cml0eVBvbGljeTo6TWV0YSk7CiB9CiAKIC8vIFRob3VnaCBpc3NwYWNlKCkgY29uc2lkZXJz
IFx0IGFuZCBcdiB0byBiZSB3aGl0ZXNwYWNlLCBXaW4gSUUgZG9lc24ndC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDQzN2ExZjYxNjQ0NTc3Y2Y5MWI5NTczYmYwZjkz
ZDU4Y2VlNmM4NDYuLmZlMWNlMTUwOWRkZGM3MjE4NzExOTlmZWRmY2U4Y2MzNzBmZmQ0OWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtNjYyLDE5ICs2NjIsMTkgQEAg
dm9pZCBGcmFtZUxvYWRlcjo6ZGlkQmVnaW5Eb2N1bWVudChib29sIGRpc3BhdGNoKQogCiAgICAg
ICAgIFN0cmluZyBwb2xpY3lWYWx1ZSA9IG1fZG9jdW1lbnRMb2FkZXItPnJlc3BvbnNlKCkuaHR0
cEhlYWRlckZpZWxkKCJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIpOwogICAgICAgICBpZiAoIXBv
bGljeVZhbHVlLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmNv
bnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZlSGVhZGVyKHBvbGljeVZhbHVlLCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OkVuZm9yY2VTdGFibGVEaXJlY3RpdmVzKTsKKyAgICAgICAgICAg
IG1fZnJhbWUtPmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZl
SGVhZGVyKHBvbGljeVZhbHVlLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkVuZm9yY2VTdGFibGVE
aXJlY3RpdmVzLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhUVFApOwogCiAgICAgICAgIHBvbGlj
eVZhbHVlID0gbV9kb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoIkNv
bnRlbnQtU2VjdXJpdHktUG9saWN5LVJlcG9ydC1Pbmx5Iik7CiAgICAgICAgIGlmICghcG9saWN5
VmFsdWUuaXNFbXB0eSgpKQotICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+Y29udGVu
dFNlY3VyaXR5UG9saWN5KCktPmRpZFJlY2VpdmVIZWFkZXIocG9saWN5VmFsdWUsIENvbnRlbnRT
ZWN1cml0eVBvbGljeTo6UmVwb3J0U3RhYmxlRGlyZWN0aXZlcyk7CisgICAgICAgICAgICBtX2Zy
YW1lLT5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRl
cihwb2xpY3lWYWx1ZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRTdGFibGVEaXJlY3Rp
dmVzLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhUVFApOwogCiAgICAgICAgIHBvbGljeVZhbHVl
ID0gbV9kb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoIlgtV2ViS2l0
LUNTUCIpOwogICAgICAgICBpZiAoIXBvbGljeVZhbHVlLmlzRW1wdHkoKSkKLSAgICAgICAgICAg
IG1fZnJhbWUtPmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZl
SGVhZGVyKHBvbGljeVZhbHVlLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkVuZm9yY2VBbGxEaXJl
Y3RpdmVzKTsKKyAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0
eVBvbGljeSgpLT5kaWRSZWNlaXZlSGVhZGVyKHBvbGljeVZhbHVlLCBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OkVuZm9yY2VBbGxEaXJlY3RpdmVzLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhUVFAp
OwogCiAgICAgICAgIHBvbGljeVZhbHVlID0gbV9kb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKS5o
dHRwSGVhZGVyRmllbGQoIlgtV2ViS2l0LUNTUC1SZXBvcnQtT25seSIpOwogICAgICAgICBpZiAo
IXBvbGljeVZhbHVlLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCkt
PmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5kaWRSZWNlaXZlSGVhZGVyKHBvbGljeVZhbHVlLCBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydEFsbERpcmVjdGl2ZXMpOworICAgICAgICAgICAg
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmRpZFJlY2VpdmVI
ZWFkZXIocG9saWN5VmFsdWUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6UmVwb3J0QWxsRGlyZWN0
aXZlcywgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIVFRQKTsKIAogICAgICAgICBTdHJpbmcgaGVh
ZGVyQ29udGVudExhbmd1YWdlID0gbV9kb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKS5odHRwSGVh
ZGVyRmllbGQoIkNvbnRlbnQtTGFuZ3VhZ2UiKTsKICAgICAgICAgaWYgKCFoZWFkZXJDb250ZW50
TGFuZ3VhZ2UuaXNFbXB0eSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRlbnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1
cml0eVBvbGljeS5jcHAKaW5kZXggYmU3MjJkYzExMDRiNzk2NmRlYzhlYjhlZjA1Yzk2ODM2NmM4
MTIzMy4uYmVhMTlhNTQ2ZmI3OTViNTgzMWIzZTBhOWU0NWRlMjI4MDgwYjIzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtMTQyLDcgKzE0
Miw3IEBAIGJvb2wgaXNEaXJlY3RpdmVOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICApOwog
fQogCi1GZWF0dXJlT2JzZXJ2ZXI6OkZlYXR1cmUgZ2V0RmVhdHVyZU9ic2VydmVyVHlwZShDb250
ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgdHlwZSkKK0ZlYXR1cmVPYnNlcnZlcjo6RmVh
dHVyZSBnZXRUeXBlRm9yRmVhdHVyZU9ic2VydmVyKENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVh
ZGVyVHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgQ29udGVudFNl
Y3VyaXR5UG9saWN5OjpFbmZvcmNlQWxsRGlyZWN0aXZlczoKQEAgLTE1OCw2ICsxNTgsMjAgQEAg
RmVhdHVyZU9ic2VydmVyOjpGZWF0dXJlIGdldEZlYXR1cmVPYnNlcnZlclR5cGUoQ29udGVudFNl
Y3VyaXR5UG9saWN5OjpIZWFkZXJUeXAKICAgICByZXR1cm4gRmVhdHVyZU9ic2VydmVyOjpOdW1i
ZXJPZkZlYXR1cmVzOwogfQogCitGZWF0dXJlT2JzZXJ2ZXI6OkZlYXR1cmUgZ2V0U291cmNlRm9y
RmVhdHVyZU9ic2VydmVyKENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyU291cmNlIHNvdXJj
ZSkKK3sKKyAgICBzd2l0Y2ggKHNvdXJjZSkgeworICAgIGNhc2UgQ29udGVudFNlY3VyaXR5UG9s
aWN5OjpIVFRQOgorICAgICAgICByZXR1cm4gRmVhdHVyZU9ic2VydmVyOjpDb250ZW50U2VjdXJp
dHlQb2xpY3lWaWFIVFRQOworICAgIGNhc2UgQ29udGVudFNlY3VyaXR5UG9saWN5OjpNZXRhOgor
ICAgICAgICByZXR1cm4gRmVhdHVyZU9ic2VydmVyOjpDb250ZW50U2VjdXJpdHlQb2xpY3lWaWFN
ZXRhOworICAgIGNhc2UgQ29udGVudFNlY3VyaXR5UG9saWN5OjpXb3JrZXI6CisgICAgICAgIHJl
dHVybiBGZWF0dXJlT2JzZXJ2ZXI6OkNvbnRlbnRTZWN1cml0eVBvbGljeVZpYVdvcmtlcjsKKyAg
ICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIEZlYXR1cmVPYnNlcnZl
cjo6TnVtYmVyT2ZGZWF0dXJlczsKK30KKwogfSAvLyBuYW1lc3BhY2UKIAogc3RhdGljIGJvb2wg
c2tpcEV4YWN0bHkoY29uc3QgVUNoYXIqJiBwb3NpdGlvbiwgY29uc3QgVUNoYXIqIGVuZCwgVUNo
YXIgZGVsaW1pdGVyKQpAQCAtNzg1LDEwICs3OTksMTEgQEAgcHJpdmF0ZToKIGNsYXNzIENTUERp
cmVjdGl2ZUxpc3QgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzT3duUHRyPENTUERpcmVjdGl2ZUxpc3Q+IGNyZWF0ZShDb250ZW50U2VjdXJp
dHlQb2xpY3kqLCBjb25zdCBTdHJpbmcmLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5
cGUpOworICAgIHN0YXRpYyBQYXNzT3duUHRyPENTUERpcmVjdGl2ZUxpc3Q+IGNyZWF0ZShDb250
ZW50U2VjdXJpdHlQb2xpY3kqLCBjb25zdCBTdHJpbmcmLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OkhlYWRlclR5cGUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyU291cmNlKTsKIAogICAg
IGNvbnN0IFN0cmluZyYgaGVhZGVyKCkgY29uc3QgeyByZXR1cm4gbV9oZWFkZXI7IH0KICAgICBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgaGVhZGVyVHlwZSgpIGNvbnN0IHsgcmV0
dXJuIG1faGVhZGVyVHlwZTsgfQorICAgIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyU291
cmNlIGhlYWRlclNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGVyU291cmNlOyB9CiAKICAg
ICBib29sIGFsbG93SmF2YVNjcmlwdFVSTHMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25z
dCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q7CiAgICAgYm9vbCBhbGxvd0lubGluZUV2ZW50SGFuZGxl
cnMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNv
bnRleHRMaW5lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cykgY29uc3Q7
CkBAIC04MTIsNyArODI3LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgZXZhbERpc2Fi
bGVkRXJyb3JNZXNzYWdlKCkgeyByZXR1cm4gbV9ldmFsRGlzYWJsZWRFcnJvck1lc3NhZ2U7IH0K
IAogcHJpdmF0ZToKLSAgICBDU1BEaXJlY3RpdmVMaXN0KENvbnRlbnRTZWN1cml0eVBvbGljeSos
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSk7CisgICAgQ1NQRGlyZWN0aXZlTGlz
dChDb250ZW50U2VjdXJpdHlQb2xpY3kqLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5
cGUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyU291cmNlKTsKIAogICAgIHZvaWQgcGFy
c2UoY29uc3QgU3RyaW5nJik7CiAKQEAgLTg1MCw2ICs4NjUsNyBAQCBwcml2YXRlOgogCiAgICAg
U3RyaW5nIG1faGVhZGVyOwogICAgIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBt
X2hlYWRlclR5cGU7CisgICAgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJTb3VyY2UgbV9o
ZWFkZXJTb3VyY2U7CiAKICAgICBib29sIG1fZXhwZXJpbWVudGFsOwogICAgIGJvb2wgbV9yZXBv
cnRPbmx5OwpAQCAtODczLDkgKzg4OSwxMCBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX2V2YWxE
aXNhYmxlZEVycm9yTWVzc2FnZTsKIH07CiAKLUNTUERpcmVjdGl2ZUxpc3Q6OkNTUERpcmVjdGl2
ZUxpc3QoQ29udGVudFNlY3VyaXR5UG9saWN5KiBwb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6SGVhZGVyVHlwZSB0eXBlKQorQ1NQRGlyZWN0aXZlTGlzdDo6Q1NQRGlyZWN0aXZlTGlzdChD
b250ZW50U2VjdXJpdHlQb2xpY3kqIHBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFk
ZXJUeXBlIHR5cGUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyU291cmNlIHNvdXJjZSkK
ICAgICA6IG1fcG9saWN5KHBvbGljeSkKICAgICAsIG1faGVhZGVyVHlwZSh0eXBlKQorICAgICwg
bV9oZWFkZXJTb3VyY2Uoc291cmNlKQogICAgICwgbV9leHBlcmltZW50YWwoZmFsc2UpCiAgICAg
LCBtX3JlcG9ydE9ubHkoZmFsc2UpCiAgICAgLCBtX2hhdmVTYW5kYm94UG9saWN5KGZhbHNlKQpA
QCAtODg0LDkgKzkwMSw5IEBAIENTUERpcmVjdGl2ZUxpc3Q6OkNTUERpcmVjdGl2ZUxpc3QoQ29u
dGVudFNlY3VyaXR5UG9saWN5KiBwb2xpY3ksIENvbnRlbnRTZWN1cml0CiAgICAgbV9leHBlcmlt
ZW50YWwgPSAodHlwZSA9PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydEFsbERpcmVjdGl2
ZXMgfHwgdHlwZSA9PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkVuZm9yY2VBbGxEaXJlY3RpdmVz
KTsKIH0KIAotUGFzc093blB0cjxDU1BEaXJlY3RpdmVMaXN0PiBDU1BEaXJlY3RpdmVMaXN0Ojpj
cmVhdGUoQ29udGVudFNlY3VyaXR5UG9saWN5KiBwb2xpY3ksIGNvbnN0IFN0cmluZyYgaGVhZGVy
LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgdHlwZSkKK1Bhc3NPd25QdHI8Q1NQ
RGlyZWN0aXZlTGlzdD4gQ1NQRGlyZWN0aXZlTGlzdDo6Y3JlYXRlKENvbnRlbnRTZWN1cml0eVBv
bGljeSogcG9saWN5LCBjb25zdCBTdHJpbmcmIGhlYWRlciwgQ29udGVudFNlY3VyaXR5UG9saWN5
OjpIZWFkZXJUeXBlIHR5cGUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyU291cmNlIHNv
dXJjZSkKIHsKLSAgICBPd25QdHI8Q1NQRGlyZWN0aXZlTGlzdD4gZGlyZWN0aXZlcyA9IGFkb3B0
UHRyKG5ldyBDU1BEaXJlY3RpdmVMaXN0KHBvbGljeSwgdHlwZSkpOworICAgIE93blB0cjxDU1BE
aXJlY3RpdmVMaXN0PiBkaXJlY3RpdmVzID0gYWRvcHRQdHIobmV3IENTUERpcmVjdGl2ZUxpc3Qo
cG9saWN5LCB0eXBlLCBzb3VyY2UpKTsKICAgICBkaXJlY3RpdmVzLT5wYXJzZShoZWFkZXIpOwog
CiAgICAgaWYgKCFkaXJlY3RpdmVzLT5jaGVja0V2YWwoZGlyZWN0aXZlcy0+b3BlcmF0aXZlRGly
ZWN0aXZlKGRpcmVjdGl2ZXMtPm1fc2NyaXB0U3JjLmdldCgpKSkpIHsKQEAgLTEzNDAsMTUgKzEz
NTcsMTcgQEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmNvcHlTdGF0ZUZyb20oY29uc3Qg
Q29udGVudFNlY3VyaXR5UG9saWN5KiBvdGhlcikKIHsKICAgICBBU1NFUlQobV9wb2xpY2llcy5p
c0VtcHR5KCkpOwogICAgIGZvciAoQ1NQRGlyZWN0aXZlTGlzdFZlY3Rvcjo6Y29uc3RfaXRlcmF0
b3IgaXRlciA9IG90aGVyLT5tX3BvbGljaWVzLmJlZ2luKCk7IGl0ZXIgIT0gb3RoZXItPm1fcG9s
aWNpZXMuZW5kKCk7ICsraXRlcikKLSAgICAgICAgZGlkUmVjZWl2ZUhlYWRlcigoKml0ZXIpLT5o
ZWFkZXIoKSwgKCppdGVyKS0+aGVhZGVyVHlwZSgpKTsKKyAgICAgICAgZGlkUmVjZWl2ZUhlYWRl
cigoKml0ZXIpLT5oZWFkZXIoKSwgKCppdGVyKS0+aGVhZGVyVHlwZSgpLCAoKml0ZXIpLT5oZWFk
ZXJTb3VyY2UoKSk7CiB9CiAKLXZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpkaWRSZWNlaXZl
SGVhZGVyKGNvbnN0IFN0cmluZyYgaGVhZGVyLCBIZWFkZXJUeXBlIHR5cGUpCit2b2lkIENvbnRl
bnRTZWN1cml0eVBvbGljeTo6ZGlkUmVjZWl2ZUhlYWRlcihjb25zdCBTdHJpbmcmIGhlYWRlciwg
SGVhZGVyVHlwZSB0eXBlLCBIZWFkZXJTb3VyY2Ugc291cmNlKQogewogICAgIGlmIChtX3Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQtPmlzRG9jdW1lbnQoKSkgewogICAgICAgICBEb2N1bWVudCogZG9j
dW1lbnQgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7
Ci0gICAgICAgIGlmIChkb2N1bWVudC0+ZG9tV2luZG93KCkpCi0gICAgICAgICAgICBGZWF0dXJl
T2JzZXJ2ZXI6Om9ic2VydmUoZG9jdW1lbnQtPmRvbVdpbmRvdygpLCBnZXRGZWF0dXJlT2JzZXJ2
ZXJUeXBlKHR5cGUpKTsKKyAgICAgICAgaWYgKGRvY3VtZW50LT5kb21XaW5kb3coKSkgeworICAg
ICAgICAgICAgRmVhdHVyZU9ic2VydmVyOjpvYnNlcnZlKGRvY3VtZW50LT5kb21XaW5kb3coKSwg
Z2V0VHlwZUZvckZlYXR1cmVPYnNlcnZlcih0eXBlKSk7CisgICAgICAgICAgICBGZWF0dXJlT2Jz
ZXJ2ZXI6Om9ic2VydmUoZG9jdW1lbnQtPmRvbVdpbmRvdygpLCBnZXRTb3VyY2VGb3JGZWF0dXJl
T2JzZXJ2ZXIoc291cmNlKSk7CisgICAgICAgIH0KICAgICB9CiAKICAgICAvLyBSRkMyNjE2LCBz
ZWN0aW9uIDQuMiBzcGVjaWZpZXMgdGhhdCBoZWFkZXJzIGFwcGVhcmluZyBtdWx0aXBsZSB0aW1l
cyBjYW4KQEAgLTEzNjIsNyArMTM4MSw3IEBAIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5Ojpk
aWRSZWNlaXZlSGVhZGVyKGNvbnN0IFN0cmluZyYgaGVhZGVyLCBIZWFkZXJUeXBlIHR5CiAKICAg
ICAgICAgLy8gaGVhZGVyMSxoZWFkZXIyIE9SIGhlYWRlcjEKICAgICAgICAgLy8gICAgICAgIF4g
ICAgICAgICAgICAgICAgICBeCi0gICAgICAgIG1fcG9saWNpZXMuYXBwZW5kKENTUERpcmVjdGl2
ZUxpc3Q6OmNyZWF0ZSh0aGlzLCBTdHJpbmcoYmVnaW4sIHBvc2l0aW9uIC0gYmVnaW4pLCB0eXBl
KSk7CisgICAgICAgIG1fcG9saWNpZXMuYXBwZW5kKENTUERpcmVjdGl2ZUxpc3Q6OmNyZWF0ZSh0
aGlzLCBTdHJpbmcoYmVnaW4sIHBvc2l0aW9uIC0gYmVnaW4pLCB0eXBlLCBzb3VyY2UpKTsKIAog
ICAgICAgICAvLyBTa2lwIHRoZSBjb21tYSwgYW5kIGJlZ2luIHRoZSBuZXh0IGhlYWRlciBmcm9t
IHRoZSBjdXJyZW50IHBvc2l0aW9uLgogICAgICAgICBBU1NFUlQocG9zaXRpb24gPT0gZW5kIHx8
ICpwb3NpdGlvbiA9PSAnLCcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZW50U2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5
UG9saWN5LmgKaW5kZXggZDJjZjNiNTQwYmY0ZmJlNjZkZDY2NjZhNzA3M2VmZjJjMGQwZmU0Ni4u
MWM4MGJiOTQ2ZDA1ZDdlMTI4MjdkMDM0MWM4ZGRiNWQyOTBlMzdiOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCkBAIC02NiwxMiArNjYsMTggQEAgcHVi
bGljOgogICAgICAgICBFbmZvcmNlQWxsRGlyZWN0aXZlcwogICAgIH07CiAKKyAgICBlbnVtIEhl
YWRlclNvdXJjZSB7CisgICAgICAgIEhUVFAsCisgICAgICAgIE1ldGEsCisgICAgICAgIFdvcmtl
cgorICAgIH07CisKICAgICBlbnVtIFJlcG9ydGluZ1N0YXR1cyB7CiAgICAgICAgIFNlbmRSZXBv
cnQsCiAgICAgICAgIFN1cHByZXNzUmVwb3J0CiAgICAgfTsKIAotICAgIHZvaWQgZGlkUmVjZWl2
ZUhlYWRlcihjb25zdCBTdHJpbmcmLCBIZWFkZXJUeXBlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVI
ZWFkZXIoY29uc3QgU3RyaW5nJiwgSGVhZGVyVHlwZSwgSGVhZGVyU291cmNlKTsKIAogICAgIC8v
IFRoZXNlIGZ1bmN0aW9ucyBhcmUgd3JvbmcgYmVjYXVzZSB0aGV5IGFzc3VtZSB0aGF0IHRoZXJl
IGlzIG9ubHkgb25lIGhlYWRlci4KICAgICAvLyBGSVhNRTogUmVwbGFjZSB0aGVtIHdpdGggZnVu
Y3Rpb25zIHRoYXQgcmV0dXJuIHZlY3RvcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZlYXR1cmVPYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GZWF0dXJlT2JzZXJ2
ZXIuaAppbmRleCA1MzFmNDZmMzhkMjFlZTRlYmRhYTcwOWI2MjVhMjdmNDZjMzE5N2RjLi40MzAz
ZjcwMWUzZTFhYjNjM2M1YjM2ZTcxOWNjMzVlNmFlM2NjNmMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZlYXR1cmVPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RmVhdHVyZU9ic2VydmVyLmgKQEAgLTU3LDYgKzU3LDkgQEAgcHVibGljOgogICAgICAgICBDb250
ZW50U2VjdXJpdHlQb2xpY3ksCiAgICAgICAgIENvbnRlbnRTZWN1cml0eVBvbGljeVJlcG9ydE9u
bHksCiAgICAgICAgIFByZWZpeGVkQ29udGVudFNlY3VyaXR5UG9saWN5UmVwb3J0T25seSwKKyAg
ICAgICAgQ29udGVudFNlY3VyaXR5UG9saWN5VmlhSFRUUCwKKyAgICAgICAgQ29udGVudFNlY3Vy
aXR5UG9saWN5VmlhTWV0YSwKKyAgICAgICAgQ29udGVudFNlY3VyaXR5UG9saWN5VmlhV29ya2Vy
LAogICAgICAgICAvLyBBZGQgbmV3IGZlYXR1cmVzIGFib3ZlIHRoaXMgbGluZS4KICAgICAgICAg
TnVtYmVyT2ZGZWF0dXJlcywgLy8gVGhpcyBlbnVtIHZhbHVlIG11c3QgYmUgbGFzdC4KICAgICB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAKaW5kZXggZDIyZTRlZTli
YTI1MzRiNmNlNTY5NDUxNjRkM2U3ZWQwYzcyNjVlOS4uYmEyMTZjYTZhNTRkOTQ3MTVjMGYzNjZl
ODg2ZGM4YjUyMDAwNjZlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQu
Y3BwCkBAIC0xMTUsNyArMTE1LDcgQEAgV29ya2VyQ29udGV4dDo6fldvcmtlckNvbnRleHQoKQog
dm9pZCBXb3JrZXJDb250ZXh0OjphcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeUZyb21TdHJpbmco
Y29uc3QgU3RyaW5nJiBwb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBj
b250ZW50U2VjdXJpdHlQb2xpY3lUeXBlKQogewogICAgIHNldENvbnRlbnRTZWN1cml0eVBvbGlj
eShDb250ZW50U2VjdXJpdHlQb2xpY3k6OmNyZWF0ZSh0aGlzKSk7Ci0gICAgY29udGVudFNlY3Vy
aXR5UG9saWN5KCktPmRpZFJlY2VpdmVIZWFkZXIocG9saWN5LCBjb250ZW50U2VjdXJpdHlQb2xp
Y3lUeXBlKTsKKyAgICBjb250ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRlcihw
b2xpY3ksIGNvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
V29ya2VyKTsKIH0KIAogU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogV29ya2VyQ29udGV4dDo6c2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>