<?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>178174</bug_id>
          
          <creation_ts>2017-10-11 11:24:28 -0700</creation_ts>
          <short_desc>Add support in named capture group identifiers for direct surrogate pairs</short_desc>
          <delta_ts>2020-03-30 18:27:18 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=178175</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>176435</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>ashvayka</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mathias</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1359266</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-10-11 11:24:28 -0700</bug_when>
    <thetext>Currently, a named capture group can have a backslash escaped RegExpUnicodeEscapeSequence (e.g. \{12345}).  It also looks like it should take approriate unicode characters directly, including those made up of surrogate pairs.

Failing Test262 -
JSTests/test262/test/built-ins/RegExp/named-groups/unicode-property-names.js
Exception: SyntaxError: Invalid regular expression: invalid group specifier name
at JSTests/test262/test/built-ins/RegExp/named-groups/unicode-property-names.js:16
￼
This test is a UTF-8 source file with embedded non-BMP Unicode characters as both named group identifiers and property names.  I made a JS source file with a couple of the Unicode properties from the original test file, and the jsc command throws 
    SyntaxError: Invalid character &apos;\ud801&apos;
See attached test source file.

I think we need the jsc command to handle UTF-8 source files before we can fix this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359269</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-10-11 11:25:09 -0700</bug_when>
    <thetext>&lt;rdar://problem/34843961&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632871</commentid>
    <comment_count>2</comment_count>
      <attachid>394267</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-03-23 09:33:09 -0700</bug_when>
    <thetext>Created attachment 394267
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634721</commentid>
    <comment_count>3</comment_count>
      <attachid>394700</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-03-26 20:28:24 -0700</bug_when>
    <thetext>Created attachment 394700
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634722</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-03-26 20:41:35 -0700</bug_when>
    <thetext>While this patch is functionally the same, I&apos;ve:

a) Moved isIdentityEscapeAnError() out of tryConsumeUnicodeEscape() as RegExpUnicodeEscapeSequence [1] does not contain IdentityEscape [2] production.
b) Tweaked error messages to report invalid \u escapes instead of identity escapes (which are Annex B), matching other error messages in other engines.
c) Added a few error messages tests.

I am kindly asking for re-review. Thank you.

[1]: https://tc39.es/ecma262/#prod-RegExpUnicodeEscapeSequence
[2]: https://tc39.es/ecma262/#prod-IdentityEscape</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634841</commentid>
    <comment_count>5</comment_count>
      <attachid>394700</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-27 09:59:59 -0700</bug_when>
    <thetext>Comment on attachment 394700
Patch

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

This looks fine to me. Michael may also want to review. The key is really test coverage including performance test results, not necessarily exactly how we write the code

&gt; Source/JavaScriptCore/yarr/YarrParser.h:493
&gt; +            int escapeChar = tryConsumeUnicodeEscape();

Normally we don’t use abbreviations like &quot;char&quot; in WebKit code, preferring words like &quot;character&quot;. So this local variable would be either named &quot;escape&quot; or &quot;escapeCharacter&quot; or &quot;escaped&quot; or &quot;escapedCharacter&quot; or &quot;codePoint&quot;.

&gt; Source/JavaScriptCore/yarr/YarrParser.h:-1044
&gt; -        if (u == -1)
&gt; -            return -1;

What’s the rationale for removing this? I don’t think it’s great to rely on what U16_IS_LEAD will return when passed something that is not a 16-bit code unit. So I would have left it in.

&gt; Source/JavaScriptCore/yarr/YarrParser.h:1031
&gt; +            int escapeChar = tryConsumeUnicodeEscape();

Same comment about variable naming here. Names like &quot;ch&quot; and &quot;u&quot; are definitely frowned upon in our general coding style, but in a way &quot;escapeChar&quot; is half-way there. Our underlying concept is that people are better at reading words than abbreviations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634843</commentid>
    <comment_count>6</comment_count>
      <attachid>394700</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-27 10:02:30 -0700</bug_when>
    <thetext>Comment on attachment 394700
Patch

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

&gt;&gt; Source/JavaScriptCore/yarr/YarrParser.h:-1044
&gt;&gt; -            return -1;
&gt; 
&gt; What’s the rationale for removing this? I don’t think it’s great to rely on what U16_IS_LEAD will return when passed something that is not a 16-bit code unit. So I would have left it in.

Or we could remove the code, but add this:

    // &lt;... some amazing comment explaining why this assertion is relevant ...&gt;
    static_assert(!U16_IS_LEAD(-1));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634968</commentid>
    <comment_count>7</comment_count>
      <attachid>394700</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2020-03-27 13:14:24 -0700</bug_when>
    <thetext>Comment on attachment 394700
Patch

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

&gt;&gt; Source/JavaScriptCore/yarr/YarrParser.h:493
&gt;&gt; +            int escapeChar = tryConsumeUnicodeEscape();
&gt; 
&gt; Normally we don’t use abbreviations like &quot;char&quot; in WebKit code, preferring words like &quot;character&quot;. So this local variable would be either named &quot;escape&quot; or &quot;escapeCharacter&quot; or &quot;escaped&quot; or &quot;escapedCharacter&quot; or &quot;codePoint&quot;.

I would prefer codePoint as that is what a Unicode escape represents.

&gt; Source/JavaScriptCore/yarr/YarrParser.h:999
&gt; +            ASSERT(!hasError(m_errorCode));

Isn&apos;t this a redundant ASSERT() given that we have the same assert at the beginning of the function and everywhere we set m_errorCode here we return?

&gt; Source/JavaScriptCore/yarr/YarrParser.h:1032
&gt; +            if (escapeChar == -1 &amp;&amp; !hasError(m_errorCode))

Seems a little odd that we are using different combinations of a -1 return value from tryConsumeUnicodeEscape() and m_errorCode to signal an error depending on the call site.  Maybe you could make tryConsumeUnicodeEscape() a templatized function with the template parameter changing in what cases tryConsumeUnicodeEscape()  sets m_errorCode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635056</commentid>
    <comment_count>8</comment_count>
      <attachid>394770</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-03-27 16:52:52 -0700</bug_when>
    <thetext>Created attachment 394770
Patch

Set reviewers, rename vars, bring back -1 check, drop redundant ASSERT, make tryConsumeUnicodeEscape() a template&lt;&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635064</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-03-27 17:16:54 -0700</bug_when>
    <thetext>(In reply to Michael Saboff from comment #7)
&gt; Seems a little odd that we are using different combinations of a -1 return
&gt; value from tryConsumeUnicodeEscape() and m_errorCode to signal an error
&gt; depending on the call site.  Maybe you could make tryConsumeUnicodeEscape()
&gt; a templatized function with the template parameter changing in what cases
&gt; tryConsumeUnicodeEscape()  sets m_errorCode.

This is great improvement, thank you. If it is not too much to ask, I would appreciate your feedback on https://bugs.webkit.org/show_bug.cgi?id=178175.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635557</commentid>
    <comment_count>10</comment_count>
      <attachid>394770</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2020-03-30 10:02:37 -0700</bug_when>
    <thetext>Comment on attachment 394770
Patch

r-me

This looks great.  The only change I recommend is changing the template parameter for tryConsumeUnicodeEscape() from a boolean to an enum.  That way the template parameter at the call site describes the behavior.  Just a suggestion, but use enum values something like AsCodePoint and AsIdentifierCharacter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635566</commentid>
    <comment_count>11</comment_count>
      <attachid>394770</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2020-03-30 10:16:11 -0700</bug_when>
    <thetext>Comment on attachment 394770
Patch

That is &quot;r=me&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635577</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2020-03-30 10:30:09 -0700</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #9)
&gt; (In reply to Michael Saboff from comment #7)

&gt; ... If it is not too much to ask, I would
&gt; appreciate your feedback on https://bugs.webkit.org/show_bug.cgi?id=178175.

I looked at it earlier and didn&apos;t have any comments to add.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635873</commentid>
    <comment_count>13</comment_count>
      <attachid>394992</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-03-30 17:31:19 -0700</bug_when>
    <thetext>Created attachment 394992
Patch

Introduce UnicodeEscapeContext.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635877</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-03-30 17:41:31 -0700</bug_when>
    <thetext>(In reply to Michael Saboff from comment #10)
&gt; This looks great.  The only change I recommend is changing the template
&gt; parameter for tryConsumeUnicodeEscape() from a boolean to an enum.  That way
&gt; the template parameter at the call site describes the behavior.  Just a
&gt; suggestion, but use enum values something like AsCodePoint and
&gt; AsIdentifierCharacter.

I went with UnicodeEscapeContext::{CharacterEscape,IdentifierName} because:
a) As* usually points to a return type, while what we are passing to template&lt;&gt; is merely a parsing parameter that is used only in non-Unicode patterns;
b) it was quite hard to pick a name that matched with As*, while UnicodeEscapeContext was a good fit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635893</commentid>
    <comment_count>15</comment_count>
      <attachid>394992</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2020-03-30 18:12:16 -0700</bug_when>
    <thetext>Comment on attachment 394992
Patch

r=me.

I like it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635896</commentid>
    <comment_count>16</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-30 18:27:17 -0700</bug_when>
    <thetext>Committed r259262: &lt;https://trac.webkit.org/changeset/259262&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 394992.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394267</attachid>
            <date>2020-03-23 09:33:09 -0700</date>
            <delta_ts>2020-03-26 20:28:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178174-20200323183308.patch</filename>
            <type>text/plain</type>
            <size>8679</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNTg4NDYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEyIEBACisyMDIwLTAzLTIzICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNo
QGdtYWlsLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBpbiBuYW1lZCBjYXB0dXJlIGdyb3Vw
IGlkZW50aWZpZXJzIGZvciBkaXJlY3Qgc3Vycm9nYXRlIHBhaXJzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgxNzQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHRlc3QyNjIvZXhwZWN0YXRpb25zLnlh
bWw6IE1hcmsgMiB0ZXN0IGNhc2VzIGFzIHBhc3NpbmcuCisKIDIwMjAtMDMtMjAgIFJvc3MgS2ly
c2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgogCiAgICAgICAgIGhhc09ic2VydmFibGVT
aWRlRWZmZWN0c0ZvclJlZ0V4cFNwbGl0IGRvZXNuJ3QgY2hlY2sgZm9yIEBAbWF0Y2ggb3ZlcnJp
ZGUKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwJKHJldmlzaW9uIDI1ODgxOCkKKysr
IEpTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAkod29ya2luZyBjb3B5KQpAQCAtMTE5
NSw5ICsxMTk1LDYgQEAgdGVzdC9idWlsdC1pbnMvUHJveHkvY29uc3RydWN0L3JldHVybi1ubwog
dGVzdC9idWlsdC1pbnMvUHJveHkvY29uc3RydWN0L3RyYXAtaXMtbm90LWNhbGxhYmxlLXJlYWxt
LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciBidXQg
Z290IGEgVHlwZUVycm9yJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQg
YSBUeXBlRXJyb3IgYnV0IGdvdCBhIFR5cGVFcnJvcicKLXRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9u
YW1lZC1ncm91cHMvdW5pY29kZS1wcm9wZXJ0eS1uYW1lcy5qczoKLSAgZGVmYXVsdDogJ1N5bnRh
eEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBncm91cCBzcGVjaWZp
ZXIgbmFtZScKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4
cHJlc3Npb246IGludmFsaWQgZ3JvdXAgc3BlY2lmaWVyIG5hbWUnCiB0ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvcHJvcGVydHktZXNjYXBlcy9nZW5lcmF0ZWQvQWxwaGFiZXRpYy5qczoKICAgZGVmYXVs
dDogJ1Rlc3QyNjJFcnJvcjogYFxwe0FscGhhYmV0aWN9YCBzaG91bGQgbWF0Y2ggVSswMDFDRkEg
KGDhs7pgKScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IGBccHtBbHBoYWJldGljfWAg
c2hvdWxkIG1hdGNoIFUrMDAxQ0ZBIChg4bO6YCknCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI1ODgxOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOSBAQAorMjAyMC0wMy0yMyAgQWxleGV5IFNodmF5
a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgaW4gbmFt
ZWQgY2FwdHVyZSBncm91cCBpZGVudGlmaWVycyBmb3IgZGlyZWN0IHN1cnJvZ2F0ZSBwYWlycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MTc0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjaGFu
Z2U6CisKKyAgICAgICAgMS4gQWRkcyBzdXBwb3J0IGZvciB1bmVzY2FwZWQgYXN0cmFsIHN5bWJv
bHMgaW4gUmVnRXhwIGlkZW50aWZpZXIgbmFtZXMgWzFdLgorCisgICAgICAgIDIuIEFkZHMgaGFz
RXJyb3IoKSBjaGVja3MgYWZ0ZXIgdHJ5Q29uc3VtZUdyb3VwTmFtZSgpIHNvIGVycm9ycyBnZW5l
cmF0ZWQgaW4KKyAgICAgICAgICAgdHJ5Q29uc3VtZVVuaWNvZGVFc2NhcGUoKSB3b3VsZCBub3Qg
Z2V0IG92ZXJyaWRlbi4KKworICAgICAgICAzLiBSZW1vdmVzIGNvZGUgZHVwbGljYXRpb24gYnkg
dXNpbmcgdHJ5Q29uc3VtZVVuaWNvZGVFc2NhcGUoKSBmb3IgcGFyc2luZyBcdQorICAgICAgICAg
ICBpbiBwYXJzZUVzY2FwZSgpOyBjbGVhbnMgdXAgcGFyc2luZyBcdXt9IGVzY2FwZXMgYSBiaXQs
IHByZWZlcnJpbmcgQVNTRVJUcworICAgICAgICAgICBvdmVyIGhhc0Vycm9yKCkgY2hlY2tzLgor
CisgICAgICAgIFsxXTogaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtUmVnRXhwSWRlbnRp
Zmllck5hbWUKKworICAgICAgICAqIHlhcnIvWWFyclBhcnNlci5oOgorICAgICAgICAoSlNDOjpZ
YXJyOjpQYXJzZXI6OnBhcnNlRXNjYXBlKToKKyAgICAgICAgKEpTQzo6WWFycjo6UGFyc2VyOjpw
YXJzZVBhcmVudGhlc2VzQmVnaW4pOgorICAgICAgICAoSlNDOjpZYXJyOjpQYXJzZXI6OnRyeUNv
bnN1bWVVbmljb2RlRXNjYXBlKToKKyAgICAgICAgKEpTQzo6WWFycjo6UGFyc2VyOjp0cnlDb25z
dW1lSWRlbnRpZmllckNoYXJhY3Rlcik6CisKIDIwMjAtMDMtMjAgIFJvc3MgS2lyc2xpbmcgIDxy
b3NzLmtpcnNsaW5nQHNvbnkuY29tPgogCiAgICAgICAgIGhhc09ic2VydmFibGVTaWRlRWZmZWN0
c0ZvclJlZ0V4cFNwbGl0IGRvZXNuJ3QgY2hlY2sgZm9yIEBAbWF0Y2ggb3ZlcnJpZGUKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXJzZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGFyc2VyLmgJKHJldmlzaW9uIDI1ODgxOCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXJzZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtNDQ1LDYgKzQ0NSw5IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBpZiAoIWF0RW5kT2ZQ
YXR0ZXJuKCkgJiYgIWluQ2hhcmFjdGVyQ2xhc3MpIHsKICAgICAgICAgICAgICAgICBpZiAoY29u
c3VtZSgpID09ICc8JykgewogICAgICAgICAgICAgICAgICAgICBhdXRvIGdyb3VwTmFtZSA9IHRy
eUNvbnN1bWVHcm91cE5hbWUoKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhhc0Vycm9yKG1f
ZXJyb3JDb2RlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgICAg
ICAgICAgICAgIGlmIChncm91cE5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICht
X2NhcHR1cmVHcm91cE5hbWVzLmNvbnRhaW5zKGdyb3VwTmFtZS52YWx1ZSgpKSkgewogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRlbGVnYXRlLmF0b21OYW1lZEJhY2tSZWZlcmVuY2UoZ3Jv
dXBOYW1lLnZhbHVlKCkpOwpAQCAtNDk0LDY0ICs0OTcsMTAgQEAgcHJpdmF0ZToKIAogICAgICAg
ICAvLyBVbmljb2RlRXNjYXBlCiAgICAgICAgIGNhc2UgJ3UnOiB7Ci0gICAgICAgICAgICBjb25z
dW1lKCk7Ci0gICAgICAgICAgICBpZiAoYXRFbmRPZlBhdHRlcm4oKSkgewotICAgICAgICAgICAg
ICAgIGlmIChpc0lkZW50aXR5RXNjYXBlQW5FcnJvcigndScpKQotICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLQotICAgICAgICAgICAgICAgIGRlbGVnYXRlLmF0b21QYXR0ZXJuQ2hhcmFjdGVy
KCd1Jyk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgIGlmIChtX2lzVW5pY29kZSAmJiBwZWVrKCkgPT0gJ3snKSB7Ci0gICAgICAgICAgICAgICAg
Y29uc3VtZSgpOwotICAgICAgICAgICAgICAgIFVDaGFyMzIgY29kZVBvaW50ID0gMDsKLSAgICAg
ICAgICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChhdEVuZE9mUGF0dGVybigp
IHx8ICFpc0FTQ0lJSGV4RGlnaXQocGVlaygpKSkgewotICAgICAgICAgICAgICAgICAgICAgICAg
bV9lcnJvckNvZGUgPSBFcnJvckNvZGU6OkludmFsaWRVbmljb2RlRXNjYXBlOwotICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAg
ICAgICAgICAgICBjb2RlUG9pbnQgPSAoY29kZVBvaW50IDw8IDQpIHwgdG9BU0NJSUhleFZhbHVl
KGNvbnN1bWUoKSk7Ci0KLSAgICAgICAgICAgICAgICAgICAgaWYgKGNvZGVQb2ludCA+IFVDSEFS
X01BWF9WQUxVRSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZXJyb3JDb2RlID0gRXJyb3JD
b2RlOjpJbnZhbGlkVW5pY29kZUVzY2FwZTsKLSAgICAgICAgICAgICAgICB9IHdoaWxlICghYXRF
bmRPZlBhdHRlcm4oKSAmJiBwZWVrKCkgIT0gJ30nKTsKLSAgICAgICAgICAgICAgICBpZiAoIWF0
RW5kT2ZQYXR0ZXJuKCkgJiYgcGVlaygpID09ICd9JykKLSAgICAgICAgICAgICAgICAgICAgY29u
c3VtZSgpOwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFoYXNFcnJvcihtX2Vycm9yQ29kZSkp
Ci0gICAgICAgICAgICAgICAgICAgIG1fZXJyb3JDb2RlID0gRXJyb3JDb2RlOjpJbnZhbGlkVW5p
Y29kZUVzY2FwZTsKLSAgICAgICAgICAgICAgICBpZiAoaGFzRXJyb3IobV9lcnJvckNvZGUpKQot
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBpbnQgZXNjYXBl
Q2hhciA9IHRyeUNvbnN1bWVVbmljb2RlRXNjYXBlKCk7CisgICAgICAgICAgICBpZiAoIWhhc0Vy
cm9yKG1fZXJyb3JDb2RlKSkKKyAgICAgICAgICAgICAgICBkZWxlZ2F0ZS5hdG9tUGF0dGVybkNo
YXJhY3Rlcihlc2NhcGVDaGFyID09IC0xID8gJ3UnIDogZXNjYXBlQ2hhcik7CiAKLSAgICAgICAg
ICAgICAgICBkZWxlZ2F0ZS5hdG9tUGF0dGVybkNoYXJhY3Rlcihjb2RlUG9pbnQpOwotICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaW50IHUgPSB0cnlD
b25zdW1lSGV4KDQpOwotICAgICAgICAgICAgaWYgKHUgPT0gLTEpIHsKLSAgICAgICAgICAgICAg
ICBpZiAoaXNJZGVudGl0eUVzY2FwZUFuRXJyb3IoJ3UnKSkKLSAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0KLSAgICAgICAgICAgICAgICBkZWxlZ2F0ZS5hdG9tUGF0dGVybkNoYXJhY3Rlcign
dScpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBJZiB3ZSBoYXZl
IHRoZSBmaXJzdCBvZiBhIHN1cnJvZ2F0ZSBwYWlyLCBsb29rIGZvciB0aGUgc2Vjb25kLgotICAg
ICAgICAgICAgICAgIGlmIChVMTZfSVNfTEVBRCh1KSAmJiBtX2lzVW5pY29kZSAmJiAocGF0dGVy
blJlbWFpbmluZygpID49IDYpICYmIHBlZWsoKSA9PSAnXFwnKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIFBhcnNlU3RhdGUgc3RhdGUgPSBzYXZlU3RhdGUoKTsKLSAgICAgICAgICAgICAgICAgICAg
Y29uc3VtZSgpOwotICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgaWYg
KHRyeUNvbnN1bWUoJ3UnKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN1cnJvZ2F0
ZTIgPSB0cnlDb25zdW1lSGV4KDQpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFUxNl9J
U19UUkFJTChzdXJyb2dhdGUyKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUgPSBV
MTZfR0VUX1NVUFBMRU1FTlRBUlkodSwgc3Vycm9nYXRlMik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGVsZWdhdGUuYXRvbVBhdHRlcm5DaGFyYWN0ZXIodSk7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgICAgICByZXN0b3JlU3RhdGUoc3RhdGUp
OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBkZWxlZ2F0ZS5hdG9tUGF0dGVy
bkNoYXJhY3Rlcih1KTsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB9CiAKQEAgLTY3OSw2ICs2MjgsOSBAQCBwcml2YXRlOgogCiAgICAgICAgICAgICBjYXNlICc8
JzogewogICAgICAgICAgICAgICAgIGF1dG8gZ3JvdXBOYW1lID0gdHJ5Q29uc3VtZUdyb3VwTmFt
ZSgpOworICAgICAgICAgICAgICAgIGlmIChoYXNFcnJvcihtX2Vycm9yQ29kZSkpCisgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgICAgICAgICAgaWYgKGdyb3VwTmFtZSkgewog
ICAgICAgICAgICAgICAgICAgICBhdXRvIHNldEFkZFJlc3VsdCA9IG1fY2FwdHVyZUdyb3VwTmFt
ZXMuYWRkKGdyb3VwTmFtZS52YWx1ZSgpKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKHNldEFk
ZFJlc3VsdC5pc05ld0VudHJ5KQpAQCAtOTM3LDYgKzg4OSw4IEBAIHByaXZhdGU6CiAKICAgICBp
bnQgdHJ5Q29uc3VtZVVuaWNvZGVFc2NhcGUoKQogICAgIHsKKyAgICAgICAgQVNTRVJUKCFoYXNF
cnJvcihtX2Vycm9yQ29kZSkpOworCiAgICAgICAgIGlmICghdHJ5Q29uc3VtZSgndScpKQogICAg
ICAgICAgICAgcmV0dXJuIC0xOwogCkBAIC05NTUsMzEgKzkwOSwzMCBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfSB3aGlsZSAoIWF0RW5kT2ZQYXR0ZXJuKCkgJiYgcGVlaygpICE9ICd9Jyk7Ci0gICAgICAg
ICAgICBpZiAoIWF0RW5kT2ZQYXR0ZXJuKCkgJiYgcGVlaygpID09ICd9JykKLSAgICAgICAgICAg
ICAgICBjb25zdW1lKCk7Ci0gICAgICAgICAgICBlbHNlIGlmICghaGFzRXJyb3IobV9lcnJvckNv
ZGUpKQotICAgICAgICAgICAgICAgIG1fZXJyb3JDb2RlID0gRXJyb3JDb2RlOjpJbnZhbGlkVW5p
Y29kZUVzY2FwZTsKLSAgICAgICAgICAgIGlmIChoYXNFcnJvcihtX2Vycm9yQ29kZSkpCisKKyAg
ICAgICAgICAgIEFTU0VSVCghaGFzRXJyb3IobV9lcnJvckNvZGUpKTsKKworICAgICAgICAgICAg
aWYgKCF0cnlDb25zdW1lKCd9JykpIHsKKyAgICAgICAgICAgICAgICBtX2Vycm9yQ29kZSA9IEVy
cm9yQ29kZTo6SW52YWxpZFVuaWNvZGVFc2NhcGU7IAogICAgICAgICAgICAgICAgIHJldHVybiAt
MTsKKyAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgcmV0dXJuIGNvZGVQb2ludDsKICAgICAg
ICAgfQogCiAgICAgICAgIGludCB1ID0gdHJ5Q29uc3VtZUhleCg0KTsKLSAgICAgICAgaWYgKHUg
PT0gLTEpCisgICAgICAgIGlmICh1ID09IC0xICYmIGlzSWRlbnRpdHlFc2NhcGVBbkVycm9yKCd1
JykpCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAKICAgICAgICAgLy8gSWYgd2UgaGF2ZSB0aGUg
Zmlyc3Qgb2YgYSBzdXJyb2dhdGUgcGFpciwgbG9vayBmb3IgdGhlIHNlY29uZC4KLSAgICAgICAg
aWYgKFUxNl9JU19MRUFEKHUpICYmIG1faXNVbmljb2RlICYmIChwYXR0ZXJuUmVtYWluaW5nKCkg
Pj0gNikgJiYgcGVlaygpID09ICdcXCcpIHsKKyAgICAgICAgaWYgKFUxNl9JU19MRUFEKHUpICYm
IG1faXNVbmljb2RlICYmIHBhdHRlcm5SZW1haW5pbmcoKSA+PSA2ICYmIHBlZWsoKSA9PSAnXFwn
KSB7CiAgICAgICAgICAgICBQYXJzZVN0YXRlIHN0YXRlID0gc2F2ZVN0YXRlKCk7CiAgICAgICAg
ICAgICBjb25zdW1lKCk7CiAKICAgICAgICAgICAgIGlmICh0cnlDb25zdW1lKCd1JykpIHsKICAg
ICAgICAgICAgICAgICBpbnQgc3Vycm9nYXRlMiA9IHRyeUNvbnN1bWVIZXgoNCk7Ci0gICAgICAg
ICAgICAgICAgaWYgKFUxNl9JU19UUkFJTChzdXJyb2dhdGUyKSkgewotICAgICAgICAgICAgICAg
ICAgICB1ID0gVTE2X0dFVF9TVVBQTEVNRU5UQVJZKHUsIHN1cnJvZ2F0ZTIpOwotICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gdTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
aWYgKFUxNl9JU19UUkFJTChzdXJyb2dhdGUyKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IFUxNl9HRVRfU1VQUExFTUVOVEFSWSh1LCBzdXJyb2dhdGUyKTsKICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgcmVzdG9yZVN0YXRlKHN0YXRlKTsKQEAgLTk5MCwxNSArOTQzLDEwIEBAIHBy
aXZhdGU6CiAKICAgICBpbnQgdHJ5Q29uc3VtZUlkZW50aWZpZXJDaGFyYWN0ZXIoKQogICAgIHsK
LSAgICAgICAgaW50IGNoID0gcGVlaygpOworICAgICAgICBpZiAodHJ5Q29uc3VtZSgnXFwnKSkK
KyAgICAgICAgICAgIHJldHVybiB0cnlDb25zdW1lVW5pY29kZUVzY2FwZSgpOwogCi0gICAgICAg
IGlmIChjaCA9PSAnXFwnKSB7Ci0gICAgICAgICAgICBjb25zdW1lKCk7Ci0gICAgICAgICAgICBj
aCA9IHRyeUNvbnN1bWVVbmljb2RlRXNjYXBlKCk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAg
ICAgY29uc3VtZSgpOwotCi0gICAgICAgIHJldHVybiBjaDsKKyAgICAgICAgcmV0dXJuIGNvbnN1
bWVQb3NzaWJsZVN1cnJvZ2F0ZVBhaXIoKTsKICAgICB9CiAKICAgICBib29sIGlzSWRlbnRpZmll
clN0YXJ0KGludCBjaCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394700</attachid>
            <date>2020-03-26 20:28:24 -0700</date>
            <delta_ts>2020-03-27 16:52:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178174-20200327052822.patch</filename>
            <type>text/plain</type>
            <size>25025</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MDI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
NmQwYmQ5N2JhMDNiZDNjYjA4NGQ4YmZlZWU2NTk4YzExOGY4MjIyLi5iYzE5MDhlNmE3NzBiZDIw
ZmM3OTU2MmY1NDA5NjJiNDEyYWJiNDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOCBAQAorMjAyMC0wMy0yNiAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFp
bC5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgaW4gbmFtZWQgY2FwdHVyZSBncm91cCBpZGVu
dGlmaWVycyBmb3IgZGlyZWN0IHN1cnJvZ2F0ZSBwYWlycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjaGFuZ2U6CisKKyAgICAgICAgYSkgQWRk
cyBzdXBwb3J0IGZvciB1bmVzY2FwZWQgYXN0cmFsIHN5bWJvbHMgaW4gUmVnRXhwIGlkZW50aWZp
ZXIgbmFtZXMgWzFdLAorICAgICAgICAgICBhbGlnbmluZyBKU0Mgd2l0aCBWOC4KKworICAgICAg
ICBiKSBSZXdvcmRzIEludmFsaWRVbmljb2RlRXNjYXBlIGVycm9yIGNvZGUgdG8gYmUgdXNlZCBm
b3IgXHVYWFhYIGVzY2FwZXMgaW4KKyAgICAgICAgICAgVW5pY29kZSBwYXR0ZXJucyBhbmQgbmFt
ZWQgZ3JvdXBzL3JlZmVyZW5jZXMgaW5zdGVhZCBvZiBJbnZhbGlkSWRlbnRpdHlFc2NhcGUsCisg
ICAgICAgICAgIG1hdGNoaW5nIGVycm9yIG1lc3NhZ2VzIGluIFY4IGFuZCBTcGlkZXJNb25rZXku
CisKKyAgICAgICAgYykgQWRkcyBoYXNFcnJvcigpIGNoZWNrcyBhZnRlciB0cnlDb25zdW1lR3Jv
dXBOYW1lKCkgc28gZXJyb3JzIGdlbmVyYXRlZCBpbgorICAgICAgICAgICB0cnlDb25zdW1lSWRl
bnRpZmllckNoYXJhY3RlcigpIHdvdWxkIG5vdCBnZXQgb3ZlcnJpZGVuLgorCisgICAgICAgIGQp
IFJlbW92ZXMgY29kZSBkdXBsaWNhdGlvbiBieSB1c2luZyB0cnlDb25zdW1lVW5pY29kZUVzY2Fw
ZSgpIGZvciBwYXJzaW5nIFx1CisgICAgICAgICAgIGluIHBhcnNlRXNjYXBlKCk7IGNsZWFucyB1
cCBwYXJzaW5nIFx1e30gZXNjYXBlcyBhIGJpdCwgcHJlZmVycmluZyBBU1NFUlRzCisgICAgICAg
ICAgIG92ZXIgaGFzRXJyb3IoKSBjaGVja3MuCisKKyAgICAgICAgWzFdOiBodHRwczovL3RjMzku
ZXMvZWNtYTI2Mi8jcHJvZC1SZWdFeHBJZGVudGlmaWVyTmFtZQorCisgICAgICAgICogeWFyci9Z
YXJyRXJyb3JDb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6WWFycjo6ZXJyb3JNZXNzYWdlKToKKyAg
ICAgICAgKEpTQzo6WWFycjo6ZXJyb3JUb1Rocm93KToKKyAgICAgICAgKiB5YXJyL1lhcnJFcnJv
ckNvZGUuaDoKKyAgICAgICAgKiB5YXJyL1lhcnJQYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6WWFy
cjo6UGFyc2VyOjpwYXJzZUVzY2FwZSk6CisgICAgICAgIChKU0M6OllhcnI6OlBhcnNlcjo6cGFy
c2VQYXJlbnRoZXNlc0JlZ2luKToKKyAgICAgICAgKEpTQzo6WWFycjo6UGFyc2VyOjp0cnlDb25z
dW1lVW5pY29kZUVzY2FwZSk6CisgICAgICAgIChKU0M6OllhcnI6OlBhcnNlcjo6dHJ5Q29uc3Vt
ZUlkZW50aWZpZXJDaGFyYWN0ZXIpOgorCiAyMDIwLTAzLTI1ICBBbGV4ZXkgU2h2YXlrYSAgPHNo
dmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBSZWdFeHAucHJvdG90eXBlW0BAcmVwbGFj
ZV0gcmVsaWVzIG9uIGdsb2JhbHMgYW5kIGRvZXNuJ3QgcGVyZm9ybSBUb0xlbmd0aApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckVycm9yQ29kZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyRXJyb3JDb2RlLmNwcAppbmRleCAzNDI1ZDEzMThm
YzUxYTdlNzU4YjU0YzUyNjAwMDU3ZWY3YzBlOWYwLi5jODY5Mjk4MjdlMWQ4YjVlMGU0OTUwZmVm
NjBkOWI0OTQ3MjUyZGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9Z
YXJyRXJyb3JDb2RlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyRXJy
b3JDb2RlLmNwcApAQCAtNTEsNyArNTEsOCBAQCBjb25zdCBjaGFyKiBlcnJvck1lc3NhZ2UoRXJy
b3JDb2RlIGVycm9yKQogICAgICAgICBSRUdFWFBfRVJST1JfUFJFRklYICJyYW5nZSBvdXQgb2Yg
b3JkZXIgaW4gY2hhcmFjdGVyIGNsYXNzIiwgICAgICAgICAgICAgICAgLy8gQ2hhcmFjdGVyQ2xh
c3NSYW5nZU91dE9mT3JkZXIKICAgICAgICAgUkVHRVhQX0VSUk9SX1BSRUZJWCAiaW52YWxpZCBy
YW5nZSBpbiBjaGFyYWN0ZXIgY2xhc3MgZm9yIFVuaWNvZGUgcGF0dGVybiIsIC8vIENoYXJhY3Rl
ckNsYXNzUmFuZ2VJbnZhbGlkCiAgICAgICAgIFJFR0VYUF9FUlJPUl9QUkVGSVggIlxcIGF0IGVu
ZCBvZiBwYXR0ZXJuIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBFc2NhcGVV
bnRlcm1pbmF0ZWQKLSAgICAgICAgUkVHRVhQX0VSUk9SX1BSRUZJWCAiaW52YWxpZCBVbmljb2Rl
IHt9IGVzY2FwZSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEludmFsaWRVbmljb2Rl
RXNjYXBlCisgICAgICAgIFJFR0VYUF9FUlJPUl9QUkVGSVggImludmFsaWQgVW5pY29kZSBcXHUg
ZXNjYXBlIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbnZhbGlkVW5pY29kZUVzY2Fw
ZQorICAgICAgICBSRUdFWFBfRVJST1JfUFJFRklYICJpbnZhbGlkIFVuaWNvZGUgY29kZSBwb2lu
dCBcXHV7fSBlc2NhcGUiLCAgICAgICAgICAgICAgLy8gSW52YWxpZFVuaWNvZGVDb2RlUG9pbnRF
c2NhcGUKICAgICAgICAgUkVHRVhQX0VSUk9SX1BSRUZJWCAiaW52YWxpZCBiYWNrcmVmZXJlbmNl
IGZvciBVbmljb2RlIHBhdHRlcm4iLCAgICAgICAgICAgIC8vIEludmFsaWRCYWNrcmVmZXJlbmNl
CiAgICAgICAgIFJFR0VYUF9FUlJPUl9QUkVGSVggImludmFsaWQgXFxrPD4gbmFtZWQgYmFja3Jl
ZmVyZW5jZSIsICAgICAgICAgICAgICAgICAgICAvLyBJbnZhbGlkTmFtZWRCYWNrUmVmZXJlbmNl
CiAgICAgICAgIFJFR0VYUF9FUlJPUl9QUkVGSVggImludmFsaWQgZXNjYXBlZCBjaGFyYWN0ZXIg
Zm9yIFVuaWNvZGUgcGF0dGVybiIsICAgICAgICAvLyBJbnZhbGlkSWRlbnRpdHlFc2NhcGUKQEAg
LTg3LDYgKzg4LDcgQEAgSlNPYmplY3QqIGVycm9yVG9UaHJvdyhKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBFcnJvckNvZGUgZXJyb3IpCiAgICAgY2FzZSBFcnJvckNvZGU6OkNoYXJhY3Rl
ckNsYXNzUmFuZ2VJbnZhbGlkOgogICAgIGNhc2UgRXJyb3JDb2RlOjpFc2NhcGVVbnRlcm1pbmF0
ZWQ6CiAgICAgY2FzZSBFcnJvckNvZGU6OkludmFsaWRVbmljb2RlRXNjYXBlOgorICAgIGNhc2Ug
RXJyb3JDb2RlOjpJbnZhbGlkVW5pY29kZUNvZGVQb2ludEVzY2FwZToKICAgICBjYXNlIEVycm9y
Q29kZTo6SW52YWxpZEJhY2tyZWZlcmVuY2U6CiAgICAgY2FzZSBFcnJvckNvZGU6OkludmFsaWRO
YW1lZEJhY2tSZWZlcmVuY2U6CiAgICAgY2FzZSBFcnJvckNvZGU6OkludmFsaWRJZGVudGl0eUVz
Y2FwZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJFcnJvckNv
ZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJFcnJvckNvZGUuaAppbmRleCAx
Y2IwZGJmODBhYjFjNDVjYzBlOGRmMmIxOGE2ZDI5M2RhNWI4MTg5Li4yZDg5NTg4Y2Y5ZGMwYzM1
OGQxOWJhYmQ5NzI2MDQ5NWY0N2FiYzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUveWFyci9ZYXJyRXJyb3JDb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIv
WWFyckVycm9yQ29kZS5oCkBAIC01MSw2ICs1MSw3IEBAIGVudW0gY2xhc3MgRXJyb3JDb2RlIDog
dWludDhfdCB7CiAgICAgQ2hhcmFjdGVyQ2xhc3NSYW5nZUludmFsaWQsCiAgICAgRXNjYXBlVW50
ZXJtaW5hdGVkLAogICAgIEludmFsaWRVbmljb2RlRXNjYXBlLAorICAgIEludmFsaWRVbmljb2Rl
Q29kZVBvaW50RXNjYXBlLAogICAgIEludmFsaWRCYWNrcmVmZXJlbmNlLAogICAgIEludmFsaWRO
YW1lZEJhY2tSZWZlcmVuY2UsCiAgICAgSW52YWxpZElkZW50aXR5RXNjYXBlLApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhcnNlci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3lhcnIvWWFyclBhcnNlci5oCmluZGV4IDMwMDkyYmE4OGQ1NDE0N2RjMjY0Mjgz
YWE0ODMyZmRlMmRlNjFiMGUuLmEzYzgwZGZhMGJkYmI2MDEyNzg4YWJiMmQ0YzhkM2M5OGQwNWFl
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXJzZXIuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGFyc2VyLmgKQEAgLTQzOCw2ICs0
MzgsOSBAQCBwcml2YXRlOgogICAgICAgICAgICAgUGFyc2VTdGF0ZSBzdGF0ZSA9IHNhdmVTdGF0
ZSgpOwogICAgICAgICAgICAgaWYgKCFpbkNoYXJhY3RlckNsYXNzICYmIHRyeUNvbnN1bWUoJzwn
KSkgewogICAgICAgICAgICAgICAgIGF1dG8gZ3JvdXBOYW1lID0gdHJ5Q29uc3VtZUdyb3VwTmFt
ZSgpOworICAgICAgICAgICAgICAgIGlmIChoYXNFcnJvcihtX2Vycm9yQ29kZSkpCisgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgICAgICAgICAgaWYgKGdyb3VwTmFtZSkgewog
ICAgICAgICAgICAgICAgICAgICBpZiAobV9jYXB0dXJlR3JvdXBOYW1lcy5jb250YWlucyhncm91
cE5hbWUudmFsdWUoKSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGVnYXRlLmF0b21O
YW1lZEJhY2tSZWZlcmVuY2UoZ3JvdXBOYW1lLnZhbHVlKCkpOwpAQCAtNDg3LDY0ICs0OTAsMTkg
QEAgcHJpdmF0ZToKIAogICAgICAgICAvLyBVbmljb2RlRXNjYXBlCiAgICAgICAgIGNhc2UgJ3Un
OiB7Ci0gICAgICAgICAgICBjb25zdW1lKCk7Ci0gICAgICAgICAgICBpZiAoYXRFbmRPZlBhdHRl
cm4oKSkgewotICAgICAgICAgICAgICAgIGlmIChpc0lkZW50aXR5RXNjYXBlQW5FcnJvcigndScp
KQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgICAgIGRlbGVnYXRl
LmF0b21QYXR0ZXJuQ2hhcmFjdGVyKCd1Jyk7CisgICAgICAgICAgICBpbnQgZXNjYXBlQ2hhciA9
IHRyeUNvbnN1bWVVbmljb2RlRXNjYXBlKCk7CisgICAgICAgICAgICBpZiAoaGFzRXJyb3IobV9l
cnJvckNvZGUpKQogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICBpZiAobV9pc1VuaWNvZGUgJiYgcGVlaygpID09ICd7JykgewotICAgICAgICAgICAg
ICAgIGNvbnN1bWUoKTsKLSAgICAgICAgICAgICAgICBVQ2hhcjMyIGNvZGVQb2ludCA9IDA7Ci0g
ICAgICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgICAgICBpZiAoYXRFbmRPZlBhdHRl
cm4oKSB8fCAhaXNBU0NJSUhleERpZ2l0KHBlZWsoKSkpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIG1fZXJyb3JDb2RlID0gRXJyb3JDb2RlOjpJbnZhbGlkVW5pY29kZUVzY2FwZTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICB9CiAKLSAgICAg
ICAgICAgICAgICAgICAgY29kZVBvaW50ID0gKGNvZGVQb2ludCA8PCA0KSB8IHRvQVNDSUlIZXhW
YWx1ZShjb25zdW1lKCkpOwotCi0gICAgICAgICAgICAgICAgICAgIGlmIChjb2RlUG9pbnQgPiBV
Q0hBUl9NQVhfVkFMVUUpCi0gICAgICAgICAgICAgICAgICAgICAgICBtX2Vycm9yQ29kZSA9IEVy
cm9yQ29kZTo6SW52YWxpZFVuaWNvZGVFc2NhcGU7Ci0gICAgICAgICAgICAgICAgfSB3aGlsZSAo
IWF0RW5kT2ZQYXR0ZXJuKCkgJiYgcGVlaygpICE9ICd9Jyk7Ci0gICAgICAgICAgICAgICAgaWYg
KCFhdEVuZE9mUGF0dGVybigpICYmIHBlZWsoKSA9PSAnfScpCi0gICAgICAgICAgICAgICAgICAg
IGNvbnN1bWUoKTsKLSAgICAgICAgICAgICAgICBlbHNlIGlmICghaGFzRXJyb3IobV9lcnJvckNv
ZGUpKQorICAgICAgICAgICAgaWYgKGVzY2FwZUNoYXIgPT0gLTEpIHsKKyAgICAgICAgICAgICAg
ICBpZiAobV9pc1VuaWNvZGUpIHsKICAgICAgICAgICAgICAgICAgICAgbV9lcnJvckNvZGUgPSBF
cnJvckNvZGU6OkludmFsaWRVbmljb2RlRXNjYXBlOwotICAgICAgICAgICAgICAgIGlmIChoYXNF
cnJvcihtX2Vycm9yQ29kZSkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgICAgICAgICAgICAgIGRlbGVnYXRlLmF0b21QYXR0ZXJuQ2hhcmFjdGVyKGNvZGVQb2ludCk7
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpbnQg
dSA9IHRyeUNvbnN1bWVIZXgoNCk7Ci0gICAgICAgICAgICBpZiAodSA9PSAtMSkgewotICAgICAg
ICAgICAgICAgIGlmIChpc0lkZW50aXR5RXNjYXBlQW5FcnJvcigndScpKQogICAgICAgICAgICAg
ICAgICAgICBicmVhazsKLQorICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBkZWxl
Z2F0ZS5hdG9tUGF0dGVybkNoYXJhY3RlcigndScpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIHRoZSBmaXJzdCBvZiBhIHN1cnJvZ2F0ZSBwYWly
LCBsb29rIGZvciB0aGUgc2Vjb25kLgotICAgICAgICAgICAgICAgIGlmIChVMTZfSVNfTEVBRCh1
KSAmJiBtX2lzVW5pY29kZSAmJiAocGF0dGVyblJlbWFpbmluZygpID49IDYpICYmIHBlZWsoKSA9
PSAnXFwnKSB7Ci0gICAgICAgICAgICAgICAgICAgIFBhcnNlU3RhdGUgc3RhdGUgPSBzYXZlU3Rh
dGUoKTsKLSAgICAgICAgICAgICAgICAgICAgY29uc3VtZSgpOwotICAgICAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRyeUNvbnN1bWUoJ3UnKSkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgaW50IHN1cnJvZ2F0ZTIgPSB0cnlDb25zdW1lSGV4KDQpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKFUxNl9JU19UUkFJTChzdXJyb2dhdGUyKSkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHUgPSBVMTZfR0VUX1NVUFBMRU1FTlRBUlkodSwgc3Vycm9n
YXRlMik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZWdhdGUuYXRvbVBhdHRlcm5D
aGFyYWN0ZXIodSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0g
ZWxzZQorICAgICAgICAgICAgICAgIGRlbGVnYXRlLmF0b21QYXR0ZXJuQ2hhcmFjdGVyKGVzY2Fw
ZUNoYXIpOwogCi0gICAgICAgICAgICAgICAgICAgIHJlc3RvcmVTdGF0ZShzdGF0ZSk7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGRlbGVnYXRlLmF0b21QYXR0ZXJuQ2hhcmFj
dGVyKHUpOwotICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApA
QCAtNjcyLDYgKzYzMCw5IEBAIHByaXZhdGU6CiAKICAgICAgICAgICAgIGNhc2UgJzwnOiB7CiAg
ICAgICAgICAgICAgICAgYXV0byBncm91cE5hbWUgPSB0cnlDb25zdW1lR3JvdXBOYW1lKCk7Cisg
ICAgICAgICAgICAgICAgaWYgKGhhc0Vycm9yKG1fZXJyb3JDb2RlKSkKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisKICAgICAgICAgICAgICAgICBpZiAoZ3JvdXBOYW1lKSB7CiAgICAgICAg
ICAgICAgICAgICAgIGlmIChtX2tJZGVudGl0eUVzY2FwZVNlZW4pIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIG1fZXJyb3JDb2RlID0gRXJyb3JDb2RlOjpJbnZhbGlkTmFtZWRCYWNrUmVmZXJl
bmNlOwpAQCAtMTAxMSw0OSArOTcyLDUxIEBAIHByaXZhdGU6CiAKICAgICBpbnQgdHJ5Q29uc3Vt
ZVVuaWNvZGVFc2NhcGUoKQogICAgIHsKKyAgICAgICAgQVNTRVJUKCFoYXNFcnJvcihtX2Vycm9y
Q29kZSkpOworCiAgICAgICAgIGlmICghdHJ5Q29uc3VtZSgndScpKQogICAgICAgICAgICAgcmV0
dXJuIC0xOwogCisgICAgICAgIGlmIChhdEVuZE9mUGF0dGVybigpKQorICAgICAgICAgICAgcmV0
dXJuIC0xOworCiAgICAgICAgIGlmIChtX2lzVW5pY29kZSAmJiB0cnlDb25zdW1lKCd7JykpIHsK
ICAgICAgICAgICAgIGludCBjb2RlUG9pbnQgPSAwOwogICAgICAgICAgICAgZG8gewogICAgICAg
ICAgICAgICAgIGlmIChhdEVuZE9mUGF0dGVybigpIHx8ICFpc0FTQ0lJSGV4RGlnaXQocGVlaygp
KSkgewotICAgICAgICAgICAgICAgICAgICBtX2Vycm9yQ29kZSA9IEVycm9yQ29kZTo6SW52YWxp
ZFVuaWNvZGVFc2NhcGU7CisgICAgICAgICAgICAgICAgICAgIG1fZXJyb3JDb2RlID0gRXJyb3JD
b2RlOjpJbnZhbGlkVW5pY29kZUNvZGVQb2ludEVzY2FwZTsKICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIC0xOwogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIGNvZGVQb2lu
dCA9IChjb2RlUG9pbnQgPDwgNCkgfCB0b0FTQ0lJSGV4VmFsdWUoY29uc3VtZSgpKTsKIAogICAg
ICAgICAgICAgICAgIGlmIChjb2RlUG9pbnQgPiBVQ0hBUl9NQVhfVkFMVUUpIHsKLSAgICAgICAg
ICAgICAgICAgICAgbV9lcnJvckNvZGUgPSBFcnJvckNvZGU6OkludmFsaWRVbmljb2RlRXNjYXBl
OworICAgICAgICAgICAgICAgICAgICBtX2Vycm9yQ29kZSA9IEVycm9yQ29kZTo6SW52YWxpZFVu
aWNvZGVDb2RlUG9pbnRFc2NhcGU7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IHdoaWxlICghYXRFbmRPZlBhdHRlcm4oKSAm
JiBwZWVrKCkgIT0gJ30nKTsKLSAgICAgICAgICAgIGlmICghYXRFbmRPZlBhdHRlcm4oKSAmJiBw
ZWVrKCkgPT0gJ30nKQotICAgICAgICAgICAgICAgIGNvbnN1bWUoKTsKLSAgICAgICAgICAgIGVs
c2UgaWYgKCFoYXNFcnJvcihtX2Vycm9yQ29kZSkpCi0gICAgICAgICAgICAgICAgbV9lcnJvckNv
ZGUgPSBFcnJvckNvZGU6OkludmFsaWRVbmljb2RlRXNjYXBlOwotICAgICAgICAgICAgaWYgKGhh
c0Vycm9yKG1fZXJyb3JDb2RlKSkKKworICAgICAgICAgICAgQVNTRVJUKCFoYXNFcnJvcihtX2Vy
cm9yQ29kZSkpOworCisgICAgICAgICAgICBpZiAoIXRyeUNvbnN1bWUoJ30nKSkgeworICAgICAg
ICAgICAgICAgIG1fZXJyb3JDb2RlID0gRXJyb3JDb2RlOjpJbnZhbGlkVW5pY29kZUNvZGVQb2lu
dEVzY2FwZTsgCiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgICByZXR1cm4gY29kZVBvaW50OwogICAgICAgICB9CiAKICAgICAgICAgaW50IHUg
PSB0cnlDb25zdW1lSGV4KDQpOwotICAgICAgICBpZiAodSA9PSAtMSkKLSAgICAgICAgICAgIHJl
dHVybiAtMTsKIAogICAgICAgICAvLyBJZiB3ZSBoYXZlIHRoZSBmaXJzdCBvZiBhIHN1cnJvZ2F0
ZSBwYWlyLCBsb29rIGZvciB0aGUgc2Vjb25kLgotICAgICAgICBpZiAoVTE2X0lTX0xFQUQodSkg
JiYgbV9pc1VuaWNvZGUgJiYgKHBhdHRlcm5SZW1haW5pbmcoKSA+PSA2KSAmJiBwZWVrKCkgPT0g
J1xcJykgeworICAgICAgICBpZiAoVTE2X0lTX0xFQUQodSkgJiYgbV9pc1VuaWNvZGUgJiYgcGF0
dGVyblJlbWFpbmluZygpID49IDYgJiYgcGVlaygpID09ICdcXCcpIHsKICAgICAgICAgICAgIFBh
cnNlU3RhdGUgc3RhdGUgPSBzYXZlU3RhdGUoKTsKICAgICAgICAgICAgIGNvbnN1bWUoKTsKIAog
ICAgICAgICAgICAgaWYgKHRyeUNvbnN1bWUoJ3UnKSkgewogICAgICAgICAgICAgICAgIGludCBz
dXJyb2dhdGUyID0gdHJ5Q29uc3VtZUhleCg0KTsKLSAgICAgICAgICAgICAgICBpZiAoVTE2X0lT
X1RSQUlMKHN1cnJvZ2F0ZTIpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHUgPSBVMTZfR0VUX1NV
UFBMRU1FTlRBUlkodSwgc3Vycm9nYXRlMik7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiB1
OwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoVTE2X0lTX1RSQUlMKHN1
cnJvZ2F0ZTIpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gVTE2X0dFVF9TVVBQTEVNRU5U
QVJZKHUsIHN1cnJvZ2F0ZTIpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICByZXN0b3Jl
U3RhdGUoc3RhdGUpOwpAQCAtMTA2NCwxNSArMTAyNywxNSBAQCBwcml2YXRlOgogCiAgICAgaW50
IHRyeUNvbnN1bWVJZGVudGlmaWVyQ2hhcmFjdGVyKCkKICAgICB7Ci0gICAgICAgIGludCBjaCA9
IHBlZWsoKTsKKyAgICAgICAgaWYgKHRyeUNvbnN1bWUoJ1xcJykpIHsKKyAgICAgICAgICAgIGlu
dCBlc2NhcGVDaGFyID0gdHJ5Q29uc3VtZVVuaWNvZGVFc2NhcGUoKTsKKyAgICAgICAgICAgIGlm
IChlc2NhcGVDaGFyID09IC0xICYmICFoYXNFcnJvcihtX2Vycm9yQ29kZSkpCisgICAgICAgICAg
ICAgICAgbV9lcnJvckNvZGUgPSBFcnJvckNvZGU6OkludmFsaWRVbmljb2RlRXNjYXBlOwogCi0g
ICAgICAgIGlmIChjaCA9PSAnXFwnKSB7Ci0gICAgICAgICAgICBjb25zdW1lKCk7Ci0gICAgICAg
ICAgICBjaCA9IHRyeUNvbnN1bWVVbmljb2RlRXNjYXBlKCk7Ci0gICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgY29uc3VtZSgpOworICAgICAgICAgICAgcmV0dXJuIGVzY2FwZUNoYXI7CisgICAg
ICAgIH0KIAotICAgICAgICByZXR1cm4gY2g7CisgICAgICAgIHJldHVybiBjb25zdW1lUG9zc2li
bGVTdXJyb2dhdGVQYWlyKCk7CiAgICAgfQogCiAgICAgYm9vbCBpc0lkZW50aWZpZXJTdGFydChp
bnQgY2gpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggM2NhMmIwYTRmMjZkMzNmNzRlMDgyZDViZDY1YjA4MjM3YzI3ODQ5OS4u
NjAwMGY1ZWRmMDM0YzdmMWE2NWI5MjNkYWQ5MjlmNGMwNjhhNWFhNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE5IEBACisyMDIwLTAzLTI2ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNv
bT4KKworICAgICAgICBBZGQgc3VwcG9ydCBpbiBuYW1lZCBjYXB0dXJlIGdyb3VwIGlkZW50aWZp
ZXJzIGZvciBkaXJlY3Qgc3Vycm9nYXRlIHBhaXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgxNzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGp1c3RlZCB0ZXN0cyBmb3IgZXJyb3IgbWVzc2FnZXMg
Y2hhbmdlcyBhbmQgYWRkZWQgY292ZXJhZ2UgZm9yIG1lc3NhZ2VzCisgICAgICAgIG9mIHN5bnRh
eCBlcnJvcnMgZHVlIHRvIGludmFsaWQgXHUgZXNjYXBlcyBpbnNpZGUgbmFtZWQgZ3JvdXBzL3Jl
ZmVyZW5jZXMuCisKKyAgICAgICAgKiBqcy9yZWdleHAtbmFtZWQtY2FwdHVyZS1ncm91cHMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGpzL3JlZ2V4cC11bmljb2RlLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBqcy9yZWdyZXNzLTE1ODA4MC1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMvc2Ny
aXB0LXRlc3RzL3JlZ2V4cC1uYW1lZC1jYXB0dXJlLWdyb3Vwcy5qczoKKyAgICAgICAgKiBqcy9z
Y3JpcHQtdGVzdHMvcmVnZXhwLXVuaWNvZGUuanM6CisKIDIwMjAtMDMtMjUgIEphY2sgTGVlICA8
c2hpaGNoaWVoX2xlZUBhcHBsZS5jb20+CiAKICAgICAgICAgTnVsbHB0ciBjcmFzaCBpbiBXZWJD
b3JlOjpOb2RlOjppc0Rlc2NlbmRhbnRPZiB3aGVuIGluc2VydGluZyBsaXN0CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9qcy9yZWdleHAtbmFtZWQtY2FwdHVyZS1ncm91cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvanMvcmVnZXhwLW5hbWVkLWNhcHR1cmUtZ3JvdXBzLWV4cGVjdGVkLnR4
dAppbmRleCBkMzIwMzYzNWI1YTc2NThiN2YyN2Q0NDQ4ZTZiZGQ3N2EyMzllYzhiLi5kYTEzMWIy
ZTc0ZjI5ZDI5MTZmYjU3YmJmZmRhNjBiNTkyNjExNmQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9qcy9yZWdleHAtbmFtZWQtY2FwdHVyZS1ncm91cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2pzL3JlZ2V4cC1uYW1lZC1jYXB0dXJlLWdyb3Vwcy1leHBlY3RlZC50eHQKQEAgLTYx
LDYgKzYxLDEwIEBAIFBBU1MgbGV0IHIgPSBuZXcgUmVnRXhwKCIvKD888JCGkGdyb3VwTmFtZTE+
YWJjKS91IikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yCiBQQVNTIGxldCByID0gbmV3IFJl
Z0V4cCgiLyg/PGfwkIabb3VwTmFtZTE+YWJjKS91IikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVy
cm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBncm91cCBzcGVjaWZpZXIg
bmFtZS4KIFBBU1MgbGV0IHIgPSBuZXcgUmVnRXhwKCIvKD884oCMZ3JvdXBOYW1lMT5hYmMpL3Ui
KSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9u
OiBpbnZhbGlkIGdyb3VwIHNwZWNpZmllciBuYW1lLgogUEFTUyBsZXQgciA9IG5ldyBSZWdFeHAo
Ii8oPzzigI1ncm91cE5hbWUxPmFiYykvdSIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjog
SW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgZ3JvdXAgc3BlY2lmaWVyIG5hbWUu
CitQQVNTIC8oPzxcdT4uKS91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCBy
ZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBcdSBlc2NhcGUuCitQQVNTIC9cazxc
dXp6ej4vdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHBy
ZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUgXHUgZXNjYXBlLgorUEFTUyAvKD88XHV7Pi4pL3UgdGhy
ZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52
YWxpZCBVbmljb2RlIGNvZGUgcG9pbnQgXHV7fSBlc2NhcGUuCitQQVNTIC9cazxcdXswPi91IHRo
cmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGlu
dmFsaWQgVW5pY29kZSBjb2RlIHBvaW50IFx1e30gZXNjYXBlLgogUEFTUyAiWHp6WHp6Ii5tYXRj
aCgvXGs8ej5YKD88ej56KilYXGs8ej4vKSBpcyBbIlh6elh6eiIsICJ6eiJdCiBQQVNTICJYenpY
enoiLm1hdGNoKC9cazx6PlgoPzx6PnoqKVhcazx6Pi91KSBpcyBbIlh6elh6eiIsICJ6eiJdCiBQ
QVNTICIxMTIyMzMyMjExIi5tYXRjaCgvXGs8b25lcz5cazx0d29zPlxrPHRocmVlcz4oPzxvbmVz
PjEqKSg/PHR3b3M+MiopKD88dGhyZWVzPjMqKVxrPHRocmVlcz5cazx0d29zPlxrPG9uZXM+Lykg
aXMgWyIxMTIyMzMyMjExIiwgIjExIiwgIjIyIiwgIjMiXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvanMvcmVnZXhwLXVuaWNvZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvcmVnZXhw
LXVuaWNvZGUtZXhwZWN0ZWQudHh0CmluZGV4IGYxZDFhMzk4ZTgzYmE4NTM0ZWMyYzk4OWNkMmRj
MDEyYTYxNDRlZjUuLmEyZTFkOWVkNzljZWRjYWQ1OWMzMDNmNjgzMmEwYzg3MDVmOGUyYzEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL3JlZ2V4cC11bmljb2RlLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9qcy9yZWdleHAtdW5pY29kZS1leHBlY3RlZC50eHQKQEAgLTE3OCw3ICsx
NzgsNyBAQCBQQVNTICJUZXN0aW5nIOGItFxuMSAyIDMiLm1hdGNoKC9nIFvhgIAt8JCDv10kXG4x
L3VtKVswXSBpcyAiZyDhiLRcbjEiCiBQQVNTICJUZXN0aW5nIPCQg7BcbjEgMiAzIi5tYXRjaCgv
ZyBb4YCALfCQg79dJFxuMS91bSlbMF0gaXMgImcg8JCDsFxuMSIKIFBBU1MgInRoaXMgaXMgYghh
IHRlc3QiLm1hdGNoKC9pcyBiXGNoYSB0ZXN0L3UpWzBdLmxlbmd0aCBpcyAxMQogUEFTUyBuZXcg
UmVnRXhwKCJcXC8iLCAidSIpLnNvdXJjZSBpcyAiXFwvIgotUEFTUyByID0gbmV3IFJlZ0V4cCgi
XFx1ezExMDAwMH0iLCAidSIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCBy
ZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSB7fSBlc2NhcGUuCitQQVNTIHIgPSBu
ZXcgUmVnRXhwKCJcXHV7MTEwMDAwfSIsICJ1IikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9y
OiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIGNvZGUgcG9pbnQg
XHV7fSBlc2NhcGUuCiBQQVNTIHIgPSBuZXcgUmVnRXhwKCLwkJCFezIxNDc0ODM2NDh9IiwgInUi
KSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9u
OiBwYXR0ZXJuIGV4Y2VlZHMgc3RyaW5nIGxlbmd0aCBsaW1pdHMuCiBQQVNTIC97L3UgdGhyZXcg
ZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW5jb21w
bGV0ZSB7fSBxdWFudGlmaWVyIGZvciBVbmljb2RlIHBhdHRlcm4uCiBQQVNTIC9bYS1cZF0vdSB0
aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBp
bnZhbGlkIHJhbmdlIGluIGNoYXJhY3RlciBjbGFzcyBmb3IgVW5pY29kZSBwYXR0ZXJuLgpAQCAt
MTkwLDEwICsxOTAsMTAgQEAgUEFTUyByID0gbmV3IFJlZ0V4cCgiW1xcYV0iLCAidSIpIHRocmV3
IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGUKIFBBU1MgciA9IG5ldyBS
ZWdFeHAoIltcXEJdIiwgInUiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQg
cmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIGVzY2FwZWQgY2hhcmFjdGVyIGZvciBVbmljb2Rl
IHBhdHRlcm4uCiBQQVNTIHIgPSBuZXcgUmVnRXhwKCJcXHgiLCAidSIpIHRocmV3IGV4Y2VwdGlv
biBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgZXNjYXBl
ZCBjaGFyYWN0ZXIgZm9yIFVuaWNvZGUgcGF0dGVybi4KIFBBU1MgciA9IG5ldyBSZWdFeHAoIltc
XHhdIiwgInUiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBl
eHByZXNzaW9uOiBpbnZhbGlkIGVzY2FwZWQgY2hhcmFjdGVyIGZvciBVbmljb2RlIHBhdHRlcm4u
Ci1QQVNTIHIgPSBuZXcgUmVnRXhwKCJcXHUiLCAidSIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhF
cnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgZXNjYXBlZCBjaGFyYWN0
ZXIgZm9yIFVuaWNvZGUgcGF0dGVybi4KLVBBU1MgciA9IG5ldyBSZWdFeHAoIltcXHVdIiwgInUi
KSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9u
OiBpbnZhbGlkIGVzY2FwZWQgY2hhcmFjdGVyIGZvciBVbmljb2RlIHBhdHRlcm4uCi1QQVNTIHIg
PSBuZXcgUmVnRXhwKCJcXHV7IiwgInUiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IElu
dmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUge30gZXNjYXBlLgotUEFT
UyByID0gbmV3IFJlZ0V4cCgiXFx1e1x1ZGVhZCIsICJ1IikgdGhyZXcgZXhjZXB0aW9uIFN5bnRh
eEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIHt9IGVz
Y2FwZS4KK1BBU1MgciA9IG5ldyBSZWdFeHAoIlxcdSIsICJ1IikgdGhyZXcgZXhjZXB0aW9uIFN5
bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIFx1
IGVzY2FwZS4KK1BBU1MgciA9IG5ldyBSZWdFeHAoIltcXHVdIiwgInUiKSB0aHJldyBleGNlcHRp
b24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNv
ZGUgXHUgZXNjYXBlLgorUEFTUyByID0gbmV3IFJlZ0V4cCgiXFx1eyIsICJ1IikgdGhyZXcgZXhj
ZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBV
bmljb2RlIGNvZGUgcG9pbnQgXHV7fSBlc2NhcGUuCitQQVNTIHIgPSBuZXcgUmVnRXhwKCJcXHV7
XHVkZWFkIiwgInUiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxh
ciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUgY29kZSBwb2ludCBcdXt9IGVzY2FwZS4KIFBB
U1MgL1wxL3UgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhw
cmVzc2lvbjogaW52YWxpZCBiYWNrcmVmZXJlbmNlIGZvciBVbmljb2RlIHBhdHRlcm4uCiBQQVNT
IC9cMi91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJl
c3Npb246IGludmFsaWQgYmFja3JlZmVyZW5jZSBmb3IgVW5pY29kZSBwYXR0ZXJuLgogUEFTUyAv
XDMvdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNz
aW9uOiBpbnZhbGlkIGJhY2tyZWZlcmVuY2UgZm9yIFVuaWNvZGUgcGF0dGVybi4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3MtMTU4MDgwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2pzL3JlZ3Jlc3MtMTU4MDgwLWV4cGVjdGVkLnR4dAppbmRleCA1ZDhkN2Y3MDI2YTlkODE4
M2E2N2Q2OGVlMjZiNzFjOTUwODQyYjA1Li42YmM3NGNhM2E1YjlmNDdkMjJkNTEwZmIxMmE4YmIx
MTlmYjFmZDI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzLTE1ODA4MC1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy0xNTgwODAtZXhwZWN0ZWQudHh0
CkBAIC0zLDE3ICszLDE3IEBAIFJlZ3Jlc2lvbiB0ZXN0IGZvciAxNTgwODAuIFRoaXMgdGVzdCBz
aG91bGQgcGFzcyBhbmQgbm90IGNyYXNoLgogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAK
LVBBU1MgbGV0IHIgPSAvXHV7fGFiYy91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52
YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSB7fSBlc2NhcGUuCi1QQVNT
IGxldCByID0gL1x1ey91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1
bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSB7fSBlc2NhcGUuCi1QQVNTIGxldCByID0g
L1x1ezEvdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHBy
ZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUge30gZXNjYXBlLgotUEFTUyBsZXQgciA9IC9cdXsxMi91
IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246
IGludmFsaWQgVW5pY29kZSB7fSBlc2NhcGUuCi1QQVNTIGxldCByID0gL1x1ezEyMy91IHRocmV3
IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFs
aWQgVW5pY29kZSB7fSBlc2NhcGUuCi1QQVNTIGxldCByID0gL1x1ezEyMzQvdSB0aHJldyBleGNl
cHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVu
aWNvZGUge30gZXNjYXBlLgotUEFTUyBsZXQgciA9IC9cdXthYmNkZS91IHRocmV3IGV4Y2VwdGlv
biBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29k
ZSB7fSBlc2NhcGUuCi1QQVNTIGxldCByID0gL1x1e2FiY2RlZi91IHRocmV3IGV4Y2VwdGlvbiBT
eW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSB7
fSBlc2NhcGUuCi1QQVNTIGxldCByID0gL1x1ezExMTExMTF9L3UgdGhyZXcgZXhjZXB0aW9uIFN5
bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIHt9
IGVzY2FwZS4KLVBBU1MgbGV0IHIgPSAvXHV7ZmVkYmNhOTh9L3UgdGhyZXcgZXhjZXB0aW9uIFN5
bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIHt9
IGVzY2FwZS4KLVBBU1MgbGV0IHIgPSAvXHV7MXsxMjN9fS91IHRocmV3IGV4Y2VwdGlvbiBTeW50
YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSB7fSBl
c2NhcGUuCitQQVNTIGxldCByID0gL1x1e3xhYmMvdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJy
b3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUgY29kZSBwb2lu
dCBcdXt9IGVzY2FwZS4KK1BBU1MgbGV0IHIgPSAvXHV7L3UgdGhyZXcgZXhjZXB0aW9uIFN5bnRh
eEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIGNvZGUg
cG9pbnQgXHV7fSBlc2NhcGUuCitQQVNTIGxldCByID0gL1x1ezEvdSB0aHJldyBleGNlcHRpb24g
U3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUg
Y29kZSBwb2ludCBcdXt9IGVzY2FwZS4KK1BBU1MgbGV0IHIgPSAvXHV7MTIvdSB0aHJldyBleGNl
cHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVu
aWNvZGUgY29kZSBwb2ludCBcdXt9IGVzY2FwZS4KK1BBU1MgbGV0IHIgPSAvXHV7MTIzL3UgdGhy
ZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52
YWxpZCBVbmljb2RlIGNvZGUgcG9pbnQgXHV7fSBlc2NhcGUuCitQQVNTIGxldCByID0gL1x1ezEy
MzQvdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNz
aW9uOiBpbnZhbGlkIFVuaWNvZGUgY29kZSBwb2ludCBcdXt9IGVzY2FwZS4KK1BBU1MgbGV0IHIg
PSAvXHV7YWJjZGUvdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxh
ciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUgY29kZSBwb2ludCBcdXt9IGVzY2FwZS4KK1BB
U1MgbGV0IHIgPSAvXHV7YWJjZGVmL3UgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZh
bGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIGNvZGUgcG9pbnQgXHV7fSBl
c2NhcGUuCitQQVNTIGxldCByID0gL1x1ezExMTExMTF9L3UgdGhyZXcgZXhjZXB0aW9uIFN5bnRh
eEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIGNvZGUg
cG9pbnQgXHV7fSBlc2NhcGUuCitQQVNTIGxldCByID0gL1x1e2ZlZGJjYTk4fS91IHRocmV3IGV4
Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQg
VW5pY29kZSBjb2RlIHBvaW50IFx1e30gZXNjYXBlLgorUEFTUyBsZXQgciA9IC9cdXsxezEyM319
L3UgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lv
bjogaW52YWxpZCBVbmljb2RlIGNvZGUgcG9pbnQgXHV7fSBlc2NhcGUuCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2pzL3NjcmlwdC10ZXN0cy9yZWdleHAtbmFtZWQtY2FwdHVyZS1ncm91cHMuanMgYi9MYXlv
dXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvcmVnZXhwLW5hbWVkLWNhcHR1cmUtZ3JvdXBzLmpzCmlu
ZGV4IDFlZWE2ZGU3NjUyMTUwODExYmVmYmZmNGJkY2Q0ODVjYzc5MTgyYTYuLmE2NTY3ZDFmNTI1
ZDJmYmMzZjVlN2VkNWYyNjlmZGFkODVhNmQzZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pz
L3NjcmlwdC10ZXN0cy9yZWdleHAtbmFtZWQtY2FwdHVyZS1ncm91cHMuanMKKysrIGIvTGF5b3V0
VGVzdHMvanMvc2NyaXB0LXRlc3RzL3JlZ2V4cC1uYW1lZC1jYXB0dXJlLWdyb3Vwcy5qcwpAQCAt
MTA0LDYgKzEwNCwxMiBAQCBzaG91bGRUaHJvdygnbGV0IHIgPSBuZXcgUmVnRXhwKCIvKD88Z1x1
ezEwMTlifW91cE5hbWUxPmFiYykvdSIpJywgJyJTeW50YXhFcnJvcgogc2hvdWxkVGhyb3coJ2xl
dCByID0gbmV3IFJlZ0V4cCgiLyg/PFx1MjAwY2dyb3VwTmFtZTE+YWJjKS91IiknLCAnIlN5bnRh
eEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBncm91cCBzcGVjaWZp
ZXIgbmFtZSInKTsKIHNob3VsZFRocm93KCdsZXQgciA9IG5ldyBSZWdFeHAoIi8oPzxcdTIwMGRn
cm91cE5hbWUxPmFiYykvdSIpJywgJyJTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJl
c3Npb246IGludmFsaWQgZ3JvdXAgc3BlY2lmaWVyIG5hbWUiJyk7CiAKKy8vIENoZWNrIHRoYXQg
aW52YWxpZCBcdSBlc2NhcGUgZXJyb3JzIGFyZSBub3QgZ2V0IG92ZXJyaWRlbi4KK3Nob3VsZFRo
cm93KCcvKD88XFx1Pi4pL3UnLCAnIlN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVz
c2lvbjogaW52YWxpZCBVbmljb2RlIFxcXFx1IGVzY2FwZSInKTsKK3Nob3VsZFRocm93KCcvXFxr
PFxcdXp6ej4vdScsICciU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBp
bnZhbGlkIFVuaWNvZGUgXFxcXHUgZXNjYXBlIicpOworc2hvdWxkVGhyb3coJy8oPzxcXHV7Pi4p
L3UnLCAnIlN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBV
bmljb2RlIGNvZGUgcG9pbnQgXFxcXHV7fSBlc2NhcGUiJyk7CitzaG91bGRUaHJvdygnL1xcazxc
XHV7MD4vdScsICciU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZh
bGlkIFVuaWNvZGUgY29kZSBwb2ludCBcXFxcdXt9IGVzY2FwZSInKTsKKwogLy8gQ2hlY2sgdGhl
IG5hbWVkIGZvcndhcmQgcmVmZXJlbmNlcyB3b3JrCiBzaG91bGRCZSgnIlh6elh6eiIubWF0Y2go
L1xcXGs8ej5YKD88ej56KilYXFxcazx6Pi8pJywgJ1siWHp6WHp6IiwgInp6Il0nKTsKIHNob3Vs
ZEJlKCciWHp6WHp6Ii5tYXRjaCgvXFxcazx6PlgoPzx6PnoqKVhcXFxrPHo+L3UpJywgJ1siWHp6
WHp6IiwgInp6Il0nKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9y
ZWdleHAtdW5pY29kZS5qcyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9yZWdleHAtdW5p
Y29kZS5qcwppbmRleCA3MjIzYTRmZTM4M2ZiZGJlZGEyMWFlOWQwMmM4YmI1MTQ0NmYxMDQyLi43
MWRjZWMyYTliMWZiNWQ1NGY4M2NlZDcxODAxOWFkODgwNTM3YzUxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvcmVnZXhwLXVuaWNvZGUuanMKKysrIGIvTGF5b3V0VGVz
dHMvanMvc2NyaXB0LXRlc3RzL3JlZ2V4cC11bmljb2RlLmpzCkBAIC0yMjcsNyArMjI3LDcgQEAg
c2hvdWxkQmUoJyJ0aGlzIGlzIGJcYmEgdGVzdCIubWF0Y2goL2lzIGJcXGNoYSB0ZXN0L3UpWzBd
Lmxlbmd0aCcsICcxMScpOwogCiAvLyBDaGVjayB0aGF0IGludmFsaWQgdW5pY29kZSBwYXR0ZXJu
cyB0aHJvdyBleGNlcHRpb25zCiBzaG91bGRCZSgnbmV3IFJlZ0V4cCgiXFxcXC8iLCAidSIpLnNv
dXJjZScsICciXFxcXC8iJyk7Ci1zaG91bGRUaHJvdygnciA9IG5ldyBSZWdFeHAoIlxcXFx1ezEx
MDAwMH0iLCAidSIpJywgJyJTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246
IGludmFsaWQgVW5pY29kZSB7fSBlc2NhcGUiJyk7CitzaG91bGRUaHJvdygnciA9IG5ldyBSZWdF
eHAoIlxcXFx1ezExMDAwMH0iLCAidSIpJywgJyJTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFy
IGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBjb2RlIHBvaW50IFxcXFx1e30gZXNjYXBlIicp
Owogc2hvdWxkVGhyb3coJ3IgPSBuZXcgUmVnRXhwKCJcdXsxMDQwNX17MjE0NzQ4MzY0OH0iLCAi
dSIpJywgJyJTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IHBhdHRlcm4g
ZXhjZWVkcyBzdHJpbmcgbGVuZ3RoIGxpbWl0cyInKTsKIHNob3VsZFRocm93KCcvey91JywgJyJT
eW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGluY29tcGxldGUge30gcXVh
bnRpZmllciBmb3IgVW5pY29kZSBwYXR0ZXJuIicpOwogc2hvdWxkVGhyb3coJy9bYS1cXGRdL3Un
LCAnIlN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCByYW5n
ZSBpbiBjaGFyYWN0ZXIgY2xhc3MgZm9yIFVuaWNvZGUgcGF0dGVybiInKTsKQEAgLTI1MCwxMSAr
MjUwLDExIEBAIHNob3VsZFRocm93SW52YWxpZEVzY2FwZSgiW1xcXFxhXSIpOwogc2hvdWxkVGhy
b3dJbnZhbGlkRXNjYXBlKCJbXFxcXEJdIik7CiBzaG91bGRUaHJvd0ludmFsaWRFc2NhcGUoIlxc
XFx4Iik7CiBzaG91bGRUaHJvd0ludmFsaWRFc2NhcGUoIltcXFxceF0iKTsKLXNob3VsZFRocm93
SW52YWxpZEVzY2FwZSgiXFxcXHUiKTsKLXNob3VsZFRocm93SW52YWxpZEVzY2FwZSgiW1xcXFx1
XSIpOworc2hvdWxkVGhyb3dJbnZhbGlkRXNjYXBlKCJcXFxcdSIsICciU3ludGF4RXJyb3I6IElu
dmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUgXFxcXHUgZXNjYXBlIicp
Oworc2hvdWxkVGhyb3dJbnZhbGlkRXNjYXBlKCJbXFxcXHVdIiwgJyJTeW50YXhFcnJvcjogSW52
YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBcXFxcdSBlc2NhcGUiJyk7
CiAKLXNob3VsZFRocm93SW52YWxpZEVzY2FwZSgiXFxcXHV7IiwgJyJTeW50YXhFcnJvcjogSW52
YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSB7fSBlc2NhcGUiJyk7Ci1z
aG91bGRUaHJvd0ludmFsaWRFc2NhcGUoIlxcXFx1e1xcdWRlYWQiLCAnIlN5bnRheEVycm9yOiBJ
bnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIHt9IGVzY2FwZSInKTsK
K3Nob3VsZFRocm93SW52YWxpZEVzY2FwZSgiXFxcXHV7IiwgJyJTeW50YXhFcnJvcjogSW52YWxp
ZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBjb2RlIHBvaW50IFxcXFx1e30g
ZXNjYXBlIicpOworc2hvdWxkVGhyb3dJbnZhbGlkRXNjYXBlKCJcXFxcdXtcXHVkZWFkIiwgJyJT
eW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBj
b2RlIHBvaW50IFxcXFx1e30gZXNjYXBlIicpOwogCiAvLyBDaGVjayB0aGF0IGludmFsaWQgYmFj
a3JlZmVyZW5jZXMgaW4gdW5pY29kZSBwYXR0ZXJucyB0aHJvdyBleGNlcHRpb25zLgogc2hvdWxk
VGhyb3coYC9cXDEvdWApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3Rz
L0NoYW5nZUxvZwppbmRleCAyNTAyYjgyN2UxYmYxODhhMzYzNTRmNmE0NzY3NmFkMDViYjRjYzkw
Li5lZDNkZTdmMGMwYTVjYjdlMjdlMzA1MWM2YWU0NTBmYjgzMDM5YjNhIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBA
CisyMDIwLTAzLTI2ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKwor
ICAgICAgICBBZGQgc3VwcG9ydCBpbiBuYW1lZCBjYXB0dXJlIGdyb3VwIGlkZW50aWZpZXJzIGZv
ciBkaXJlY3Qgc3Vycm9nYXRlIHBhaXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzgxNzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHRlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWw6IE1hcmsgMiB0ZXN0
IGNhc2VzIGFzIHBhc3NpbmcuCisKIDIwMjAtMDMtMjUgIEFsZXhleSBTaHZheWthICA8c2h2YWlr
YWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFJlZ0V4cC5wcm90b3R5cGVbQEByZXBsYWNlXSBy
ZWxpZXMgb24gZ2xvYmFscyBhbmQgZG9lc24ndCBwZXJmb3JtIFRvTGVuZ3RoCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwgYi9KU1Rlc3RzL3Rlc3QyNjIvZXhw
ZWN0YXRpb25zLnlhbWwKaW5kZXggYzZlYzI1ZTkxMjYwNGM2ODE2MzAxNDA0OTFhZjBhYTZlNWI1
ZTQyZC4uMmNiZmZmYjU2ZWZiZWQ5ODM2M2FkYTVhOTUwZWI3MjRlNWI5NmIwNSAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi9leHBlY3RhdGlvbnMueWFtbApAQCAtMTI1Miw5ICsxMjUyLDYgQEAgdGVzdC9idWlsdC1pbnMv
UHJveHkvc2V0L3RyYXAtaXMtdW5kZWZpbmVkLXRhcmdldC1pcy1wcm94eS5qczoKIHRlc3QvYnVp
bHQtaW5zL1JlZmxlY3Qvb3duS2V5cy9vcmRlci1hZnRlci1kZWZpbmUtcHJvcGVydHkuanM6CiAg
IGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFtTeW1ib2woYiksIFN5bWJvbChhKV0g
YW5kIFtTeW1ib2woYSksIFN5bWJvbChiKV0gdG8gaGF2ZSB0aGUgc2FtZSBjb250ZW50cy4gJwog
ICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgW1N5bWJvbChiKSwgU3ltYm9s
KGEpXSBhbmQgW1N5bWJvbChhKSwgU3ltYm9sKGIpXSB0byBoYXZlIHRoZSBzYW1lIGNvbnRlbnRz
LiAnCi10ZXN0L2J1aWx0LWlucy9SZWdFeHAvbmFtZWQtZ3JvdXBzL3VuaWNvZGUtcHJvcGVydHkt
bmFtZXMuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJl
c3Npb246IGludmFsaWQgZ3JvdXAgc3BlY2lmaWVyIG5hbWUnCi0gIHN0cmljdCBtb2RlOiAnU3lu
dGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIGdyb3VwIHNwZWNp
ZmllciBuYW1lJwogdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3BlcnR5LWVzY2FwZXMvZ2VuZXJh
dGVkL0FscGhhYmV0aWMuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IGBccHtBbHBoYWJl
dGljfWAgc2hvdWxkIG1hdGNoIFUrMDAxQ0ZBIChg4bO6YCknCiAgIHN0cmljdCBtb2RlOiAnVGVz
dDI2MkVycm9yOiBgXHB7QWxwaGFiZXRpY31gIHNob3VsZCBtYXRjaCBVKzAwMUNGQSAoYOGzumAp
Jwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394770</attachid>
            <date>2020-03-27 16:52:52 -0700</date>
            <delta_ts>2020-03-30 17:31:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178174-20200328015250.patch</filename>
            <type>text/plain</type>
            <size>25104</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
YzMyYzQ4M2M0ZTkwOWQ0MjBkN2U1MzI1OGE2NjQ2OWIzY2U1NTE0Li42NzIwMGRlODhhOGFmYzE3
ZWRjYWIxYmEwOTg4ZTc1NDY5ODdlNDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOCBAQAorMjAyMC0wMy0yNyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFp
bC5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgaW4gbmFtZWQgY2FwdHVyZSBncm91cCBpZGVu
dGlmaWVycyBmb3IgZGlyZWN0IHN1cnJvZ2F0ZSBwYWlycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIgYW5kIE1pY2hhZWwgU2Fib2ZmLgorCisgICAgICAgIFRoaXMgY2hhbmdlOgor
CisgICAgICAgIGEpIEFkZHMgc3VwcG9ydCBmb3IgdW5lc2NhcGVkIGFzdHJhbCBzeW1ib2xzIGlu
IFJlZ0V4cCBpZGVudGlmaWVyIG5hbWVzIFsxXSwKKyAgICAgICAgICAgYWxpZ25pbmcgSlNDIHdp
dGggVjguCisKKyAgICAgICAgYikgUmV3b3JkcyBJbnZhbGlkVW5pY29kZUVzY2FwZSBlcnJvciBj
b2RlIHRvIGJlIHVzZWQgZm9yIFx1WFhYWCBlc2NhcGVzIGluCisgICAgICAgICAgIFVuaWNvZGUg
cGF0dGVybnMgYW5kIG5hbWVkIGdyb3Vwcy9yZWZlcmVuY2VzIGluc3RlYWQgb2YgSW52YWxpZElk
ZW50aXR5RXNjYXBlLAorICAgICAgICAgICBtYXRjaGluZyBlcnJvciBtZXNzYWdlcyBpbiBWOCBh
bmQgU3BpZGVyTW9ua2V5LgorCisgICAgICAgIGMpIEFkZHMgaGFzRXJyb3IoKSBjaGVja3MgYWZ0
ZXIgdHJ5Q29uc3VtZUdyb3VwTmFtZSgpIHNvIGVycm9ycyBnZW5lcmF0ZWQgaW4KKyAgICAgICAg
ICAgdHJ5Q29uc3VtZUlkZW50aWZpZXJDaGFyYWN0ZXIoKSB3b3VsZCBub3QgZ2V0IG92ZXJyaWRl
bi4KKworICAgICAgICBkKSBSZW1vdmVzIGNvZGUgZHVwbGljYXRpb24gYnkgdXNpbmcgdHJ5Q29u
c3VtZVVuaWNvZGVFc2NhcGUoKSBmb3IgcGFyc2luZyBcdQorICAgICAgICAgICBpbiBwYXJzZUVz
Y2FwZSgpOyBjbGVhbnMgdXAgcGFyc2luZyBcdXt9IGVzY2FwZXMgYSBiaXQsIHByZWZlcnJpbmcg
QVNTRVJUcworICAgICAgICAgICBvdmVyIGhhc0Vycm9yKCkgY2hlY2tzLgorCisgICAgICAgIFsx
XTogaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtUmVnRXhwSWRlbnRpZmllck5hbWUKKwor
ICAgICAgICAqIHlhcnIvWWFyckVycm9yQ29kZS5jcHA6CisgICAgICAgIChKU0M6OllhcnI6OmVy
cm9yTWVzc2FnZSk6CisgICAgICAgIChKU0M6OllhcnI6OmVycm9yVG9UaHJvdyk6CisgICAgICAg
ICogeWFyci9ZYXJyRXJyb3JDb2RlLmg6CisgICAgICAgICogeWFyci9ZYXJyUGFyc2VyLmg6Cisg
ICAgICAgIChKU0M6OllhcnI6OlBhcnNlcjo6cGFyc2VFc2NhcGUpOgorICAgICAgICAoSlNDOjpZ
YXJyOjpQYXJzZXI6OnBhcnNlUGFyZW50aGVzZXNCZWdpbik6CisgICAgICAgIChKU0M6OllhcnI6
OlBhcnNlcjo6dHJ5Q29uc3VtZVVuaWNvZGVFc2NhcGUpOgorICAgICAgICAoSlNDOjpZYXJyOjpQ
YXJzZXI6OnRyeUNvbnN1bWVJZGVudGlmaWVyQ2hhcmFjdGVyKToKKwogMjAyMC0wMy0yNiAgUm9z
cyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CiAKICAgICAgICAgW0pTQ10gUmVu
YW1lIEFOREVRVUFMIHRvIEJJVEFOREVRVUFMIChldGMuKSB0aHJvdWdob3V0IGZyb250ZW5kCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyRXJyb3JDb2RlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJFcnJvckNvZGUuY3BwCmluZGV4IDM0MjVk
MTMxOGZjNTFhN2U3NThiNTRjNTI2MDAwNTdlZjdjMGU5ZjAuLmM4NjkyOTgyN2UxZDhiNWUwZTQ5
NTBmZWY2MGQ5YjQ5NDcyNTJkZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95
YXJyL1lhcnJFcnJvckNvZGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lh
cnJFcnJvckNvZGUuY3BwCkBAIC01MSw3ICs1MSw4IEBAIGNvbnN0IGNoYXIqIGVycm9yTWVzc2Fn
ZShFcnJvckNvZGUgZXJyb3IpCiAgICAgICAgIFJFR0VYUF9FUlJPUl9QUkVGSVggInJhbmdlIG91
dCBvZiBvcmRlciBpbiBjaGFyYWN0ZXIgY2xhc3MiLCAgICAgICAgICAgICAgICAvLyBDaGFyYWN0
ZXJDbGFzc1JhbmdlT3V0T2ZPcmRlcgogICAgICAgICBSRUdFWFBfRVJST1JfUFJFRklYICJpbnZh
bGlkIHJhbmdlIGluIGNoYXJhY3RlciBjbGFzcyBmb3IgVW5pY29kZSBwYXR0ZXJuIiwgLy8gQ2hh
cmFjdGVyQ2xhc3NSYW5nZUludmFsaWQKICAgICAgICAgUkVHRVhQX0VSUk9SX1BSRUZJWCAiXFwg
YXQgZW5kIG9mIHBhdHRlcm4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVz
Y2FwZVVudGVybWluYXRlZAotICAgICAgICBSRUdFWFBfRVJST1JfUFJFRklYICJpbnZhbGlkIFVu
aWNvZGUge30gZXNjYXBlIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW52YWxpZFVu
aWNvZGVFc2NhcGUKKyAgICAgICAgUkVHRVhQX0VSUk9SX1BSRUZJWCAiaW52YWxpZCBVbmljb2Rl
IFxcdSBlc2NhcGUiLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEludmFsaWRVbmljb2Rl
RXNjYXBlCisgICAgICAgIFJFR0VYUF9FUlJPUl9QUkVGSVggImludmFsaWQgVW5pY29kZSBjb2Rl
IHBvaW50IFxcdXt9IGVzY2FwZSIsICAgICAgICAgICAgICAvLyBJbnZhbGlkVW5pY29kZUNvZGVQ
b2ludEVzY2FwZQogICAgICAgICBSRUdFWFBfRVJST1JfUFJFRklYICJpbnZhbGlkIGJhY2tyZWZl
cmVuY2UgZm9yIFVuaWNvZGUgcGF0dGVybiIsICAgICAgICAgICAgLy8gSW52YWxpZEJhY2tyZWZl
cmVuY2UKICAgICAgICAgUkVHRVhQX0VSUk9SX1BSRUZJWCAiaW52YWxpZCBcXGs8PiBuYW1lZCBi
YWNrcmVmZXJlbmNlIiwgICAgICAgICAgICAgICAgICAgIC8vIEludmFsaWROYW1lZEJhY2tSZWZl
cmVuY2UKICAgICAgICAgUkVHRVhQX0VSUk9SX1BSRUZJWCAiaW52YWxpZCBlc2NhcGVkIGNoYXJh
Y3RlciBmb3IgVW5pY29kZSBwYXR0ZXJuIiwgICAgICAgIC8vIEludmFsaWRJZGVudGl0eUVzY2Fw
ZQpAQCAtODcsNiArODgsNyBAQCBKU09iamVjdCogZXJyb3JUb1Rocm93KEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEVycm9yQ29kZSBlcnJvcikKICAgICBjYXNlIEVycm9yQ29kZTo6Q2hh
cmFjdGVyQ2xhc3NSYW5nZUludmFsaWQ6CiAgICAgY2FzZSBFcnJvckNvZGU6OkVzY2FwZVVudGVy
bWluYXRlZDoKICAgICBjYXNlIEVycm9yQ29kZTo6SW52YWxpZFVuaWNvZGVFc2NhcGU6CisgICAg
Y2FzZSBFcnJvckNvZGU6OkludmFsaWRVbmljb2RlQ29kZVBvaW50RXNjYXBlOgogICAgIGNhc2Ug
RXJyb3JDb2RlOjpJbnZhbGlkQmFja3JlZmVyZW5jZToKICAgICBjYXNlIEVycm9yQ29kZTo6SW52
YWxpZE5hbWVkQmFja1JlZmVyZW5jZToKICAgICBjYXNlIEVycm9yQ29kZTo6SW52YWxpZElkZW50
aXR5RXNjYXBlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckVy
cm9yQ29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckVycm9yQ29kZS5oCmlu
ZGV4IDFjYjBkYmY4MGFiMWM0NWNjMGU4ZGYyYjE4YTZkMjkzZGE1YjgxODkuLjJkODk1ODhjZjlk
YzBjMzU4ZDE5YmFiZDk3MjYwNDk1ZjQ3YWJjMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS95YXJyL1lhcnJFcnJvckNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
eWFyci9ZYXJyRXJyb3JDb2RlLmgKQEAgLTUxLDYgKzUxLDcgQEAgZW51bSBjbGFzcyBFcnJvckNv
ZGUgOiB1aW50OF90IHsKICAgICBDaGFyYWN0ZXJDbGFzc1JhbmdlSW52YWxpZCwKICAgICBFc2Nh
cGVVbnRlcm1pbmF0ZWQsCiAgICAgSW52YWxpZFVuaWNvZGVFc2NhcGUsCisgICAgSW52YWxpZFVu
aWNvZGVDb2RlUG9pbnRFc2NhcGUsCiAgICAgSW52YWxpZEJhY2tyZWZlcmVuY2UsCiAgICAgSW52
YWxpZE5hbWVkQmFja1JlZmVyZW5jZSwKICAgICBJbnZhbGlkSWRlbnRpdHlFc2NhcGUsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGFyc2VyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGFyc2VyLmgKaW5kZXggMzAwOTJiYTg4ZDU0MTQ3ZGMy
NjQyODNhYTQ4MzJmZGUyZGU2MWIwZS4uYjJjODVkMDJlMDk0YmI1Njk4N2FmNTljNDY0MDA2ODE1
MDcwYWUzMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhcnNl
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXJzZXIuaApAQCAtNDM4
LDYgKzQzOCw5IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBQYXJzZVN0YXRlIHN0YXRlID0gc2F2
ZVN0YXRlKCk7CiAgICAgICAgICAgICBpZiAoIWluQ2hhcmFjdGVyQ2xhc3MgJiYgdHJ5Q29uc3Vt
ZSgnPCcpKSB7CiAgICAgICAgICAgICAgICAgYXV0byBncm91cE5hbWUgPSB0cnlDb25zdW1lR3Jv
dXBOYW1lKCk7CisgICAgICAgICAgICAgICAgaWYgKGhhc0Vycm9yKG1fZXJyb3JDb2RlKSkKKyAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAgICAgICAgICBpZiAoZ3JvdXBOYW1l
KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChtX2NhcHR1cmVHcm91cE5hbWVzLmNvbnRhaW5z
KGdyb3VwTmFtZS52YWx1ZSgpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgZGVsZWdhdGUu
YXRvbU5hbWVkQmFja1JlZmVyZW5jZShncm91cE5hbWUudmFsdWUoKSk7CkBAIC00ODcsNjQgKzQ5
MCwxMSBAQCBwcml2YXRlOgogCiAgICAgICAgIC8vIFVuaWNvZGVFc2NhcGUKICAgICAgICAgY2Fz
ZSAndSc6IHsKLSAgICAgICAgICAgIGNvbnN1bWUoKTsKLSAgICAgICAgICAgIGlmIChhdEVuZE9m
UGF0dGVybigpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGlzSWRlbnRpdHlFc2NhcGVBbkVycm9y
KCd1JykpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICAgICAgZGVs
ZWdhdGUuYXRvbVBhdHRlcm5DaGFyYWN0ZXIoJ3UnKTsKLSAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKG1faXNVbmljb2RlICYmIHBlZWsoKSA9
PSAneycpIHsKLSAgICAgICAgICAgICAgICBjb25zdW1lKCk7Ci0gICAgICAgICAgICAgICAgVUNo
YXIzMiBjb2RlUG9pbnQgPSAwOwotICAgICAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKGF0RW5kT2ZQYXR0ZXJuKCkgfHwgIWlzQVNDSUlIZXhEaWdpdChwZWVrKCkpKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX2Vycm9yQ29kZSA9IEVycm9yQ29kZTo6SW52YWxp
ZFVuaWNvZGVFc2NhcGU7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgICAgIGNvZGVQb2ludCA9IChjb2RlUG9p
bnQgPDwgNCkgfCB0b0FTQ0lJSGV4VmFsdWUoY29uc3VtZSgpKTsKLQotICAgICAgICAgICAgICAg
ICAgICBpZiAoY29kZVBvaW50ID4gVUNIQVJfTUFYX1ZBTFVFKQotICAgICAgICAgICAgICAgICAg
ICAgICAgbV9lcnJvckNvZGUgPSBFcnJvckNvZGU6OkludmFsaWRVbmljb2RlRXNjYXBlOwotICAg
ICAgICAgICAgICAgIH0gd2hpbGUgKCFhdEVuZE9mUGF0dGVybigpICYmIHBlZWsoKSAhPSAnfScp
OwotICAgICAgICAgICAgICAgIGlmICghYXRFbmRPZlBhdHRlcm4oKSAmJiBwZWVrKCkgPT0gJ30n
KQotICAgICAgICAgICAgICAgICAgICBjb25zdW1lKCk7Ci0gICAgICAgICAgICAgICAgZWxzZSBp
ZiAoIWhhc0Vycm9yKG1fZXJyb3JDb2RlKSkKLSAgICAgICAgICAgICAgICAgICAgbV9lcnJvckNv
ZGUgPSBFcnJvckNvZGU6OkludmFsaWRVbmljb2RlRXNjYXBlOwotICAgICAgICAgICAgICAgIGlm
IChoYXNFcnJvcihtX2Vycm9yQ29kZSkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgICAgICAgICAgICAgIGRlbGVnYXRlLmF0b21QYXR0ZXJuQ2hhcmFjdGVyKGNvZGVQ
b2ludCk7CisgICAgICAgICAgICBpbnQgY29kZVBvaW50ID0gdHJ5Q29uc3VtZVVuaWNvZGVFc2Nh
cGU8ZmFsc2U+KCk7CisgICAgICAgICAgICBpZiAoaGFzRXJyb3IobV9lcnJvckNvZGUpKQogICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaW50IHUgPSB0
cnlDb25zdW1lSGV4KDQpOwotICAgICAgICAgICAgaWYgKHUgPT0gLTEpIHsKLSAgICAgICAgICAg
ICAgICBpZiAoaXNJZGVudGl0eUVzY2FwZUFuRXJyb3IoJ3UnKSkKLSAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0KLSAgICAgICAgICAgICAgICBkZWxlZ2F0ZS5hdG9tUGF0dGVybkNoYXJhY3Rl
cigndScpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBJZiB3ZSBo
YXZlIHRoZSBmaXJzdCBvZiBhIHN1cnJvZ2F0ZSBwYWlyLCBsb29rIGZvciB0aGUgc2Vjb25kLgot
ICAgICAgICAgICAgICAgIGlmIChVMTZfSVNfTEVBRCh1KSAmJiBtX2lzVW5pY29kZSAmJiAocGF0
dGVyblJlbWFpbmluZygpID49IDYpICYmIHBlZWsoKSA9PSAnXFwnKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIFBhcnNlU3RhdGUgc3RhdGUgPSBzYXZlU3RhdGUoKTsKLSAgICAgICAgICAgICAgICAg
ICAgY29uc3VtZSgpOwotICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAg
aWYgKHRyeUNvbnN1bWUoJ3UnKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN1cnJv
Z2F0ZTIgPSB0cnlDb25zdW1lSGV4KDQpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFUx
Nl9JU19UUkFJTChzdXJyb2dhdGUyKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUg
PSBVMTZfR0VUX1NVUFBMRU1FTlRBUlkodSwgc3Vycm9nYXRlMik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGVsZWdhdGUuYXRvbVBhdHRlcm5DaGFyYWN0ZXIodSk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgICAgICByZXN0b3JlU3RhdGUoc3Rh
dGUpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBkZWxlZ2F0ZS5hdG9tUGF0
dGVybkNoYXJhY3Rlcih1KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGRlbGVnYXRlLmF0
b21QYXR0ZXJuQ2hhcmFjdGVyKGNvZGVQb2ludCA9PSAtMSA/ICd1JyA6IGNvZGVQb2ludCk7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCkBAIC02NzIsNiArNjIyLDkgQEAgcHJpdmF0
ZToKIAogICAgICAgICAgICAgY2FzZSAnPCc6IHsKICAgICAgICAgICAgICAgICBhdXRvIGdyb3Vw
TmFtZSA9IHRyeUNvbnN1bWVHcm91cE5hbWUoKTsKKyAgICAgICAgICAgICAgICBpZiAoaGFzRXJy
b3IobV9lcnJvckNvZGUpKQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKwogICAgICAgICAg
ICAgICAgIGlmIChncm91cE5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKG1fa0lkZW50
aXR5RXNjYXBlU2VlbikgewogICAgICAgICAgICAgICAgICAgICAgICAgbV9lcnJvckNvZGUgPSBF
cnJvckNvZGU6OkludmFsaWROYW1lZEJhY2tSZWZlcmVuY2U7CkBAIC0xMDA5LDcwICs5NjIsNzEg
QEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIHBlZWsoKSAtICcwJzsKICAgICB9CiAKKyAgICB0
ZW1wbGF0ZTxib29sIGluR3JvdXBOYW1lPgogICAgIGludCB0cnlDb25zdW1lVW5pY29kZUVzY2Fw
ZSgpCiAgICAgewotICAgICAgICBpZiAoIXRyeUNvbnN1bWUoJ3UnKSkKKyAgICAgICAgQVNTRVJU
KCFoYXNFcnJvcihtX2Vycm9yQ29kZSkpOworCisgICAgICAgIGlmICghdHJ5Q29uc3VtZSgndScp
IHx8IGF0RW5kT2ZQYXR0ZXJuKCkpIHsKKyAgICAgICAgICAgIGlmIChtX2lzVW5pY29kZSB8fCBp
bkdyb3VwTmFtZSkKKyAgICAgICAgICAgICAgICBtX2Vycm9yQ29kZSA9IEVycm9yQ29kZTo6SW52
YWxpZFVuaWNvZGVFc2NhcGU7CiAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KIAog
ICAgICAgICBpZiAobV9pc1VuaWNvZGUgJiYgdHJ5Q29uc3VtZSgneycpKSB7CiAgICAgICAgICAg
ICBpbnQgY29kZVBvaW50ID0gMDsKICAgICAgICAgICAgIGRvIHsKICAgICAgICAgICAgICAgICBp
ZiAoYXRFbmRPZlBhdHRlcm4oKSB8fCAhaXNBU0NJSUhleERpZ2l0KHBlZWsoKSkpIHsKLSAgICAg
ICAgICAgICAgICAgICAgbV9lcnJvckNvZGUgPSBFcnJvckNvZGU6OkludmFsaWRVbmljb2RlRXNj
YXBlOworICAgICAgICAgICAgICAgICAgICBtX2Vycm9yQ29kZSA9IEVycm9yQ29kZTo6SW52YWxp
ZFVuaWNvZGVDb2RlUG9pbnRFc2NhcGU7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsK
ICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBjb2RlUG9pbnQgPSAoY29kZVBv
aW50IDw8IDQpIHwgdG9BU0NJSUhleFZhbHVlKGNvbnN1bWUoKSk7CiAKICAgICAgICAgICAgICAg
ICBpZiAoY29kZVBvaW50ID4gVUNIQVJfTUFYX1ZBTFVFKSB7Ci0gICAgICAgICAgICAgICAgICAg
IG1fZXJyb3JDb2RlID0gRXJyb3JDb2RlOjpJbnZhbGlkVW5pY29kZUVzY2FwZTsKKyAgICAgICAg
ICAgICAgICAgICAgbV9lcnJvckNvZGUgPSBFcnJvckNvZGU6OkludmFsaWRVbmljb2RlQ29kZVBv
aW50RXNjYXBlOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgfSB3aGlsZSAoIWF0RW5kT2ZQYXR0ZXJuKCkgJiYgcGVlaygpICE9
ICd9Jyk7Ci0gICAgICAgICAgICBpZiAoIWF0RW5kT2ZQYXR0ZXJuKCkgJiYgcGVlaygpID09ICd9
JykKLSAgICAgICAgICAgICAgICBjb25zdW1lKCk7Ci0gICAgICAgICAgICBlbHNlIGlmICghaGFz
RXJyb3IobV9lcnJvckNvZGUpKQotICAgICAgICAgICAgICAgIG1fZXJyb3JDb2RlID0gRXJyb3JD
b2RlOjpJbnZhbGlkVW5pY29kZUVzY2FwZTsKLSAgICAgICAgICAgIGlmIChoYXNFcnJvcihtX2Vy
cm9yQ29kZSkpCisKKyAgICAgICAgICAgIGlmICghdHJ5Q29uc3VtZSgnfScpKSB7CisgICAgICAg
ICAgICAgICAgbV9lcnJvckNvZGUgPSBFcnJvckNvZGU6OkludmFsaWRVbmljb2RlQ29kZVBvaW50
RXNjYXBlOyAKICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICB9CiAKICAg
ICAgICAgICAgIHJldHVybiBjb2RlUG9pbnQ7CiAgICAgICAgIH0KIAotICAgICAgICBpbnQgdSA9
IHRyeUNvbnN1bWVIZXgoNCk7Ci0gICAgICAgIGlmICh1ID09IC0xKQorICAgICAgICBpbnQgY29k
ZVVuaXQgPSB0cnlDb25zdW1lSGV4KDQpOworICAgICAgICBpZiAoY29kZVVuaXQgPT0gLTEpIHsK
KyAgICAgICAgICAgIGlmIChtX2lzVW5pY29kZSB8fCBpbkdyb3VwTmFtZSkKKyAgICAgICAgICAg
ICAgICBtX2Vycm9yQ29kZSA9IEVycm9yQ29kZTo6SW52YWxpZFVuaWNvZGVFc2NhcGU7CiAgICAg
ICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KIAogICAgICAgICAvLyBJZiB3ZSBoYXZlIHRo
ZSBmaXJzdCBvZiBhIHN1cnJvZ2F0ZSBwYWlyLCBsb29rIGZvciB0aGUgc2Vjb25kLgotICAgICAg
ICBpZiAoVTE2X0lTX0xFQUQodSkgJiYgbV9pc1VuaWNvZGUgJiYgKHBhdHRlcm5SZW1haW5pbmco
KSA+PSA2KSAmJiBwZWVrKCkgPT0gJ1xcJykgeworICAgICAgICBpZiAoVTE2X0lTX0xFQUQoY29k
ZVVuaXQpICYmIG1faXNVbmljb2RlICYmIHBhdHRlcm5SZW1haW5pbmcoKSA+PSA2ICYmIHBlZWso
KSA9PSAnXFwnKSB7CiAgICAgICAgICAgICBQYXJzZVN0YXRlIHN0YXRlID0gc2F2ZVN0YXRlKCk7
CiAgICAgICAgICAgICBjb25zdW1lKCk7CiAKICAgICAgICAgICAgIGlmICh0cnlDb25zdW1lKCd1
JykpIHsKICAgICAgICAgICAgICAgICBpbnQgc3Vycm9nYXRlMiA9IHRyeUNvbnN1bWVIZXgoNCk7
Ci0gICAgICAgICAgICAgICAgaWYgKFUxNl9JU19UUkFJTChzdXJyb2dhdGUyKSkgewotICAgICAg
ICAgICAgICAgICAgICB1ID0gVTE2X0dFVF9TVVBQTEVNRU5UQVJZKHUsIHN1cnJvZ2F0ZTIpOwot
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gdTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgaWYgKFUxNl9JU19UUkFJTChzdXJyb2dhdGUyKSkKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIFUxNl9HRVRfU1VQUExFTUVOVEFSWShjb2RlVW5pdCwgc3Vycm9nYXRlMik7CiAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHJlc3RvcmVTdGF0ZShzdGF0ZSk7CiAgICAgICAg
IH0KIAotICAgICAgICByZXR1cm4gdTsKKyAgICAgICAgcmV0dXJuIGNvZGVVbml0OwogICAgIH0K
IAogICAgIGludCB0cnlDb25zdW1lSWRlbnRpZmllckNoYXJhY3RlcigpCiAgICAgewotICAgICAg
ICBpbnQgY2ggPSBwZWVrKCk7CisgICAgICAgIGlmICh0cnlDb25zdW1lKCdcXCcpKQorICAgICAg
ICAgICAgcmV0dXJuIHRyeUNvbnN1bWVVbmljb2RlRXNjYXBlPHRydWU+KCk7CiAKLSAgICAgICAg
aWYgKGNoID09ICdcXCcpIHsKLSAgICAgICAgICAgIGNvbnN1bWUoKTsKLSAgICAgICAgICAgIGNo
ID0gdHJ5Q29uc3VtZVVuaWNvZGVFc2NhcGUoKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICBjb25zdW1lKCk7Ci0KLSAgICAgICAgcmV0dXJuIGNoOworICAgICAgICByZXR1cm4gY29uc3Vt
ZVBvc3NpYmxlU3Vycm9nYXRlUGFpcigpOwogICAgIH0KIAogICAgIGJvb2wgaXNJZGVudGlmaWVy
U3RhcnQoaW50IGNoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ4N2FlM2FhMzcyZTdlYmNlYjVhZWE4YzkyNTE0MDMxYjA3
ZjM0ZGQuLjkwY2VhM2NlMzk1NTI5ZWFiYTMyYzFlZjM1YzEwNmQ5OGU0NmM0YWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOSBAQAorMjAyMC0wMy0yNyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBn
bWFpbC5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgaW4gbmFtZWQgY2FwdHVyZSBncm91cCBp
ZGVudGlmaWVycyBmb3IgZGlyZWN0IHN1cnJvZ2F0ZSBwYWlycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MTc0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIgYW5kIE1pY2hhZWwgU2Fib2ZmLgorCisgICAgICAgIEFkanVzdGVkIHRl
c3RzIGZvciBlcnJvciBtZXNzYWdlcyBjaGFuZ2VzIGFuZCBhZGRlZCBjb3ZlcmFnZSBmb3IgbWVz
c2FnZXMKKyAgICAgICAgb2Ygc3ludGF4IGVycm9ycyBkdWUgdG8gaW52YWxpZCBcdSBlc2NhcGVz
IGluc2lkZSBuYW1lZCBncm91cHMvcmVmZXJlbmNlcy4KKworICAgICAgICAqIGpzL3JlZ2V4cC1u
YW1lZC1jYXB0dXJlLWdyb3Vwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMvcmVnZXhwLXVu
aWNvZGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGpzL3JlZ3Jlc3MtMTU4MDgwLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBqcy9zY3JpcHQtdGVzdHMvcmVnZXhwLW5hbWVkLWNhcHR1cmUtZ3Jv
dXBzLmpzOgorICAgICAgICAqIGpzL3NjcmlwdC10ZXN0cy9yZWdleHAtdW5pY29kZS5qczoKKwog
MjAyMC0wMy0yNiAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZWZhY3RvciBZQVJSIFN0YWNrIE92ZXJmbG93IENoZWNrcwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvanMvcmVnZXhwLW5hbWVkLWNhcHR1cmUtZ3JvdXBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2pzL3JlZ2V4cC1uYW1lZC1jYXB0dXJlLWdyb3Vwcy1leHBlY3RlZC50eHQKaW5kZXgg
ZDMyMDM2MzViNWE3NjU4YjdmMjdkNDQ0OGU2YmRkNzdhMjM5ZWM4Yi4uZGExMzFiMmU3NGYyOWQy
OTE2ZmI1N2JiZmZkYTYwYjU5MjYxMTZkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvcmVn
ZXhwLW5hbWVkLWNhcHR1cmUtZ3JvdXBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9q
cy9yZWdleHAtbmFtZWQtY2FwdHVyZS1ncm91cHMtZXhwZWN0ZWQudHh0CkBAIC02MSw2ICs2MSwx
MCBAQCBQQVNTIGxldCByID0gbmV3IFJlZ0V4cCgiLyg/PPCQhpBncm91cE5hbWUxPmFiYykvdSIp
IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcgogUEFTUyBsZXQgciA9IG5ldyBSZWdFeHAoIi8o
Pzxn8JCGm291cE5hbWUxPmFiYykvdSIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52
YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgZ3JvdXAgc3BlY2lmaWVyIG5hbWUuCiBQ
QVNTIGxldCByID0gbmV3IFJlZ0V4cCgiLyg/POKAjGdyb3VwTmFtZTE+YWJjKS91IikgdGhyZXcg
ZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxp
ZCBncm91cCBzcGVjaWZpZXIgbmFtZS4KIFBBU1MgbGV0IHIgPSBuZXcgUmVnRXhwKCIvKD884oCN
Z3JvdXBOYW1lMT5hYmMpL3UiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQg
cmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIGdyb3VwIHNwZWNpZmllciBuYW1lLgorUEFTUyAv
KD88XHU+LikvdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBl
eHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUgXHUgZXNjYXBlLgorUEFTUyAvXGs8XHV6eno+L3Ug
dGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjog
aW52YWxpZCBVbmljb2RlIFx1IGVzY2FwZS4KK1BBU1MgLyg/PFx1ez4uKS91IHRocmV3IGV4Y2Vw
dGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5p
Y29kZSBjb2RlIHBvaW50IFx1e30gZXNjYXBlLgorUEFTUyAvXGs8XHV7MD4vdSB0aHJldyBleGNl
cHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVu
aWNvZGUgY29kZSBwb2ludCBcdXt9IGVzY2FwZS4KIFBBU1MgIlh6elh6eiIubWF0Y2goL1xrPHo+
WCg/PHo+eiopWFxrPHo+LykgaXMgWyJYenpYenoiLCAienoiXQogUEFTUyAiWHp6WHp6Ii5tYXRj
aCgvXGs8ej5YKD88ej56KilYXGs8ej4vdSkgaXMgWyJYenpYenoiLCAienoiXQogUEFTUyAiMTEy
MjMzMjIxMSIubWF0Y2goL1xrPG9uZXM+XGs8dHdvcz5cazx0aHJlZXM+KD88b25lcz4xKikoPzx0
d29zPjIqKSg/PHRocmVlcz4zKilcazx0aHJlZXM+XGs8dHdvcz5cazxvbmVzPi8pIGlzIFsiMTEy
MjMzMjIxMSIsICIxMSIsICIyMiIsICIzIl0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3Jl
Z2V4cC11bmljb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL3JlZ2V4cC11bmljb2Rl
LWV4cGVjdGVkLnR4dAppbmRleCBmMWQxYTM5OGU4M2JhODUzNGVjMmM5ODljZDJkYzAxMmE2MTQ0
ZWY1Li5hMmUxZDllZDc5Y2VkY2FkNTljMzAzZjY4MzJhMGM4NzA1ZjhlMmMxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9qcy9yZWdleHAtdW5pY29kZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvanMvcmVnZXhwLXVuaWNvZGUtZXhwZWN0ZWQudHh0CkBAIC0xNzgsNyArMTc4LDcgQEAg
UEFTUyAiVGVzdGluZyDhiLRcbjEgMiAzIi5tYXRjaCgvZyBb4YCALfCQg79dJFxuMS91bSlbMF0g
aXMgImcg4Yi0XG4xIgogUEFTUyAiVGVzdGluZyDwkIOwXG4xIDIgMyIubWF0Y2goL2cgW+GAgC3w
kIO/XSRcbjEvdW0pWzBdIGlzICJnIPCQg7BcbjEiCiBQQVNTICJ0aGlzIGlzIGIIYSB0ZXN0Ii5t
YXRjaCgvaXMgYlxjaGEgdGVzdC91KVswXS5sZW5ndGggaXMgMTEKIFBBU1MgbmV3IFJlZ0V4cCgi
XFwvIiwgInUiKS5zb3VyY2UgaXMgIlxcLyIKLVBBU1MgciA9IG5ldyBSZWdFeHAoIlxcdXsxMTAw
MDB9IiwgInUiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBl
eHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUge30gZXNjYXBlLgorUEFTUyByID0gbmV3IFJlZ0V4
cCgiXFx1ezExMDAwMH0iLCAidSIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxp
ZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBjb2RlIHBvaW50IFx1e30gZXNj
YXBlLgogUEFTUyByID0gbmV3IFJlZ0V4cCgi8JCQhXsyMTQ3NDgzNjQ4fSIsICJ1IikgdGhyZXcg
ZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogcGF0dGVy
biBleGNlZWRzIHN0cmluZyBsZW5ndGggbGltaXRzLgogUEFTUyAvey91IHRocmV3IGV4Y2VwdGlv
biBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGluY29tcGxldGUge30g
cXVhbnRpZmllciBmb3IgVW5pY29kZSBwYXR0ZXJuLgogUEFTUyAvW2EtXGRdL3UgdGhyZXcgZXhj
ZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBy
YW5nZSBpbiBjaGFyYWN0ZXIgY2xhc3MgZm9yIFVuaWNvZGUgcGF0dGVybi4KQEAgLTE5MCwxMCAr
MTkwLDEwIEBAIFBBU1MgciA9IG5ldyBSZWdFeHAoIltcXGFdIiwgInUiKSB0aHJldyBleGNlcHRp
b24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBlCiBQQVNTIHIgPSBuZXcgUmVnRXhwKCJb
XFxCXSIsICJ1IikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIg
ZXhwcmVzc2lvbjogaW52YWxpZCBlc2NhcGVkIGNoYXJhY3RlciBmb3IgVW5pY29kZSBwYXR0ZXJu
LgogUEFTUyByID0gbmV3IFJlZ0V4cCgiXFx4IiwgInUiKSB0aHJldyBleGNlcHRpb24gU3ludGF4
RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIGVzY2FwZWQgY2hhcmFj
dGVyIGZvciBVbmljb2RlIHBhdHRlcm4uCiBQQVNTIHIgPSBuZXcgUmVnRXhwKCJbXFx4XSIsICJ1
IikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lv
bjogaW52YWxpZCBlc2NhcGVkIGNoYXJhY3RlciBmb3IgVW5pY29kZSBwYXR0ZXJuLgotUEFTUyBy
ID0gbmV3IFJlZ0V4cCgiXFx1IiwgInUiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IElu
dmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIGVzY2FwZWQgY2hhcmFjdGVyIGZvciBV
bmljb2RlIHBhdHRlcm4uCi1QQVNTIHIgPSBuZXcgUmVnRXhwKCJbXFx1XSIsICJ1IikgdGhyZXcg
ZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxp
ZCBlc2NhcGVkIGNoYXJhY3RlciBmb3IgVW5pY29kZSBwYXR0ZXJuLgotUEFTUyByID0gbmV3IFJl
Z0V4cCgiXFx1eyIsICJ1IikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJl
Z3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIHt9IGVzY2FwZS4KLVBBU1MgciA9IG5l
dyBSZWdFeHAoIlxcdXtcdWRlYWQiLCAidSIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjog
SW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSB7fSBlc2NhcGUuCitQ
QVNTIHIgPSBuZXcgUmVnRXhwKCJcXHUiLCAidSIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJv
cjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBcdSBlc2NhcGUu
CitQQVNTIHIgPSBuZXcgUmVnRXhwKCJbXFx1XSIsICJ1IikgdGhyZXcgZXhjZXB0aW9uIFN5bnRh
eEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIFx1IGVz
Y2FwZS4KK1BBU1MgciA9IG5ldyBSZWdFeHAoIlxcdXsiLCAidSIpIHRocmV3IGV4Y2VwdGlvbiBT
eW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBj
b2RlIHBvaW50IFx1e30gZXNjYXBlLgorUEFTUyByID0gbmV3IFJlZ0V4cCgiXFx1e1x1ZGVhZCIs
ICJ1IikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVz
c2lvbjogaW52YWxpZCBVbmljb2RlIGNvZGUgcG9pbnQgXHV7fSBlc2NhcGUuCiBQQVNTIC9cMS91
IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246
IGludmFsaWQgYmFja3JlZmVyZW5jZSBmb3IgVW5pY29kZSBwYXR0ZXJuLgogUEFTUyAvXDIvdSB0
aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBp
bnZhbGlkIGJhY2tyZWZlcmVuY2UgZm9yIFVuaWNvZGUgcGF0dGVybi4KIFBBU1MgL1wzL3UgdGhy
ZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52
YWxpZCBiYWNrcmVmZXJlbmNlIGZvciBVbmljb2RlIHBhdHRlcm4uCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9qcy9yZWdyZXNzLTE1ODA4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9y
ZWdyZXNzLTE1ODA4MC1leHBlY3RlZC50eHQKaW5kZXggNWQ4ZDdmNzAyNmE5ZDgxODNhNjdkNjhl
ZTI2YjcxYzk1MDg0MmIwNS4uNmJjNzRjYTNhNWI5ZjQ3ZDIyZDUxMGZiMTJhOGJiMTE5ZmIxZmQy
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy0xNTgwODAtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3MtMTU4MDgwLWV4cGVjdGVkLnR4dApAQCAtMywx
NyArMywxNyBAQCBSZWdyZXNpb24gdGVzdCBmb3IgMTU4MDgwLiBUaGlzIHRlc3Qgc2hvdWxkIHBh
c3MgYW5kIG5vdCBjcmFzaC4KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIGxl
dCByID0gL1x1e3xhYmMvdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVn
dWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUge30gZXNjYXBlLgotUEFTUyBsZXQgciA9
IC9cdXsvdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHBy
ZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUge30gZXNjYXBlLgotUEFTUyBsZXQgciA9IC9cdXsxL3Ug
dGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjog
aW52YWxpZCBVbmljb2RlIHt9IGVzY2FwZS4KLVBBU1MgbGV0IHIgPSAvXHV7MTIvdSB0aHJldyBl
eGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlk
IFVuaWNvZGUge30gZXNjYXBlLgotUEFTUyBsZXQgciA9IC9cdXsxMjMvdSB0aHJldyBleGNlcHRp
b24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNv
ZGUge30gZXNjYXBlLgotUEFTUyBsZXQgciA9IC9cdXsxMjM0L3UgdGhyZXcgZXhjZXB0aW9uIFN5
bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIHt9
IGVzY2FwZS4KLVBBU1MgbGV0IHIgPSAvXHV7YWJjZGUvdSB0aHJldyBleGNlcHRpb24gU3ludGF4
RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUge30gZXNj
YXBlLgotUEFTUyBsZXQgciA9IC9cdXthYmNkZWYvdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJy
b3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUge30gZXNjYXBl
LgotUEFTUyBsZXQgciA9IC9cdXsxMTExMTExfS91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJv
cjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSB7fSBlc2NhcGUu
Ci1QQVNTIGxldCByID0gL1x1e2ZlZGJjYTk4fS91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJv
cjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSB7fSBlc2NhcGUu
Ci1QQVNTIGxldCByID0gL1x1ezF7MTIzfX0vdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUge30gZXNjYXBlLgor
UEFTUyBsZXQgciA9IC9cdXt8YWJjL3UgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZh
bGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIGNvZGUgcG9pbnQgXHV7fSBl
c2NhcGUuCitQQVNTIGxldCByID0gL1x1ey91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjog
SW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBjb2RlIHBvaW50IFx1
e30gZXNjYXBlLgorUEFTUyBsZXQgciA9IC9cdXsxL3UgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVy
cm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIGNvZGUgcG9p
bnQgXHV7fSBlc2NhcGUuCitQQVNTIGxldCByID0gL1x1ezEyL3UgdGhyZXcgZXhjZXB0aW9uIFN5
bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIGNv
ZGUgcG9pbnQgXHV7fSBlc2NhcGUuCitQQVNTIGxldCByID0gL1x1ezEyMy91IHRocmV3IGV4Y2Vw
dGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5p
Y29kZSBjb2RlIHBvaW50IFx1e30gZXNjYXBlLgorUEFTUyBsZXQgciA9IC9cdXsxMjM0L3UgdGhy
ZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52
YWxpZCBVbmljb2RlIGNvZGUgcG9pbnQgXHV7fSBlc2NhcGUuCitQQVNTIGxldCByID0gL1x1e2Fi
Y2RlL3UgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVz
c2lvbjogaW52YWxpZCBVbmljb2RlIGNvZGUgcG9pbnQgXHV7fSBlc2NhcGUuCitQQVNTIGxldCBy
ID0gL1x1e2FiY2RlZi91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1
bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBjb2RlIHBvaW50IFx1e30gZXNjYXBlLgor
UEFTUyBsZXQgciA9IC9cdXsxMTExMTExfS91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjog
SW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBjb2RlIHBvaW50IFx1
e30gZXNjYXBlLgorUEFTUyBsZXQgciA9IC9cdXtmZWRiY2E5OH0vdSB0aHJldyBleGNlcHRpb24g
U3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUg
Y29kZSBwb2ludCBcdXt9IGVzY2FwZS4KK1BBU1MgbGV0IHIgPSAvXHV7MXsxMjN9fS91IHRocmV3
IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFs
aWQgVW5pY29kZSBjb2RlIHBvaW50IFx1e30gZXNjYXBlLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9z
Y3JpcHQtdGVzdHMvcmVnZXhwLW5hbWVkLWNhcHR1cmUtZ3JvdXBzLmpzIGIvTGF5b3V0VGVzdHMv
anMvc2NyaXB0LXRlc3RzL3JlZ2V4cC1uYW1lZC1jYXB0dXJlLWdyb3Vwcy5qcwppbmRleCAxZWVh
NmRlNzY1MjE1MDgxMWJlZmJmZjRiZGNkNDg1Y2M3OTE4MmE2Li5hNjU2N2QxZjUyNWQyZmJjM2Y1
ZTdlZDVmMjY5ZmRhZDg1YTZkM2ZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQt
dGVzdHMvcmVnZXhwLW5hbWVkLWNhcHR1cmUtZ3JvdXBzLmpzCisrKyBiL0xheW91dFRlc3RzL2pz
L3NjcmlwdC10ZXN0cy9yZWdleHAtbmFtZWQtY2FwdHVyZS1ncm91cHMuanMKQEAgLTEwNCw2ICsx
MDQsMTIgQEAgc2hvdWxkVGhyb3coJ2xldCByID0gbmV3IFJlZ0V4cCgiLyg/PGdcdXsxMDE5Yn1v
dXBOYW1lMT5hYmMpL3UiKScsICciU3ludGF4RXJyb3IKIHNob3VsZFRocm93KCdsZXQgciA9IG5l
dyBSZWdFeHAoIi8oPzxcdTIwMGNncm91cE5hbWUxPmFiYykvdSIpJywgJyJTeW50YXhFcnJvcjog
SW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgZ3JvdXAgc3BlY2lmaWVyIG5hbWUi
Jyk7CiBzaG91bGRUaHJvdygnbGV0IHIgPSBuZXcgUmVnRXhwKCIvKD88XHUyMDBkZ3JvdXBOYW1l
MT5hYmMpL3UiKScsICciU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBp
bnZhbGlkIGdyb3VwIHNwZWNpZmllciBuYW1lIicpOwogCisvLyBDaGVjayB0aGF0IGludmFsaWQg
XHUgZXNjYXBlIGVycm9ycyBhcmUgbm90IGdldCBvdmVycmlkZW4uCitzaG91bGRUaHJvdygnLyg/
PFxcdT4uKS91JywgJyJTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGlu
dmFsaWQgVW5pY29kZSBcXFxcdSBlc2NhcGUiJyk7CitzaG91bGRUaHJvdygnL1xcazxcXHV6eno+
L3UnLCAnIlN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBV
bmljb2RlIFxcXFx1IGVzY2FwZSInKTsKK3Nob3VsZFRocm93KCcvKD88XFx1ez4uKS91JywgJyJT
eW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBj
b2RlIHBvaW50IFxcXFx1e30gZXNjYXBlIicpOworc2hvdWxkVGhyb3coJy9cXGs8XFx1ezA+L3Un
LCAnIlN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmlj
b2RlIGNvZGUgcG9pbnQgXFxcXHV7fSBlc2NhcGUiJyk7CisKIC8vIENoZWNrIHRoZSBuYW1lZCBm
b3J3YXJkIHJlZmVyZW5jZXMgd29yawogc2hvdWxkQmUoJyJYenpYenoiLm1hdGNoKC9cXFxrPHo+
WCg/PHo+eiopWFxcXGs8ej4vKScsICdbIlh6elh6eiIsICJ6eiJdJyk7CiBzaG91bGRCZSgnIlh6
elh6eiIubWF0Y2goL1xcXGs8ej5YKD88ej56KilYXFxcazx6Pi91KScsICdbIlh6elh6eiIsICJ6
eiJdJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvcmVnZXhwLXVu
aWNvZGUuanMgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvcmVnZXhwLXVuaWNvZGUuanMK
aW5kZXggNzIyM2E0ZmUzODNmYmRiZWRhMjFhZTlkMDJjOGJiNTE0NDZmMTA0Mi4uNzFkY2VjMmE5
YjFmYjVkNTRmODNjZWQ3MTgwMTlhZDg4MDUzN2M1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
anMvc2NyaXB0LXRlc3RzL3JlZ2V4cC11bmljb2RlLmpzCisrKyBiL0xheW91dFRlc3RzL2pzL3Nj
cmlwdC10ZXN0cy9yZWdleHAtdW5pY29kZS5qcwpAQCAtMjI3LDcgKzIyNyw3IEBAIHNob3VsZEJl
KCcidGhpcyBpcyBiXGJhIHRlc3QiLm1hdGNoKC9pcyBiXFxjaGEgdGVzdC91KVswXS5sZW5ndGgn
LCAnMTEnKTsKIAogLy8gQ2hlY2sgdGhhdCBpbnZhbGlkIHVuaWNvZGUgcGF0dGVybnMgdGhyb3cg
ZXhjZXB0aW9ucwogc2hvdWxkQmUoJ25ldyBSZWdFeHAoIlxcXFwvIiwgInUiKS5zb3VyY2UnLCAn
IlxcXFwvIicpOwotc2hvdWxkVGhyb3coJ3IgPSBuZXcgUmVnRXhwKCJcXFxcdXsxMTAwMDB9Iiwg
InUiKScsICciU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlk
IFVuaWNvZGUge30gZXNjYXBlIicpOworc2hvdWxkVGhyb3coJ3IgPSBuZXcgUmVnRXhwKCJcXFxc
dXsxMTAwMDB9IiwgInUiKScsICciU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNz
aW9uOiBpbnZhbGlkIFVuaWNvZGUgY29kZSBwb2ludCBcXFxcdXt9IGVzY2FwZSInKTsKIHNob3Vs
ZFRocm93KCdyID0gbmV3IFJlZ0V4cCgiXHV7MTA0MDV9ezIxNDc0ODM2NDh9IiwgInUiKScsICci
U3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBwYXR0ZXJuIGV4Y2VlZHMg
c3RyaW5nIGxlbmd0aCBsaW1pdHMiJyk7CiBzaG91bGRUaHJvdygnL3svdScsICciU3ludGF4RXJy
b3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbmNvbXBsZXRlIHt9IHF1YW50aWZpZXIg
Zm9yIFVuaWNvZGUgcGF0dGVybiInKTsKIHNob3VsZFRocm93KCcvW2EtXFxkXS91JywgJyJTeW50
YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgcmFuZ2UgaW4gY2hh
cmFjdGVyIGNsYXNzIGZvciBVbmljb2RlIHBhdHRlcm4iJyk7CkBAIC0yNTAsMTEgKzI1MCwxMSBA
QCBzaG91bGRUaHJvd0ludmFsaWRFc2NhcGUoIltcXFxcYV0iKTsKIHNob3VsZFRocm93SW52YWxp
ZEVzY2FwZSgiW1xcXFxCXSIpOwogc2hvdWxkVGhyb3dJbnZhbGlkRXNjYXBlKCJcXFxceCIpOwog
c2hvdWxkVGhyb3dJbnZhbGlkRXNjYXBlKCJbXFxcXHhdIik7Ci1zaG91bGRUaHJvd0ludmFsaWRF
c2NhcGUoIlxcXFx1Iik7Ci1zaG91bGRUaHJvd0ludmFsaWRFc2NhcGUoIltcXFxcdV0iKTsKK3No
b3VsZFRocm93SW52YWxpZEVzY2FwZSgiXFxcXHUiLCAnIlN5bnRheEVycm9yOiBJbnZhbGlkIHJl
Z3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIFxcXFx1IGVzY2FwZSInKTsKK3Nob3Vs
ZFRocm93SW52YWxpZEVzY2FwZSgiW1xcXFx1XSIsICciU3ludGF4RXJyb3I6IEludmFsaWQgcmVn
dWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUgXFxcXHUgZXNjYXBlIicpOwogCi1zaG91
bGRUaHJvd0ludmFsaWRFc2NhcGUoIlxcXFx1eyIsICciU3ludGF4RXJyb3I6IEludmFsaWQgcmVn
dWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUge30gZXNjYXBlIicpOwotc2hvdWxkVGhy
b3dJbnZhbGlkRXNjYXBlKCJcXFxcdXtcXHVkZWFkIiwgJyJTeW50YXhFcnJvcjogSW52YWxpZCBy
ZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSB7fSBlc2NhcGUiJyk7CitzaG91bGRU
aHJvd0ludmFsaWRFc2NhcGUoIlxcXFx1eyIsICciU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxh
ciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUgY29kZSBwb2ludCBcXFxcdXt9IGVzY2FwZSIn
KTsKK3Nob3VsZFRocm93SW52YWxpZEVzY2FwZSgiXFxcXHV7XFx1ZGVhZCIsICciU3ludGF4RXJy
b3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUgY29kZSBwb2lu
dCBcXFxcdXt9IGVzY2FwZSInKTsKIAogLy8gQ2hlY2sgdGhhdCBpbnZhbGlkIGJhY2tyZWZlcmVu
Y2VzIGluIHVuaWNvZGUgcGF0dGVybnMgdGhyb3cgZXhjZXB0aW9ucy4KIHNob3VsZFRocm93KGAv
XFwxL3VgKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggNzA0MTVhNTFlN2YyOTZmYjI5ZmY1MjkwM2IyNTUxNmRkZDhhZGNmYS4uNGRiMjky
ZTkxMzRjNjhmNTg4NzYzNTExMmM3Njc5ZTRkOTc2NjBkYiAxMDA2NDQKLS0tIGEvSlNUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0w
My0yNyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAg
QWRkIHN1cHBvcnQgaW4gbmFtZWQgY2FwdHVyZSBncm91cCBpZGVudGlmaWVycyBmb3IgZGlyZWN0
IHN1cnJvZ2F0ZSBwYWlycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc4MTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIgYW5kIE1p
Y2hhZWwgU2Fib2ZmLgorCisgICAgICAgICogdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbDogTWFy
ayAyIHRlc3QgY2FzZXMgYXMgcGFzc2luZy4KKwogMjAyMC0wMy0yNiAgTWljaGFlbCBTYWJvZmYg
IDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWZhY3RvciBZQVJSIFN0YWNrIE92ZXJm
bG93IENoZWNrcwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1s
IGIvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCmluZGV4IGU2MDM0ZjFlMjQ4MDcx
MGE3NWNiODZhOTUwMTAyYmU5YzBiMDJlOGQuLjQwMTI2NWFlYWQ4ZDY2MjFhZDdhMWViMzQ2MmUy
NGE0NjBlMDY2OWQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFt
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKQEAgLTEyNDYsOSArMTI0
Niw2IEBAIHRlc3QvYnVpbHQtaW5zL1Byb3h5L3NldC90cmFwLWlzLXVuZGVmaW5lZC10YXJnZXQt
aXMtcHJveHkuanM6CiB0ZXN0L2J1aWx0LWlucy9SZWZsZWN0L293bktleXMvb3JkZXItYWZ0ZXIt
ZGVmaW5lLXByb3BlcnR5LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBb
U3ltYm9sKGIpLCBTeW1ib2woYSldIGFuZCBbU3ltYm9sKGEpLCBTeW1ib2woYildIHRvIGhhdmUg
dGhlIHNhbWUgY29udGVudHMuICcKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVj
dGVkIFtTeW1ib2woYiksIFN5bWJvbChhKV0gYW5kIFtTeW1ib2woYSksIFN5bWJvbChiKV0gdG8g
aGF2ZSB0aGUgc2FtZSBjb250ZW50cy4gJwotdGVzdC9idWlsdC1pbnMvUmVnRXhwL25hbWVkLWdy
b3Vwcy91bmljb2RlLXByb3BlcnR5LW5hbWVzLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6
IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIGdyb3VwIHNwZWNpZmllciBuYW1l
JwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lv
bjogaW52YWxpZCBncm91cCBzcGVjaWZpZXIgbmFtZScKIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9w
cm9wZXJ0eS1lc2NhcGVzL2dlbmVyYXRlZC9BbHBoYWJldGljLmpzOgogICBkZWZhdWx0OiAnVGVz
dDI2MkVycm9yOiBgXHB7QWxwaGFiZXRpY31gIHNob3VsZCBtYXRjaCBVKzAwMUNGQSAoYOGzumAp
JwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogYFxwe0FscGhhYmV0aWN9YCBzaG91bGQg
bWF0Y2ggVSswMDFDRkEgKGDhs7pgKScK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394992</attachid>
            <date>2020-03-30 17:31:19 -0700</date>
            <delta_ts>2020-03-30 18:27:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178174-20200331033118.patch</filename>
            <type>text/plain</type>
            <size>25394</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
OTQ4NTBiY2YwMDJlMTQ1ZDA4YTI3Yzc0YzFhMzZhZDgzMTFlNjgwLi40YWVhZDZhN2VmY2Q4Nzdk
ZmJmMzVjOTdiNTU3ZDBjZGVjNTVlODE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOCBAQAorMjAyMC0wMy0zMCAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFp
bC5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgaW4gbmFtZWQgY2FwdHVyZSBncm91cCBpZGVu
dGlmaWVycyBmb3IgZGlyZWN0IHN1cnJvZ2F0ZSBwYWlycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MTc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIgYW5kIE1pY2hhZWwgU2Fib2ZmLgorCisgICAgICAgIFRoaXMgY2hhbmdlOgor
CisgICAgICAgIGEpIEFkZHMgc3VwcG9ydCBmb3IgdW5lc2NhcGVkIGFzdHJhbCBzeW1ib2xzIGlu
IFJlZ0V4cCBpZGVudGlmaWVyIG5hbWVzIFsxXSwKKyAgICAgICAgICAgYWxpZ25pbmcgSlNDIHdp
dGggVjguCisKKyAgICAgICAgYikgUmV3b3JkcyBJbnZhbGlkVW5pY29kZUVzY2FwZSBlcnJvciBj
b2RlIHRvIGJlIHVzZWQgZm9yIFx1WFhYWCBlc2NhcGVzIGluCisgICAgICAgICAgIFVuaWNvZGUg
cGF0dGVybnMgYW5kIG5hbWVkIGdyb3Vwcy9yZWZlcmVuY2VzIGluc3RlYWQgb2YgSW52YWxpZElk
ZW50aXR5RXNjYXBlLAorICAgICAgICAgICBtYXRjaGluZyBlcnJvciBtZXNzYWdlcyBpbiBWOCBh
bmQgU3BpZGVyTW9ua2V5LgorCisgICAgICAgIGMpIEFkZHMgaGFzRXJyb3IoKSBjaGVja3MgYWZ0
ZXIgdHJ5Q29uc3VtZUdyb3VwTmFtZSgpIHNvIGVycm9ycyBnZW5lcmF0ZWQgaW4KKyAgICAgICAg
ICAgdHJ5Q29uc3VtZUlkZW50aWZpZXJDaGFyYWN0ZXIoKSB3b3VsZCBub3QgZ2V0IG92ZXJyaWRl
bi4KKworICAgICAgICBkKSBSZW1vdmVzIGNvZGUgZHVwbGljYXRpb24gYnkgdXNpbmcgdHJ5Q29u
c3VtZVVuaWNvZGVFc2NhcGUoKSBmb3IgcGFyc2luZyBcdQorICAgICAgICAgICBpbiBwYXJzZUVz
Y2FwZSgpOyBjbGVhbnMgdXAgcGFyc2luZyBcdXt9IGVzY2FwZXMgYSBiaXQsIHByZWZlcnJpbmcg
QVNTRVJUcworICAgICAgICAgICBvdmVyIGhhc0Vycm9yKCkgY2hlY2tzLgorCisgICAgICAgIFsx
XTogaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtUmVnRXhwSWRlbnRpZmllck5hbWUKKwor
ICAgICAgICAqIHlhcnIvWWFyckVycm9yQ29kZS5jcHA6CisgICAgICAgIChKU0M6OllhcnI6OmVy
cm9yTWVzc2FnZSk6CisgICAgICAgIChKU0M6OllhcnI6OmVycm9yVG9UaHJvdyk6CisgICAgICAg
ICogeWFyci9ZYXJyRXJyb3JDb2RlLmg6CisgICAgICAgICogeWFyci9ZYXJyUGFyc2VyLmg6Cisg
ICAgICAgIChKU0M6OllhcnI6OlBhcnNlcjo6cGFyc2VFc2NhcGUpOgorICAgICAgICAoSlNDOjpZ
YXJyOjpQYXJzZXI6OnBhcnNlUGFyZW50aGVzZXNCZWdpbik6CisgICAgICAgIChKU0M6OllhcnI6
OlBhcnNlcjo6dHJ5Q29uc3VtZVVuaWNvZGVFc2NhcGUpOgorICAgICAgICAoSlNDOjpZYXJyOjpQ
YXJzZXI6OnRyeUNvbnN1bWVJZGVudGlmaWVyQ2hhcmFjdGVyKToKKwogMjAyMC0wMy0xOSAgVGFk
ZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggaW5zdGFuY2Vz
IG9mIG5ldy50YXJnZXQgdGhhdCBzaG91bGQgYmUgc3ludGF4IGVycm9ycwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckVycm9yQ29kZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUveWFyci9ZYXJyRXJyb3JDb2RlLmNwcAppbmRleCAzNDI1ZDEzMThmYzUxYTdl
NzU4YjU0YzUyNjAwMDU3ZWY3YzBlOWYwLi5jODY5Mjk4MjdlMWQ4YjVlMGU0OTUwZmVmNjBkOWI0
OTQ3MjUyZGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyRXJy
b3JDb2RlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyRXJyb3JDb2Rl
LmNwcApAQCAtNTEsNyArNTEsOCBAQCBjb25zdCBjaGFyKiBlcnJvck1lc3NhZ2UoRXJyb3JDb2Rl
IGVycm9yKQogICAgICAgICBSRUdFWFBfRVJST1JfUFJFRklYICJyYW5nZSBvdXQgb2Ygb3JkZXIg
aW4gY2hhcmFjdGVyIGNsYXNzIiwgICAgICAgICAgICAgICAgLy8gQ2hhcmFjdGVyQ2xhc3NSYW5n
ZU91dE9mT3JkZXIKICAgICAgICAgUkVHRVhQX0VSUk9SX1BSRUZJWCAiaW52YWxpZCByYW5nZSBp
biBjaGFyYWN0ZXIgY2xhc3MgZm9yIFVuaWNvZGUgcGF0dGVybiIsIC8vIENoYXJhY3RlckNsYXNz
UmFuZ2VJbnZhbGlkCiAgICAgICAgIFJFR0VYUF9FUlJPUl9QUkVGSVggIlxcIGF0IGVuZCBvZiBw
YXR0ZXJuIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBFc2NhcGVVbnRlcm1p
bmF0ZWQKLSAgICAgICAgUkVHRVhQX0VSUk9SX1BSRUZJWCAiaW52YWxpZCBVbmljb2RlIHt9IGVz
Y2FwZSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEludmFsaWRVbmljb2RlRXNjYXBl
CisgICAgICAgIFJFR0VYUF9FUlJPUl9QUkVGSVggImludmFsaWQgVW5pY29kZSBcXHUgZXNjYXBl
IiwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbnZhbGlkVW5pY29kZUVzY2FwZQorICAg
ICAgICBSRUdFWFBfRVJST1JfUFJFRklYICJpbnZhbGlkIFVuaWNvZGUgY29kZSBwb2ludCBcXHV7
fSBlc2NhcGUiLCAgICAgICAgICAgICAgLy8gSW52YWxpZFVuaWNvZGVDb2RlUG9pbnRFc2NhcGUK
ICAgICAgICAgUkVHRVhQX0VSUk9SX1BSRUZJWCAiaW52YWxpZCBiYWNrcmVmZXJlbmNlIGZvciBV
bmljb2RlIHBhdHRlcm4iLCAgICAgICAgICAgIC8vIEludmFsaWRCYWNrcmVmZXJlbmNlCiAgICAg
ICAgIFJFR0VYUF9FUlJPUl9QUkVGSVggImludmFsaWQgXFxrPD4gbmFtZWQgYmFja3JlZmVyZW5j
ZSIsICAgICAgICAgICAgICAgICAgICAvLyBJbnZhbGlkTmFtZWRCYWNrUmVmZXJlbmNlCiAgICAg
ICAgIFJFR0VYUF9FUlJPUl9QUkVGSVggImludmFsaWQgZXNjYXBlZCBjaGFyYWN0ZXIgZm9yIFVu
aWNvZGUgcGF0dGVybiIsICAgICAgICAvLyBJbnZhbGlkSWRlbnRpdHlFc2NhcGUKQEAgLTg3LDYg
Kzg4LDcgQEAgSlNPYmplY3QqIGVycm9yVG9UaHJvdyhKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBFcnJvckNvZGUgZXJyb3IpCiAgICAgY2FzZSBFcnJvckNvZGU6OkNoYXJhY3RlckNsYXNz
UmFuZ2VJbnZhbGlkOgogICAgIGNhc2UgRXJyb3JDb2RlOjpFc2NhcGVVbnRlcm1pbmF0ZWQ6CiAg
ICAgY2FzZSBFcnJvckNvZGU6OkludmFsaWRVbmljb2RlRXNjYXBlOgorICAgIGNhc2UgRXJyb3JD
b2RlOjpJbnZhbGlkVW5pY29kZUNvZGVQb2ludEVzY2FwZToKICAgICBjYXNlIEVycm9yQ29kZTo6
SW52YWxpZEJhY2tyZWZlcmVuY2U6CiAgICAgY2FzZSBFcnJvckNvZGU6OkludmFsaWROYW1lZEJh
Y2tSZWZlcmVuY2U6CiAgICAgY2FzZSBFcnJvckNvZGU6OkludmFsaWRJZGVudGl0eUVzY2FwZToK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJFcnJvckNvZGUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJFcnJvckNvZGUuaAppbmRleCAxY2IwZGJm
ODBhYjFjNDVjYzBlOGRmMmIxOGE2ZDI5M2RhNWI4MTg5Li4yZDg5NTg4Y2Y5ZGMwYzM1OGQxOWJh
YmQ5NzI2MDQ5NWY0N2FiYzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFy
ci9ZYXJyRXJyb3JDb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckVy
cm9yQ29kZS5oCkBAIC01MSw2ICs1MSw3IEBAIGVudW0gY2xhc3MgRXJyb3JDb2RlIDogdWludDhf
dCB7CiAgICAgQ2hhcmFjdGVyQ2xhc3NSYW5nZUludmFsaWQsCiAgICAgRXNjYXBlVW50ZXJtaW5h
dGVkLAogICAgIEludmFsaWRVbmljb2RlRXNjYXBlLAorICAgIEludmFsaWRVbmljb2RlQ29kZVBv
aW50RXNjYXBlLAogICAgIEludmFsaWRCYWNrcmVmZXJlbmNlLAogICAgIEludmFsaWROYW1lZEJh
Y2tSZWZlcmVuY2UsCiAgICAgSW52YWxpZElkZW50aXR5RXNjYXBlLApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3lhcnIvWWFyclBhcnNlci5oCmluZGV4IDMwMDkyYmE4OGQ1NDE0N2RjMjY0MjgzYWE0ODMy
ZmRlMmRlNjFiMGUuLjgxMzBlMGE1YzJmYTFjZGJjYzdkMTNmM2JhYWEwMmI1NTA5ZmRkYTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXJzZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGFyc2VyLmgKQEAgLTQzOCw2ICs0MzgsOSBA
QCBwcml2YXRlOgogICAgICAgICAgICAgUGFyc2VTdGF0ZSBzdGF0ZSA9IHNhdmVTdGF0ZSgpOwog
ICAgICAgICAgICAgaWYgKCFpbkNoYXJhY3RlckNsYXNzICYmIHRyeUNvbnN1bWUoJzwnKSkgewog
ICAgICAgICAgICAgICAgIGF1dG8gZ3JvdXBOYW1lID0gdHJ5Q29uc3VtZUdyb3VwTmFtZSgpOwor
ICAgICAgICAgICAgICAgIGlmIChoYXNFcnJvcihtX2Vycm9yQ29kZSkpCisgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOworCiAgICAgICAgICAgICAgICAgaWYgKGdyb3VwTmFtZSkgewogICAgICAg
ICAgICAgICAgICAgICBpZiAobV9jYXB0dXJlR3JvdXBOYW1lcy5jb250YWlucyhncm91cE5hbWUu
dmFsdWUoKSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGVnYXRlLmF0b21OYW1lZEJh
Y2tSZWZlcmVuY2UoZ3JvdXBOYW1lLnZhbHVlKCkpOwpAQCAtNDg3LDY0ICs0OTAsMTEgQEAgcHJp
dmF0ZToKIAogICAgICAgICAvLyBVbmljb2RlRXNjYXBlCiAgICAgICAgIGNhc2UgJ3UnOiB7Ci0g
ICAgICAgICAgICBjb25zdW1lKCk7Ci0gICAgICAgICAgICBpZiAoYXRFbmRPZlBhdHRlcm4oKSkg
ewotICAgICAgICAgICAgICAgIGlmIChpc0lkZW50aXR5RXNjYXBlQW5FcnJvcigndScpKQotICAg
ICAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgICAgIGRlbGVnYXRlLmF0b21Q
YXR0ZXJuQ2hhcmFjdGVyKCd1Jyk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgIGlmIChtX2lzVW5pY29kZSAmJiBwZWVrKCkgPT0gJ3snKSB7Ci0g
ICAgICAgICAgICAgICAgY29uc3VtZSgpOwotICAgICAgICAgICAgICAgIFVDaGFyMzIgY29kZVBv
aW50ID0gMDsKLSAgICAgICAgICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChh
dEVuZE9mUGF0dGVybigpIHx8ICFpc0FTQ0lJSGV4RGlnaXQocGVlaygpKSkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgbV9lcnJvckNvZGUgPSBFcnJvckNvZGU6OkludmFsaWRVbmljb2RlRXNj
YXBlOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAg
IH0KLQotICAgICAgICAgICAgICAgICAgICBjb2RlUG9pbnQgPSAoY29kZVBvaW50IDw8IDQpIHwg
dG9BU0NJSUhleFZhbHVlKGNvbnN1bWUoKSk7Ci0KLSAgICAgICAgICAgICAgICAgICAgaWYgKGNv
ZGVQb2ludCA+IFVDSEFSX01BWF9WQUxVRSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZXJy
b3JDb2RlID0gRXJyb3JDb2RlOjpJbnZhbGlkVW5pY29kZUVzY2FwZTsKLSAgICAgICAgICAgICAg
ICB9IHdoaWxlICghYXRFbmRPZlBhdHRlcm4oKSAmJiBwZWVrKCkgIT0gJ30nKTsKLSAgICAgICAg
ICAgICAgICBpZiAoIWF0RW5kT2ZQYXR0ZXJuKCkgJiYgcGVlaygpID09ICd9JykKLSAgICAgICAg
ICAgICAgICAgICAgY29uc3VtZSgpOwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFoYXNFcnJv
cihtX2Vycm9yQ29kZSkpCi0gICAgICAgICAgICAgICAgICAgIG1fZXJyb3JDb2RlID0gRXJyb3JD
b2RlOjpJbnZhbGlkVW5pY29kZUVzY2FwZTsKLSAgICAgICAgICAgICAgICBpZiAoaGFzRXJyb3Io
bV9lcnJvckNvZGUpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAg
ICAgICAgICAgICBkZWxlZ2F0ZS5hdG9tUGF0dGVybkNoYXJhY3Rlcihjb2RlUG9pbnQpOworICAg
ICAgICAgICAgaW50IGNvZGVQb2ludCA9IHRyeUNvbnN1bWVVbmljb2RlRXNjYXBlPFVuaWNvZGVF
c2NhcGVDb250ZXh0OjpDaGFyYWN0ZXJFc2NhcGU+KCk7CisgICAgICAgICAgICBpZiAoaGFzRXJy
b3IobV9lcnJvckNvZGUpKQogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgaW50IHUgPSB0cnlDb25zdW1lSGV4KDQpOwotICAgICAgICAgICAgaWYgKHUg
PT0gLTEpIHsKLSAgICAgICAgICAgICAgICBpZiAoaXNJZGVudGl0eUVzY2FwZUFuRXJyb3IoJ3Un
KSkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgICAgICBkZWxlZ2F0
ZS5hdG9tUGF0dGVybkNoYXJhY3RlcigndScpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIHRoZSBmaXJzdCBvZiBhIHN1cnJvZ2F0ZSBwYWlyLCBs
b29rIGZvciB0aGUgc2Vjb25kLgotICAgICAgICAgICAgICAgIGlmIChVMTZfSVNfTEVBRCh1KSAm
JiBtX2lzVW5pY29kZSAmJiAocGF0dGVyblJlbWFpbmluZygpID49IDYpICYmIHBlZWsoKSA9PSAn
XFwnKSB7Ci0gICAgICAgICAgICAgICAgICAgIFBhcnNlU3RhdGUgc3RhdGUgPSBzYXZlU3RhdGUo
KTsKLSAgICAgICAgICAgICAgICAgICAgY29uc3VtZSgpOwotICAgICAgICAgICAgICAgICAgICAK
LSAgICAgICAgICAgICAgICAgICAgaWYgKHRyeUNvbnN1bWUoJ3UnKSkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgaW50IHN1cnJvZ2F0ZTIgPSB0cnlDb25zdW1lSGV4KDQpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKFUxNl9JU19UUkFJTChzdXJyb2dhdGUyKSkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHUgPSBVMTZfR0VUX1NVUFBMRU1FTlRBUlkodSwgc3Vycm9nYXRl
Mik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZWdhdGUuYXRvbVBhdHRlcm5DaGFy
YWN0ZXIodSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAg
ICAgICByZXN0b3JlU3RhdGUoc3RhdGUpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBkZWxlZ2F0ZS5hdG9tUGF0dGVybkNoYXJhY3Rlcih1KTsKLSAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGRlbGVnYXRlLmF0b21QYXR0ZXJuQ2hhcmFjdGVyKGNvZGVQb2ludCA9PSAtMSA/
ICd1JyA6IGNvZGVQb2ludCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCkBAIC02
NzIsNiArNjIyLDkgQEAgcHJpdmF0ZToKIAogICAgICAgICAgICAgY2FzZSAnPCc6IHsKICAgICAg
ICAgICAgICAgICBhdXRvIGdyb3VwTmFtZSA9IHRyeUNvbnN1bWVHcm91cE5hbWUoKTsKKyAgICAg
ICAgICAgICAgICBpZiAoaGFzRXJyb3IobV9lcnJvckNvZGUpKQorICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKwogICAgICAgICAgICAgICAgIGlmIChncm91cE5hbWUpIHsKICAgICAgICAgICAg
ICAgICAgICAgaWYgKG1fa0lkZW50aXR5RXNjYXBlU2VlbikgewogICAgICAgICAgICAgICAgICAg
ICAgICAgbV9lcnJvckNvZGUgPSBFcnJvckNvZGU6OkludmFsaWROYW1lZEJhY2tSZWZlcmVuY2U7
CkBAIC0xMDA5LDcwICs5NjIsNzMgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIHBlZWsoKSAt
ICcwJzsKICAgICB9CiAKKyAgICBlbnVtIGNsYXNzIFVuaWNvZGVFc2NhcGVDb250ZXh0IDogdWlu
dDhfdCB7IENoYXJhY3RlckVzY2FwZSwgSWRlbnRpZmllck5hbWUgfTsKKworICAgIHRlbXBsYXRl
PFVuaWNvZGVFc2NhcGVDb250ZXh0IGNvbnRleHQ+CiAgICAgaW50IHRyeUNvbnN1bWVVbmljb2Rl
RXNjYXBlKCkKICAgICB7Ci0gICAgICAgIGlmICghdHJ5Q29uc3VtZSgndScpKQorICAgICAgICBB
U1NFUlQoIWhhc0Vycm9yKG1fZXJyb3JDb2RlKSk7CisKKyAgICAgICAgaWYgKCF0cnlDb25zdW1l
KCd1JykgfHwgYXRFbmRPZlBhdHRlcm4oKSkgeworICAgICAgICAgICAgaWYgKG1faXNVbmljb2Rl
IHx8IGNvbnRleHQgPT0gVW5pY29kZUVzY2FwZUNvbnRleHQ6OklkZW50aWZpZXJOYW1lKQorICAg
ICAgICAgICAgICAgIG1fZXJyb3JDb2RlID0gRXJyb3JDb2RlOjpJbnZhbGlkVW5pY29kZUVzY2Fw
ZTsKICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQogCiAgICAgICAgIGlmIChtX2lz
VW5pY29kZSAmJiB0cnlDb25zdW1lKCd7JykpIHsKICAgICAgICAgICAgIGludCBjb2RlUG9pbnQg
PSAwOwogICAgICAgICAgICAgZG8gewogICAgICAgICAgICAgICAgIGlmIChhdEVuZE9mUGF0dGVy
bigpIHx8ICFpc0FTQ0lJSGV4RGlnaXQocGVlaygpKSkgewotICAgICAgICAgICAgICAgICAgICBt
X2Vycm9yQ29kZSA9IEVycm9yQ29kZTo6SW52YWxpZFVuaWNvZGVFc2NhcGU7CisgICAgICAgICAg
ICAgICAgICAgIG1fZXJyb3JDb2RlID0gRXJyb3JDb2RlOjpJbnZhbGlkVW5pY29kZUNvZGVQb2lu
dEVzY2FwZTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICAgICAg
IH0KIAogICAgICAgICAgICAgICAgIGNvZGVQb2ludCA9IChjb2RlUG9pbnQgPDwgNCkgfCB0b0FT
Q0lJSGV4VmFsdWUoY29uc3VtZSgpKTsKIAogICAgICAgICAgICAgICAgIGlmIChjb2RlUG9pbnQg
PiBVQ0hBUl9NQVhfVkFMVUUpIHsKLSAgICAgICAgICAgICAgICAgICAgbV9lcnJvckNvZGUgPSBF
cnJvckNvZGU6OkludmFsaWRVbmljb2RlRXNjYXBlOworICAgICAgICAgICAgICAgICAgICBtX2Vy
cm9yQ29kZSA9IEVycm9yQ29kZTo6SW52YWxpZFVuaWNvZGVDb2RlUG9pbnRFc2NhcGU7CiAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICB9IHdoaWxlICghYXRFbmRPZlBhdHRlcm4oKSAmJiBwZWVrKCkgIT0gJ30nKTsKLSAgICAgICAg
ICAgIGlmICghYXRFbmRPZlBhdHRlcm4oKSAmJiBwZWVrKCkgPT0gJ30nKQotICAgICAgICAgICAg
ICAgIGNvbnN1bWUoKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKCFoYXNFcnJvcihtX2Vycm9yQ29k
ZSkpCi0gICAgICAgICAgICAgICAgbV9lcnJvckNvZGUgPSBFcnJvckNvZGU6OkludmFsaWRVbmlj
b2RlRXNjYXBlOwotICAgICAgICAgICAgaWYgKGhhc0Vycm9yKG1fZXJyb3JDb2RlKSkKKworICAg
ICAgICAgICAgaWYgKCF0cnlDb25zdW1lKCd9JykpIHsKKyAgICAgICAgICAgICAgICBtX2Vycm9y
Q29kZSA9IEVycm9yQ29kZTo6SW52YWxpZFVuaWNvZGVDb2RlUG9pbnRFc2NhcGU7IAogICAgICAg
ICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgcmV0dXJu
IGNvZGVQb2ludDsKICAgICAgICAgfQogCi0gICAgICAgIGludCB1ID0gdHJ5Q29uc3VtZUhleCg0
KTsKLSAgICAgICAgaWYgKHUgPT0gLTEpCisgICAgICAgIGludCBjb2RlVW5pdCA9IHRyeUNvbnN1
bWVIZXgoNCk7CisgICAgICAgIGlmIChjb2RlVW5pdCA9PSAtMSkgeworICAgICAgICAgICAgaWYg
KG1faXNVbmljb2RlIHx8IGNvbnRleHQgPT0gVW5pY29kZUVzY2FwZUNvbnRleHQ6OklkZW50aWZp
ZXJOYW1lKQorICAgICAgICAgICAgICAgIG1fZXJyb3JDb2RlID0gRXJyb3JDb2RlOjpJbnZhbGlk
VW5pY29kZUVzY2FwZTsKICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQogCiAgICAg
ICAgIC8vIElmIHdlIGhhdmUgdGhlIGZpcnN0IG9mIGEgc3Vycm9nYXRlIHBhaXIsIGxvb2sgZm9y
IHRoZSBzZWNvbmQuCi0gICAgICAgIGlmIChVMTZfSVNfTEVBRCh1KSAmJiBtX2lzVW5pY29kZSAm
JiAocGF0dGVyblJlbWFpbmluZygpID49IDYpICYmIHBlZWsoKSA9PSAnXFwnKSB7CisgICAgICAg
IGlmIChVMTZfSVNfTEVBRChjb2RlVW5pdCkgJiYgbV9pc1VuaWNvZGUgJiYgcGF0dGVyblJlbWFp
bmluZygpID49IDYgJiYgcGVlaygpID09ICdcXCcpIHsKICAgICAgICAgICAgIFBhcnNlU3RhdGUg
c3RhdGUgPSBzYXZlU3RhdGUoKTsKICAgICAgICAgICAgIGNvbnN1bWUoKTsKIAogICAgICAgICAg
ICAgaWYgKHRyeUNvbnN1bWUoJ3UnKSkgewogICAgICAgICAgICAgICAgIGludCBzdXJyb2dhdGUy
ID0gdHJ5Q29uc3VtZUhleCg0KTsKLSAgICAgICAgICAgICAgICBpZiAoVTE2X0lTX1RSQUlMKHN1
cnJvZ2F0ZTIpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHUgPSBVMTZfR0VUX1NVUFBMRU1FTlRB
UlkodSwgc3Vycm9nYXRlMik7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiB1OwotICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoVTE2X0lTX1RSQUlMKHN1cnJvZ2F0ZTIp
KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gVTE2X0dFVF9TVVBQTEVNRU5UQVJZKGNvZGVV
bml0LCBzdXJyb2dhdGUyKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgcmVzdG9yZVN0
YXRlKHN0YXRlKTsKICAgICAgICAgfQogCi0gICAgICAgIHJldHVybiB1OworICAgICAgICByZXR1
cm4gY29kZVVuaXQ7CiAgICAgfQogCiAgICAgaW50IHRyeUNvbnN1bWVJZGVudGlmaWVyQ2hhcmFj
dGVyKCkKICAgICB7Ci0gICAgICAgIGludCBjaCA9IHBlZWsoKTsKKyAgICAgICAgaWYgKHRyeUNv
bnN1bWUoJ1xcJykpCisgICAgICAgICAgICByZXR1cm4gdHJ5Q29uc3VtZVVuaWNvZGVFc2NhcGU8
VW5pY29kZUVzY2FwZUNvbnRleHQ6OklkZW50aWZpZXJOYW1lPigpOwogCi0gICAgICAgIGlmIChj
aCA9PSAnXFwnKSB7Ci0gICAgICAgICAgICBjb25zdW1lKCk7Ci0gICAgICAgICAgICBjaCA9IHRy
eUNvbnN1bWVVbmljb2RlRXNjYXBlKCk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgY29u
c3VtZSgpOwotCi0gICAgICAgIHJldHVybiBjaDsKKyAgICAgICAgcmV0dXJuIGNvbnN1bWVQb3Nz
aWJsZVN1cnJvZ2F0ZVBhaXIoKTsKICAgICB9CiAKICAgICBib29sIGlzSWRlbnRpZmllclN0YXJ0
KGludCBjaCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBhMWI1OWZiZmQ4NzRiMmNlMmY2MGM4NDg2N2YzNmMzM2U1MDMwOTYy
Li4wYTNhZmNhZjAzMTUyOGI5YTQyZmFlZDM0Mzg5MjFmNjJlOTZhM2I3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMjAtMDMtMzAgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwu
Y29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGluIG5hbWVkIGNhcHR1cmUgZ3JvdXAgaWRlbnRp
ZmllcnMgZm9yIGRpcmVjdCBzdXJyb2dhdGUgcGFpcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODE3NAorCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyIGFuZCBNaWNoYWVsIFNhYm9mZi4KKworICAgICAgICBBZGp1c3RlZCB0ZXN0cyBm
b3IgZXJyb3IgbWVzc2FnZXMgY2hhbmdlcyBhbmQgYWRkZWQgY292ZXJhZ2UgZm9yIG1lc3NhZ2Vz
CisgICAgICAgIG9mIHN5bnRheCBlcnJvcnMgZHVlIHRvIGludmFsaWQgXHUgZXNjYXBlcyBpbnNp
ZGUgbmFtZWQgZ3JvdXBzL3JlZmVyZW5jZXMuCisKKyAgICAgICAgKiBqcy9yZWdleHAtbmFtZWQt
Y2FwdHVyZS1ncm91cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGpzL3JlZ2V4cC11bmljb2Rl
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBqcy9yZWdyZXNzLTE1ODA4MC1leHBlY3RlZC50eHQ6
CisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL3JlZ2V4cC1uYW1lZC1jYXB0dXJlLWdyb3Vwcy5q
czoKKyAgICAgICAgKiBqcy9zY3JpcHQtdGVzdHMvcmVnZXhwLXVuaWNvZGUuanM6CisKIDIwMjAt
MDMtMjcgIEphc29uIExhd3JlbmNlICA8bGF3cmVuY2UuakBhcHBsZS5jb20+CiAKICAgICAgICAg
WyBNYWMgd2syIF0gTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIGNyYXNoIGluIFdlYktpdDo6
VmlkZW9GdWxsc2NyZWVuTWFuYWdlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVnZXhw
LW5hbWVkLWNhcHR1cmUtZ3JvdXBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL3JlZ2V4
cC1uYW1lZC1jYXB0dXJlLWdyb3Vwcy1leHBlY3RlZC50eHQKaW5kZXggZDMyMDM2MzViNWE3NjU4
YjdmMjdkNDQ0OGU2YmRkNzdhMjM5ZWM4Yi4uZGExMzFiMmU3NGYyOWQyOTE2ZmI1N2JiZmZkYTYw
YjU5MjYxMTZkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvcmVnZXhwLW5hbWVkLWNhcHR1
cmUtZ3JvdXBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9qcy9yZWdleHAtbmFtZWQt
Y2FwdHVyZS1ncm91cHMtZXhwZWN0ZWQudHh0CkBAIC02MSw2ICs2MSwxMCBAQCBQQVNTIGxldCBy
ID0gbmV3IFJlZ0V4cCgiLyg/PPCQhpBncm91cE5hbWUxPmFiYykvdSIpIHRocmV3IGV4Y2VwdGlv
biBTeW50YXhFcnJvcgogUEFTUyBsZXQgciA9IG5ldyBSZWdFeHAoIi8oPzxn8JCGm291cE5hbWUx
PmFiYykvdSIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4
cHJlc3Npb246IGludmFsaWQgZ3JvdXAgc3BlY2lmaWVyIG5hbWUuCiBQQVNTIGxldCByID0gbmV3
IFJlZ0V4cCgiLyg/POKAjGdyb3VwTmFtZTE+YWJjKS91IikgdGhyZXcgZXhjZXB0aW9uIFN5bnRh
eEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBncm91cCBzcGVjaWZp
ZXIgbmFtZS4KIFBBU1MgbGV0IHIgPSBuZXcgUmVnRXhwKCIvKD884oCNZ3JvdXBOYW1lMT5hYmMp
L3UiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNz
aW9uOiBpbnZhbGlkIGdyb3VwIHNwZWNpZmllciBuYW1lLgorUEFTUyAvKD88XHU+LikvdSB0aHJl
dyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZh
bGlkIFVuaWNvZGUgXHUgZXNjYXBlLgorUEFTUyAvXGs8XHV6eno+L3UgdGhyZXcgZXhjZXB0aW9u
IFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2Rl
IFx1IGVzY2FwZS4KK1BBU1MgLyg/PFx1ez4uKS91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJv
cjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBjb2RlIHBvaW50
IFx1e30gZXNjYXBlLgorUEFTUyAvXGs8XHV7MD4vdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJy
b3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUgY29kZSBwb2lu
dCBcdXt9IGVzY2FwZS4KIFBBU1MgIlh6elh6eiIubWF0Y2goL1xrPHo+WCg/PHo+eiopWFxrPHo+
LykgaXMgWyJYenpYenoiLCAienoiXQogUEFTUyAiWHp6WHp6Ii5tYXRjaCgvXGs8ej5YKD88ej56
KilYXGs8ej4vdSkgaXMgWyJYenpYenoiLCAienoiXQogUEFTUyAiMTEyMjMzMjIxMSIubWF0Y2go
L1xrPG9uZXM+XGs8dHdvcz5cazx0aHJlZXM+KD88b25lcz4xKikoPzx0d29zPjIqKSg/PHRocmVl
cz4zKilcazx0aHJlZXM+XGs8dHdvcz5cazxvbmVzPi8pIGlzIFsiMTEyMjMzMjIxMSIsICIxMSIs
ICIyMiIsICIzIl0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ2V4cC11bmljb2RlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL3JlZ2V4cC11bmljb2RlLWV4cGVjdGVkLnR4dApp
bmRleCBmMWQxYTM5OGU4M2JhODUzNGVjMmM5ODljZDJkYzAxMmE2MTQ0ZWY1Li5hMmUxZDllZDc5
Y2VkY2FkNTljMzAzZjY4MzJhMGM4NzA1ZjhlMmMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9q
cy9yZWdleHAtdW5pY29kZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvcmVnZXhw
LXVuaWNvZGUtZXhwZWN0ZWQudHh0CkBAIC0xNzgsNyArMTc4LDcgQEAgUEFTUyAiVGVzdGluZyDh
iLRcbjEgMiAzIi5tYXRjaCgvZyBb4YCALfCQg79dJFxuMS91bSlbMF0gaXMgImcg4Yi0XG4xIgog
UEFTUyAiVGVzdGluZyDwkIOwXG4xIDIgMyIubWF0Y2goL2cgW+GAgC3wkIO/XSRcbjEvdW0pWzBd
IGlzICJnIPCQg7BcbjEiCiBQQVNTICJ0aGlzIGlzIGIIYSB0ZXN0Ii5tYXRjaCgvaXMgYlxjaGEg
dGVzdC91KVswXS5sZW5ndGggaXMgMTEKIFBBU1MgbmV3IFJlZ0V4cCgiXFwvIiwgInUiKS5zb3Vy
Y2UgaXMgIlxcLyIKLVBBU1MgciA9IG5ldyBSZWdFeHAoIlxcdXsxMTAwMDB9IiwgInUiKSB0aHJl
dyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZh
bGlkIFVuaWNvZGUge30gZXNjYXBlLgorUEFTUyByID0gbmV3IFJlZ0V4cCgiXFx1ezExMDAwMH0i
LCAidSIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJl
c3Npb246IGludmFsaWQgVW5pY29kZSBjb2RlIHBvaW50IFx1e30gZXNjYXBlLgogUEFTUyByID0g
bmV3IFJlZ0V4cCgi8JCQhXsyMTQ3NDgzNjQ4fSIsICJ1IikgdGhyZXcgZXhjZXB0aW9uIFN5bnRh
eEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogcGF0dGVybiBleGNlZWRzIHN0cmlu
ZyBsZW5ndGggbGltaXRzLgogUEFTUyAvey91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjog
SW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGluY29tcGxldGUge30gcXVhbnRpZmllciBmb3Ig
VW5pY29kZSBwYXR0ZXJuLgogUEFTUyAvW2EtXGRdL3UgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVy
cm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCByYW5nZSBpbiBjaGFyYWN0
ZXIgY2xhc3MgZm9yIFVuaWNvZGUgcGF0dGVybi4KQEAgLTE5MCwxMCArMTkwLDEwIEBAIFBBU1Mg
ciA9IG5ldyBSZWdFeHAoIltcXGFdIiwgInUiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IEludmFsaWQgcmVndWxhciBlCiBQQVNTIHIgPSBuZXcgUmVnRXhwKCJbXFxCXSIsICJ1IikgdGhy
ZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52
YWxpZCBlc2NhcGVkIGNoYXJhY3RlciBmb3IgVW5pY29kZSBwYXR0ZXJuLgogUEFTUyByID0gbmV3
IFJlZ0V4cCgiXFx4IiwgInUiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQg
cmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIGVzY2FwZWQgY2hhcmFjdGVyIGZvciBVbmljb2Rl
IHBhdHRlcm4uCiBQQVNTIHIgPSBuZXcgUmVnRXhwKCJbXFx4XSIsICJ1IikgdGhyZXcgZXhjZXB0
aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBlc2Nh
cGVkIGNoYXJhY3RlciBmb3IgVW5pY29kZSBwYXR0ZXJuLgotUEFTUyByID0gbmV3IFJlZ0V4cCgi
XFx1IiwgInUiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBl
eHByZXNzaW9uOiBpbnZhbGlkIGVzY2FwZWQgY2hhcmFjdGVyIGZvciBVbmljb2RlIHBhdHRlcm4u
Ci1QQVNTIHIgPSBuZXcgUmVnRXhwKCJbXFx1XSIsICJ1IikgdGhyZXcgZXhjZXB0aW9uIFN5bnRh
eEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBlc2NhcGVkIGNoYXJh
Y3RlciBmb3IgVW5pY29kZSBwYXR0ZXJuLgotUEFTUyByID0gbmV3IFJlZ0V4cCgiXFx1eyIsICJ1
IikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lv
bjogaW52YWxpZCBVbmljb2RlIHt9IGVzY2FwZS4KLVBBU1MgciA9IG5ldyBSZWdFeHAoIlxcdXtc
dWRlYWQiLCAidSIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFy
IGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSB7fSBlc2NhcGUuCitQQVNTIHIgPSBuZXcgUmVn
RXhwKCJcXHUiLCAidSIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1
bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBcdSBlc2NhcGUuCitQQVNTIHIgPSBuZXcg
UmVnRXhwKCJbXFx1XSIsICJ1IikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlk
IHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIFx1IGVzY2FwZS4KK1BBU1MgciA9
IG5ldyBSZWdFeHAoIlxcdXsiLCAidSIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52
YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBjb2RlIHBvaW50IFx1e30g
ZXNjYXBlLgorUEFTUyByID0gbmV3IFJlZ0V4cCgiXFx1e1x1ZGVhZCIsICJ1IikgdGhyZXcgZXhj
ZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBV
bmljb2RlIGNvZGUgcG9pbnQgXHV7fSBlc2NhcGUuCiBQQVNTIC9cMS91IHRocmV3IGV4Y2VwdGlv
biBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgYmFja3Jl
ZmVyZW5jZSBmb3IgVW5pY29kZSBwYXR0ZXJuLgogUEFTUyAvXDIvdSB0aHJldyBleGNlcHRpb24g
U3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIGJhY2tyZWZl
cmVuY2UgZm9yIFVuaWNvZGUgcGF0dGVybi4KIFBBU1MgL1wzL3UgdGhyZXcgZXhjZXB0aW9uIFN5
bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBiYWNrcmVmZXJl
bmNlIGZvciBVbmljb2RlIHBhdHRlcm4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9yZWdy
ZXNzLTE1ODA4MC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzLTE1ODA4MC1l
eHBlY3RlZC50eHQKaW5kZXggNWQ4ZDdmNzAyNmE5ZDgxODNhNjdkNjhlZTI2YjcxYzk1MDg0MmIw
NS4uNmJjNzRjYTNhNWI5ZjQ3ZDIyZDUxMGZiMTJhOGJiMTE5ZmIxZmQyNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvanMvcmVncmVzcy0xNTgwODAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2pzL3JlZ3Jlc3MtMTU4MDgwLWV4cGVjdGVkLnR4dApAQCAtMywxNyArMywxNyBAQCBSZWdy
ZXNpb24gdGVzdCBmb3IgMTU4MDgwLiBUaGlzIHRlc3Qgc2hvdWxkIHBhc3MgYW5kIG5vdCBjcmFz
aC4KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIGxldCByID0gL1x1e3xhYmMv
dSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9u
OiBpbnZhbGlkIFVuaWNvZGUge30gZXNjYXBlLgotUEFTUyBsZXQgciA9IC9cdXsvdSB0aHJldyBl
eGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlk
IFVuaWNvZGUge30gZXNjYXBlLgotUEFTUyBsZXQgciA9IC9cdXsxL3UgdGhyZXcgZXhjZXB0aW9u
IFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2Rl
IHt9IGVzY2FwZS4KLVBBU1MgbGV0IHIgPSAvXHV7MTIvdSB0aHJldyBleGNlcHRpb24gU3ludGF4
RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUge30gZXNj
YXBlLgotUEFTUyBsZXQgciA9IC9cdXsxMjMvdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUge30gZXNjYXBlLgot
UEFTUyBsZXQgciA9IC9cdXsxMjM0L3UgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZh
bGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIHt9IGVzY2FwZS4KLVBBU1Mg
bGV0IHIgPSAvXHV7YWJjZGUvdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQg
cmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUge30gZXNjYXBlLgotUEFTUyBsZXQg
ciA9IC9cdXthYmNkZWYvdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVn
dWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUge30gZXNjYXBlLgotUEFTUyBsZXQgciA9
IC9cdXsxMTExMTExfS91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1
bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSB7fSBlc2NhcGUuCi1QQVNTIGxldCByID0g
L1x1e2ZlZGJjYTk4fS91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1
bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSB7fSBlc2NhcGUuCi1QQVNTIGxldCByID0g
L1x1ezF7MTIzfX0vdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxh
ciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUge30gZXNjYXBlLgorUEFTUyBsZXQgciA9IC9c
dXt8YWJjL3UgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhw
cmVzc2lvbjogaW52YWxpZCBVbmljb2RlIGNvZGUgcG9pbnQgXHV7fSBlc2NhcGUuCitQQVNTIGxl
dCByID0gL1x1ey91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFy
IGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBjb2RlIHBvaW50IFx1e30gZXNjYXBlLgorUEFT
UyBsZXQgciA9IC9cdXsxL3UgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJl
Z3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIGNvZGUgcG9pbnQgXHV7fSBlc2NhcGUu
CitQQVNTIGxldCByID0gL1x1ezEyL3UgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBJbnZh
bGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIGNvZGUgcG9pbnQgXHV7fSBl
c2NhcGUuCitQQVNTIGxldCByID0gL1x1ezEyMy91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJv
cjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBjb2RlIHBvaW50
IFx1e30gZXNjYXBlLgorUEFTUyBsZXQgciA9IC9cdXsxMjM0L3UgdGhyZXcgZXhjZXB0aW9uIFN5
bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIGNv
ZGUgcG9pbnQgXHV7fSBlc2NhcGUuCitQQVNTIGxldCByID0gL1x1e2FiY2RlL3UgdGhyZXcgZXhj
ZXB0aW9uIFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBV
bmljb2RlIGNvZGUgcG9pbnQgXHV7fSBlc2NhcGUuCitQQVNTIGxldCByID0gL1x1e2FiY2RlZi91
IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246
IGludmFsaWQgVW5pY29kZSBjb2RlIHBvaW50IFx1e30gZXNjYXBlLgorUEFTUyBsZXQgciA9IC9c
dXsxMTExMTExfS91IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFy
IGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBjb2RlIHBvaW50IFx1e30gZXNjYXBlLgorUEFT
UyBsZXQgciA9IC9cdXtmZWRiY2E5OH0vdSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IElu
dmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUgY29kZSBwb2ludCBcdXt9
IGVzY2FwZS4KK1BBU1MgbGV0IHIgPSAvXHV7MXsxMjN9fS91IHRocmV3IGV4Y2VwdGlvbiBTeW50
YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBjb2Rl
IHBvaW50IFx1e30gZXNjYXBlLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBU
RVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvcmVn
ZXhwLW5hbWVkLWNhcHR1cmUtZ3JvdXBzLmpzIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3Rz
L3JlZ2V4cC1uYW1lZC1jYXB0dXJlLWdyb3Vwcy5qcwppbmRleCAxZWVhNmRlNzY1MjE1MDgxMWJl
ZmJmZjRiZGNkNDg1Y2M3OTE4MmE2Li5hNjU2N2QxZjUyNWQyZmJjM2Y1ZTdlZDVmMjY5ZmRhZDg1
YTZkM2ZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvcmVnZXhwLW5h
bWVkLWNhcHR1cmUtZ3JvdXBzLmpzCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9y
ZWdleHAtbmFtZWQtY2FwdHVyZS1ncm91cHMuanMKQEAgLTEwNCw2ICsxMDQsMTIgQEAgc2hvdWxk
VGhyb3coJ2xldCByID0gbmV3IFJlZ0V4cCgiLyg/PGdcdXsxMDE5Yn1vdXBOYW1lMT5hYmMpL3Ui
KScsICciU3ludGF4RXJyb3IKIHNob3VsZFRocm93KCdsZXQgciA9IG5ldyBSZWdFeHAoIi8oPzxc
dTIwMGNncm91cE5hbWUxPmFiYykvdSIpJywgJyJTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFy
IGV4cHJlc3Npb246IGludmFsaWQgZ3JvdXAgc3BlY2lmaWVyIG5hbWUiJyk7CiBzaG91bGRUaHJv
dygnbGV0IHIgPSBuZXcgUmVnRXhwKCIvKD88XHUyMDBkZ3JvdXBOYW1lMT5hYmMpL3UiKScsICci
U3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIGdyb3VwIHNw
ZWNpZmllciBuYW1lIicpOwogCisvLyBDaGVjayB0aGF0IGludmFsaWQgXHUgZXNjYXBlIGVycm9y
cyBhcmUgbm90IGdldCBvdmVycmlkZW4uCitzaG91bGRUaHJvdygnLyg/PFxcdT4uKS91JywgJyJT
eW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBc
XFxcdSBlc2NhcGUiJyk7CitzaG91bGRUaHJvdygnL1xcazxcXHV6eno+L3UnLCAnIlN5bnRheEVy
cm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIFxcXFx1IGVz
Y2FwZSInKTsKK3Nob3VsZFRocm93KCcvKD88XFx1ez4uKS91JywgJyJTeW50YXhFcnJvcjogSW52
YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgVW5pY29kZSBjb2RlIHBvaW50IFxcXFx1
e30gZXNjYXBlIicpOworc2hvdWxkVGhyb3coJy9cXGs8XFx1ezA+L3UnLCAnIlN5bnRheEVycm9y
OiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogaW52YWxpZCBVbmljb2RlIGNvZGUgcG9pbnQg
XFxcXHV7fSBlc2NhcGUiJyk7CisKIC8vIENoZWNrIHRoZSBuYW1lZCBmb3J3YXJkIHJlZmVyZW5j
ZXMgd29yawogc2hvdWxkQmUoJyJYenpYenoiLm1hdGNoKC9cXFxrPHo+WCg/PHo+eiopWFxcXGs8
ej4vKScsICdbIlh6elh6eiIsICJ6eiJdJyk7CiBzaG91bGRCZSgnIlh6elh6eiIubWF0Y2goL1xc
XGs8ej5YKD88ej56KilYXFxcazx6Pi91KScsICdbIlh6elh6eiIsICJ6eiJdJyk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvcmVnZXhwLXVuaWNvZGUuanMgYi9MYXlv
dXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvcmVnZXhwLXVuaWNvZGUuanMKaW5kZXggNzIyM2E0ZmUz
ODNmYmRiZWRhMjFhZTlkMDJjOGJiNTE0NDZmMTA0Mi4uNzFkY2VjMmE5YjFmYjVkNTRmODNjZWQ3
MTgwMTlhZDg4MDUzN2M1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3Rz
L3JlZ2V4cC11bmljb2RlLmpzCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9yZWdl
eHAtdW5pY29kZS5qcwpAQCAtMjI3LDcgKzIyNyw3IEBAIHNob3VsZEJlKCcidGhpcyBpcyBiXGJh
IHRlc3QiLm1hdGNoKC9pcyBiXFxjaGEgdGVzdC91KVswXS5sZW5ndGgnLCAnMTEnKTsKIAogLy8g
Q2hlY2sgdGhhdCBpbnZhbGlkIHVuaWNvZGUgcGF0dGVybnMgdGhyb3cgZXhjZXB0aW9ucwogc2hv
dWxkQmUoJ25ldyBSZWdFeHAoIlxcXFwvIiwgInUiKS5zb3VyY2UnLCAnIlxcXFwvIicpOwotc2hv
dWxkVGhyb3coJ3IgPSBuZXcgUmVnRXhwKCJcXFxcdXsxMTAwMDB9IiwgInUiKScsICciU3ludGF4
RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUge30gZXNj
YXBlIicpOworc2hvdWxkVGhyb3coJ3IgPSBuZXcgUmVnRXhwKCJcXFxcdXsxMTAwMDB9IiwgInUi
KScsICciU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVu
aWNvZGUgY29kZSBwb2ludCBcXFxcdXt9IGVzY2FwZSInKTsKIHNob3VsZFRocm93KCdyID0gbmV3
IFJlZ0V4cCgiXHV7MTA0MDV9ezIxNDc0ODM2NDh9IiwgInUiKScsICciU3ludGF4RXJyb3I6IElu
dmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBwYXR0ZXJuIGV4Y2VlZHMgc3RyaW5nIGxlbmd0aCBs
aW1pdHMiJyk7CiBzaG91bGRUaHJvdygnL3svdScsICciU3ludGF4RXJyb3I6IEludmFsaWQgcmVn
dWxhciBleHByZXNzaW9uOiBpbmNvbXBsZXRlIHt9IHF1YW50aWZpZXIgZm9yIFVuaWNvZGUgcGF0
dGVybiInKTsKIHNob3VsZFRocm93KCcvW2EtXFxkXS91JywgJyJTeW50YXhFcnJvcjogSW52YWxp
ZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgcmFuZ2UgaW4gY2hhcmFjdGVyIGNsYXNzIGZv
ciBVbmljb2RlIHBhdHRlcm4iJyk7CkBAIC0yNTAsMTEgKzI1MCwxMSBAQCBzaG91bGRUaHJvd0lu
dmFsaWRFc2NhcGUoIltcXFxcYV0iKTsKIHNob3VsZFRocm93SW52YWxpZEVzY2FwZSgiW1xcXFxC
XSIpOwogc2hvdWxkVGhyb3dJbnZhbGlkRXNjYXBlKCJcXFxceCIpOwogc2hvdWxkVGhyb3dJbnZh
bGlkRXNjYXBlKCJbXFxcXHhdIik7Ci1zaG91bGRUaHJvd0ludmFsaWRFc2NhcGUoIlxcXFx1Iik7
Ci1zaG91bGRUaHJvd0ludmFsaWRFc2NhcGUoIltcXFxcdV0iKTsKK3Nob3VsZFRocm93SW52YWxp
ZEVzY2FwZSgiXFxcXHUiLCAnIlN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lv
bjogaW52YWxpZCBVbmljb2RlIFxcXFx1IGVzY2FwZSInKTsKK3Nob3VsZFRocm93SW52YWxpZEVz
Y2FwZSgiW1xcXFx1XSIsICciU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9u
OiBpbnZhbGlkIFVuaWNvZGUgXFxcXHUgZXNjYXBlIicpOwogCi1zaG91bGRUaHJvd0ludmFsaWRF
c2NhcGUoIlxcXFx1eyIsICciU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9u
OiBpbnZhbGlkIFVuaWNvZGUge30gZXNjYXBlIicpOwotc2hvdWxkVGhyb3dJbnZhbGlkRXNjYXBl
KCJcXFxcdXtcXHVkZWFkIiwgJyJTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Np
b246IGludmFsaWQgVW5pY29kZSB7fSBlc2NhcGUiJyk7CitzaG91bGRUaHJvd0ludmFsaWRFc2Nh
cGUoIlxcXFx1eyIsICciU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBp
bnZhbGlkIFVuaWNvZGUgY29kZSBwb2ludCBcXFxcdXt9IGVzY2FwZSInKTsKK3Nob3VsZFRocm93
SW52YWxpZEVzY2FwZSgiXFxcXHV7XFx1ZGVhZCIsICciU3ludGF4RXJyb3I6IEludmFsaWQgcmVn
dWxhciBleHByZXNzaW9uOiBpbnZhbGlkIFVuaWNvZGUgY29kZSBwb2ludCBcXFxcdXt9IGVzY2Fw
ZSInKTsKIAogLy8gQ2hlY2sgdGhhdCBpbnZhbGlkIGJhY2tyZWZlcmVuY2VzIGluIHVuaWNvZGUg
cGF0dGVybnMgdGhyb3cgZXhjZXB0aW9ucy4KIHNob3VsZFRocm93KGAvXFwxL3VgKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZmMyMTVh
MTA5NjQ0OTE2YTI3NWE2NGMyNGUzNWY4ZjE1YjNhZDAxZC4uNmI4MzNmNGRlMzY2ZDAzZTFkNTlm
YTM1YmRmODZmMTYxZDIzNDhhMyAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
SlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wMy0zMCAgQWxleGV5IFNo
dmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgaW4g
bmFtZWQgY2FwdHVyZSBncm91cCBpZGVudGlmaWVycyBmb3IgZGlyZWN0IHN1cnJvZ2F0ZSBwYWly
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MTc0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIgYW5kIE1pY2hhZWwgU2Fib2ZmLgor
CisgICAgICAgICogdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbDogTWFyayAyIHRlc3QgY2FzZXMg
YXMgcGFzc2luZy4KKwogMjAyMC0wMy0yNyAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+
CiAKICAgICAgICAgU2tpcCBzdHJlc3MvdGVzdC1vdXQtb2YtbWVtb3J5LmpzIG9uIG1lbW9yeSBs
aW1pdGVkIGRldmljZXMuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25z
LnlhbWwgYi9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKaW5kZXggZTYwMzRmMWUy
NDgwNzEwYTc1Y2I4NmE5NTAxMDJiZTljMGIwMmU4ZC4uNDAxMjY1YWVhZDhkNjYyMWFkN2ExZWIz
NDYyZTI0YTQ2MGUwNjY5ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9u
cy55YW1sCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbApAQCAtMTI0Niw5
ICsxMjQ2LDYgQEAgdGVzdC9idWlsdC1pbnMvUHJveHkvc2V0L3RyYXAtaXMtdW5kZWZpbmVkLXRh
cmdldC1pcy1wcm94eS5qczoKIHRlc3QvYnVpbHQtaW5zL1JlZmxlY3Qvb3duS2V5cy9vcmRlci1h
ZnRlci1kZWZpbmUtcHJvcGVydHkuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVj
dGVkIFtTeW1ib2woYiksIFN5bWJvbChhKV0gYW5kIFtTeW1ib2woYSksIFN5bWJvbChiKV0gdG8g
aGF2ZSB0aGUgc2FtZSBjb250ZW50cy4gJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjog
RXhwZWN0ZWQgW1N5bWJvbChiKSwgU3ltYm9sKGEpXSBhbmQgW1N5bWJvbChhKSwgU3ltYm9sKGIp
XSB0byBoYXZlIHRoZSBzYW1lIGNvbnRlbnRzLiAnCi10ZXN0L2J1aWx0LWlucy9SZWdFeHAvbmFt
ZWQtZ3JvdXBzL3VuaWNvZGUtcHJvcGVydHktbmFtZXMuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhF
cnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IGludmFsaWQgZ3JvdXAgc3BlY2lmaWVy
IG5hbWUnCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHBy
ZXNzaW9uOiBpbnZhbGlkIGdyb3VwIHNwZWNpZmllciBuYW1lJwogdGVzdC9idWlsdC1pbnMvUmVn
RXhwL3Byb3BlcnR5LWVzY2FwZXMvZ2VuZXJhdGVkL0FscGhhYmV0aWMuanM6CiAgIGRlZmF1bHQ6
ICdUZXN0MjYyRXJyb3I6IGBccHtBbHBoYWJldGljfWAgc2hvdWxkIG1hdGNoIFUrMDAxQ0ZBIChg
4bO6YCknCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBgXHB7QWxwaGFiZXRpY31gIHNo
b3VsZCBtYXRjaCBVKzAwMUNGQSAoYOGzumApJwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>