<?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>178356</bug_id>
          
          <creation_ts>2017-10-16 11:59:23 -0700</creation_ts>
          <short_desc>Apply custom header fields from WebsitePolicies to same-domain requests</short_desc>
          <delta_ts>2017-11-15 13:04:05 -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>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>177629</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>beidson</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>dbates</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1360875</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-16 11:59:23 -0700</bug_when>
    <thetext>Apply custom header fields from WebsitePolicies to same-domain requests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360879</commentid>
    <comment_count>1</comment_count>
      <attachid>323925</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-16 12:05:16 -0700</bug_when>
    <thetext>Created attachment 323925
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360951</commentid>
    <comment_count>2</comment_count>
      <attachid>323925</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-10-16 14:08:10 -0700</bug_when>
    <thetext>Comment on attachment 323925
Patch

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

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:770
&gt; +    if (frame() &amp;&amp; m_documentLoader &amp;&amp; !m_documentLoader-&gt;customHeaderFields().isEmpty()) {
&gt; +        bool sameOriginRequest = false;
&gt; +        auto requestedOrigin = SecurityOrigin::create(url);
&gt; +        if (type == CachedResource::Type::MainResource) {
&gt; +            if (frame()-&gt;isMainFrame())
&gt; +                sameOriginRequest = true;
&gt; +            else if (auto* topDocument = frame()-&gt;mainFrame().document())
&gt; +                sameOriginRequest = topDocument-&gt;securityOrigin().isSameSchemeHostPort(requestedOrigin.get());
&gt; +        } else if (document()) {
&gt; +            sameOriginRequest = document()-&gt;topDocument().securityOrigin().isSameSchemeHostPort(requestedOrigin.get())
&gt; +                &amp;&amp; document()-&gt;securityOrigin().isSameSchemeHostPort(requestedOrigin.get());
&gt; +        }
&gt; +        if (sameOriginRequest) {
&gt; +            for (auto&amp; field : m_documentLoader-&gt;customHeaderFields())
&gt; +                request.resourceRequest().addHTTPHeaderField(field.name(), field.value());
&gt; +        }
&gt; +    }

This does not seem like it will apply the custom headers to a subframe or child window navigated to about:blank or a blob URL (*) page or sub-resources loaded from them. Notice that about:blank inherits the security origin of its parent/opener frame.

(*) with the same origin as the document that has custom headers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363327</commentid>
    <comment_count>3</comment_count>
      <attachid>324566</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-23 10:53:49 -0700</bug_when>
    <thetext>Created attachment 324566
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363328</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-23 10:54:20 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #2)
&gt; This does not seem like it will apply the custom headers to a subframe or
&gt; child window navigated to about:blank or a blob URL (*) page or
&gt; sub-resources loaded from them. Notice that about:blank inherits the
&gt; security origin of its parent/opener frame.
I added a test verifying that this case behaves correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363811</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-24 12:33:31 -0700</bug_when>
    <thetext>http://trac.webkit.org/r223909</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1366471</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-31 11:41:19 -0700</bug_when>
    <thetext>A few problems being fixed in https://bugs.webkit.org/show_bug.cgi?id=179064</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372345</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 13:04:05 -0800</bug_when>
    <thetext>&lt;rdar://problem/35568718&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323925</attachid>
            <date>2017-10-16 12:05:16 -0700</date>
            <delta_ts>2017-10-23 10:53:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178356-20171016120516.patch</filename>
            <type>text/plain</type>
            <size>11977</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMzI5MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDE3LTEwLTE2ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQXBwbHkgY3Vz
dG9tIGhlYWRlciBmaWVsZHMgZnJvbSBXZWJzaXRlUG9saWNpZXMgdG8gc2FtZS1kb21haW4gcmVx
dWVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
ODM1NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzEwNzM0MzY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSBuZXcgQVBJIHRlc3Rz
LgorCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRDYWNoZVBvbGljeSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRUaW1lb3V0SW50ZXJ2YWwpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0SFRUUE1ldGhvZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRIVFRQSGVhZGVyRmllbGQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y2xlYXJIVFRQQXV0aG9y
aXphdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpjbGVhckhU
VFBDb250ZW50VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpj
bGVhckhUVFBSZWZlcnJlcik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNl
OjpjbGVhckhUVFBPcmlnaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFz
ZTo6Y2xlYXJIVFRQVXNlckFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dEJhc2U6OmNsZWFySFRUUEFjY2VwdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3RCYXNlOjpjbGVhckhUVFBBY2NlcHRFbmNvZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3RCYXNlOjpzZXRSZXNwb25zZUNvbnRlbnREaXNwb3NpdGlvbkVuY29kaW5nRmFs
bGJhY2tBcnJheSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRI
VFRQQm9keSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRBbGxv
d0Nvb2tpZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0UHJp
b3JpdHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6YWRkSFRUUEhl
YWRlckZpZWxkSWZOb3RQcmVzZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dEJhc2U6OmFkZEhUVFBIZWFkZXJGaWVsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3RCYXNlOjpzZXRIVFRQSGVhZGVyRmllbGRzKToKKyAgICAgICAgSWYgd2Ugb25seSB1cGRh
dGUgdGhlIHBsYXRmb3JtIHJlcXVlc3Qgd2hlbiBoZWFkZXJzIGFyZSBhZGRlZCAob3Igb3RoZXIg
Y2hhbmdlcykgZm9yIEhUVFAgcmVxdWVzdHMsCisgICAgICAgIHRoZW4gdGhlIGNoYW5nZXMgd2ls
bCBub3QgYWZmZWN0IHRoZSBOU1VSTFJlcXVlc3QgdGhhdCBpcyBzZW50IG92ZXIgSVBDIG9yIHZp
c2libGUgdG8gdGhlIEFQSS4KKyAgICAgICAgVGhpcyBpcyBuZWNlc3NhcnkgZm9yIHRoZXNlIG5l
dyB0ZXN0cyB0byB3b3JrLCBidXQgaXQncyBhbHNvIG9mIGdyb3dpbmcgaW1wb3J0YW5jZSBzaW5j
ZSBvdXIKKyAgICAgICAgaW50cm9kdWN0aW9uIG9mIFdLVVJMU2NoZW1lSGFuZGxlci4KKwogMjAx
Ny0xMC0xMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJlbW92ZSBFZGl0b3I6OnNpbXBsaWZ5TWFya3VwCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAJKHJldmlz
aW9uIDIyMzI3OSkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc1MSw4ICs3NTEsMjMgQEAgUmVzb3VyY2VF
cnJvck9yPENhY2hlZFJlc291cmNlSGFuZGxlPENhYwogICAgIH0KICNlbmRpZgogCi0gICAgLy8g
RklYTUU6IEFkZCBjdXN0b20gaGVhZGVycyB0byBmaXJzdC1wYXJ0eSByZXF1ZXN0cy4KLSAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NjI5CisgICAgaWYg
KGZyYW1lKCkgJiYgbV9kb2N1bWVudExvYWRlciAmJiAhbV9kb2N1bWVudExvYWRlci0+Y3VzdG9t
SGVhZGVyRmllbGRzKCkuaXNFbXB0eSgpKSB7CisgICAgICAgIGJvb2wgc2FtZU9yaWdpblJlcXVl
c3QgPSBmYWxzZTsKKyAgICAgICAgYXV0byByZXF1ZXN0ZWRPcmlnaW4gPSBTZWN1cml0eU9yaWdp
bjo6Y3JlYXRlKHVybCk7CisgICAgICAgIGlmICh0eXBlID09IENhY2hlZFJlc291cmNlOjpUeXBl
OjpNYWluUmVzb3VyY2UpIHsKKyAgICAgICAgICAgIGlmIChmcmFtZSgpLT5pc01haW5GcmFtZSgp
KQorICAgICAgICAgICAgICAgIHNhbWVPcmlnaW5SZXF1ZXN0ID0gdHJ1ZTsKKyAgICAgICAgICAg
IGVsc2UgaWYgKGF1dG8qIHRvcERvY3VtZW50ID0gZnJhbWUoKS0+bWFpbkZyYW1lKCkuZG9jdW1l
bnQoKSkKKyAgICAgICAgICAgICAgICBzYW1lT3JpZ2luUmVxdWVzdCA9IHRvcERvY3VtZW50LT5z
ZWN1cml0eU9yaWdpbigpLmlzU2FtZVNjaGVtZUhvc3RQb3J0KHJlcXVlc3RlZE9yaWdpbi5nZXQo
KSk7CisgICAgICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQoKSkgeworICAgICAgICAgICAgc2FtZU9y
aWdpblJlcXVlc3QgPSBkb2N1bWVudCgpLT50b3BEb2N1bWVudCgpLnNlY3VyaXR5T3JpZ2luKCku
aXNTYW1lU2NoZW1lSG9zdFBvcnQocmVxdWVzdGVkT3JpZ2luLmdldCgpKQorICAgICAgICAgICAg
ICAgICYmIGRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkuaXNTYW1lU2NoZW1lSG9zdFBvcnQo
cmVxdWVzdGVkT3JpZ2luLmdldCgpKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc2FtZU9yaWdp
blJlcXVlc3QpIHsKKyAgICAgICAgICAgIGZvciAoYXV0byYgZmllbGQgOiBtX2RvY3VtZW50TG9h
ZGVyLT5jdXN0b21IZWFkZXJGaWVsZHMoKSkKKyAgICAgICAgICAgICAgICByZXF1ZXN0LnJlc291
cmNlUmVxdWVzdCgpLmFkZEhUVFBIZWFkZXJGaWVsZChmaWVsZC5uYW1lKCksIGZpZWxkLnZhbHVl
KCkpOworICAgICAgICB9CisgICAgfQogCiAgICAgTG9hZFRpbWluZyBsb2FkVGltaW5nOwogICAg
IGxvYWRUaW1pbmcubWFya1N0YXJ0VGltZUFuZEZldGNoU3RhcnQoKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNl
LmNwcAkocmV2aXNpb24gMjIzMjc5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ5LDggKzE0OSw3
IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0Q2FjaGVQb2xpY3kKICAgICAKICAgICBt
X2NhY2hlUG9saWN5ID0gY2FjaGVQb2xpY3k7CiAgICAgCi0gICAgaWYgKHVybCgpLnByb3RvY29s
SXNJbkhUVFBGYW1pbHkoKSkKLSAgICAgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFs
c2U7CisgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CiB9CiAKIGRvdWJsZSBS
ZXNvdXJjZVJlcXVlc3RCYXNlOjp0aW1lb3V0SW50ZXJ2YWwoKSBjb25zdApAQCAtMTY5LDggKzE2
OCw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0VGltZW91dEludGUKIAogICAgIG1f
dGltZW91dEludGVydmFsID0gdGltZW91dEludGVydmFsOwogICAgIAotICAgIGlmICh1cmwoKS5w
cm90b2NvbElzSW5IVFRQRmFtaWx5KCkpCi0gICAgICAgIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRl
ZCA9IGZhbHNlOworICAgIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA9IGZhbHNlOwogfQogCiBj
b25zdCBVUkwmIFJlc291cmNlUmVxdWVzdEJhc2U6OmZpcnN0UGFydHlGb3JDb29raWVzKCkgY29u
c3QKQEAgLTIwOCw4ICsyMDYsNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OnNldEhUVFBN
ZXRob2QoCiAKICAgICBtX2h0dHBNZXRob2QgPSBodHRwTWV0aG9kOwogICAgIAotICAgIGlmICh1
cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpCi0gICAgICAgIG1fcGxhdGZvcm1SZXF1ZXN0
VXBkYXRlZCA9IGZhbHNlOworICAgIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA9IGZhbHNlOwog
fQogCiBjb25zdCBIVFRQSGVhZGVyTWFwJiBSZXNvdXJjZVJlcXVlc3RCYXNlOjpodHRwSGVhZGVy
RmllbGRzKCkgY29uc3QKQEAgLTIzOSw4ICsyMzYsNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdEJh
c2U6OnNldEhUVFBIZWFkZXJGCiAKICAgICBtX2h0dHBIZWFkZXJGaWVsZHMuc2V0KG5hbWUsIHZh
bHVlKTsKICAgICAKLSAgICBpZiAodXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKQotICAg
ICAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKKyAgICBtX3BsYXRmb3JtUmVx
dWVzdFVwZGF0ZWQgPSBmYWxzZTsKIH0KIAogdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRI
VFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWUgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkK
QEAgLTI0OSw4ICsyNDUsNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OnNldEhUVFBIZWFk
ZXJGCiAKICAgICBtX2h0dHBIZWFkZXJGaWVsZHMuc2V0KG5hbWUsIHZhbHVlKTsKIAotICAgIGlm
ICh1cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpCi0gICAgICAgIG1fcGxhdGZvcm1SZXF1
ZXN0VXBkYXRlZCA9IGZhbHNlOworICAgIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA9IGZhbHNl
OwogfQogCiB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OmNsZWFySFRUUEF1dGhvcml6YXRpb24o
KQpAQCAtMjYwLDggKzI1NSw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y2xlYXJIVFRQ
QXV0aG8KICAgICBpZiAoIW1faHR0cEhlYWRlckZpZWxkcy5yZW1vdmUoSFRUUEhlYWRlck5hbWU6
OkF1dGhvcml6YXRpb24pKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAodXJsKCkucHJvdG9j
b2xJc0luSFRUUEZhbWlseSgpKQotICAgICAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBm
YWxzZTsKKyAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKIH0KIAogU3RyaW5n
IFJlc291cmNlUmVxdWVzdEJhc2U6Omh0dHBDb250ZW50VHlwZSgpIGNvbnN0CkBAIC0yODAsOCAr
Mjc0LDcgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpjbGVhckhUVFBDb250ZQogCiAgICAg
bV9odHRwSGVhZGVyRmllbGRzLnJlbW92ZShIVFRQSGVhZGVyTmFtZTo6Q29udGVudFR5cGUpOwog
Ci0gICAgaWYgKHVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkKLSAgICAgICAgbV9wbGF0
Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CisgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVk
ID0gZmFsc2U7CiB9CiAKIFN0cmluZyBSZXNvdXJjZVJlcXVlc3RCYXNlOjpodHRwUmVmZXJyZXIo
KSBjb25zdApAQCAtMzA1LDggKzI5OCw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y2xl
YXJIVFRQUmVmZXIKIAogICAgIG1faHR0cEhlYWRlckZpZWxkcy5yZW1vdmUoSFRUUEhlYWRlck5h
bWU6OlJlZmVyZXIpOwogCi0gICAgaWYgKHVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkK
LSAgICAgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CisgICAgbV9wbGF0Zm9y
bVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CiB9CiAKIFN0cmluZyBSZXNvdXJjZVJlcXVlc3RCYXNl
OjpodHRwT3JpZ2luKCkgY29uc3QKQEAgLTMzMCw4ICszMjIsNyBAQCB2b2lkIFJlc291cmNlUmVx
dWVzdEJhc2U6OmNsZWFySFRUUE9yaWdpCiAKICAgICBtX2h0dHBIZWFkZXJGaWVsZHMucmVtb3Zl
KEhUVFBIZWFkZXJOYW1lOjpPcmlnaW4pOwogCi0gICAgaWYgKHVybCgpLnByb3RvY29sSXNJbkhU
VFBGYW1pbHkoKSkKLSAgICAgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7Cisg
ICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CiB9CiAKIGJvb2wgUmVzb3VyY2VS
ZXF1ZXN0QmFzZTo6aGFzSFRUUEhlYWRlcihIVFRQSGVhZGVyTmFtZSBuYW1lKSBjb25zdApAQCAt
MzU1LDggKzM0Niw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y2xlYXJIVFRQVXNlckEK
IAogICAgIG1faHR0cEhlYWRlckZpZWxkcy5yZW1vdmUoSFRUUEhlYWRlck5hbWU6OlVzZXJBZ2Vu
dCk7CiAKLSAgICBpZiAodXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKQotICAgICAgICBt
X3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKKyAgICBtX3BsYXRmb3JtUmVxdWVzdFVw
ZGF0ZWQgPSBmYWxzZTsKIH0KIAogU3RyaW5nIFJlc291cmNlUmVxdWVzdEJhc2U6Omh0dHBBY2Nl
cHQoKSBjb25zdApAQCAtMzc1LDggKzM2NSw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6
Y2xlYXJIVFRQQWNjZXAKIAogICAgIG1faHR0cEhlYWRlckZpZWxkcy5yZW1vdmUoSFRUUEhlYWRl
ck5hbWU6OkFjY2VwdCk7CiAKLSAgICBpZiAodXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgp
KQotICAgICAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKKyAgICBtX3BsYXRm
b3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKIH0KIAogdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNl
OjpjbGVhckhUVFBBY2NlcHRFbmNvZGluZygpCkBAIC0zODUsOCArMzc0LDcgQEAgdm9pZCBSZXNv
dXJjZVJlcXVlc3RCYXNlOjpjbGVhckhUVFBBY2NlcAogCiAgICAgbV9odHRwSGVhZGVyRmllbGRz
LnJlbW92ZShIVFRQSGVhZGVyTmFtZTo6QWNjZXB0RW5jb2RpbmcpOwogCi0gICAgaWYgKHVybCgp
LnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkKLSAgICAgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRh
dGVkID0gZmFsc2U7CisgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CiB9CiAK
IHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0UmVzcG9uc2VDb250ZW50RGlzcG9zaXRpb25F
bmNvZGluZ0ZhbGxiYWNrQXJyYXkoY29uc3QgU3RyaW5nJiBlbmNvZGluZzEsIGNvbnN0IFN0cmlu
ZyYgZW5jb2RpbmcyLCBjb25zdCBTdHJpbmcmIGVuY29kaW5nMykKQEAgLTQwMiw4ICszOTAsNyBA
QCB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OnNldFJlc3BvbnNlQ29uCiAgICAgaWYgKCFlbmNv
ZGluZzMuaXNOdWxsKCkpCiAgICAgICAgIG1fcmVzcG9uc2VDb250ZW50RGlzcG9zaXRpb25FbmNv
ZGluZ0ZhbGxiYWNrQXJyYXkudW5jaGVja2VkQXBwZW5kKGVuY29kaW5nMyk7CiAgICAgCi0gICAg
aWYgKHVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkKLSAgICAgICAgbV9wbGF0Zm9ybVJl
cXVlc3RVcGRhdGVkID0gZmFsc2U7CisgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFs
c2U7CiB9CiAKIEZvcm1EYXRhKiBSZXNvdXJjZVJlcXVlc3RCYXNlOjpodHRwQm9keSgpIGNvbnN0
CkBAIC00MjEsOCArNDA4LDcgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRIVFRQQm9k
eShSZQogCiAgICAgbV9yZXNvdXJjZVJlcXVlc3RCb2R5VXBkYXRlZCA9IHRydWU7CiAKLSAgICBp
ZiAodXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKQotICAgICAgICBtX3BsYXRmb3JtUmVx
dWVzdEJvZHlVcGRhdGVkID0gZmFsc2U7CisgICAgbV9wbGF0Zm9ybVJlcXVlc3RCb2R5VXBkYXRl
ZCA9IGZhbHNlOwogfQogCiBib29sIFJlc291cmNlUmVxdWVzdEJhc2U6OmFsbG93Q29va2llcygp
IGNvbnN0CkBAIC00NDEsOCArNDI3LDcgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRB
bGxvd0Nvb2tpZQogCiAgICAgbV9hbGxvd0Nvb2tpZXMgPSBhbGxvd0Nvb2tpZXM7CiAgICAgCi0g
ICAgaWYgKHVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkKLSAgICAgICAgbV9wbGF0Zm9y
bVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CisgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0g
ZmFsc2U7CiB9CiAKIFJlc291cmNlTG9hZFByaW9yaXR5IFJlc291cmNlUmVxdWVzdEJhc2U6OnBy
aW9yaXR5KCkgY29uc3QKQEAgLTQ2MSw4ICs0NDYsNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdEJh
c2U6OnNldFByaW9yaXR5KFJlCiAKICAgICBtX3ByaW9yaXR5ID0gcHJpb3JpdHk7CiAKLSAgICBp
ZiAodXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKQotICAgICAgICBtX3BsYXRmb3JtUmVx
dWVzdFVwZGF0ZWQgPSBmYWxzZTsKKyAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxz
ZTsKIH0KIAogdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjphZGRIVFRQSGVhZGVyRmllbGRJZk5v
dFByZXNlbnQoSFRUUEhlYWRlck5hbWUgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKQEAgLTQ3
Miw4ICs0NTYsNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OmFkZEhUVFBIZWFkZXJGCiAg
ICAgaWYgKCFtX2h0dHBIZWFkZXJGaWVsZHMuYWRkSWZOb3RQcmVzZW50KG5hbWUsIHZhbHVlKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHko
KSkKLSAgICAgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CisgICAgbV9wbGF0
Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CiB9CiAKIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFz
ZTo6YWRkSFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lIG5hbWUsIGNvbnN0IFN0cmluZyYg
dmFsdWUpCkBAIC00ODIsOCArNDY1LDcgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjphZGRI
VFRQSGVhZGVyRgogCiAgICAgbV9odHRwSGVhZGVyRmllbGRzLmFkZChuYW1lLCB2YWx1ZSk7CiAK
LSAgICBpZiAodXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKQotICAgICAgICBtX3BsYXRm
b3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKKyAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQg
PSBmYWxzZTsKIH0KIAogdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjphZGRIVFRQSGVhZGVyRmll
bGQoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKQpAQCAtNDkyLDggKzQ3
NCw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6YWRkSFRUUEhlYWRlckYKIAogICAgIG1f
aHR0cEhlYWRlckZpZWxkcy5hZGQobmFtZSwgdmFsdWUpOwogCi0gICAgaWYgKHVybCgpLnByb3Rv
Y29sSXNJbkhUVFBGYW1pbHkoKSkKLSAgICAgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0g
ZmFsc2U7CisgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CiB9CiAKIGJvb2wg
UmVzb3VyY2VSZXF1ZXN0QmFzZTo6aGFzSFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lIGhl
YWRlck5hbWUpIGNvbnN0CkBAIC01MDcsOCArNDg4LDcgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3RC
YXNlOjpzZXRIVFRQSGVhZGVyRgogCiAgICAgbV9odHRwSGVhZGVyRmllbGRzID0gV1RGTW92ZSho
ZWFkZXJGaWVsZHMpOwogCi0gICAgaWYgKHVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkK
LSAgICAgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CisgICAgbV9wbGF0Zm9y
bVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CiB9CiAKIGJvb2wgZXF1YWxJZ25vcmluZ0hlYWRlckZp
ZWxkcyhjb25zdCBSZXNvdXJjZVJlcXVlc3RCYXNlJiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3RC
YXNlJiBiKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5n
ZUxvZwkocmV2aXNpb24gMjIzNDIwKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMTAtMTYgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0
ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBBcHBseSBjdXN0b20gaGVhZGVyIGZpZWxkcyBm
cm9tIFdlYnNpdGVQb2xpY2llcyB0byBzYW1lLWRvbWFpbiByZXF1ZXN0cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MzU2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5tbToKKyAgICAgICAgKGV4cGVjdEhlYWRlcnMp
OgorCiAyMDE3LTEwLTE2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgQ2xpY2tzIG9uIExpbmsgd2l0aCBkb3dubG9hZCBhdHRyaWJ1dGUgY2F1c2VzIGFsbCAob3Ro
ZXIpIGxpbmtzIHRvIHRyaWdnZXIgZG93bmxvYWQgd2hlbiBjbGlja2VkCkluZGV4OiBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xp
Y2llcy5tbQkocmV2aXNpb24gMjIzMjc5KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTY0Myw4ICs2
NDMsOCBAQCBzdGF0aWMgdm9pZCBleHBlY3RIZWFkZXJzKGlkIDxXS1VSTFNjaGVtCiB7CiAgICAg
TlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gdGFzay5yZXF1ZXN0OwogICAgIGlmIChleHBlY3RlZCkg
ewotICAgICAgICAvLyBGSVhNRTogQ2hlY2sgdGhhdCBoZWFkZXJzIGFyZSBvbiB0aGUgcmVxdWVz
dC4KLSAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NzYyOQorICAgICAgICBFWFBFQ1RfU1RSRVEoW1tyZXF1ZXN0IHZhbHVlRm9ySFRUUEhlYWRlckZp
ZWxkOkAiWC1rZXkxIl0gVVRGOFN0cmluZ10sICJ2YWx1ZTEiKTsKKyAgICAgICAgRVhQRUNUX1NU
UkVRKFtbcmVxdWVzdCB2YWx1ZUZvckhUVFBIZWFkZXJGaWVsZDpAIlgta2V5MiJdIFVURjhTdHJp
bmddLCAidmFsdWUyIik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgRVhQRUNUX1RSVUUoW3JlcXVl
c3QgdmFsdWVGb3JIVFRQSGVhZGVyRmllbGQ6QCJYLWtleTEiXSA9PSBuaWwpOwogICAgICAgICBF
WFBFQ1RfVFJVRShbcmVxdWVzdCB2YWx1ZUZvckhUVFBIZWFkZXJGaWVsZDpAIlgta2V5MiJdID09
IG5pbCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324566</attachid>
            <date>2017-10-23 10:53:49 -0700</date>
            <delta_ts>2017-10-24 12:27:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178356-20171023105348.patch</filename>
            <type>text/plain</type>
            <size>13309</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMzc5OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDE3LTEwLTIzICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQXBwbHkgY3Vz
dG9tIGhlYWRlciBmaWVsZHMgZnJvbSBXZWJzaXRlUG9saWNpZXMgdG8gc2FtZS1kb21haW4gcmVx
dWVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
ODM1NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzEwNzM0MzY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSBuZXcgQVBJIHRlc3Rz
LgorCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRDYWNoZVBvbGljeSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRUaW1lb3V0SW50ZXJ2YWwpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0SFRUUE1ldGhvZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRIVFRQSGVhZGVyRmllbGQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y2xlYXJIVFRQQXV0aG9y
aXphdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpjbGVhckhU
VFBDb250ZW50VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpj
bGVhckhUVFBSZWZlcnJlcik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNl
OjpjbGVhckhUVFBPcmlnaW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFz
ZTo6Y2xlYXJIVFRQVXNlckFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dEJhc2U6OmNsZWFySFRUUEFjY2VwdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3RCYXNlOjpjbGVhckhUVFBBY2NlcHRFbmNvZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3RCYXNlOjpzZXRSZXNwb25zZUNvbnRlbnREaXNwb3NpdGlvbkVuY29kaW5nRmFs
bGJhY2tBcnJheSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRI
VFRQQm9keSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRBbGxv
d0Nvb2tpZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0UHJp
b3JpdHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6YWRkSFRUUEhl
YWRlckZpZWxkSWZOb3RQcmVzZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dEJhc2U6OmFkZEhUVFBIZWFkZXJGaWVsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3RCYXNlOjpzZXRIVFRQSGVhZGVyRmllbGRzKToKKyAgICAgICAgSWYgd2Ugb25seSB1cGRh
dGUgdGhlIHBsYXRmb3JtIHJlcXVlc3Qgd2hlbiBoZWFkZXJzIGFyZSBhZGRlZCAob3Igb3RoZXIg
Y2hhbmdlcykgZm9yIEhUVFAgcmVxdWVzdHMsCisgICAgICAgIHRoZW4gdGhlIGNoYW5nZXMgd2ls
bCBub3QgYWZmZWN0IHRoZSBOU1VSTFJlcXVlc3QgdGhhdCBpcyBzZW50IG92ZXIgSVBDIG9yIHZp
c2libGUgdG8gdGhlIEFQSS4KKyAgICAgICAgVGhpcyBpcyBuZWNlc3NhcnkgZm9yIHRoZXNlIG5l
dyB0ZXN0cyB0byB3b3JrLCBidXQgaXQncyBhbHNvIG9mIGdyb3dpbmcgaW1wb3J0YW5jZSBzaW5j
ZSBvdXIKKyAgICAgICAgaW50cm9kdWN0aW9uIG9mIFdLVVJMU2NoZW1lSGFuZGxlci4KKwogMjAx
Ny0xMC0yMCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCBmaXggd2luZG93cyBidWlsZC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAkocmV2aXNpb24g
MjIzNzk4KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzY1LDggKzc2NSwyMyBAQCBSZXNvdXJjZUVycm9y
T3I8Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjCiAgICAgfQogI2VuZGlmCiAKLSAgICAvLyBGSVhN
RTogQWRkIGN1c3RvbSBoZWFkZXJzIHRvIGZpcnN0LXBhcnR5IHJlcXVlc3RzLgotICAgIC8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc2MjkKKyAgICBpZiAoZnJh
bWUoKSAmJiBtX2RvY3VtZW50TG9hZGVyICYmICFtX2RvY3VtZW50TG9hZGVyLT5jdXN0b21IZWFk
ZXJGaWVsZHMoKS5pc0VtcHR5KCkpIHsKKyAgICAgICAgYm9vbCBzYW1lT3JpZ2luUmVxdWVzdCA9
IGZhbHNlOworICAgICAgICBhdXRvIHJlcXVlc3RlZE9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpj
cmVhdGUodXJsKTsKKyAgICAgICAgaWYgKHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OlR5cGU6Ok1h
aW5SZXNvdXJjZSkgeworICAgICAgICAgICAgaWYgKGZyYW1lKCktPmlzTWFpbkZyYW1lKCkpCisg
ICAgICAgICAgICAgICAgc2FtZU9yaWdpblJlcXVlc3QgPSB0cnVlOworICAgICAgICAgICAgZWxz
ZSBpZiAoYXV0byogdG9wRG9jdW1lbnQgPSBmcmFtZSgpLT5tYWluRnJhbWUoKS5kb2N1bWVudCgp
KQorICAgICAgICAgICAgICAgIHNhbWVPcmlnaW5SZXF1ZXN0ID0gdG9wRG9jdW1lbnQtPnNlY3Vy
aXR5T3JpZ2luKCkuaXNTYW1lU2NoZW1lSG9zdFBvcnQocmVxdWVzdGVkT3JpZ2luLmdldCgpKTsK
KyAgICAgICAgfSBlbHNlIGlmIChkb2N1bWVudCgpKSB7CisgICAgICAgICAgICBzYW1lT3JpZ2lu
UmVxdWVzdCA9IGRvY3VtZW50KCktPnRvcERvY3VtZW50KCkuc2VjdXJpdHlPcmlnaW4oKS5pc1Nh
bWVTY2hlbWVIb3N0UG9ydChyZXF1ZXN0ZWRPcmlnaW4uZ2V0KCkpCisgICAgICAgICAgICAgICAg
JiYgZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS5pc1NhbWVTY2hlbWVIb3N0UG9ydChyZXF1
ZXN0ZWRPcmlnaW4uZ2V0KCkpOworICAgICAgICB9CisgICAgICAgIGlmIChzYW1lT3JpZ2luUmVx
dWVzdCkgeworICAgICAgICAgICAgZm9yIChhdXRvJiBmaWVsZCA6IG1fZG9jdW1lbnRMb2FkZXIt
PmN1c3RvbUhlYWRlckZpZWxkcygpKQorICAgICAgICAgICAgICAgIHJlcXVlc3QucmVzb3VyY2VS
ZXF1ZXN0KCkuYWRkSFRUUEhlYWRlckZpZWxkKGZpZWxkLm5hbWUoKSwgZmllbGQudmFsdWUoKSk7
CisgICAgICAgIH0KKyAgICB9CiAKICAgICBMb2FkVGltaW5nIGxvYWRUaW1pbmc7CiAgICAgbG9h
ZFRpbWluZy5tYXJrU3RhcnRUaW1lQW5kRmV0Y2hTdGFydCgpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3Bw
CShyZXZpc2lvbiAyMjM3OTgpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVxdWVzdEJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDksOCArMTQ5LDcgQEAg
dm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRDYWNoZVBvbGljeQogICAgIAogICAgIG1fY2Fj
aGVQb2xpY3kgPSBjYWNoZVBvbGljeTsKICAgICAKLSAgICBpZiAodXJsKCkucHJvdG9jb2xJc0lu
SFRUUEZhbWlseSgpKQotICAgICAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsK
KyAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKIH0KIAogZG91YmxlIFJlc291
cmNlUmVxdWVzdEJhc2U6OnRpbWVvdXRJbnRlcnZhbCgpIGNvbnN0CkBAIC0xNjksOCArMTY4LDcg
QEAgdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRUaW1lb3V0SW50ZQogCiAgICAgbV90aW1l
b3V0SW50ZXJ2YWwgPSB0aW1lb3V0SW50ZXJ2YWw7CiAgICAgCi0gICAgaWYgKHVybCgpLnByb3Rv
Y29sSXNJbkhUVFBGYW1pbHkoKSkKLSAgICAgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0g
ZmFsc2U7CisgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CiB9CiAKIGNvbnN0
IFVSTCYgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Zmlyc3RQYXJ0eUZvckNvb2tpZXMoKSBjb25zdApA
QCAtMjA4LDggKzIwNiw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0SFRUUE1ldGhv
ZCgKIAogICAgIG1faHR0cE1ldGhvZCA9IGh0dHBNZXRob2Q7CiAgICAgCi0gICAgaWYgKHVybCgp
LnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkKLSAgICAgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRh
dGVkID0gZmFsc2U7CisgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CiB9CiAK
IGNvbnN0IEhUVFBIZWFkZXJNYXAmIFJlc291cmNlUmVxdWVzdEJhc2U6Omh0dHBIZWFkZXJGaWVs
ZHMoKSBjb25zdApAQCAtMjM5LDggKzIzNiw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6
c2V0SFRUUEhlYWRlckYKIAogICAgIG1faHR0cEhlYWRlckZpZWxkcy5zZXQobmFtZSwgdmFsdWUp
OwogICAgIAotICAgIGlmICh1cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpCi0gICAgICAg
IG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA9IGZhbHNlOworICAgIG1fcGxhdGZvcm1SZXF1ZXN0
VXBkYXRlZCA9IGZhbHNlOwogfQogCiB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OnNldEhUVFBI
ZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZSBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKQpAQCAt
MjQ5LDggKzI0NSw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0SFRUUEhlYWRlckYK
IAogICAgIG1faHR0cEhlYWRlckZpZWxkcy5zZXQobmFtZSwgdmFsdWUpOwogCi0gICAgaWYgKHVy
bCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkKLSAgICAgICAgbV9wbGF0Zm9ybVJlcXVlc3RV
cGRhdGVkID0gZmFsc2U7CisgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CiB9
CiAKIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y2xlYXJIVFRQQXV0aG9yaXphdGlvbigpCkBA
IC0yNjAsOCArMjU1LDcgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpjbGVhckhUVFBBdXRo
bwogICAgIGlmICghbV9odHRwSGVhZGVyRmllbGRzLnJlbW92ZShIVFRQSGVhZGVyTmFtZTo6QXV0
aG9yaXphdGlvbikpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICh1cmwoKS5wcm90b2NvbElz
SW5IVFRQRmFtaWx5KCkpCi0gICAgICAgIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA9IGZhbHNl
OworICAgIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA9IGZhbHNlOwogfQogCiBTdHJpbmcgUmVz
b3VyY2VSZXF1ZXN0QmFzZTo6aHR0cENvbnRlbnRUeXBlKCkgY29uc3QKQEAgLTI4MCw4ICsyNzQs
NyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OmNsZWFySFRUUENvbnRlCiAKICAgICBtX2h0
dHBIZWFkZXJGaWVsZHMucmVtb3ZlKEhUVFBIZWFkZXJOYW1lOjpDb250ZW50VHlwZSk7CiAKLSAg
ICBpZiAodXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKQotICAgICAgICBtX3BsYXRmb3Jt
UmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKKyAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBm
YWxzZTsKIH0KIAogU3RyaW5nIFJlc291cmNlUmVxdWVzdEJhc2U6Omh0dHBSZWZlcnJlcigpIGNv
bnN0CkBAIC0zMDUsOCArMjk4LDcgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpjbGVhckhU
VFBSZWZlcgogCiAgICAgbV9odHRwSGVhZGVyRmllbGRzLnJlbW92ZShIVFRQSGVhZGVyTmFtZTo6
UmVmZXJlcik7CiAKLSAgICBpZiAodXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKQotICAg
ICAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKKyAgICBtX3BsYXRmb3JtUmVx
dWVzdFVwZGF0ZWQgPSBmYWxzZTsKIH0KIAogU3RyaW5nIFJlc291cmNlUmVxdWVzdEJhc2U6Omh0
dHBPcmlnaW4oKSBjb25zdApAQCAtMzMwLDggKzMyMiw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0
QmFzZTo6Y2xlYXJIVFRQT3JpZ2kKIAogICAgIG1faHR0cEhlYWRlckZpZWxkcy5yZW1vdmUoSFRU
UEhlYWRlck5hbWU6Ok9yaWdpbik7CiAKLSAgICBpZiAodXJsKCkucHJvdG9jb2xJc0luSFRUUEZh
bWlseSgpKQotICAgICAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKKyAgICBt
X3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKIH0KIAogYm9vbCBSZXNvdXJjZVJlcXVl
c3RCYXNlOjpoYXNIVFRQSGVhZGVyKEhUVFBIZWFkZXJOYW1lIG5hbWUpIGNvbnN0CkBAIC0zNTUs
OCArMzQ2LDcgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpjbGVhckhUVFBVc2VyQQogCiAg
ICAgbV9odHRwSGVhZGVyRmllbGRzLnJlbW92ZShIVFRQSGVhZGVyTmFtZTo6VXNlckFnZW50KTsK
IAotICAgIGlmICh1cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpCi0gICAgICAgIG1fcGxh
dGZvcm1SZXF1ZXN0VXBkYXRlZCA9IGZhbHNlOworICAgIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRl
ZCA9IGZhbHNlOwogfQogCiBTdHJpbmcgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6aHR0cEFjY2VwdCgp
IGNvbnN0CkBAIC0zNzUsOCArMzY1LDcgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpjbGVh
ckhUVFBBY2NlcAogCiAgICAgbV9odHRwSGVhZGVyRmllbGRzLnJlbW92ZShIVFRQSGVhZGVyTmFt
ZTo6QWNjZXB0KTsKIAotICAgIGlmICh1cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpCi0g
ICAgICAgIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA9IGZhbHNlOworICAgIG1fcGxhdGZvcm1S
ZXF1ZXN0VXBkYXRlZCA9IGZhbHNlOwogfQogCiB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OmNs
ZWFySFRUUEFjY2VwdEVuY29kaW5nKCkKQEAgLTM4NSw4ICszNzQsNyBAQCB2b2lkIFJlc291cmNl
UmVxdWVzdEJhc2U6OmNsZWFySFRUUEFjY2VwCiAKICAgICBtX2h0dHBIZWFkZXJGaWVsZHMucmVt
b3ZlKEhUVFBIZWFkZXJOYW1lOjpBY2NlcHRFbmNvZGluZyk7CiAKLSAgICBpZiAodXJsKCkucHJv
dG9jb2xJc0luSFRUUEZhbWlseSgpKQotICAgICAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQg
PSBmYWxzZTsKKyAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKIH0KIAogdm9p
ZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRSZXNwb25zZUNvbnRlbnREaXNwb3NpdGlvbkVuY29k
aW5nRmFsbGJhY2tBcnJheShjb25zdCBTdHJpbmcmIGVuY29kaW5nMSwgY29uc3QgU3RyaW5nJiBl
bmNvZGluZzIsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmczKQpAQCAtNDAyLDggKzM5MCw3IEBAIHZv
aWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0UmVzcG9uc2VDb24KICAgICBpZiAoIWVuY29kaW5n
My5pc051bGwoKSkKICAgICAgICAgbV9yZXNwb25zZUNvbnRlbnREaXNwb3NpdGlvbkVuY29kaW5n
RmFsbGJhY2tBcnJheS51bmNoZWNrZWRBcHBlbmQoZW5jb2RpbmczKTsKICAgICAKLSAgICBpZiAo
dXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKQotICAgICAgICBtX3BsYXRmb3JtUmVxdWVz
dFVwZGF0ZWQgPSBmYWxzZTsKKyAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsK
IH0KIAogRm9ybURhdGEqIFJlc291cmNlUmVxdWVzdEJhc2U6Omh0dHBCb2R5KCkgY29uc3QKQEAg
LTQyMSw4ICs0MDgsNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OnNldEhUVFBCb2R5KFJl
CiAKICAgICBtX3Jlc291cmNlUmVxdWVzdEJvZHlVcGRhdGVkID0gdHJ1ZTsKIAotICAgIGlmICh1
cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpCi0gICAgICAgIG1fcGxhdGZvcm1SZXF1ZXN0
Qm9keVVwZGF0ZWQgPSBmYWxzZTsKKyAgICBtX3BsYXRmb3JtUmVxdWVzdEJvZHlVcGRhdGVkID0g
ZmFsc2U7CiB9CiAKIGJvb2wgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6YWxsb3dDb29raWVzKCkgY29u
c3QKQEAgLTQ0MSw4ICs0MjcsNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OnNldEFsbG93
Q29va2llCiAKICAgICBtX2FsbG93Q29va2llcyA9IGFsbG93Q29va2llczsKICAgICAKLSAgICBp
ZiAodXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKQotICAgICAgICBtX3BsYXRmb3JtUmVx
dWVzdFVwZGF0ZWQgPSBmYWxzZTsKKyAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxz
ZTsKIH0KIAogUmVzb3VyY2VMb2FkUHJpb3JpdHkgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6cHJpb3Jp
dHkoKSBjb25zdApAQCAtNDYxLDggKzQ0Niw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6
c2V0UHJpb3JpdHkoUmUKIAogICAgIG1fcHJpb3JpdHkgPSBwcmlvcml0eTsKIAotICAgIGlmICh1
cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpCi0gICAgICAgIG1fcGxhdGZvcm1SZXF1ZXN0
VXBkYXRlZCA9IGZhbHNlOworICAgIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA9IGZhbHNlOwog
fQogCiB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OmFkZEhUVFBIZWFkZXJGaWVsZElmTm90UHJl
c2VudChIVFRQSGVhZGVyTmFtZSBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKQpAQCAtNDcyLDgg
KzQ1Niw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6YWRkSFRUUEhlYWRlckYKICAgICBp
ZiAoIW1faHR0cEhlYWRlckZpZWxkcy5hZGRJZk5vdFByZXNlbnQobmFtZSwgdmFsdWUpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBpZiAodXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKQot
ICAgICAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKKyAgICBtX3BsYXRmb3Jt
UmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKIH0KIAogdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjph
ZGRIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWUgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1
ZSkKQEAgLTQ4Miw4ICs0NjUsNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OmFkZEhUVFBI
ZWFkZXJGCiAKICAgICBtX2h0dHBIZWFkZXJGaWVsZHMuYWRkKG5hbWUsIHZhbHVlKTsKIAotICAg
IGlmICh1cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpCi0gICAgICAgIG1fcGxhdGZvcm1S
ZXF1ZXN0VXBkYXRlZCA9IGZhbHNlOworICAgIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA9IGZh
bHNlOwogfQogCiB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OmFkZEhUVFBIZWFkZXJGaWVsZChj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpCkBAIC00OTIsOCArNDc0LDcg
QEAgdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjphZGRIVFRQSGVhZGVyRgogCiAgICAgbV9odHRw
SGVhZGVyRmllbGRzLmFkZChuYW1lLCB2YWx1ZSk7CiAKLSAgICBpZiAodXJsKCkucHJvdG9jb2xJ
c0luSFRUUEZhbWlseSgpKQotICAgICAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxz
ZTsKKyAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKIH0KIAogYm9vbCBSZXNv
dXJjZVJlcXVlc3RCYXNlOjpoYXNIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWUgaGVhZGVy
TmFtZSkgY29uc3QKQEAgLTUwNyw4ICs0ODgsNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6
OnNldEhUVFBIZWFkZXJGCiAKICAgICBtX2h0dHBIZWFkZXJGaWVsZHMgPSBXVEZNb3ZlKGhlYWRl
ckZpZWxkcyk7CiAKLSAgICBpZiAodXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKQotICAg
ICAgICBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxzZTsKKyAgICBtX3BsYXRmb3JtUmVx
dWVzdFVwZGF0ZWQgPSBmYWxzZTsKIH0KIAogYm9vbCBlcXVhbElnbm9yaW5nSGVhZGVyRmllbGRz
KGNvbnN0IFJlc291cmNlUmVxdWVzdEJhc2UmIGEsIGNvbnN0IFJlc291cmNlUmVxdWVzdEJhc2Um
IGIpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjM3OTgpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxMyBAQAorMjAxNy0xMC0yMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgorCisgICAgICAgIEFwcGx5IGN1c3RvbSBoZWFkZXIgZmllbGRzIGZyb20g
V2Vic2l0ZVBvbGljaWVzIHRvIHNhbWUtZG9tYWluIHJlcXVlc3RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgzNTYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tOgorICAgICAgICAoZXhwZWN0SGVhZGVycyk6CisK
IDIwMTctMTAtMjAgIEFha2FzaCBKYWluICA8YWFrYXNoX2phaW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIERvIG5vdCBydW4gYmluZGluZyB0ZXN0cyBvbiBtdWx0aXBsZSBFV1NlcwpJbmRleDogVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRl
UG9saWNpZXMubW0JKHJldmlzaW9uIDIyMzc5OCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02NzEs
MTMgKzY3MSwxNCBAQCBURVNUKFdlYktpdCwgSW52YWxpZEN1c3RvbUhlYWRlcnMpCiBzdGF0aWMg
Ym9vbCBmaXJzdFRlc3REb25lOwogc3RhdGljIGJvb2wgc2Vjb25kVGVzdERvbmU7CiBzdGF0aWMg
Ym9vbCB0aGlyZFRlc3REb25lOworc3RhdGljIGJvb2wgZm91cnRoVGVzdERvbmU7CiAKIHN0YXRp
YyB2b2lkIGV4cGVjdEhlYWRlcnMoaWQgPFdLVVJMU2NoZW1lVGFzaz4gdGFzaywgYm9vbCBleHBl
Y3RlZCkKIHsKICAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSB0YXNrLnJlcXVlc3Q7CiAgICAg
aWYgKGV4cGVjdGVkKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBDaGVjayB0aGF0IGhlYWRlcnMgYXJl
IG9uIHRoZSByZXF1ZXN0LgotICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc3NjI5CisgICAgICAgIEVYUEVDVF9TVFJFUShbW3JlcXVlc3QgdmFsdWVG
b3JIVFRQSGVhZGVyRmllbGQ6QCJYLWtleTEiXSBVVEY4U3RyaW5nXSwgInZhbHVlMSIpOworICAg
ICAgICBFWFBFQ1RfU1RSRVEoW1tyZXF1ZXN0IHZhbHVlRm9ySFRUUEhlYWRlckZpZWxkOkAiWC1r
ZXkyIl0gVVRGOFN0cmluZ10sICJ2YWx1ZTIiKTsKICAgICB9IGVsc2UgewogICAgICAgICBFWFBF
Q1RfVFJVRShbcmVxdWVzdCB2YWx1ZUZvckhUVFBIZWFkZXJGaWVsZDpAIlgta2V5MSJdID09IG5p
bCk7CiAgICAgICAgIEVYUEVDVF9UUlVFKFtyZXF1ZXN0IHZhbHVlRm9ySFRUUEhlYWRlckZpZWxk
OkAiWC1rZXkyIl0gPT0gbmlsKTsKQEAgLTczOSw2ICs3NDAsMTMgQEAgLSAodm9pZCl3ZWJWaWV3
OihXS1dlYlZpZXcgKil3ZWJWaWV3IHN0YQogICAgICAgICBleHBlY3RIZWFkZXJzKHVybFNjaGVt
ZVRhc2ssIHRydWUpOwogICAgICAgICByZXNwb25kKHVybFNjaGVtZVRhc2spOwogICAgICAgICB0
aGlyZFRlc3REb25lID0gdHJ1ZTsKKyAgICB9IGVsc2UgaWYgKFtwYXRoIGlzRXF1YWxUb1N0cmlu
ZzpAIi9jcmVhdGVhYm91dGJsYW5raWZyYW1lIl0pIHsKKyAgICAgICAgZXhwZWN0SGVhZGVycyh1
cmxTY2hlbWVUYXNrLCB0cnVlKTsKKyAgICAgICAgcmVzcG9uZCh1cmxTY2hlbWVUYXNrLCBAIjxz
Y3JpcHQ+c3RhcnQ9KCk9Pnt2YXIgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcp
O3MudGV4dD1cImZldGNoKCd0ZXN0Oi8vL3JlcXVlc3Rmcm9tYWJvdXRibGFuaycpXCI7ZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZWlkJykuY29udGVudFdpbmRvdy5kb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHMpO308L3NjcmlwdD48Ym9keT48aWZyYW1lIHNyYz0nYWJvdXQ6Ymxhbmsn
IGlkPWlmcmFtZWlkIG9ubG9hZD0nc3RhcnQoKSc+PC9pZnJhbWU+PC9ib2R5PiIpOworICAgIH0g
ZWxzZSBpZiAoW3BhdGggaXNFcXVhbFRvU3RyaW5nOkAiL3JlcXVlc3Rmcm9tYWJvdXRibGFuayJd
KSB7CisgICAgICAgIGV4cGVjdEhlYWRlcnModXJsU2NoZW1lVGFzaywgdHJ1ZSk7CisgICAgICAg
IHJlc3BvbmQodXJsU2NoZW1lVGFzayk7CisgICAgICAgIGZvdXJ0aFRlc3REb25lID0gdHJ1ZTsK
ICAgICB9IGVsc2UKICAgICAgICAgRVhQRUNUX1RSVUUoZmFsc2UpOwogfQpAQCAtNzY0LDYgKzc3
Miw5IEBAIFRFU1QoV2ViS2l0LCBDdXN0b21IZWFkZXJGaWVsZHMpCiAKICAgICBbd2ViVmlldyBs
b2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3Ry
aW5nOkAidGVzdDovL3RvcG9yaWdpbi9uZXN0ZWR0b3AiXV1dOwogICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmdGhpcmRUZXN0RG9uZSk7CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpb
TlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAidGVzdDov
Ly9jcmVhdGVhYm91dGJsYW5raWZyYW1lIl1dXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpy
dW4oJmZvdXJ0aFRlc3REb25lKTsKIH0KIAogCg==
</data>
<flag name="review"
          id="344184"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>