<?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>161443</bug_id>
          
          <creation_ts>2016-08-31 11:23:31 -0700</creation_ts>
          <short_desc>URLParser should handle . and .. in URL paths</short_desc>
          <delta_ts>2016-09-01 13:35:40 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1225004</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-08-31 11:23:31 -0700</bug_when>
    <thetext>URLParser should handle . and .. in URL paths</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225005</commentid>
    <comment_count>1</comment_count>
      <attachid>287522</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-08-31 11:23:58 -0700</bug_when>
    <thetext>Created attachment 287522
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225010</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-31 11:40:48 -0700</bug_when>
    <thetext>Attachment 287522 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225088</commentid>
    <comment_count>3</comment_count>
      <attachid>287543</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-08-31 14:27:31 -0700</bug_when>
    <thetext>Created attachment 287543
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225439</commentid>
    <comment_count>4</comment_count>
      <attachid>287649</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-01 11:56:34 -0700</bug_when>
    <thetext>Created attachment 287649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225449</commentid>
    <comment_count>5</comment_count>
      <attachid>287543</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-09-01 12:07:29 -0700</bug_when>
    <thetext>Comment on attachment 287543
Patch

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

&gt; Source/WebCore/platform/URLParser.cpp:152
&gt; +static bool isSingleDotPathSegment(StringView::CodePoints::Iterator c, const StringView::CodePoints::Iterator&amp; end)
&gt; +{
&gt; +    if (c == end)
&gt; +        return false;
&gt; +    if (*c == &apos;.&apos;) {
&gt; +        ++c;
&gt; +        return c == end || *c == &apos;/&apos; || *c == &apos;\\&apos; || *c == &apos;?&apos; || *c == &apos;#&apos;;
&gt; +    }
&gt; +    if (*c != &apos;%&apos;)
&gt; +        return false;
&gt; +    ++c;
&gt; +    if (c == end || *c != &apos;2&apos;)
&gt; +        return false;
&gt; +    ++c;
&gt; +    if (c == end)
&gt; +        return false;
&gt; +    if (*c == &apos;e&apos; || *c == &apos;E&apos;) {
&gt; +        ++c;
&gt; +        return c == end || *c == &apos;/&apos; || *c == &apos;\\&apos; || *c == &apos;?&apos; || *c == &apos;#&apos;;
&gt; +    }
&gt; +    return false;
&gt; +}

&quot;2E&quot; is a magic constant that should be more obvious.

static const char dotASCIICode = &quot;2E&quot;;
?

&gt; Source/WebCore/platform/URLParser.cpp:171
&gt; +    if (c == end || *c != &apos;2&apos;)
&gt; +        return false;
&gt; +    ++c;
&gt; +    if (c == end)
&gt; +        return false;
&gt; +    if (*c == &apos;e&apos; || *c == &apos;E&apos;) {
&gt; +        ++c;

Same magic constant comment.

&gt; Source/WebCore/platform/URLParser.cpp:194
&gt; +        ASSERT(*c == &apos;%&apos;);
&gt; +        ++c;
&gt; +        ASSERT(*c == &apos;2&apos;);
&gt; +        ++c;
&gt; +        ASSERT(*c == &apos;e&apos; || *c == &apos;E&apos;);
&gt; +        ++c;

Same comment you guessed it.

&gt; Source/WebCore/platform/URLParser.cpp:215
&gt; +        ASSERT(*c == &apos;2&apos;);
&gt; +        ++c;
&gt; +        ASSERT(*c == &apos;e&apos; || *c == &apos;E&apos;);
&gt; +        ++c;
&gt; +    }

You guessed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225470</commentid>
    <comment_count>6</comment_count>
      <attachid>287657</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-01 12:47:20 -0700</bug_when>
    <thetext>Created attachment 287657
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1225507</commentid>
    <comment_count>7</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-01 13:35:40 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/205312</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287522</attachid>
            <date>2016-08-31 11:23:58 -0700</date>
            <delta_ts>2016-08-31 14:27:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161443-20160831112146.patch</filename>
            <type>text/plain</type>
            <size>16599</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNTE5NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA4LTMxICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVVJMUGFyc2Vy
IHNob3VsZCBoYW5kbGUgLiBhbmQgLi4gaW4gVVJMIHBhdGhzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0NDMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAg
ICAgICAqIHBsYXRmb3JtL1VSTFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1Npbmds
ZURvdFBhdGhTZWdtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmlzRG91YmxlRG90UGF0aFNlZ21l
bnQpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZVNpbmdsZURvdFBhdGhTZWdtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbnN1bWVEb3VibGVEb3RQYXRoU2VnbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpVUkxQYXJzZXI6OnBhcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlVSTFBhcnNlcjo6
Y29weVVSTFBhcnRzVW50aWwpOiBEZWxldGVkLgorCiAyMDE2LTA4LTMwICBCcmVudCBGdWxnaGFt
ICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBvZiB1bmluaXRpYWxpc2VkIG1l
bW9yeSBpbiBUcmFuc2Zvcm1hdGlvbk1hdHJ4OjpibGVuZDQoKQpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVVJMUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9VUkxQYXJzZXIuY3BwCShyZXZpc2lvbiAyMDUxOTQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9VUkxQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsNyArMTI3LDk1
IEBAIHZvaWQgVVJMUGFyc2VyOjpjb3B5VVJMUGFydHNVbnRpbChjb25zdCAKICAgICAgICAgbV91
cmwubV9zY2hlbWVFbmQgPSBiYXNlLm1fc2NoZW1lRW5kOwogICAgIH0KIH0KKworc3RhdGljIGJv
b2wgaXNTaW5nbGVEb3RQYXRoU2VnbWVudChTdHJpbmdWaWV3OjpDb2RlUG9pbnRzOjpJdGVyYXRv
ciBjLCBjb25zdCBTdHJpbmdWaWV3OjpDb2RlUG9pbnRzOjpJdGVyYXRvciYgZW5kKQoreworICAg
IGlmIChjID09IGVuZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICgqYyA9PSAnLicp
IHsKKyAgICAgICAgKytjOworICAgICAgICByZXR1cm4gYyA9PSBlbmQgfHwgKmMgPT0gJy8nIHx8
ICpjID09ICdcXCcgfHwgKmMgPT0gJz8nIHx8ICpjID09ICcjJzsKKyAgICB9CisgICAgaWYgKCpj
ICE9ICclJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICsrYzsKKyAgICBpZiAoYyA9PSBl
bmQgfHwgKmMgIT0gJzInKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgKytjOworICAgIGlm
IChjID09IGVuZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICgqYyA9PSAnZScgfHwg
KmMgPT0gJ0UnKSB7CisgICAgICAgICsrYzsKKyAgICAgICAgcmV0dXJuIGMgPT0gZW5kIHx8ICpj
ID09ICcvJyB8fCAqYyA9PSAnXFwnIHx8ICpjID09ICc/JyB8fCAqYyA9PSAnIyc7CisgICAgfQor
ICAgIHJldHVybiBmYWxzZTsKK30KICAgICAKK3N0YXRpYyBib29sIGlzRG91YmxlRG90UGF0aFNl
Z21lbnQoU3RyaW5nVmlldzo6Q29kZVBvaW50czo6SXRlcmF0b3IgYywgY29uc3QgU3RyaW5nVmll
dzo6Q29kZVBvaW50czo6SXRlcmF0b3ImIGVuZCkKK3sKKyAgICBpZiAoYyA9PSBlbmQpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoKmMgPT0gJy4nKSB7CisgICAgICAgICsrYzsKKyAg
ICAgICAgcmV0dXJuIGlzU2luZ2xlRG90UGF0aFNlZ21lbnQoYywgZW5kKTsKKyAgICB9CisgICAg
aWYgKCpjICE9ICclJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICsrYzsKKyAgICBpZiAo
YyA9PSBlbmQgfHwgKmMgIT0gJzInKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgKytjOwor
ICAgIGlmIChjID09IGVuZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICgqYyA9PSAn
ZScgfHwgKmMgPT0gJ0UnKSB7CisgICAgICAgICsrYzsKKyAgICAgICAgcmV0dXJuIGlzU2luZ2xl
RG90UGF0aFNlZ21lbnQoYywgZW5kKTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCitz
dGF0aWMgdm9pZCBjb25zdW1lU2luZ2xlRG90UGF0aFNlZ21lbnQoU3RyaW5nVmlldzo6Q29kZVBv
aW50czo6SXRlcmF0b3ImIGMsIGNvbnN0IFN0cmluZ1ZpZXc6OkNvZGVQb2ludHM6Okl0ZXJhdG9y
IGVuZCkKK3sKKyAgICBBU1NFUlQoaXNTaW5nbGVEb3RQYXRoU2VnbWVudChjLCBlbmQpKTsKKyAg
ICBpZiAoKmMgPT0gJy4nKSB7CisgICAgICAgICsrYzsKKyAgICAgICAgaWYgKGMgIT0gZW5kKSB7
CisgICAgICAgICAgICBpZiAoKmMgPT0gJy8nIHx8ICpjID09ICdcXCcpCisgICAgICAgICAgICAg
ICAgKytjOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIEFTU0VSVCgqYyA9PSAn
PycgfHwgKmMgPT0gJyMnKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIEFTU0VS
VCgqYyA9PSAnJScpOworICAgICAgICArK2M7CisgICAgICAgIEFTU0VSVCgqYyA9PSAnMicpOwor
ICAgICAgICArK2M7CisgICAgICAgIEFTU0VSVCgqYyA9PSAnZScgfHwgKmMgPT0gJ0UnKTsKKyAg
ICAgICAgKytjOworICAgICAgICBpZiAoYyAhPSBlbmQpIHsKKyAgICAgICAgICAgIGlmICgqYyA9
PSAnLycgfHwgKmMgPT0gJ1xcJykKKyAgICAgICAgICAgICAgICArK2M7CisgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgQVNTRVJUKCpjID09ICc/JyB8fCAqYyA9PSAnIycpOworICAg
ICAgICB9CisgICAgfQorfQorCitzdGF0aWMgdm9pZCBjb25zdW1lRG91YmxlRG90UGF0aFNlZ21l
bnQoU3RyaW5nVmlldzo6Q29kZVBvaW50czo6SXRlcmF0b3ImIGMsIGNvbnN0IFN0cmluZ1ZpZXc6
OkNvZGVQb2ludHM6Okl0ZXJhdG9yIGVuZCkKK3sKKyAgICBpZiAoKmMgPT0gJy4nKQorICAgICAg
ICArK2M7CisgICAgZWxzZSB7CisgICAgICAgIEFTU0VSVCgqYyA9PSAnJScpOworICAgICAgICAr
K2M7CisgICAgICAgIEFTU0VSVCgqYyA9PSAnMicpOworICAgICAgICArK2M7CisgICAgICAgIEFT
U0VSVCgqYyA9PSAnZScgfHwgKmMgPT0gJ0UnKTsKKyAgICAgICAgKytjOworICAgIH0KKyAgICBj
b25zdW1lU2luZ2xlRG90UGF0aFNlZ21lbnQoYywgZW5kKTsKK30KKwogVVJMIFVSTFBhcnNlcjo6
cGFyc2UoY29uc3QgU3RyaW5nJiBpbnB1dCwgY29uc3QgVVJMJiBiYXNlLCBjb25zdCBUZXh0RW5j
b2RpbmcmKQogewogICAgIG1fdXJsID0geyB9OwpAQCAtMzg0LDI2ICs0NzIsMzUgQEAgVVJMIFVS
TFBhcnNlcjo6cGFyc2UoY29uc3QgU3RyaW5nJiBpbnB1dAogICAgICAgICAgICAgICAgIG1fYnVm
ZmVyLmFwcGVuZCgnLycpOwogICAgICAgICAgICAgICAgIG1fdXJsLm1fcGF0aEFmdGVyTGFzdFNs
YXNoID0gbV9idWZmZXIubGVuZ3RoKCk7CiAgICAgICAgICAgICAgICAgKytjOwotICAgICAgICAg
ICAgICAgIHdoaWxlIChjICE9IGVuZCAmJiBpc1RhYk9yTmV3bGluZSgqYykpCi0gICAgICAgICAg
ICAgICAgICAgICsrYzsKLSAgICAgICAgICAgICAgICBpZiAoYyA9PSBlbmQpCisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobV9idWZmZXIubGVu
Z3RoKCkgJiYgbV9idWZmZXJbbV9idWZmZXIubGVuZ3RoKCkgLSAxXSA9PSAnLycpIHsKKyAgICAg
ICAgICAgICAgICBpZiAoaXNEb3VibGVEb3RQYXRoU2VnbWVudChjLCBlbmQpKSB7CisgICAgICAg
ICAgICAgICAgICAgIGNvbnN1bWVEb3VibGVEb3RQYXRoU2VnbWVudChjLCBlbmQpOworICAgICAg
ICAgICAgICAgICAgICBpZiAobV91cmwubV9wYXRoQWZ0ZXJMYXN0U2xhc2ggPiBtX3VybC5tX3Bv
cnRFbmQgKyAxKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBtX3VybC5tX3BhdGhBZnRlckxh
c3RTbGFzaC0tOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fYnVmZmVyW21fdXJsLm1f
cGF0aEFmdGVyTGFzdFNsYXNoXSA9PSAnLycpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bV91cmwubV9wYXRoQWZ0ZXJMYXN0U2xhc2gtLTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHdo
aWxlIChtX3VybC5tX3BhdGhBZnRlckxhc3RTbGFzaCA+IG1fdXJsLm1fcG9ydEVuZCAmJiBtX2J1
ZmZlclttX3VybC5tX3BhdGhBZnRlckxhc3RTbGFzaF0gIT0gJy8nKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1fdXJsLm1fcGF0aEFmdGVyTGFzdFNsYXNoLS07CisgICAgICAgICAgICAg
ICAgICAgICAgICBtX3VybC5tX3BhdGhBZnRlckxhc3RTbGFzaCsrOworICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgICAgIG1fYnVmZmVyLnJlc2l6ZShtX3VybC5tX3BhdGhB
ZnRlckxhc3RTbGFzaCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICBpZiAobV9idWZmZXJbbV9idWZmZXIubGVuZ3RoKCkgLSAx
XSA9PSAnLycgJiYgaXNTaW5nbGVEb3RQYXRoU2VnbWVudChjLCBlbmQpKSB7CisgICAgICAgICAg
ICAgICAgICAgIGNvbnN1bWVTaW5nbGVEb3RQYXRoU2VnbWVudChjLCBlbmQpOwogICAgICAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBpZiAoKmMgPT0gJy4nKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICsrYzsKLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGMgIT0gZW5k
ICYmIGlzVGFiT3JOZXdsaW5lKCpjKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICsrYzsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKGMgPT0gZW5kKQotICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHsgfTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCpjID09ICcuJykKLSAgICAgICAg
ICAgICAgICAgICAgICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgICAgICAgICAgICAgICAgIG5v
dEltcGxlbWVudGVkKCk7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIGlm
ICgqYyA9PSAnPycpIHsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgqYyA9PSAnPycp
IHsKICAgICAgICAgICAgICAgICBtX3VybC5tX3BhdGhFbmQgPSBtX2J1ZmZlci5sZW5ndGgoKTsK
ICAgICAgICAgICAgICAgICBzdGF0ZSA9IFN0YXRlOjpRdWVyeTsKICAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoKmMgPT0gJyMnKSB7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBpZiAoKmMgPT0gJyMnKSB7CiAgICAgICAgICAgICAgICAgbV91cmwubV9w
YXRoRW5kID0gbV9idWZmZXIubGVuZ3RoKCk7CisgICAgICAgICAgICAgICAgbV91cmwubV9xdWVy
eUVuZCA9IG1fdXJsLm1fcGF0aEVuZDsKICAgICAgICAgICAgICAgICBzdGF0ZSA9IFN0YXRlOjpG
cmFnbWVudDsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KSW5kZXg6IFRv
b2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIw
NTI1NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBA
CisyMDE2LTA4LTMxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgVVJMUGFyc2VyIHNob3VsZCBoYW5kbGUgLiBhbmQgLi4gaW4gVVJMIHBhdGhz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0NDMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9VUkxQYXJzZXIuY3BwOgorICAgICAgICAoVGVzdFdlYktp
dEFQSTo6ZXEpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVF9GKToKKwogMjAxNi0wOC0z
MSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgV0syIEdhbWVw
YWQgcHJvdmlkZXIgb24gaU9TLgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJD
b3JlL1VSTFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJDb3JlL1VSTFBhcnNlci5jcHAJKHJldmlzaW9uIDIwNTE5NCkKKysrIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9VUkxQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MCw3ICs1MCwxMiBAQCBzdHJ1Y3QgRXhwZWN0ZWRQYXJ0cyB7CiAgICAgU3RyaW5nIHN0cmluZzsK
IH07CiAKLXN0YXRpYyBib29sIGVxKGNvbnN0IFN0cmluZyYgczEsIGNvbnN0IFN0cmluZyYgczIp
IHsgcmV0dXJuIHMxLnV0ZjgoKSA9PSBzMi51dGY4KCk7IH0KK3N0YXRpYyBib29sIGVxKGNvbnN0
IFN0cmluZyYgczEsIGNvbnN0IFN0cmluZyYgczIpCit7CisgICAgRVhQRUNUX1NUUkVRKHMxLnV0
ZjgoKS5kYXRhKCksIHMyLnV0ZjgoKS5kYXRhKCkpOworICAgIHJldHVybiBzMS51dGY4KCkgPT0g
czIudXRmOCgpOworfQorCiBzdGF0aWMgdm9pZCBjaGVja1VSTChjb25zdCBTdHJpbmcmIHVybFN0
cmluZywgY29uc3QgRXhwZWN0ZWRQYXJ0cyYgcGFydHMpCiB7CiAgICAgVVJMUGFyc2VyIHBhcnNl
cjsKQEAgLTk0LDYgKzk5LDQzIEBAIFRFU1RfRihVUkxQYXJzZXJUZXN0LCBQYXJzZSkKICAgICBj
aGVja1VSTCgiYWJvdXQ6YmxhbmsiLCB7ImFib3V0IiwgIiIsICIiLCAiIiwgMCwgImJsYW5rIiwg
IiIsICIiLCAiYWJvdXQ6YmxhbmsifSk7CiAgICAgY2hlY2tVUkwoImFib3V0OmJsYW5rP3F1ZXJ5
IiwgeyJhYm91dCIsICIiLCAiIiwgIiIsIDAsICJibGFuayIsICJxdWVyeSIsICIiLCAiYWJvdXQ6
Ymxhbms/cXVlcnkifSk7CiAgICAgY2hlY2tVUkwoImFib3V0OmJsYW5rI2ZyYWdtZW50IiwgeyJh
Ym91dCIsICIiLCAiIiwgIiIsIDAsICJibGFuayIsICIiLCAiZnJhZ21lbnQiLCAiYWJvdXQ6Ymxh
bmsjZnJhZ21lbnQifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9w
YXRoMi8uIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgy
LyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8ifSk7CisgICAgY2hl
Y2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8uLiIsIHsiaHR0cCIsICIiLCAi
IiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5j
b20vcGF0aDEvIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0
aDIvLi9wYXRoMyIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9w
YXRoMi9wYXRoMyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi9wYXRo
MyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLy5cXHBh
dGgzIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgyL3Bh
dGgzIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyL3BhdGgzIn0pOwor
ICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvLi4vcGF0aDMiLCB7
Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvcGF0aDMiLCAiIiwgIiIs
ICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDMifSk7CisgICAgY2hlY2tVUkwoImh0dHA6
Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8uLlxccGF0aDMiLCB7Imh0dHAiLCAiIiwgIiIsICJl
eGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvcGF0aDMiLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5j
b20vcGF0aDEvcGF0aDMifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8uIiwg
eyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly9l
eGFtcGxlLmNvbS8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8uLiIsIHsi
aHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vZXhh
bXBsZS5jb20vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLi9wYXRoMSIs
IHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMSIsICIiLCAiIiwgImh0
dHA6Ly9leGFtcGxlLmNvbS9wYXRoMSJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUu
Y29tLy4uL3BhdGgxIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgx
IiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxIn0pOworICAgIGNoZWNrVVJMKCJo
dHRwOi8vZXhhbXBsZS5jb20vLi4vcGF0aDEvLi4vLi4vcGF0aDIvcGF0aDMvLi4vcGF0aDQiLCB7
Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDIvcGF0aDQiLCAiIiwgIiIs
ICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDIvcGF0aDQifSk7CisgICAgY2hlY2tVUkwoImh0dHA6
Ly9leGFtcGxlLmNvbS9wYXRoMS8uJTIiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIs
IDAsICIvcGF0aDEvLiUyIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4lMiJ9
KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLyUyIiwgeyJodHRwIiwg
IiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLyUyIiwgIiIsICIiLCAiaHR0cDovL2V4
YW1wbGUuY29tL3BhdGgxLyUyIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20v
cGF0aDEvJSIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8lIiwg
IiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLyUifSk7CisgICAgY2hlY2tVUkwoImh0
dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8uJSIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29t
IiwgMCwgIi9wYXRoMS8uJSIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8uJSJ9
KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tLy8uIiwgeyJodHRwIiwgIiIsICIi
LCAiZXhhbXBsZS5jb20iLCAwLCAiLy8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vLyJ9
KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tLy8uLyIsIHsiaHR0cCIsICIiLCAi
IiwgImV4YW1wbGUuY29tIiwgMCwgIi8vIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tLy8i
fSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8vLi8vIiwgeyJodHRwIiwgIiIs
ICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLy8vIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29t
Ly8vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLy4uIiwgeyJodHRwIiwg
IiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNv
bS8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8vLi4vIiwgeyJodHRwIiwg
IiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNv
bS8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8vLi4vLyIsIHsiaHR0cCIs
ICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8vIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUu
Y29tLy8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8vLi4iLCB7Imh0dHAi
LCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUu
Y29tLyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tLy4vLyIsIHsiaHR0cCIs
ICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8vIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUu
Y29tLy8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8uLi8vIiwgeyJodHRw
IiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLy8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBs
ZS5jb20vLyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tLy4vIiwgeyJodHRw
IiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxl
LmNvbS8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8uLi8iLCB7Imh0dHAi
LCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUu
Y29tLyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4uLi9wYXRo
MyIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8uLi4vcGF0aDMi
LCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvLi4uL3BhdGgzIn0pOworICAgIGNo
ZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvLi4uIiwgeyJodHRwIiwgIiIsICIiLCAi
ZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLy4uLiIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNv
bS9wYXRoMS8uLi4ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8u
Li4vIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLy4uLi8iLCAi
IiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvLi4uLyJ9KTsKKyAgICBjaGVja1VSTCgi
aHR0cDovL2V4YW1wbGUuY29tLy5wYXRoMS8iLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNv
bSIsIDAsICIvLnBhdGgxLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS8ucGF0aDEvIn0p
OworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLi5wYXRoMS8iLCB7Imh0dHAiLCAi
IiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvLi5wYXRoMS8iLCAiIiwgIiIsICJodHRwOi8vZXhh
bXBsZS5jb20vLi5wYXRoMS8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9w
YXRoMS8ucGF0aDIiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEv
LnBhdGgyIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy5wYXRoMiJ9KTsKKyAg
ICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4ucGF0aDIiLCB7Imh0dHAiLCAi
IiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvLi5wYXRoMiIsICIiLCAiIiwgImh0dHA6
Ly9leGFtcGxlLmNvbS9wYXRoMS8uLnBhdGgyIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhh
bXBsZS5jb20vcGF0aDEvcGF0aDIvLj9xdWVyeSIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUu
Y29tIiwgMCwgIi9wYXRoMS9wYXRoMi8iLCAicXVlcnkiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNv
bS9wYXRoMS9wYXRoMi8/cXVlcnkifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNv
bS9wYXRoMS9wYXRoMi8uLj9xdWVyeSIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwg
MCwgIi9wYXRoMS8iLCAicXVlcnkiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8/cXVl
cnkifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8uI2Zy
YWdtZW50IiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgy
LyIsICIiLCAiZnJhZ21lbnQiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLyNmcmFn
bWVudCJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLy4u
I2ZyYWdtZW50IiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLyIs
ICIiLCAiZnJhZ21lbnQiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLyNmcmFnbWVudCJ9KTsK
IH0KIAogc3RhdGljIHZvaWQgY2hlY2tSZWxhdGl2ZVVSTChjb25zdCBTdHJpbmcmIHVybFN0cmlu
ZywgY29uc3QgU3RyaW5nJiBiYXNlVVJMU3RyaW5nLCBjb25zdCBFeHBlY3RlZFBhcnRzJiBwYXJ0
cykKQEAgLTE5NCw2ICsyMzYsNyBAQCBzdGF0aWMgdm9pZCBjaGVja1JlbGF0aXZlVVJMRGlmZmVy
ZW5jZXMoCiAgICAgRVhQRUNUX0ZBTFNFKFVSTFBhcnNlcjo6YWxsVmFsdWVzRXF1YWwodXJsLCBv
bGRVUkwpKTsKIH0KIAorLy8gVGhlc2UgYXJlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIG5ldyBV
UkxQYXJzZXIgYW5kIHRoZSBvbGQgVVJMOjpwYXJzZSB3aGljaCBtYWtlIFVSTFBhcnNlciBtb3Jl
IHN0YW5kYXJkcyBjb21wbGlhbnQuCiBURVNUX0YoVVJMUGFyc2VyVGVzdCwgUGFyc2VyRGlmZmVy
ZW5jZXMpCiB7CiAgICAgY2hlY2tVUkxEaWZmZXJlbmNlcygiaHR0cDovLzEyNy4wLjEiLApAQCAt
MjAyLDcgKzI0NSw0MyBAQCBURVNUX0YoVVJMUGFyc2VyVGVzdCwgUGFyc2VyRGlmZmVyZW5jZXMp
CiAgICAgY2hlY2tVUkxEaWZmZXJlbmNlcygiaHR0cDovLzAxMS4xMS4wWDExLjB4MDExIiwKICAg
ICAgICAgeyJodHRwIiwgIiIsICIiLCAiOS4xMS4xNy4xNyIsIDAsICIvIiwgIiIsICIiLCAiaHR0
cDovLzkuMTEuMTcuMTcvIn0sCiAgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgIjAxMS4xMS4weDEx
LjB4MDExIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vMDExLjExLjB4MTEuMHgwMTEvIn0pOwot
CisgICAgY2hlY2tVUkxEaWZmZXJlbmNlcygiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4lMmUi
LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvIiwgIiIsICIi
LCAiaHR0cDovL2V4YW1wbGUuY29tLyJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFt
cGxlLmNvbSIsIDAsICIvcGF0aDEvLiUyZSIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9w
YXRoMS8uJTJlIn0pOworICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly9leGFtcGxlLmNv
bS9wYXRoMS8uJTJFIiwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAw
LCAiLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS8ifSwKKyAgICAgICAgeyJodHRwIiwg
IiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLy4lMkUiLCAiIiwgIiIsICJodHRwOi8v
ZXhhbXBsZS5jb20vcGF0aDEvLiUyRSJ9KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRw
Oi8vZXhhbXBsZS5jb20vcGF0aDEvLiUyRS8iLAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJl
eGFtcGxlLmNvbSIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tLyJ9LAorICAg
ICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvLiUyRS8iLCAi
IiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvLiUyRS8ifSk7CisgICAgY2hlY2tVUkxE
aWZmZXJlbmNlcygiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLyUyZS4iLAorICAgICAgICB7Imh0
dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovL2V4YW1w
bGUuY29tLyJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIv
cGF0aDEvJTJlLiIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8lMmUuIn0pOwor
ICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8lMkUlMmUi
LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvIiwgIiIsICIi
LCAiaHR0cDovL2V4YW1wbGUuY29tLyJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFt
cGxlLmNvbSIsIDAsICIvcGF0aDEvJTJFJTJlIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29t
L3BhdGgxLyUyRSUyZSJ9KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRwOi8vZXhhbXBs
ZS5jb20vcGF0aDEvJTJlIiwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20i
LCAwLCAiL3BhdGgxLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8ifSwKKyAg
ICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLyUyZSIsICIi
LCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8lMmUifSk7CisgICAgY2hlY2tVUkxEaWZm
ZXJlbmNlcygiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLyUyRSIsCisgICAgICAgIHsiaHR0cCIs
ICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8iLCAiIiwgIiIsICJodHRwOi8vZXhh
bXBsZS5jb20vcGF0aDEvIn0sCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29t
IiwgMCwgIi9wYXRoMS8lMkUiLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvJTJF
In0pOworICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8l
MkUvIiwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgx
LyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8ifSwKKyAgICAgICAgeyJodHRw
IiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLyUyRS8iLCAiIiwgIiIsICJodHRw
Oi8vZXhhbXBsZS5jb20vcGF0aDEvJTJFLyJ9KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJo
dHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvJTJlP3F1ZXJ5IiwKKyAgICAgICAgeyJodHRw
IiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgyLyIsICJxdWVyeSIsICIi
LCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLz9xdWVyeSJ9LAorICAgICAgICB7Imh0
dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvcGF0aDIvJTJlIiwgInF1ZXJ5
IiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvJTJlP3F1ZXJ5In0pOworICAg
IGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8lMmUl
MmU/cXVlcnkiLAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIv
cGF0aDEvIiwgInF1ZXJ5IiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvP3F1ZXJ5In0s
CisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9wYXRo
Mi8lMmUlMmUiLCAicXVlcnkiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8l
MmUlMmU/cXVlcnkifSk7CisgICAgY2hlY2tVUkxEaWZmZXJlbmNlcygiaHR0cDovL2V4YW1wbGUu
Y29tL3BhdGgxL3BhdGgyLyUyZSNmcmFnbWVudCIsCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwg
ImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9wYXRoMi8iLCAiIiwgImZyYWdtZW50IiwgImh0dHA6
Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8jZnJhZ21lbnQifSwKKyAgICAgICAgeyJodHRwIiwg
IiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgyLyUyZSIsICIiLCAiZnJhZ21l
bnQiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLyUyZSNmcmFnbWVudCJ9KTsKKyAg
ICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvJTJl
JTJlI2ZyYWdtZW50IiwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAw
LCAiL3BhdGgxLyIsICIiLCAiZnJhZ21lbnQiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLyNm
cmFnbWVudCJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIv
cGF0aDEvcGF0aDIvJTJlJTJlIiwgIiIsICJmcmFnbWVudCIsICJodHRwOi8vZXhhbXBsZS5jb20v
cGF0aDEvcGF0aDIvJTJlJTJlI2ZyYWdtZW50In0pOworICAgIAogICAgIC8vIEZJWE1FOiBUaGlz
IGJlaGF2aW9yIG91Z2h0IHRvIGJlIHNwZWNpZmllZCBpbiB0aGUgc3RhbmRhcmQuCiAgICAgLy8g
V2l0aCB0aGUgZXhpc3RpbmcgVVJMOjpwYXJzZSwgV2ViS2l0IHJldHVybnMgImh0dHBzOi8iLCBG
aXJlZm94IHJldHVybnMgImh0dHBzOi8vLyIsIGFuZCBDaHJvbWUgdGhyb3dzIGFuIGVycm9yLgog
ICAgIGNoZWNrUmVsYXRpdmVVUkxEaWZmZXJlbmNlcygiLy8iLCAiaHR0cHM6Ly93d3cud2Via2l0
Lm9yZy9wYXRoIiwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287543</attachid>
            <date>2016-08-31 14:27:31 -0700</date>
            <delta_ts>2016-09-01 11:56:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161443-20160831142519.patch</filename>
            <type>text/plain</type>
            <size>16603</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNTE5NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA4LTMxICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVVJMUGFyc2Vy
IHNob3VsZCBoYW5kbGUgLiBhbmQgLi4gaW4gVVJMIHBhdGhzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0NDMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IG5ldyBBUEkgdGVzdHMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9VUkxQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNT
aW5nbGVEb3RQYXRoU2VnbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppc0RvdWJsZURvdFBhdGhT
ZWdtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVTaW5nbGVEb3RQYXRoU2VnbWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1lRG91YmxlRG90UGF0aFNlZ21lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6VVJMUGFyc2VyOjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpVUkxQYXJz
ZXI6OmNvcHlVUkxQYXJ0c1VudGlsKTogRGVsZXRlZC4KKwogMjAxNi0wOC0zMCAgQnJlbnQgRnVs
Z2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2Ugb2YgdW5pbml0aWFsaXNl
ZCBtZW1vcnkgaW4gVHJhbnNmb3JtYXRpb25NYXRyeDo6YmxlbmQ0KCkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1VSTFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVVJMUGFyc2VyLmNwcAkocmV2aXNpb24gMjA1MTk0KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVVJMUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDcgKzEy
Nyw5NSBAQCB2b2lkIFVSTFBhcnNlcjo6Y29weVVSTFBhcnRzVW50aWwoY29uc3QgCiAgICAgICAg
IG1fdXJsLm1fc2NoZW1lRW5kID0gYmFzZS5tX3NjaGVtZUVuZDsKICAgICB9CiB9CisKK3N0YXRp
YyBib29sIGlzU2luZ2xlRG90UGF0aFNlZ21lbnQoU3RyaW5nVmlldzo6Q29kZVBvaW50czo6SXRl
cmF0b3IgYywgY29uc3QgU3RyaW5nVmlldzo6Q29kZVBvaW50czo6SXRlcmF0b3ImIGVuZCkKK3sK
KyAgICBpZiAoYyA9PSBlbmQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoKmMgPT0g
Jy4nKSB7CisgICAgICAgICsrYzsKKyAgICAgICAgcmV0dXJuIGMgPT0gZW5kIHx8ICpjID09ICcv
JyB8fCAqYyA9PSAnXFwnIHx8ICpjID09ICc/JyB8fCAqYyA9PSAnIyc7CisgICAgfQorICAgIGlm
ICgqYyAhPSAnJScpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICArK2M7CisgICAgaWYgKGMg
PT0gZW5kIHx8ICpjICE9ICcyJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICsrYzsKKyAg
ICBpZiAoYyA9PSBlbmQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoKmMgPT0gJ2Un
IHx8ICpjID09ICdFJykgeworICAgICAgICArK2M7CisgICAgICAgIHJldHVybiBjID09IGVuZCB8
fCAqYyA9PSAnLycgfHwgKmMgPT0gJ1xcJyB8fCAqYyA9PSAnPycgfHwgKmMgPT0gJyMnOworICAg
IH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CiAgICAgCitzdGF0aWMgYm9vbCBpc0RvdWJsZURvdFBh
dGhTZWdtZW50KFN0cmluZ1ZpZXc6OkNvZGVQb2ludHM6Okl0ZXJhdG9yIGMsIGNvbnN0IFN0cmlu
Z1ZpZXc6OkNvZGVQb2ludHM6Okl0ZXJhdG9yJiBlbmQpCit7CisgICAgaWYgKGMgPT0gZW5kKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCpjID09ICcuJykgeworICAgICAgICArK2M7
CisgICAgICAgIHJldHVybiBpc1NpbmdsZURvdFBhdGhTZWdtZW50KGMsIGVuZCk7CisgICAgfQor
ICAgIGlmICgqYyAhPSAnJScpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICArK2M7CisgICAg
aWYgKGMgPT0gZW5kIHx8ICpjICE9ICcyJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICsr
YzsKKyAgICBpZiAoYyA9PSBlbmQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoKmMg
PT0gJ2UnIHx8ICpjID09ICdFJykgeworICAgICAgICArK2M7CisgICAgICAgIHJldHVybiBpc1Np
bmdsZURvdFBhdGhTZWdtZW50KGMsIGVuZCk7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30K
Kworc3RhdGljIHZvaWQgY29uc3VtZVNpbmdsZURvdFBhdGhTZWdtZW50KFN0cmluZ1ZpZXc6OkNv
ZGVQb2ludHM6Okl0ZXJhdG9yJiBjLCBjb25zdCBTdHJpbmdWaWV3OjpDb2RlUG9pbnRzOjpJdGVy
YXRvciBlbmQpCit7CisgICAgQVNTRVJUKGlzU2luZ2xlRG90UGF0aFNlZ21lbnQoYywgZW5kKSk7
CisgICAgaWYgKCpjID09ICcuJykgeworICAgICAgICArK2M7CisgICAgICAgIGlmIChjICE9IGVu
ZCkgeworICAgICAgICAgICAgaWYgKCpjID09ICcvJyB8fCAqYyA9PSAnXFwnKQorICAgICAgICAg
ICAgICAgICsrYzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBBU1NFUlQoKmMg
PT0gJz8nIHx8ICpjID09ICcjJyk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBB
U1NFUlQoKmMgPT0gJyUnKTsKKyAgICAgICAgKytjOworICAgICAgICBBU1NFUlQoKmMgPT0gJzIn
KTsKKyAgICAgICAgKytjOworICAgICAgICBBU1NFUlQoKmMgPT0gJ2UnIHx8ICpjID09ICdFJyk7
CisgICAgICAgICsrYzsKKyAgICAgICAgaWYgKGMgIT0gZW5kKSB7CisgICAgICAgICAgICBpZiAo
KmMgPT0gJy8nIHx8ICpjID09ICdcXCcpCisgICAgICAgICAgICAgICAgKytjOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIEFTU0VSVCgqYyA9PSAnPycgfHwgKmMgPT0gJyMnKTsK
KyAgICAgICAgfQorICAgIH0KK30KKworc3RhdGljIHZvaWQgY29uc3VtZURvdWJsZURvdFBhdGhT
ZWdtZW50KFN0cmluZ1ZpZXc6OkNvZGVQb2ludHM6Okl0ZXJhdG9yJiBjLCBjb25zdCBTdHJpbmdW
aWV3OjpDb2RlUG9pbnRzOjpJdGVyYXRvciBlbmQpCit7CisgICAgaWYgKCpjID09ICcuJykKKyAg
ICAgICAgKytjOworICAgIGVsc2UgeworICAgICAgICBBU1NFUlQoKmMgPT0gJyUnKTsKKyAgICAg
ICAgKytjOworICAgICAgICBBU1NFUlQoKmMgPT0gJzInKTsKKyAgICAgICAgKytjOworICAgICAg
ICBBU1NFUlQoKmMgPT0gJ2UnIHx8ICpjID09ICdFJyk7CisgICAgICAgICsrYzsKKyAgICB9Cisg
ICAgY29uc3VtZVNpbmdsZURvdFBhdGhTZWdtZW50KGMsIGVuZCk7Cit9CisKIFVSTCBVUkxQYXJz
ZXI6OnBhcnNlKGNvbnN0IFN0cmluZyYgaW5wdXQsIGNvbnN0IFVSTCYgYmFzZSwgY29uc3QgVGV4
dEVuY29kaW5nJikKIHsKICAgICBtX3VybCA9IHsgfTsKQEAgLTM4NCwyNiArNDcyLDM1IEBAIFVS
TCBVUkxQYXJzZXI6OnBhcnNlKGNvbnN0IFN0cmluZyYgaW5wdXQKICAgICAgICAgICAgICAgICBt
X2J1ZmZlci5hcHBlbmQoJy8nKTsKICAgICAgICAgICAgICAgICBtX3VybC5tX3BhdGhBZnRlckxh
c3RTbGFzaCA9IG1fYnVmZmVyLmxlbmd0aCgpOwogICAgICAgICAgICAgICAgICsrYzsKLSAgICAg
ICAgICAgICAgICB3aGlsZSAoYyAhPSBlbmQgJiYgaXNUYWJPck5ld2xpbmUoKmMpKQotICAgICAg
ICAgICAgICAgICAgICArK2M7Ci0gICAgICAgICAgICAgICAgaWYgKGMgPT0gZW5kKQorICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKG1fYnVmZmVy
Lmxlbmd0aCgpICYmIG1fYnVmZmVyW21fYnVmZmVyLmxlbmd0aCgpIC0gMV0gPT0gJy8nKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKGlzRG91YmxlRG90UGF0aFNlZ21lbnQoYywgZW5kKSkgeworICAg
ICAgICAgICAgICAgICAgICBjb25zdW1lRG91YmxlRG90UGF0aFNlZ21lbnQoYywgZW5kKTsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKG1fdXJsLm1fcGF0aEFmdGVyTGFzdFNsYXNoID4gbV91cmwu
bV9wb3J0RW5kICsgMSkgeworICAgICAgICAgICAgICAgICAgICAgICAgbV91cmwubV9wYXRoQWZ0
ZXJMYXN0U2xhc2gtLTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX2J1ZmZlclttX3Vy
bC5tX3BhdGhBZnRlckxhc3RTbGFzaF0gPT0gJy8nKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1fdXJsLm1fcGF0aEFmdGVyTGFzdFNsYXNoLS07CisgICAgICAgICAgICAgICAgICAgICAg
ICB3aGlsZSAobV91cmwubV9wYXRoQWZ0ZXJMYXN0U2xhc2ggPiBtX3VybC5tX3BvcnRFbmQgJiYg
bV9idWZmZXJbbV91cmwubV9wYXRoQWZ0ZXJMYXN0U2xhc2hdICE9ICcvJykKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtX3VybC5tX3BhdGhBZnRlckxhc3RTbGFzaC0tOworICAgICAgICAg
ICAgICAgICAgICAgICAgbV91cmwubV9wYXRoQWZ0ZXJMYXN0U2xhc2grKzsKKyAgICAgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBtX2J1ZmZlci5yZXNpemUobV91cmwubV9w
YXRoQWZ0ZXJMYXN0U2xhc2gpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKG1fYnVmZmVyW21fYnVmZmVyLmxlbmd0aCgp
IC0gMV0gPT0gJy8nICYmIGlzU2luZ2xlRG90UGF0aFNlZ21lbnQoYywgZW5kKSkgeworICAgICAg
ICAgICAgICAgICAgICBjb25zdW1lU2luZ2xlRG90UGF0aFNlZ21lbnQoYywgZW5kKTsKICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgaWYgKCpjID09ICcuJykgewot
ICAgICAgICAgICAgICAgICAgICArK2M7Ci0gICAgICAgICAgICAgICAgICAgIHdoaWxlIChjICE9
IGVuZCAmJiBpc1RhYk9yTmV3bGluZSgqYykpCi0gICAgICAgICAgICAgICAgICAgICAgICArK2M7
Ci0gICAgICAgICAgICAgICAgICAgIGlmIChjID09IGVuZCkKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiB7IH07Ci0gICAgICAgICAgICAgICAgICAgIGlmICgqYyA9PSAnLicpCi0gICAg
ICAgICAgICAgICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICAgICAgICAgICAg
ICBub3RJbXBsZW1lbnRlZCgpOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxz
ZSBpZiAoKmMgPT0gJz8nKSB7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoKmMgPT0g
Jz8nKSB7CiAgICAgICAgICAgICAgICAgbV91cmwubV9wYXRoRW5kID0gbV9idWZmZXIubGVuZ3Ro
KCk7CiAgICAgICAgICAgICAgICAgc3RhdGUgPSBTdGF0ZTo6UXVlcnk7CiAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKCpjID09ICcjJykgeworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgaWYgKCpjID09ICcjJykgewogICAgICAgICAgICAgICAgIG1fdXJs
Lm1fcGF0aEVuZCA9IG1fYnVmZmVyLmxlbmd0aCgpOworICAgICAgICAgICAgICAgIG1fdXJsLm1f
cXVlcnlFbmQgPSBtX3VybC5tX3BhdGhFbmQ7CiAgICAgICAgICAgICAgICAgc3RhdGUgPSBTdGF0
ZTo6RnJhZ21lbnQ7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CkluZGV4
OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lv
biAyMDUyNTYpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NCBAQAorMjAxNi0wOC0zMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQu
b3JnPgorCisgICAgICAgIFVSTFBhcnNlciBzaG91bGQgaGFuZGxlIC4gYW5kIC4uIGluIFVSTCBw
YXRocworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYx
NDQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVVJMUGFyc2VyLmNwcDoKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OmVxKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1RfRik6CisKIDIwMTYt
MDgtMzEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFdLMiBH
YW1lcGFkIHByb3ZpZGVyIG9uIGlPUy4KSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViQ29yZS9VUkxQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViQ29yZS9VUkxQYXJzZXIuY3BwCShyZXZpc2lvbiAyMDUxOTQpCisrKyBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVVJMUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTAsNyArNTAsMTIgQEAgc3RydWN0IEV4cGVjdGVkUGFydHMgewogICAgIFN0cmluZyBzdHJp
bmc7CiB9OwogCi1zdGF0aWMgYm9vbCBlcShjb25zdCBTdHJpbmcmIHMxLCBjb25zdCBTdHJpbmcm
IHMyKSB7IHJldHVybiBzMS51dGY4KCkgPT0gczIudXRmOCgpOyB9CitzdGF0aWMgYm9vbCBlcShj
b25zdCBTdHJpbmcmIHMxLCBjb25zdCBTdHJpbmcmIHMyKQoreworICAgIEVYUEVDVF9TVFJFUShz
MS51dGY4KCkuZGF0YSgpLCBzMi51dGY4KCkuZGF0YSgpKTsKKyAgICByZXR1cm4gczEudXRmOCgp
ID09IHMyLnV0ZjgoKTsKK30KKwogc3RhdGljIHZvaWQgY2hlY2tVUkwoY29uc3QgU3RyaW5nJiB1
cmxTdHJpbmcsIGNvbnN0IEV4cGVjdGVkUGFydHMmIHBhcnRzKQogewogICAgIFVSTFBhcnNlciBw
YXJzZXI7CkBAIC05NCw2ICs5OSw0MyBAQCBURVNUX0YoVVJMUGFyc2VyVGVzdCwgUGFyc2UpCiAg
ICAgY2hlY2tVUkwoImFib3V0OmJsYW5rIiwgeyJhYm91dCIsICIiLCAiIiwgIiIsIDAsICJibGFu
ayIsICIiLCAiIiwgImFib3V0OmJsYW5rIn0pOwogICAgIGNoZWNrVVJMKCJhYm91dDpibGFuaz9x
dWVyeSIsIHsiYWJvdXQiLCAiIiwgIiIsICIiLCAwLCAiYmxhbmsiLCAicXVlcnkiLCAiIiwgImFi
b3V0OmJsYW5rP3F1ZXJ5In0pOwogICAgIGNoZWNrVVJMKCJhYm91dDpibGFuayNmcmFnbWVudCIs
IHsiYWJvdXQiLCAiIiwgIiIsICIiLCAwLCAiYmxhbmsiLCAiIiwgImZyYWdtZW50IiwgImFib3V0
OmJsYW5rI2ZyYWdtZW50In0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0
aDEvcGF0aDIvLiIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9w
YXRoMi8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvIn0pOworICAg
IGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvLi4iLCB7Imh0dHAiLCAi
IiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvIiwgIiIsICIiLCAiaHR0cDovL2V4YW1w
bGUuY29tL3BhdGgxLyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgx
L3BhdGgyLy4vcGF0aDMiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0
aDEvcGF0aDIvcGF0aDMiLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIv
cGF0aDMifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8u
XFxwYXRoMyIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9wYXRo
Mi9wYXRoMyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi9wYXRoMyJ9
KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLy4uL3BhdGgz
IiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgzIiwgIiIs
ICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgzIn0pOworICAgIGNoZWNrVVJMKCJo
dHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvLi5cXHBhdGgzIiwgeyJodHRwIiwgIiIsICIi
LCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgzIiwgIiIsICIiLCAiaHR0cDovL2V4YW1w
bGUuY29tL3BhdGgxL3BhdGgzIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20v
LiIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8iLCAiIiwgIiIsICJodHRw
Oi8vZXhhbXBsZS5jb20vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLi4i
LCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDov
L2V4YW1wbGUuY29tLyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tLy4vcGF0
aDEiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEiLCAiIiwgIiIs
ICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFt
cGxlLmNvbS8uLi9wYXRoMSIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9w
YXRoMSIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMSJ9KTsKKyAgICBjaGVja1VS
TCgiaHR0cDovL2V4YW1wbGUuY29tLy4uL3BhdGgxLy4uLy4uL3BhdGgyL3BhdGgzLy4uL3BhdGg0
IiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgyL3BhdGg0IiwgIiIs
ICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgyL3BhdGg0In0pOworICAgIGNoZWNrVVJMKCJo
dHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvLiUyIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5j
b20iLCAwLCAiL3BhdGgxLy4lMiIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8u
JTIifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8lMiIsIHsiaHR0
cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8lMiIsICIiLCAiIiwgImh0dHA6
Ly9leGFtcGxlLmNvbS9wYXRoMS8lMiJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUu
Y29tL3BhdGgxLyUiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEv
JSIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8lIn0pOworICAgIGNoZWNrVVJM
KCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvLiUiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxl
LmNvbSIsIDAsICIvcGF0aDEvLiUiLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEv
LiUifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8vLiIsIHsiaHR0cCIsICIi
LCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8vIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29t
Ly8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8vLi8iLCB7Imh0dHAiLCAi
IiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNv
bS8vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLy4vLyIsIHsiaHR0cCIs
ICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8vLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxl
LmNvbS8vLyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tLy8uLiIsIHsiaHR0
cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBs
ZS5jb20vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLy4uLyIsIHsiaHR0
cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBs
ZS5jb20vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLy4uLy8iLCB7Imh0
dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvLyIsICIiLCAiIiwgImh0dHA6Ly9leGFt
cGxlLmNvbS8vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLy4uIiwgeyJo
dHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly9leGFt
cGxlLmNvbS8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8uLy8iLCB7Imh0
dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvLyIsICIiLCAiIiwgImh0dHA6Ly9leGFt
cGxlLmNvbS8vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLi4vLyIsIHsi
aHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8vIiwgIiIsICIiLCAiaHR0cDovL2V4
YW1wbGUuY29tLy8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8uLyIsIHsi
aHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vZXhh
bXBsZS5jb20vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLi4vIiwgeyJo
dHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly9leGFt
cGxlLmNvbS8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8uLi4v
cGF0aDMiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvLi4uL3Bh
dGgzIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4uLi9wYXRoMyJ9KTsKKyAg
ICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4uLiIsIHsiaHR0cCIsICIiLCAi
IiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8uLi4iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBs
ZS5jb20vcGF0aDEvLi4uIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0
aDEvLi4uLyIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8uLi4v
IiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4uLi8ifSk7CisgICAgY2hlY2tV
UkwoImh0dHA6Ly9leGFtcGxlLmNvbS8ucGF0aDEvIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBs
ZS5jb20iLCAwLCAiLy5wYXRoMS8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vLnBhdGgx
LyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tLy4ucGF0aDEvIiwgeyJodHRw
IiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLy4ucGF0aDEvIiwgIiIsICIiLCAiaHR0cDov
L2V4YW1wbGUuY29tLy4ucGF0aDEvIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5j
b20vcGF0aDEvLnBhdGgyIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3Bh
dGgxLy5wYXRoMiIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8ucGF0aDIifSk7
CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8uLnBhdGgyIiwgeyJodHRw
IiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLy4ucGF0aDIiLCAiIiwgIiIsICJo
dHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvLi5wYXRoMiJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDov
L2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLy4/cXVlcnkiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFt
cGxlLmNvbSIsIDAsICIvcGF0aDEvcGF0aDIvIiwgInF1ZXJ5IiwgIiIsICJodHRwOi8vZXhhbXBs
ZS5jb20vcGF0aDEvcGF0aDIvP3F1ZXJ5In0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBs
ZS5jb20vcGF0aDEvcGF0aDIvLi4/cXVlcnkiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNv
bSIsIDAsICIvcGF0aDEvIiwgInF1ZXJ5IiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEv
P3F1ZXJ5In0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIv
LiNmcmFnbWVudCIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9w
YXRoMi8iLCAiIiwgImZyYWdtZW50IiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8j
ZnJhZ21lbnQifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRo
Mi8uLiNmcmFnbWVudCIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRo
MS8iLCAiIiwgImZyYWdtZW50IiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8jZnJhZ21lbnQi
fSk7CiB9CiAKIHN0YXRpYyB2b2lkIGNoZWNrUmVsYXRpdmVVUkwoY29uc3QgU3RyaW5nJiB1cmxT
dHJpbmcsIGNvbnN0IFN0cmluZyYgYmFzZVVSTFN0cmluZywgY29uc3QgRXhwZWN0ZWRQYXJ0cyYg
cGFydHMpCkBAIC0xOTQsNiArMjM2LDcgQEAgc3RhdGljIHZvaWQgY2hlY2tSZWxhdGl2ZVVSTERp
ZmZlcmVuY2VzKAogICAgIEVYUEVDVF9GQUxTRShVUkxQYXJzZXI6OmFsbFZhbHVlc0VxdWFsKHVy
bCwgb2xkVVJMKSk7CiB9CiAKKy8vIFRoZXNlIGFyZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBu
ZXcgVVJMUGFyc2VyIGFuZCB0aGUgb2xkIFVSTDo6cGFyc2Ugd2hpY2ggbWFrZSBVUkxQYXJzZXIg
bW9yZSBzdGFuZGFyZHMgY29tcGxpYW50LgogVEVTVF9GKFVSTFBhcnNlclRlc3QsIFBhcnNlckRp
ZmZlcmVuY2VzKQogewogICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly8xMjcuMC4xIiwK
QEAgLTIwMiw3ICsyNDUsNDMgQEAgVEVTVF9GKFVSTFBhcnNlclRlc3QsIFBhcnNlckRpZmZlcmVu
Y2VzKQogICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly8wMTEuMTEuMFgxMS4weDAxMSIs
CiAgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgIjkuMTEuMTcuMTciLCAwLCAiLyIsICIiLCAiIiwg
Imh0dHA6Ly85LjExLjE3LjE3LyJ9LAogICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICIwMTEuMTEu
MHgxMS4weDAxMSIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovLzAxMS4xMS4weDExLjB4MDExLyJ9
KTsKLQorICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8u
JTJlIiwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLyIsICIi
LCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS8ifSwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAi
ZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLy4lMmUiLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5j
b20vcGF0aDEvLiUyZSJ9KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRwOi8vZXhhbXBs
ZS5jb20vcGF0aDEvLiUyRSIsCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29t
IiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vIn0sCisgICAgICAgIHsiaHR0
cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8uJTJFIiwgIiIsICIiLCAiaHR0
cDovL2V4YW1wbGUuY29tL3BhdGgxLy4lMkUifSk7CisgICAgY2hlY2tVUkxEaWZmZXJlbmNlcygi
aHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4lMkUvIiwKKyAgICAgICAgeyJodHRwIiwgIiIsICIi
LCAiZXhhbXBsZS5jb20iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS8ifSwK
KyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLy4lMkUv
IiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4lMkUvIn0pOworICAgIGNoZWNr
VVJMRGlmZmVyZW5jZXMoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8lMmUuIiwKKyAgICAgICAg
eyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly9l
eGFtcGxlLmNvbS8ifSwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAw
LCAiL3BhdGgxLyUyZS4iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvJTJlLiJ9
KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvJTJF
JTJlIiwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLyIsICIi
LCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS8ifSwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAi
ZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLyUyRSUyZSIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxl
LmNvbS9wYXRoMS8lMkUlMmUifSk7CisgICAgY2hlY2tVUkxEaWZmZXJlbmNlcygiaHR0cDovL2V4
YW1wbGUuY29tL3BhdGgxLyUyZSIsCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUu
Y29tIiwgMCwgIi9wYXRoMS8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvIn0s
CisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8lMmUi
LCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvJTJlIn0pOworICAgIGNoZWNrVVJM
RGlmZmVyZW5jZXMoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8lMkUiLAorICAgICAgICB7Imh0
dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvIiwgIiIsICIiLCAiaHR0cDov
L2V4YW1wbGUuY29tL3BhdGgxLyJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxl
LmNvbSIsIDAsICIvcGF0aDEvJTJFIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgx
LyUyRSJ9KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0
aDEvJTJFLyIsCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9w
YXRoMS8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvIn0sCisgICAgICAgIHsi
aHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8lMkUvIiwgIiIsICIiLCAi
aHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLyUyRS8ifSk7CisgICAgY2hlY2tVUkxEaWZmZXJlbmNl
cygiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLyUyZT9xdWVyeSIsCisgICAgICAgIHsi
aHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9wYXRoMi8iLCAicXVlcnki
LCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8/cXVlcnkifSwKKyAgICAgICAg
eyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgyLyUyZSIsICJx
dWVyeSIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLyUyZT9xdWVyeSJ9KTsK
KyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIv
JTJlJTJlP3F1ZXJ5IiwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAw
LCAiL3BhdGgxLyIsICJxdWVyeSIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLz9xdWVy
eSJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEv
cGF0aDIvJTJlJTJlIiwgInF1ZXJ5IiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0
aDIvJTJlJTJlP3F1ZXJ5In0pOworICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly9leGFt
cGxlLmNvbS9wYXRoMS9wYXRoMi8lMmUjZnJhZ21lbnQiLAorICAgICAgICB7Imh0dHAiLCAiIiwg
IiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvcGF0aDIvIiwgIiIsICJmcmFnbWVudCIsICJo
dHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvI2ZyYWdtZW50In0sCisgICAgICAgIHsiaHR0
cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9wYXRoMi8lMmUiLCAiIiwgImZy
YWdtZW50IiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8lMmUjZnJhZ21lbnQifSk7
CisgICAgY2hlY2tVUkxEaWZmZXJlbmNlcygiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgy
LyUyZSUyZSNmcmFnbWVudCIsCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29t
IiwgMCwgIi9wYXRoMS8iLCAiIiwgImZyYWdtZW50IiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRo
MS8jZnJhZ21lbnQifSwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAw
LCAiL3BhdGgxL3BhdGgyLyUyZSUyZSIsICIiLCAiZnJhZ21lbnQiLCAiaHR0cDovL2V4YW1wbGUu
Y29tL3BhdGgxL3BhdGgyLyUyZSUyZSNmcmFnbWVudCJ9KTsKKyAgICAKICAgICAvLyBGSVhNRTog
VGhpcyBiZWhhdmlvciBvdWdodCB0byBiZSBzcGVjaWZpZWQgaW4gdGhlIHN0YW5kYXJkLgogICAg
IC8vIFdpdGggdGhlIGV4aXN0aW5nIFVSTDo6cGFyc2UsIFdlYktpdCByZXR1cm5zICJodHRwczov
IiwgRmlyZWZveCByZXR1cm5zICJodHRwczovLy8iLCBhbmQgQ2hyb21lIHRocm93cyBhbiBlcnJv
ci4KICAgICBjaGVja1JlbGF0aXZlVVJMRGlmZmVyZW5jZXMoIi8vIiwgImh0dHBzOi8vd3d3Lndl
YmtpdC5vcmcvcGF0aCIsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287649</attachid>
            <date>2016-09-01 11:56:34 -0700</date>
            <delta_ts>2016-09-01 12:46:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161443-20160901115419.patch</filename>
            <type>text/plain</type>
            <size>16651</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNTMwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA5LTAxICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVVJMUGFyc2Vy
IHNob3VsZCBoYW5kbGUgLiBhbmQgLi4gaW4gVVJMIHBhdGhzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0NDMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IG5ldyBBUEkgdGVzdHMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9VUkxQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNT
aW5nbGVEb3RQYXRoU2VnbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppc0RvdWJsZURvdFBhdGhT
ZWdtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVTaW5nbGVEb3RQYXRoU2VnbWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1lRG91YmxlRG90UGF0aFNlZ21lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6VVJMUGFyc2VyOjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpVUkxQYXJz
ZXI6OmNvcHlVUkxQYXJ0c1VudGlsKTogRGVsZXRlZC4KKwogMjAxNi0wOS0wMSAgQWxleCBDaHJp
c3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBNYWMgQ01h
a2UgYnVpbGQgYWZ0ZXIgcjIwNTI2Ni4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VS
TFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJMUGFy
c2VyLmNwcAkocmV2aXNpb24gMjA1MjczKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJM
UGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDcgKzEyNywxMDkgQEAgdm9pZCBVUkxQ
YXJzZXI6OmNvcHlVUkxQYXJ0c1VudGlsKGNvbnN0IAogICAgICAgICBtX3VybC5tX3NjaGVtZUVu
ZCA9IGJhc2UubV9zY2hlbWVFbmQ7CiAgICAgfQogfQorCitzdGF0aWMgYm9vbCBpc1NpbmdsZURv
dFBhdGhTZWdtZW50KFN0cmluZ1ZpZXc6OkNvZGVQb2ludHM6Okl0ZXJhdG9yIGMsIGNvbnN0IFN0
cmluZ1ZpZXc6OkNvZGVQb2ludHM6Okl0ZXJhdG9yJiBlbmQpCit7CisgICAgaWYgKGMgPT0gZW5k
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCpjID09ICcuJykgeworICAgICAgICAr
K2M7CisgICAgICAgIHJldHVybiBjID09IGVuZCB8fCAqYyA9PSAnLycgfHwgKmMgPT0gJ1xcJyB8
fCAqYyA9PSAnPycgfHwgKmMgPT0gJyMnOworICAgIH0KKyAgICBpZiAoKmMgIT0gJyUnKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgKytjOworICAgIGlmIChjID09IGVuZCB8fCAqYyAhPSAn
MicpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICArK2M7CisgICAgaWYgKGMgPT0gZW5kKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCpjID09ICdlJyB8fCAqYyA9PSAnRScpIHsK
KyAgICAgICAgKytjOworICAgICAgICByZXR1cm4gYyA9PSBlbmQgfHwgKmMgPT0gJy8nIHx8ICpj
ID09ICdcXCcgfHwgKmMgPT0gJz8nIHx8ICpjID09ICcjJzsKKyAgICB9CisgICAgcmV0dXJuIGZh
bHNlOworfQogICAgIAorc3RhdGljIGJvb2wgaXNEb3VibGVEb3RQYXRoU2VnbWVudChTdHJpbmdW
aWV3OjpDb2RlUG9pbnRzOjpJdGVyYXRvciBjLCBjb25zdCBTdHJpbmdWaWV3OjpDb2RlUG9pbnRz
OjpJdGVyYXRvciYgZW5kKQoreworICAgIGlmIChjID09IGVuZCkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIGlmICgqYyA9PSAnLicpIHsKKyAgICAgICAgKytjOworICAgICAgICByZXR1cm4g
aXNTaW5nbGVEb3RQYXRoU2VnbWVudChjLCBlbmQpOworICAgIH0KKyAgICBpZiAoKmMgIT0gJyUn
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgKytjOworICAgIGlmIChjID09IGVuZCB8fCAq
YyAhPSAnMicpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICArK2M7CisgICAgaWYgKGMgPT0g
ZW5kKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCpjID09ICdlJyB8fCAqYyA9PSAn
RScpIHsKKyAgICAgICAgKytjOworICAgICAgICByZXR1cm4gaXNTaW5nbGVEb3RQYXRoU2VnbWVu
dChjLCBlbmQpOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyB2b2lkIGNv
bnN1bWVTaW5nbGVEb3RQYXRoU2VnbWVudChTdHJpbmdWaWV3OjpDb2RlUG9pbnRzOjpJdGVyYXRv
ciYgYywgY29uc3QgU3RyaW5nVmlldzo6Q29kZVBvaW50czo6SXRlcmF0b3IgZW5kKQoreworICAg
IEFTU0VSVChpc1NpbmdsZURvdFBhdGhTZWdtZW50KGMsIGVuZCkpOworICAgIGlmICgqYyA9PSAn
LicpIHsKKyAgICAgICAgKytjOworICAgICAgICBpZiAoYyAhPSBlbmQpIHsKKyAgICAgICAgICAg
IGlmICgqYyA9PSAnLycgfHwgKmMgPT0gJ1xcJykKKyAgICAgICAgICAgICAgICArK2M7CisgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgQVNTRVJUKCpjID09ICc/JyB8fCAqYyA9PSAn
IycpOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgQVNTRVJUKCpjID09ICclJyk7
CisgICAgICAgICsrYzsKKyAgICAgICAgQVNTRVJUKCpjID09ICcyJyk7CisgICAgICAgICsrYzsK
KyAgICAgICAgQVNTRVJUKCpjID09ICdlJyB8fCAqYyA9PSAnRScpOworICAgICAgICArK2M7Cisg
ICAgICAgIGlmIChjICE9IGVuZCkgeworICAgICAgICAgICAgaWYgKCpjID09ICcvJyB8fCAqYyA9
PSAnXFwnKQorICAgICAgICAgICAgICAgICsrYzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBBU1NFUlQoKmMgPT0gJz8nIHx8ICpjID09ICcjJyk7CisgICAgICAgIH0KKyAgICB9
Cit9CisKK3N0YXRpYyB2b2lkIGNvbnN1bWVEb3VibGVEb3RQYXRoU2VnbWVudChTdHJpbmdWaWV3
OjpDb2RlUG9pbnRzOjpJdGVyYXRvciYgYywgY29uc3QgU3RyaW5nVmlldzo6Q29kZVBvaW50czo6
SXRlcmF0b3IgZW5kKQoreworICAgIEFTU0VSVChpc0RvdWJsZURvdFBhdGhTZWdtZW50KGMsIGVu
ZCkpOworICAgIGlmICgqYyA9PSAnLicpCisgICAgICAgICsrYzsKKyAgICBlbHNlIHsKKyAgICAg
ICAgQVNTRVJUKCpjID09ICclJyk7CisgICAgICAgICsrYzsKKyAgICAgICAgQVNTRVJUKCpjID09
ICcyJyk7CisgICAgICAgICsrYzsKKyAgICAgICAgQVNTRVJUKCpjID09ICdlJyB8fCAqYyA9PSAn
RScpOworICAgICAgICArK2M7CisgICAgfQorICAgIGNvbnN1bWVTaW5nbGVEb3RQYXRoU2VnbWVu
dChjLCBlbmQpOworfQorCit2b2lkIFVSTFBhcnNlcjo6cG9wUGF0aCgpCit7CisgICAgaWYgKG1f
dXJsLm1fcGF0aEFmdGVyTGFzdFNsYXNoID4gbV91cmwubV9wb3J0RW5kICsgMSkgeworICAgICAg
ICBtX3VybC5tX3BhdGhBZnRlckxhc3RTbGFzaC0tOworICAgICAgICBpZiAobV9idWZmZXJbbV91
cmwubV9wYXRoQWZ0ZXJMYXN0U2xhc2hdID09ICcvJykKKyAgICAgICAgICAgIG1fdXJsLm1fcGF0
aEFmdGVyTGFzdFNsYXNoLS07CisgICAgICAgIHdoaWxlIChtX3VybC5tX3BhdGhBZnRlckxhc3RT
bGFzaCA+IG1fdXJsLm1fcG9ydEVuZCAmJiBtX2J1ZmZlclttX3VybC5tX3BhdGhBZnRlckxhc3RT
bGFzaF0gIT0gJy8nKQorICAgICAgICAgICAgbV91cmwubV9wYXRoQWZ0ZXJMYXN0U2xhc2gtLTsK
KyAgICAgICAgbV91cmwubV9wYXRoQWZ0ZXJMYXN0U2xhc2grKzsKKyAgICB9CisgICAgbV9idWZm
ZXIucmVzaXplKG1fdXJsLm1fcGF0aEFmdGVyTGFzdFNsYXNoKTsKK30KKwogVVJMIFVSTFBhcnNl
cjo6cGFyc2UoY29uc3QgU3RyaW5nJiBpbnB1dCwgY29uc3QgVVJMJiBiYXNlLCBjb25zdCBUZXh0
RW5jb2RpbmcmKQogewogICAgIExPRyhVUkxQYXJzZXIsICJQYXJzaW5nIFVSTCA8JXM+IGJhc2Ug
PCVzPiIsIGlucHV0LnV0ZjgoKS5kYXRhKCksIGJhc2Uuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7
CkBAIC0zODUsMjYgKzQ4NywyNyBAQCBVUkwgVVJMUGFyc2VyOjpwYXJzZShjb25zdCBTdHJpbmcm
IGlucHV0CiAgICAgICAgICAgICAgICAgbV9idWZmZXIuYXBwZW5kKCcvJyk7CiAgICAgICAgICAg
ICAgICAgbV91cmwubV9wYXRoQWZ0ZXJMYXN0U2xhc2ggPSBtX2J1ZmZlci5sZW5ndGgoKTsKICAg
ICAgICAgICAgICAgICArK2M7Ci0gICAgICAgICAgICAgICAgd2hpbGUgKGMgIT0gZW5kICYmIGlz
VGFiT3JOZXdsaW5lKCpjKSkKLSAgICAgICAgICAgICAgICAgICAgKytjOwotICAgICAgICAgICAg
ICAgIGlmIChjID09IGVuZCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGlmIChtX2J1ZmZlci5sZW5ndGgoKSAmJiBtX2J1ZmZlclttX2J1ZmZlci5s
ZW5ndGgoKSAtIDFdID09ICcvJykgeworICAgICAgICAgICAgICAgIGlmIChpc0RvdWJsZURvdFBh
dGhTZWdtZW50KGMsIGVuZCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uc3VtZURvdWJsZURv
dFBhdGhTZWdtZW50KGMsIGVuZCk7CisgICAgICAgICAgICAgICAgICAgIHBvcFBhdGgoKTsKKyAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIGlmIChtX2J1ZmZlclttX2J1ZmZlci5sZW5ndGgoKSAtIDFdID09ICcvJyAmJiBpc1Npbmds
ZURvdFBhdGhTZWdtZW50KGMsIGVuZCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uc3VtZVNp
bmdsZURvdFBhdGhTZWdtZW50KGMsIGVuZCk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgICAgIGlmICgqYyA9PSAnLicpIHsKLSAgICAgICAgICAgICAgICAgICAgKytj
OwotICAgICAgICAgICAgICAgICAgICB3aGlsZSAoYyAhPSBlbmQgJiYgaXNUYWJPck5ld2xpbmUo
KmMpKQotICAgICAgICAgICAgICAgICAgICAgICAgKytjOwotICAgICAgICAgICAgICAgICAgICBp
ZiAoYyA9PSBlbmQpCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyB9OwotICAgICAg
ICAgICAgICAgICAgICBpZiAoKmMgPT0gJy4nKQotICAgICAgICAgICAgICAgICAgICAgICAgbm90
SW1wbGVtZW50ZWQoKTsKLSAgICAgICAgICAgICAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKCpjID09ICc/JykgeworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCpjID09ICc/JykgewogICAgICAgICAgICAgICAg
IG1fdXJsLm1fcGF0aEVuZCA9IG1fYnVmZmVyLmxlbmd0aCgpOwogICAgICAgICAgICAgICAgIHN0
YXRlID0gU3RhdGU6OlF1ZXJ5OwogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
fSBlbHNlIGlmICgqYyA9PSAnIycpIHsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgq
YyA9PSAnIycpIHsKICAgICAgICAgICAgICAgICBtX3VybC5tX3BhdGhFbmQgPSBtX2J1ZmZlci5s
ZW5ndGgoKTsKKyAgICAgICAgICAgICAgICBtX3VybC5tX3F1ZXJ5RW5kID0gbV91cmwubV9wYXRo
RW5kOwogICAgICAgICAgICAgICAgIHN0YXRlID0gU3RhdGU6OkZyYWdtZW50OwogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVVJMUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJM
UGFyc2VyLmgJKHJldmlzaW9uIDIwNTI2OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VS
TFBhcnNlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSw3IEBAIHByaXZhdGU6CiAgICAg
ZW51bSBjbGFzcyBVUkxQYXJ0OwogICAgIHZvaWQgY29weVVSTFBhcnRzVW50aWwoY29uc3QgVVJM
JiBiYXNlLCBVUkxQYXJ0KTsKICAgICBzdGF0aWMgc2l6ZV90IHVybExlbmd0aFVudGlsUGFydChj
b25zdCBVUkwmLCBVUkxQYXJ0KTsKKyAgICB2b2lkIHBvcFBhdGgoKTsKIH07CiAKIH0KSW5kZXg6
IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDIwNTI3MykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0
IEBACisyMDE2LTA5LTAxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgVVJMUGFyc2VyIHNob3VsZCBoYW5kbGUgLiBhbmQgLi4gaW4gVVJMIHBh
dGhzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0
NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9VUkxQYXJzZXIuY3BwOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6ZXEpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVF9GKToKKwogMjAxNi0w
OC0zMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIEltcGxlbWVudCBJUHY2IHBhcnNpbmcgaW4gVVJMUGFyc2VyCkluZGV4OiBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVVJMUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVVJMUGFyc2VyLmNwcAkocmV2aXNpb24gMjA1
MjczKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1VSTFBhcnNlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEwMiw2ICsxMDIsNDMgQEAgVEVTVF9GKFVSTFBhcnNlclRlc3Qs
IFBhcnNlKQogICAgIGNoZWNrVVJMKCJodHRwOi8vWzA6Zjo6ZjpmOjA6MF0iLCB7Imh0dHAiLCAi
IiwgIiIsICJbMDpmOjpmOmY6MDowXSIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovL1swOmY6OmY6
ZjowOjBdLyJ9KTsKICAgICBjaGVja1VSTCgiaHR0cDovL1swOmY6MDowOmY6Ol0iLCB7Imh0dHAi
LCAiIiwgIiIsICJbMDpmOjA6MDpmOjpdIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vWzA6Zjow
OjA6Zjo6XS8ifSk7CiAgICAgY2hlY2tVUkwoImh0dHA6Ly9bOjpmOjA6MDpmOjA6MF0iLCB7Imh0
dHAiLCAiIiwgIiIsICJbOjpmOjA6MDpmOjA6MF0iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly9b
OjpmOjA6MDpmOjA6MF0vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0
aDEvcGF0aDIvLiIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9w
YXRoMi8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvIn0pOworICAg
IGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvLi4iLCB7Imh0dHAiLCAi
IiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvIiwgIiIsICIiLCAiaHR0cDovL2V4YW1w
bGUuY29tL3BhdGgxLyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgx
L3BhdGgyLy4vcGF0aDMiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0
aDEvcGF0aDIvcGF0aDMiLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIv
cGF0aDMifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8u
XFxwYXRoMyIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9wYXRo
Mi9wYXRoMyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi9wYXRoMyJ9
KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLy4uL3BhdGgz
IiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgzIiwgIiIs
ICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgzIn0pOworICAgIGNoZWNrVVJMKCJo
dHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvLi5cXHBhdGgzIiwgeyJodHRwIiwgIiIsICIi
LCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgzIiwgIiIsICIiLCAiaHR0cDovL2V4YW1w
bGUuY29tL3BhdGgxL3BhdGgzIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20v
LiIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8iLCAiIiwgIiIsICJodHRw
Oi8vZXhhbXBsZS5jb20vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLi4i
LCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDov
L2V4YW1wbGUuY29tLyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tLy4vcGF0
aDEiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEiLCAiIiwgIiIs
ICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFt
cGxlLmNvbS8uLi9wYXRoMSIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9w
YXRoMSIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMSJ9KTsKKyAgICBjaGVja1VS
TCgiaHR0cDovL2V4YW1wbGUuY29tLy4uL3BhdGgxLy4uLy4uL3BhdGgyL3BhdGgzLy4uL3BhdGg0
IiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgyL3BhdGg0IiwgIiIs
ICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgyL3BhdGg0In0pOworICAgIGNoZWNrVVJMKCJo
dHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvLiUyIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5j
b20iLCAwLCAiL3BhdGgxLy4lMiIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8u
JTIifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8lMiIsIHsiaHR0
cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8lMiIsICIiLCAiIiwgImh0dHA6
Ly9leGFtcGxlLmNvbS9wYXRoMS8lMiJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUu
Y29tL3BhdGgxLyUiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEv
JSIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8lIn0pOworICAgIGNoZWNrVVJM
KCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvLiUiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxl
LmNvbSIsIDAsICIvcGF0aDEvLiUiLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEv
LiUifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8vLiIsIHsiaHR0cCIsICIi
LCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8vIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29t
Ly8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8vLi8iLCB7Imh0dHAiLCAi
IiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNv
bS8vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLy4vLyIsIHsiaHR0cCIs
ICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8vLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxl
LmNvbS8vLyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tLy8uLiIsIHsiaHR0
cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBs
ZS5jb20vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLy4uLyIsIHsiaHR0
cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBs
ZS5jb20vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLy4uLy8iLCB7Imh0
dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvLyIsICIiLCAiIiwgImh0dHA6Ly9leGFt
cGxlLmNvbS8vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLy4uIiwgeyJo
dHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly9leGFt
cGxlLmNvbS8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8uLy8iLCB7Imh0
dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvLyIsICIiLCAiIiwgImh0dHA6Ly9leGFt
cGxlLmNvbS8vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLi4vLyIsIHsi
aHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8vIiwgIiIsICIiLCAiaHR0cDovL2V4
YW1wbGUuY29tLy8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8uLyIsIHsi
aHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vZXhh
bXBsZS5jb20vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLi4vIiwgeyJo
dHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly9leGFt
cGxlLmNvbS8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8uLi4v
cGF0aDMiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvLi4uL3Bh
dGgzIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4uLi9wYXRoMyJ9KTsKKyAg
ICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4uLiIsIHsiaHR0cCIsICIiLCAi
IiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8uLi4iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBs
ZS5jb20vcGF0aDEvLi4uIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0
aDEvLi4uLyIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8uLi4v
IiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4uLi8ifSk7CisgICAgY2hlY2tV
UkwoImh0dHA6Ly9leGFtcGxlLmNvbS8ucGF0aDEvIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBs
ZS5jb20iLCAwLCAiLy5wYXRoMS8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vLnBhdGgx
LyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tLy4ucGF0aDEvIiwgeyJodHRw
IiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLy4ucGF0aDEvIiwgIiIsICIiLCAiaHR0cDov
L2V4YW1wbGUuY29tLy4ucGF0aDEvIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5j
b20vcGF0aDEvLnBhdGgyIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3Bh
dGgxLy5wYXRoMiIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8ucGF0aDIifSk7
CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8uLnBhdGgyIiwgeyJodHRw
IiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLy4ucGF0aDIiLCAiIiwgIiIsICJo
dHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvLi5wYXRoMiJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDov
L2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLy4/cXVlcnkiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFt
cGxlLmNvbSIsIDAsICIvcGF0aDEvcGF0aDIvIiwgInF1ZXJ5IiwgIiIsICJodHRwOi8vZXhhbXBs
ZS5jb20vcGF0aDEvcGF0aDIvP3F1ZXJ5In0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBs
ZS5jb20vcGF0aDEvcGF0aDIvLi4/cXVlcnkiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNv
bSIsIDAsICIvcGF0aDEvIiwgInF1ZXJ5IiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEv
P3F1ZXJ5In0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIv
LiNmcmFnbWVudCIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9w
YXRoMi8iLCAiIiwgImZyYWdtZW50IiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8j
ZnJhZ21lbnQifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRo
Mi8uLiNmcmFnbWVudCIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRo
MS8iLCAiIiwgImZyYWdtZW50IiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8jZnJhZ21lbnQi
fSk7CiB9CiAKIHN0YXRpYyB2b2lkIGNoZWNrUmVsYXRpdmVVUkwoY29uc3QgU3RyaW5nJiB1cmxT
dHJpbmcsIGNvbnN0IFN0cmluZyYgYmFzZVVSTFN0cmluZywgY29uc3QgRXhwZWN0ZWRQYXJ0cyYg
cGFydHMpCkBAIC0yMDIsNiArMjM5LDcgQEAgc3RhdGljIHZvaWQgY2hlY2tSZWxhdGl2ZVVSTERp
ZmZlcmVuY2VzKAogICAgIEVYUEVDVF9GQUxTRShVUkxQYXJzZXI6OmFsbFZhbHVlc0VxdWFsKHVy
bCwgb2xkVVJMKSk7CiB9CiAKKy8vIFRoZXNlIGFyZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBu
ZXcgVVJMUGFyc2VyIGFuZCB0aGUgb2xkIFVSTDo6cGFyc2Ugd2hpY2ggbWFrZSBVUkxQYXJzZXIg
bW9yZSBzdGFuZGFyZHMgY29tcGxpYW50LgogVEVTVF9GKFVSTFBhcnNlclRlc3QsIFBhcnNlckRp
ZmZlcmVuY2VzKQogewogICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly8xMjcuMC4xIiwK
QEAgLTIyMiw2ICsyNjAsNDIgQEAgVEVTVF9GKFVSTFBhcnNlclRlc3QsIFBhcnNlckRpZmZlcmVu
Y2VzKQogICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly9bMDowOmY6MDowOmY6MDowXSIs
CiAgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgIls6OmY6MDowOmY6MDowXSIsIDAsICIvIiwgIiIs
ICIiLCAiaHR0cDovL1s6OmY6MDowOmY6MDowXS8ifSwKICAgICAgICAgeyJodHRwIiwgIiIsICIi
LCAiWzA6MDpmOjA6MDpmOjA6MF0iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly9bMDowOmY6MDow
OmY6MDowXS8ifSk7CisgICAgY2hlY2tVUkxEaWZmZXJlbmNlcygiaHR0cDovL2V4YW1wbGUuY29t
L3BhdGgxLy4lMmUiLAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAs
ICIvIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tLyJ9LAorICAgICAgICB7Imh0dHAiLCAi
IiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvLiUyZSIsICIiLCAiIiwgImh0dHA6Ly9l
eGFtcGxlLmNvbS9wYXRoMS8uJTJlIn0pOworICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6
Ly9leGFtcGxlLmNvbS9wYXRoMS8uJTJFIiwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhh
bXBsZS5jb20iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS8ifSwKKyAgICAg
ICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLy4lMkUiLCAiIiwg
IiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvLiUyRSJ9KTsKKyAgICBjaGVja1VSTERpZmZl
cmVuY2VzKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvLiUyRS8iLAorICAgICAgICB7Imh0dHAi
LCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUu
Y29tLyJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0
aDEvLiUyRS8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvLiUyRS8ifSk7Cisg
ICAgY2hlY2tVUkxEaWZmZXJlbmNlcygiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLyUyZS4iLAor
ICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvIiwgIiIsICIiLCAi
aHR0cDovL2V4YW1wbGUuY29tLyJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxl
LmNvbSIsIDAsICIvcGF0aDEvJTJlLiIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRo
MS8lMmUuIn0pOworICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly9leGFtcGxlLmNvbS9w
YXRoMS8lMkUlMmUiLAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAs
ICIvIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tLyJ9LAorICAgICAgICB7Imh0dHAiLCAi
IiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvJTJFJTJlIiwgIiIsICIiLCAiaHR0cDov
L2V4YW1wbGUuY29tL3BhdGgxLyUyRSUyZSJ9KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJo
dHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvJTJlIiwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAi
ZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9w
YXRoMS8ifSwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3Bh
dGgxLyUyZSIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8lMmUifSk7CisgICAg
Y2hlY2tVUkxEaWZmZXJlbmNlcygiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLyUyRSIsCisgICAg
ICAgIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8iLCAiIiwgIiIs
ICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvIn0sCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwg
ImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8lMkUiLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5j
b20vcGF0aDEvJTJFIn0pOworICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly9leGFtcGxl
LmNvbS9wYXRoMS8lMkUvIiwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20i
LCAwLCAiL3BhdGgxLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8ifSwKKyAg
ICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLyUyRS8iLCAi
IiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvJTJFLyJ9KTsKKyAgICBjaGVja1VSTERp
ZmZlcmVuY2VzKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvJTJlP3F1ZXJ5IiwKKyAg
ICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgyLyIs
ICJxdWVyeSIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLz9xdWVyeSJ9LAor
ICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvcGF0aDIv
JTJlIiwgInF1ZXJ5IiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvJTJlP3F1
ZXJ5In0pOworICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRo
MS9wYXRoMi8lMmUlMmU/cXVlcnkiLAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxl
LmNvbSIsIDAsICIvcGF0aDEvIiwgInF1ZXJ5IiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0
aDEvP3F1ZXJ5In0sCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwg
Ii9wYXRoMS9wYXRoMi8lMmUlMmUiLCAicXVlcnkiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9w
YXRoMS9wYXRoMi8lMmUlMmU/cXVlcnkifSk7CisgICAgY2hlY2tVUkxEaWZmZXJlbmNlcygiaHR0
cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLyUyZSNmcmFnbWVudCIsCisgICAgICAgIHsiaHR0
cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9wYXRoMi8iLCAiIiwgImZyYWdt
ZW50IiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8jZnJhZ21lbnQifSwKKyAgICAg
ICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgyLyUyZSIs
ICIiLCAiZnJhZ21lbnQiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLyUyZSNmcmFn
bWVudCJ9KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0
aDEvcGF0aDIvJTJlJTJlI2ZyYWdtZW50IiwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhh
bXBsZS5jb20iLCAwLCAiL3BhdGgxLyIsICIiLCAiZnJhZ21lbnQiLCAiaHR0cDovL2V4YW1wbGUu
Y29tL3BhdGgxLyNmcmFnbWVudCJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxl
LmNvbSIsIDAsICIvcGF0aDEvcGF0aDIvJTJlJTJlIiwgIiIsICJmcmFnbWVudCIsICJodHRwOi8v
ZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvJTJlJTJlI2ZyYWdtZW50In0pOwogCiAgICAgLy8gRklY
TUU6IFRoaXMgYmVoYXZpb3Igb3VnaHQgdG8gYmUgc3BlY2lmaWVkIGluIHRoZSBzdGFuZGFyZC4K
ICAgICAvLyBXaXRoIHRoZSBleGlzdGluZyBVUkw6OnBhcnNlLCBXZWJLaXQgcmV0dXJucyAiaHR0
cHM6LyIsIEZpcmVmb3ggcmV0dXJucyAiaHR0cHM6Ly8vIiwgYW5kIENocm9tZSB0aHJvd3MgYW4g
ZXJyb3IuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287657</attachid>
            <date>2016-09-01 12:47:20 -0700</date>
            <delta_ts>2016-09-01 13:25:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161443-20160901124504.patch</filename>
            <type>text/plain</type>
            <size>16794</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNTMwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA5LTAxICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVVJMUGFyc2Vy
IHNob3VsZCBoYW5kbGUgLiBhbmQgLi4gaW4gVVJMIHBhdGhzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE0NDMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IG5ldyBBUEkgdGVzdHMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9VUkxQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNT
aW5nbGVEb3RQYXRoU2VnbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppc0RvdWJsZURvdFBhdGhT
ZWdtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN1bWVTaW5nbGVEb3RQYXRoU2VnbWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1lRG91YmxlRG90UGF0aFNlZ21lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6VVJMUGFyc2VyOjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpVUkxQYXJz
ZXI6OmNvcHlVUkxQYXJ0c1VudGlsKTogRGVsZXRlZC4KKwogMjAxNi0wOS0wMSAgQWxleCBDaHJp
c3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBNYWMgQ01h
a2UgYnVpbGQgYWZ0ZXIgcjIwNTI2Ni4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VS
TFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJMUGFy
c2VyLmNwcAkocmV2aXNpb24gMjA1MjczKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJM
UGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDcgKzEyNywxMTEgQEAgdm9pZCBVUkxQ
YXJzZXI6OmNvcHlVUkxQYXJ0c1VudGlsKGNvbnN0IAogICAgICAgICBtX3VybC5tX3NjaGVtZUVu
ZCA9IGJhc2UubV9zY2hlbWVFbmQ7CiAgICAgfQogfQorCitzdGF0aWMgY29uc3QgY2hhciogZG90
QVNDSUlDb2RlID0gIjJlIjsKKworc3RhdGljIGJvb2wgaXNTaW5nbGVEb3RQYXRoU2VnbWVudChT
dHJpbmdWaWV3OjpDb2RlUG9pbnRzOjpJdGVyYXRvciBjLCBjb25zdCBTdHJpbmdWaWV3OjpDb2Rl
UG9pbnRzOjpJdGVyYXRvciYgZW5kKQoreworICAgIGlmIChjID09IGVuZCkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIGlmICgqYyA9PSAnLicpIHsKKyAgICAgICAgKytjOworICAgICAgICBy
ZXR1cm4gYyA9PSBlbmQgfHwgKmMgPT0gJy8nIHx8ICpjID09ICdcXCcgfHwgKmMgPT0gJz8nIHx8
ICpjID09ICcjJzsKKyAgICB9CisgICAgaWYgKCpjICE9ICclJykKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICsrYzsKKyAgICBpZiAoYyA9PSBlbmQgfHwgKmMgIT0gZG90QVNDSUlDb2RlWzBd
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgKytjOworICAgIGlmIChjID09IGVuZCkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICh0b0FTQ0lJTG93ZXIoKmMpID09IGRvdEFTQ0lJ
Q29kZVsxXSkgeworICAgICAgICArK2M7CisgICAgICAgIHJldHVybiBjID09IGVuZCB8fCAqYyA9
PSAnLycgfHwgKmMgPT0gJ1xcJyB8fCAqYyA9PSAnPycgfHwgKmMgPT0gJyMnOworICAgIH0KKyAg
ICByZXR1cm4gZmFsc2U7Cit9CiAgICAgCitzdGF0aWMgYm9vbCBpc0RvdWJsZURvdFBhdGhTZWdt
ZW50KFN0cmluZ1ZpZXc6OkNvZGVQb2ludHM6Okl0ZXJhdG9yIGMsIGNvbnN0IFN0cmluZ1ZpZXc6
OkNvZGVQb2ludHM6Okl0ZXJhdG9yJiBlbmQpCit7CisgICAgaWYgKGMgPT0gZW5kKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCpjID09ICcuJykgeworICAgICAgICArK2M7CisgICAg
ICAgIHJldHVybiBpc1NpbmdsZURvdFBhdGhTZWdtZW50KGMsIGVuZCk7CisgICAgfQorICAgIGlm
ICgqYyAhPSAnJScpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICArK2M7CisgICAgaWYgKGMg
PT0gZW5kIHx8ICpjICE9IGRvdEFTQ0lJQ29kZVswXSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICsrYzsKKyAgICBpZiAoYyA9PSBlbmQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBp
ZiAodG9BU0NJSUxvd2VyKCpjKSA9PSBkb3RBU0NJSUNvZGVbMV0pIHsKKyAgICAgICAgKytjOwor
ICAgICAgICByZXR1cm4gaXNTaW5nbGVEb3RQYXRoU2VnbWVudChjLCBlbmQpOworICAgIH0KKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyB2b2lkIGNvbnN1bWVTaW5nbGVEb3RQYXRoU2Vn
bWVudChTdHJpbmdWaWV3OjpDb2RlUG9pbnRzOjpJdGVyYXRvciYgYywgY29uc3QgU3RyaW5nVmll
dzo6Q29kZVBvaW50czo6SXRlcmF0b3IgZW5kKQoreworICAgIEFTU0VSVChpc1NpbmdsZURvdFBh
dGhTZWdtZW50KGMsIGVuZCkpOworICAgIGlmICgqYyA9PSAnLicpIHsKKyAgICAgICAgKytjOwor
ICAgICAgICBpZiAoYyAhPSBlbmQpIHsKKyAgICAgICAgICAgIGlmICgqYyA9PSAnLycgfHwgKmMg
PT0gJ1xcJykKKyAgICAgICAgICAgICAgICArK2M7CisgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICAgICAgQVNTRVJUKCpjID09ICc/JyB8fCAqYyA9PSAnIycpOworICAgICAgICB9CisgICAg
fSBlbHNlIHsKKyAgICAgICAgQVNTRVJUKCpjID09ICclJyk7CisgICAgICAgICsrYzsKKyAgICAg
ICAgQVNTRVJUKCpjID09IGRvdEFTQ0lJQ29kZVswXSk7CisgICAgICAgICsrYzsKKyAgICAgICAg
QVNTRVJUKHRvQVNDSUlMb3dlcigqYykgPT0gZG90QVNDSUlDb2RlWzFdKTsKKyAgICAgICAgKytj
OworICAgICAgICBpZiAoYyAhPSBlbmQpIHsKKyAgICAgICAgICAgIGlmICgqYyA9PSAnLycgfHwg
KmMgPT0gJ1xcJykKKyAgICAgICAgICAgICAgICArK2M7CisgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgQVNTRVJUKCpjID09ICc/JyB8fCAqYyA9PSAnIycpOworICAgICAgICB9Cisg
ICAgfQorfQorCitzdGF0aWMgdm9pZCBjb25zdW1lRG91YmxlRG90UGF0aFNlZ21lbnQoU3RyaW5n
Vmlldzo6Q29kZVBvaW50czo6SXRlcmF0b3ImIGMsIGNvbnN0IFN0cmluZ1ZpZXc6OkNvZGVQb2lu
dHM6Okl0ZXJhdG9yIGVuZCkKK3sKKyAgICBBU1NFUlQoaXNEb3VibGVEb3RQYXRoU2VnbWVudChj
LCBlbmQpKTsKKyAgICBpZiAoKmMgPT0gJy4nKQorICAgICAgICArK2M7CisgICAgZWxzZSB7Cisg
ICAgICAgIEFTU0VSVCgqYyA9PSAnJScpOworICAgICAgICArK2M7CisgICAgICAgIEFTU0VSVCgq
YyA9PSBkb3RBU0NJSUNvZGVbMF0pOworICAgICAgICArK2M7CisgICAgICAgIEFTU0VSVCh0b0FT
Q0lJTG93ZXIoKmMpID09IGRvdEFTQ0lJQ29kZVsxXSk7CisgICAgICAgICsrYzsKKyAgICB9Cisg
ICAgY29uc3VtZVNpbmdsZURvdFBhdGhTZWdtZW50KGMsIGVuZCk7Cit9CisKK3ZvaWQgVVJMUGFy
c2VyOjpwb3BQYXRoKCkKK3sKKyAgICBpZiAobV91cmwubV9wYXRoQWZ0ZXJMYXN0U2xhc2ggPiBt
X3VybC5tX3BvcnRFbmQgKyAxKSB7CisgICAgICAgIG1fdXJsLm1fcGF0aEFmdGVyTGFzdFNsYXNo
LS07CisgICAgICAgIGlmIChtX2J1ZmZlclttX3VybC5tX3BhdGhBZnRlckxhc3RTbGFzaF0gPT0g
Jy8nKQorICAgICAgICAgICAgbV91cmwubV9wYXRoQWZ0ZXJMYXN0U2xhc2gtLTsKKyAgICAgICAg
d2hpbGUgKG1fdXJsLm1fcGF0aEFmdGVyTGFzdFNsYXNoID4gbV91cmwubV9wb3J0RW5kICYmIG1f
YnVmZmVyW21fdXJsLm1fcGF0aEFmdGVyTGFzdFNsYXNoXSAhPSAnLycpCisgICAgICAgICAgICBt
X3VybC5tX3BhdGhBZnRlckxhc3RTbGFzaC0tOworICAgICAgICBtX3VybC5tX3BhdGhBZnRlckxh
c3RTbGFzaCsrOworICAgIH0KKyAgICBtX2J1ZmZlci5yZXNpemUobV91cmwubV9wYXRoQWZ0ZXJM
YXN0U2xhc2gpOworfQorCiBVUkwgVVJMUGFyc2VyOjpwYXJzZShjb25zdCBTdHJpbmcmIGlucHV0
LCBjb25zdCBVUkwmIGJhc2UsIGNvbnN0IFRleHRFbmNvZGluZyYpCiB7CiAgICAgTE9HKFVSTFBh
cnNlciwgIlBhcnNpbmcgVVJMIDwlcz4gYmFzZSA8JXM+IiwgaW5wdXQudXRmOCgpLmRhdGEoKSwg
YmFzZS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKQEAgLTM4NSwyNiArNDg5LDI3IEBAIFVSTCBV
UkxQYXJzZXI6OnBhcnNlKGNvbnN0IFN0cmluZyYgaW5wdXQKICAgICAgICAgICAgICAgICBtX2J1
ZmZlci5hcHBlbmQoJy8nKTsKICAgICAgICAgICAgICAgICBtX3VybC5tX3BhdGhBZnRlckxhc3RT
bGFzaCA9IG1fYnVmZmVyLmxlbmd0aCgpOwogICAgICAgICAgICAgICAgICsrYzsKLSAgICAgICAg
ICAgICAgICB3aGlsZSAoYyAhPSBlbmQgJiYgaXNUYWJPck5ld2xpbmUoKmMpKQotICAgICAgICAg
ICAgICAgICAgICArK2M7Ci0gICAgICAgICAgICAgICAgaWYgKGMgPT0gZW5kKQorICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKG1fYnVmZmVyLmxl
bmd0aCgpICYmIG1fYnVmZmVyW21fYnVmZmVyLmxlbmd0aCgpIC0gMV0gPT0gJy8nKSB7CisgICAg
ICAgICAgICAgICAgaWYgKGlzRG91YmxlRG90UGF0aFNlZ21lbnQoYywgZW5kKSkgeworICAgICAg
ICAgICAgICAgICAgICBjb25zdW1lRG91YmxlRG90UGF0aFNlZ21lbnQoYywgZW5kKTsKKyAgICAg
ICAgICAgICAgICAgICAgcG9wUGF0aCgpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKG1fYnVmZmVyW21fYnVmZmVyLmxl
bmd0aCgpIC0gMV0gPT0gJy8nICYmIGlzU2luZ2xlRG90UGF0aFNlZ21lbnQoYywgZW5kKSkgewor
ICAgICAgICAgICAgICAgICAgICBjb25zdW1lU2luZ2xlRG90UGF0aFNlZ21lbnQoYywgZW5kKTsK
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgaWYgKCpjID09ICcu
JykgewotICAgICAgICAgICAgICAgICAgICArK2M7Ci0gICAgICAgICAgICAgICAgICAgIHdoaWxl
IChjICE9IGVuZCAmJiBpc1RhYk9yTmV3bGluZSgqYykpCi0gICAgICAgICAgICAgICAgICAgICAg
ICArK2M7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChjID09IGVuZCkKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiB7IH07Ci0gICAgICAgICAgICAgICAgICAgIGlmICgqYyA9PSAnLicp
Ci0gICAgICAgICAgICAgICAgICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgICAgICAgICAg
ICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IH0gZWxzZSBpZiAoKmMgPT0gJz8nKSB7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAo
KmMgPT0gJz8nKSB7CiAgICAgICAgICAgICAgICAgbV91cmwubV9wYXRoRW5kID0gbV9idWZmZXIu
bGVuZ3RoKCk7CiAgICAgICAgICAgICAgICAgc3RhdGUgPSBTdGF0ZTo6UXVlcnk7CiAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKCpjID09ICcjJykgeworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCpjID09ICcjJykgewogICAgICAgICAgICAgICAg
IG1fdXJsLm1fcGF0aEVuZCA9IG1fYnVmZmVyLmxlbmd0aCgpOworICAgICAgICAgICAgICAgIG1f
dXJsLm1fcXVlcnlFbmQgPSBtX3VybC5tX3BhdGhFbmQ7CiAgICAgICAgICAgICAgICAgc3RhdGUg
PSBTdGF0ZTo6RnJhZ21lbnQ7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkxQYXJzZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkxQYXJzZXIuaAkocmV2aXNpb24gMjA1MjY5KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJMUGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ5LDYgKzQ5LDcgQEAgcHJpdmF0ZToKICAgICBlbnVtIGNsYXNzIFVSTFBhcnQ7CiAgICAgdm9p
ZCBjb3B5VVJMUGFydHNVbnRpbChjb25zdCBVUkwmIGJhc2UsIFVSTFBhcnQpOwogICAgIHN0YXRp
YyBzaXplX3QgdXJsTGVuZ3RoVW50aWxQYXJ0KGNvbnN0IFVSTCYsIFVSTFBhcnQpOworICAgIHZv
aWQgcG9wUGF0aCgpOwogfTsKIAogfQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjA1MjczKQorKysgVG9vbHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMDktMDEgIEFsZXggQ2hyaXN0
ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVUkxQYXJzZXIgc2hv
dWxkIGhhbmRsZSAuIGFuZCAuLiBpbiBVUkwgcGF0aHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTQ0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1VS
TFBhcnNlci5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjplcSk6CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUX0YpOgorCiAyMDE2LTA4LTMxICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IElQdjYgcGFyc2luZyBp
biBVUkxQYXJzZXIKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9VUkxQ
YXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29y
ZS9VUkxQYXJzZXIuY3BwCShyZXZpc2lvbiAyMDUyNzMpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYkNvcmUvVVJMUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAyLDYgKzEw
Miw0MyBAQCBURVNUX0YoVVJMUGFyc2VyVGVzdCwgUGFyc2UpCiAgICAgY2hlY2tVUkwoImh0dHA6
Ly9bMDpmOjpmOmY6MDowXSIsIHsiaHR0cCIsICIiLCAiIiwgIlswOmY6OmY6ZjowOjBdIiwgMCwg
Ii8iLCAiIiwgIiIsICJodHRwOi8vWzA6Zjo6ZjpmOjA6MF0vIn0pOwogICAgIGNoZWNrVVJMKCJo
dHRwOi8vWzA6ZjowOjA6Zjo6XSIsIHsiaHR0cCIsICIiLCAiIiwgIlswOmY6MDowOmY6Ol0iLCAw
LCAiLyIsICIiLCAiIiwgImh0dHA6Ly9bMDpmOjA6MDpmOjpdLyJ9KTsKICAgICBjaGVja1VSTCgi
aHR0cDovL1s6OmY6MDowOmY6MDowXSIsIHsiaHR0cCIsICIiLCAiIiwgIls6OmY6MDowOmY6MDow
XSIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovL1s6OmY6MDowOmY6MDowXS8ifSk7CisgICAgY2hl
Y2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8uIiwgeyJodHRwIiwgIiIsICIi
LCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgyLyIsICIiLCAiIiwgImh0dHA6Ly9leGFt
cGxlLmNvbS9wYXRoMS9wYXRoMi8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNv
bS9wYXRoMS9wYXRoMi8uLiIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9w
YXRoMS8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvIn0pOworICAgIGNoZWNr
VVJMKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvLi9wYXRoMyIsIHsiaHR0cCIsICIi
LCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9wYXRoMi9wYXRoMyIsICIiLCAiIiwgImh0
dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi9wYXRoMyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0
cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLy5cXHBhdGgzIiwgeyJodHRwIiwgIiIsICIiLCAi
ZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgyL3BhdGgzIiwgIiIsICIiLCAiaHR0cDovL2V4
YW1wbGUuY29tL3BhdGgxL3BhdGgyL3BhdGgzIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhh
bXBsZS5jb20vcGF0aDEvcGF0aDIvLi4vcGF0aDMiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxl
LmNvbSIsIDAsICIvcGF0aDEvcGF0aDMiLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0
aDEvcGF0aDMifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRo
Mi8uLlxccGF0aDMiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEv
cGF0aDMiLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDMifSk7CisgICAg
Y2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8uIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBs
ZS5jb20iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS8ifSk7CisgICAgY2hl
Y2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8uLiIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUu
Y29tIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vIn0pOworICAgIGNoZWNr
VVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLi9wYXRoMSIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1w
bGUuY29tIiwgMCwgIi9wYXRoMSIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMSJ9
KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tLy4uL3BhdGgxIiwgeyJodHRwIiwg
IiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxIiwgIiIsICIiLCAiaHR0cDovL2V4YW1w
bGUuY29tL3BhdGgxIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vLi4vcGF0
aDEvLi4vLi4vcGF0aDIvcGF0aDMvLi4vcGF0aDQiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxl
LmNvbSIsIDAsICIvcGF0aDIvcGF0aDQiLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0
aDIvcGF0aDQifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8uJTIi
LCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvLiUyIiwgIiIsICIi
LCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4lMiJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDov
L2V4YW1wbGUuY29tL3BhdGgxLyUyIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAw
LCAiL3BhdGgxLyUyIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLyUyIn0pOwor
ICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvJSIsIHsiaHR0cCIsICIiLCAi
IiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8lIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUu
Y29tL3BhdGgxLyUifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8u
JSIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8uJSIsICIiLCAi
IiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8uJSJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDov
L2V4YW1wbGUuY29tLy8uIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiLy8i
LCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vLyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDov
L2V4YW1wbGUuY29tLy8uLyIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8v
IiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tLy8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6
Ly9leGFtcGxlLmNvbS8vLi8vIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAi
Ly8vIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tLy8vIn0pOworICAgIGNoZWNrVVJMKCJo
dHRwOi8vZXhhbXBsZS5jb20vLy4uIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAw
LCAiLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS8ifSk7CisgICAgY2hlY2tVUkwoImh0
dHA6Ly9leGFtcGxlLmNvbS8vLi4vIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAw
LCAiLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS8ifSk7CisgICAgY2hlY2tVUkwoImh0
dHA6Ly9leGFtcGxlLmNvbS8vLi4vLyIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwg
MCwgIi8vIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tLy8ifSk7CisgICAgY2hlY2tVUkwo
Imh0dHA6Ly9leGFtcGxlLmNvbS8vLi4iLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIs
IDAsICIvIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tLyJ9KTsKKyAgICBjaGVja1VSTCgi
aHR0cDovL2V4YW1wbGUuY29tLy4vLyIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwg
MCwgIi8vIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tLy8ifSk7CisgICAgY2hlY2tVUkwo
Imh0dHA6Ly9leGFtcGxlLmNvbS8uLi8vIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20i
LCAwLCAiLy8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vLyJ9KTsKKyAgICBjaGVja1VS
TCgiaHR0cDovL2V4YW1wbGUuY29tLy4vIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20i
LCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS8ifSk7CisgICAgY2hlY2tVUkwo
Imh0dHA6Ly9leGFtcGxlLmNvbS8uLi8iLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIs
IDAsICIvIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tLyJ9KTsKKyAgICBjaGVja1VSTCgi
aHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4uLi9wYXRoMyIsIHsiaHR0cCIsICIiLCAiIiwgImV4
YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8uLi4vcGF0aDMiLCAiIiwgIiIsICJodHRwOi8vZXhhbXBs
ZS5jb20vcGF0aDEvLi4uL3BhdGgzIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5j
b20vcGF0aDEvLi4uIiwgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgx
Ly4uLiIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8uLi4ifSk7CisgICAgY2hl
Y2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8uLi4vIiwgeyJodHRwIiwgIiIsICIiLCAi
ZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLy4uLi8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5j
b20vcGF0aDEvLi4uLyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1wbGUuY29tLy5wYXRo
MS8iLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvLnBhdGgxLyIsICIiLCAi
IiwgImh0dHA6Ly9leGFtcGxlLmNvbS8ucGF0aDEvIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8v
ZXhhbXBsZS5jb20vLi5wYXRoMS8iLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAs
ICIvLi5wYXRoMS8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vLi5wYXRoMS8ifSk7Cisg
ICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8ucGF0aDIiLCB7Imh0dHAiLCAi
IiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvLnBhdGgyIiwgIiIsICIiLCAiaHR0cDov
L2V4YW1wbGUuY29tL3BhdGgxLy5wYXRoMiJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovL2V4YW1w
bGUuY29tL3BhdGgxLy4ucGF0aDIiLCB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAs
ICIvcGF0aDEvLi5wYXRoMiIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8uLnBh
dGgyIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIvLj9x
dWVyeSIsIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9wYXRoMi8i
LCAicXVlcnkiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8/cXVlcnkifSk7
CisgICAgY2hlY2tVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8uLj9xdWVyeSIs
IHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8iLCAicXVlcnkiLCAi
IiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8/cXVlcnkifSk7CisgICAgY2hlY2tVUkwoImh0
dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8uI2ZyYWdtZW50IiwgeyJodHRwIiwgIiIsICIi
LCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgyLyIsICIiLCAiZnJhZ21lbnQiLCAiaHR0
cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLyNmcmFnbWVudCJ9KTsKKyAgICBjaGVja1VSTCgi
aHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLy4uI2ZyYWdtZW50IiwgeyJodHRwIiwgIiIs
ICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLyIsICIiLCAiZnJhZ21lbnQiLCAiaHR0cDov
L2V4YW1wbGUuY29tL3BhdGgxLyNmcmFnbWVudCJ9KTsKIH0KIAogc3RhdGljIHZvaWQgY2hlY2tS
ZWxhdGl2ZVVSTChjb25zdCBTdHJpbmcmIHVybFN0cmluZywgY29uc3QgU3RyaW5nJiBiYXNlVVJM
U3RyaW5nLCBjb25zdCBFeHBlY3RlZFBhcnRzJiBwYXJ0cykKQEAgLTIwMiw2ICsyMzksNyBAQCBz
dGF0aWMgdm9pZCBjaGVja1JlbGF0aXZlVVJMRGlmZmVyZW5jZXMoCiAgICAgRVhQRUNUX0ZBTFNF
KFVSTFBhcnNlcjo6YWxsVmFsdWVzRXF1YWwodXJsLCBvbGRVUkwpKTsKIH0KIAorLy8gVGhlc2Ug
YXJlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIG5ldyBVUkxQYXJzZXIgYW5kIHRoZSBvbGQgVVJM
OjpwYXJzZSB3aGljaCBtYWtlIFVSTFBhcnNlciBtb3JlIHN0YW5kYXJkcyBjb21wbGlhbnQuCiBU
RVNUX0YoVVJMUGFyc2VyVGVzdCwgUGFyc2VyRGlmZmVyZW5jZXMpCiB7CiAgICAgY2hlY2tVUkxE
aWZmZXJlbmNlcygiaHR0cDovLzEyNy4wLjEiLApAQCAtMjIyLDYgKzI2MCw0MiBAQCBURVNUX0Yo
VVJMUGFyc2VyVGVzdCwgUGFyc2VyRGlmZmVyZW5jZXMpCiAgICAgY2hlY2tVUkxEaWZmZXJlbmNl
cygiaHR0cDovL1swOjA6ZjowOjA6ZjowOjBdIiwKICAgICAgICAgeyJodHRwIiwgIiIsICIiLCAi
Wzo6ZjowOjA6ZjowOjBdIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vWzo6ZjowOjA6ZjowOjBd
LyJ9LAogICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJbMDowOmY6MDowOmY6MDowXSIsIDAsICIv
IiwgIiIsICIiLCAiaHR0cDovL1swOjA6ZjowOjA6ZjowOjBdLyJ9KTsKKyAgICBjaGVja1VSTERp
ZmZlcmVuY2VzKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvLiUyZSIsCisgICAgICAgIHsiaHR0
cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBs
ZS5jb20vIn0sCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9w
YXRoMS8uJTJlIiwgIiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4lMmUifSk7Cisg
ICAgY2hlY2tVUkxEaWZmZXJlbmNlcygiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLy4lMkUiLAor
ICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvIiwgIiIsICIiLCAi
aHR0cDovL2V4YW1wbGUuY29tLyJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxl
LmNvbSIsIDAsICIvcGF0aDEvLiUyRSIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRo
MS8uJTJFIn0pOworICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly9leGFtcGxlLmNvbS9w
YXRoMS8uJTJFLyIsCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwg
Ii8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vIn0sCisgICAgICAgIHsiaHR0cCIsICIi
LCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8uJTJFLyIsICIiLCAiIiwgImh0dHA6Ly9l
eGFtcGxlLmNvbS9wYXRoMS8uJTJFLyJ9KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRw
Oi8vZXhhbXBsZS5jb20vcGF0aDEvJTJlLiIsCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgImV4
YW1wbGUuY29tIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vIn0sCisgICAg
ICAgIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8lMmUuIiwgIiIs
ICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLyUyZS4ifSk7CisgICAgY2hlY2tVUkxEaWZm
ZXJlbmNlcygiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLyUyRSUyZSIsCisgICAgICAgIHsiaHR0
cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vZXhhbXBs
ZS5jb20vIn0sCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9w
YXRoMS8lMkUlMmUiLCAiIiwgIiIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvJTJFJTJlIn0p
OworICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8lMmUi
LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvIiwg
IiIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLyJ9LAorICAgICAgICB7Imh0dHAiLCAi
IiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvJTJlIiwgIiIsICIiLCAiaHR0cDovL2V4
YW1wbGUuY29tL3BhdGgxLyUyZSJ9KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRwOi8v
ZXhhbXBsZS5jb20vcGF0aDEvJTJFIiwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBs
ZS5jb20iLCAwLCAiL3BhdGgxLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8i
fSwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxLyUy
RSIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8lMkUifSk7CisgICAgY2hlY2tV
UkxEaWZmZXJlbmNlcygiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxLyUyRS8iLAorICAgICAgICB7
Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvIiwgIiIsICIiLCAiaHR0
cDovL2V4YW1wbGUuY29tL3BhdGgxLyJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFt
cGxlLmNvbSIsIDAsICIvcGF0aDEvJTJFLyIsICIiLCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9w
YXRoMS8lMkUvIn0pOworICAgIGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly9leGFtcGxlLmNv
bS9wYXRoMS9wYXRoMi8lMmU/cXVlcnkiLAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFt
cGxlLmNvbSIsIDAsICIvcGF0aDEvcGF0aDIvIiwgInF1ZXJ5IiwgIiIsICJodHRwOi8vZXhhbXBs
ZS5jb20vcGF0aDEvcGF0aDIvP3F1ZXJ5In0sCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgImV4
YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9wYXRoMi8lMmUiLCAicXVlcnkiLCAiIiwgImh0dHA6Ly9l
eGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8lMmU/cXVlcnkifSk7CisgICAgY2hlY2tVUkxEaWZmZXJl
bmNlcygiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLyUyZSUyZT9xdWVyeSIsCisgICAg
ICAgIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS8iLCAicXVlcnki
LCAiIiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS8/cXVlcnkifSwKKyAgICAgICAgeyJodHRw
IiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgxL3BhdGgyLyUyZSUyZSIsICJxdWVy
eSIsICIiLCAiaHR0cDovL2V4YW1wbGUuY29tL3BhdGgxL3BhdGgyLyUyZSUyZT9xdWVyeSJ9KTsK
KyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvcGF0aDIv
JTJlI2ZyYWdtZW50IiwKKyAgICAgICAgeyJodHRwIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAw
LCAiL3BhdGgxL3BhdGgyLyIsICIiLCAiZnJhZ21lbnQiLCAiaHR0cDovL2V4YW1wbGUuY29tL3Bh
dGgxL3BhdGgyLyNmcmFnbWVudCJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxl
LmNvbSIsIDAsICIvcGF0aDEvcGF0aDIvJTJlIiwgIiIsICJmcmFnbWVudCIsICJodHRwOi8vZXhh
bXBsZS5jb20vcGF0aDEvcGF0aDIvJTJlI2ZyYWdtZW50In0pOworICAgIGNoZWNrVVJMRGlmZmVy
ZW5jZXMoImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8lMmUlMmUjZnJhZ21lbnQiLAor
ICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aDEvIiwgIiIs
ICJmcmFnbWVudCIsICJodHRwOi8vZXhhbXBsZS5jb20vcGF0aDEvI2ZyYWdtZW50In0sCisgICAg
ICAgIHsiaHR0cCIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoMS9wYXRoMi8lMmUl
MmUiLCAiIiwgImZyYWdtZW50IiwgImh0dHA6Ly9leGFtcGxlLmNvbS9wYXRoMS9wYXRoMi8lMmUl
MmUjZnJhZ21lbnQifSk7CiAKICAgICAvLyBGSVhNRTogVGhpcyBiZWhhdmlvciBvdWdodCB0byBi
ZSBzcGVjaWZpZWQgaW4gdGhlIHN0YW5kYXJkLgogICAgIC8vIFdpdGggdGhlIGV4aXN0aW5nIFVS
TDo6cGFyc2UsIFdlYktpdCByZXR1cm5zICJodHRwczovIiwgRmlyZWZveCByZXR1cm5zICJodHRw
czovLy8iLCBhbmQgQ2hyb21lIHRocm93cyBhbiBlcnJvci4K
</data>
<flag name="review"
          id="311099"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>