<?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>185578</bug_id>
          
          <creation_ts>2018-05-11 22:12:59 -0700</creation_ts>
          <short_desc>[INTL] Improve spec &amp; test262 compliance for Intl APIs</short_desc>
          <delta_ts>2018-05-14 14:01:47 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy VanWagoner">andy</reporter>
          <assigned_to name="Andy VanWagoner">andy</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1423351</commentid>
    <comment_count>0</comment_count>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2018-05-11 22:12:59 -0700</bug_when>
    <thetext>[INTL] Improve spec &amp; test262 compliance for Intl APIs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423354</commentid>
    <comment_count>1</comment_count>
      <attachid>340246</attachid>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2018-05-11 22:26:26 -0700</bug_when>
    <thetext>Created attachment 340246
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423367</commentid>
    <comment_count>2</comment_count>
      <attachid>340250</attachid>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2018-05-12 08:06:30 -0700</bug_when>
    <thetext>Created attachment 340250
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423369</commentid>
    <comment_count>3</comment_count>
      <attachid>340250</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-05-12 09:13:35 -0700</bug_when>
    <thetext>Comment on attachment 340250
Patch

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

r=me

&gt; Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp:92
&gt; +    putDirectWithoutTransition(vm, vm.propertyNames-&gt;toStringTagSymbol, jsString(&amp;vm, &quot;Object&quot;), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly);

Use vm.propertyNames-&gt;Object

&gt; Source/JavaScriptCore/runtime/IntlPluralRules.cpp:229
&gt;      // Category names are always ASCII, so use char[].

Put `index` here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423370</commentid>
    <comment_count>4</comment_count>
      <attachid>340250</attachid>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-05-12 09:19:09 -0700</bug_when>
    <thetext>Comment on attachment 340250
Patch

Attachment 340250 did not pass jsc-ews (mac):
Output: http://webkit-queues.webkit.org/results/7661626

New failing tests:
stress/regress-178385.js.dfg-maximal-flush-validate-no-cjit
stress/regress-178385.js.ftl-eager
stress/regress-178385.js.ftl-eager-no-cjit-b3o1
stress/regress-178385.js.ftl-no-cjit-small-pool
stress/regress-178385.js.ftl-no-cjit-no-put-stack-validate
stress/regress-178385.js.no-cjit-validate-phases
stress/regress-178385.js.ftl-eager-no-cjit
stress/regress-178385.js.ftl-no-cjit-b3o1
stress/regress-178385.js.dfg-eager-no-cjit-validate
stress/regress-178385.js.default
stress/regress-178385.js.dfg-eager
stress/regress-178385.js.no-cjit-collect-continuously
stress/regress-178385.js.no-ftl
stress/regress-178385.js.ftl-no-cjit-no-inline-validate
stress/regress-178385.js.no-llint
stress/regress-178385.js.ftl-no-cjit-validate-sampling-profiler
apiTests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423371</commentid>
    <comment_count>5</comment_count>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2018-05-12 09:26:09 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #3)
&gt; Comment on attachment 340250 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=340250&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/IntlDateTimeFormatPrototype.cpp:92
&gt; &gt; +    putDirectWithoutTransition(vm, vm.propertyNames-&gt;toStringTagSymbol, jsString(&amp;vm, &quot;Object&quot;), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly);
&gt; 
&gt; Use vm.propertyNames-&gt;Object

The value needs to be a JSValue. Identifiers are not JSStrings, and I&apos;m not seeing a straightforward way to convert it.

&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/IntlPluralRules.cpp:229
&gt; &gt;      // Category names are always ASCII, so use char[].
&gt; 
&gt; Put `index` here.

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423373</commentid>
    <comment_count>6</comment_count>
      <attachid>340252</attachid>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2018-05-12 09:55:57 -0700</bug_when>
    <thetext>Created attachment 340252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423406</commentid>
    <comment_count>7</comment_count>
      <attachid>340252</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-13 07:28:45 -0700</bug_when>
    <thetext>Comment on attachment 340252
Patch

Clearing flags on attachment: 340252

Committed r231740: &lt;https://trac.webkit.org/changeset/231740&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423407</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-13 07:28:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423408</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-05-13 07:29:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/40201390&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423710</commentid>
    <comment_count>10</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-05-14 11:43:14 -0700</bug_when>
    <thetext>Debug JSC bots are failing tests due to an unchecked exception after this change.

ERROR: Unchecked JS exception:
    This scope can throw a JS exception: defineOwnProperty @ ./runtime/JSArray.cpp:140
        (ExceptionScope::m_recursionDepth was 10)
    But the exception was unchecked as of this scope: supportedLocales @ ./runtime/IntlObject.cpp:831
        (ExceptionScope::m_recursionDepth was 9)

Unchecked exception detected at:
    1   0x1026ea1f3 JSC::VM::verifyExceptionCheckNeedIsSatisfied(unsigned int, JSC::ExceptionEventLocation&amp;)
    2   0x1026c455b JSC::ThrowScope::~ThrowScope()
    3   0x1026c4935 JSC::ThrowScope::~ThrowScope()
    4   0x1024d2d7c JSC::supportedLocales(JSC::ExecState&amp;, WTF::HashSet&lt;WTF::String, WTF::StringHash, WTF::HashTraits&lt;WTF::String&gt; &gt; const&amp;, WTF::Vector&lt;WTF::String, 0ul, WTF::CrashOnOverflow, 16ul&gt; const&amp;, JSC::JSValue)
    5   0x1024cb7ce JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf(JSC::ExecState*)
    6   0xb6d07cc185
    7   0x10138b73c llint_entry
    8   0x101382f42 vmEntryToJavaScript
    9   0x10221606a JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
    10  0x1021b0f9b JSC::Interpreter::execute(JSC::EvalExecutable*, JSC::ExecState*, JSC::JSValue, JSC::JSScope*)
    11  0x1021af972 JSC::eval(JSC::ExecState*)
    12  0x10229b955 llint_slow_path_call_eval
    13  0x10138c077 llint_entry
    14  0x10138b73c llint_entry
    15  0x101382f42 vmEntryToJavaScript
    16  0x10221606a JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
    17  0x1021b53b3 JSC::Interpreter::executeProgram(JSC::SourceCode const&amp;, JSC::ExecState*, JSC::JSObject*)
    18  0x102463347 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
    19  0x1011dd329 runWithOptions(GlobalObject*, CommandLine&amp;, bool&amp;)
    20  0x1011b520c jscmain(int, char**)::$_3::operator()(JSC::VM&amp;, GlobalObject*, bool&amp;) const
    21  0x10119cdb4 int runJSC&lt;jscmain(int, char**)::$_3&gt;(CommandLine, bool, jscmain(int, char**)::$_3 const&amp;)
    22  0x10119b89f jscmain(int, char**)
    23  0x10119b7fe main
    24  0x7fff6e830015 start
    25  0xc

https://build.webkit.org/builders/Apple%20High%20Sierra%2032-bit%20JSC%20%28BuildAndTest%29/builds/1893
https://build.webkit.org/builders/Apple%20High%20Sierra%20Debug%20JSC%20%28Tests%29/builds/1007</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423712</commentid>
    <comment_count>11</comment_count>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2018-05-14 11:46:39 -0700</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #10)
&gt; Debug JSC bots are failing tests due to an unchecked exception after this
&gt; change.
&gt; 
&gt; ERROR: Unchecked JS exception:
&gt;     This scope can throw a JS exception: defineOwnProperty @
&gt; ./runtime/JSArray.cpp:140
&gt;         (ExceptionScope::m_recursionDepth was 10)
&gt;     But the exception was unchecked as of this scope: supportedLocales @
&gt; ./runtime/IntlObject.cpp:831
&gt;         (ExceptionScope::m_recursionDepth was 9)
&gt; 
&gt; Unchecked exception detected at:
&gt;     1   0x1026ea1f3 JSC::VM::verifyExceptionCheckNeedIsSatisfied(unsigned
&gt; int, JSC::ExceptionEventLocation&amp;)
&gt;     2   0x1026c455b JSC::ThrowScope::~ThrowScope()
&gt;     3   0x1026c4935 JSC::ThrowScope::~ThrowScope()
&gt;     4   0x1024d2d7c JSC::supportedLocales(JSC::ExecState&amp;,
&gt; WTF::HashSet&lt;WTF::String, WTF::StringHash, WTF::HashTraits&lt;WTF::String&gt; &gt;
&gt; const&amp;, WTF::Vector&lt;WTF::String, 0ul, WTF::CrashOnOverflow, 16ul&gt; const&amp;,
&gt; JSC::JSValue)
&gt;     5   0x1024cb7ce
&gt; JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf(JSC::ExecState*)
&gt;     6   0xb6d07cc185
&gt;     7   0x10138b73c llint_entry
&gt;     8   0x101382f42 vmEntryToJavaScript
&gt;     9   0x10221606a JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
&gt;     10  0x1021b0f9b JSC::Interpreter::execute(JSC::EvalExecutable*,
&gt; JSC::ExecState*, JSC::JSValue, JSC::JSScope*)
&gt;     11  0x1021af972 JSC::eval(JSC::ExecState*)
&gt;     12  0x10229b955 llint_slow_path_call_eval
&gt;     13  0x10138c077 llint_entry
&gt;     14  0x10138b73c llint_entry
&gt;     15  0x101382f42 vmEntryToJavaScript
&gt;     16  0x10221606a JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
&gt;     17  0x1021b53b3 JSC::Interpreter::executeProgram(JSC::SourceCode const&amp;,
&gt; JSC::ExecState*, JSC::JSObject*)
&gt;     18  0x102463347 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;,
&gt; JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
&gt;     19  0x1011dd329 runWithOptions(GlobalObject*, CommandLine&amp;, bool&amp;)
&gt;     20  0x1011b520c jscmain(int, char**)::$_3::operator()(JSC::VM&amp;,
&gt; GlobalObject*, bool&amp;) const
&gt;     21  0x10119cdb4 int runJSC&lt;jscmain(int, char**)::$_3&gt;(CommandLine, bool,
&gt; jscmain(int, char**)::$_3 const&amp;)
&gt;     22  0x10119b89f jscmain(int, char**)
&gt;     23  0x10119b7fe main
&gt;     24  0x7fff6e830015 start
&gt;     25  0xc
&gt; 
&gt; https://build.webkit.org/builders/Apple%20High%20Sierra%2032-
&gt; bit%20JSC%20%28BuildAndTest%29/builds/1893
&gt; https://build.webkit.org/builders/
&gt; Apple%20High%20Sierra%20Debug%20JSC%20%28Tests%29/builds/1007

Oops, looks like a simple missing `RETURN_IF_EXCEPTION(scope, JSValue());`. Should I push another patch to this issue, or open a new one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423761</commentid>
    <comment_count>12</comment_count>
    <who name="Andy VanWagoner">andy</who>
    <bug_when>2018-05-14 14:01:47 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=185623</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340246</attachid>
            <date>2018-05-11 22:26:26 -0700</date>
            <delta_ts>2018-05-12 08:06:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185578-20180511232625.patch</filename>
            <type>text/plain</type>
            <size>56848</size>
            <attacher name="Andy VanWagoner">andy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
NDU1ZTE1ZGZmMjA4MzRmYTViMzAxZGJmZTczMDA5MmI3OWI4OGM0Li40ZjE3ODEwNjBiMmNhNjNm
MTMyMTFlZjdlZjUzMWNmNWY1NzRjMjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MyBAQAorMjAxOC0wNS0xMSAgQW5keSBWYW5XYWdvbmVyICA8YW5keUB2YW53YWdvbmVy
LmZhbWlseT4KKworICAgICAgICBbSU5UTF0gSW1wcm92ZSBzcGVjICYgdGVzdDI2MiBjb21wbGlh
bmNlIGZvciBJbnRsIEFQSXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4NTU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFVzZSBwdXREaXJlY3RJbmRleCBvdmVyIHB1c2ggZm9yIGxpc3RzIHRvIGFycmF5
cy4KKyAgICAgICAgVXBkYXRlIGRlZmF1bHQgb3B0aW9ucyB0byBjb25zdHJ1Y3Qgd2l0aCBhIG51
bGwgcHJvdG90eXBlLgorICAgICAgICBEZWZpbmUgY29uc3RydWN0b3IgYW5kIHRvU3RyaW5nVGFn
IG9uIHByb3RvdHlwZXMuCisgICAgICAgIEFkZCBwcm9wZXIgdGltZSB0cmltbWluZy4KKyAgICAg
ICAgUmVtb3ZlIHNvbWUgb3V0ZGF0ZWQgY29tbWVudCBzcGVjIHRleHQsIHVzZSB1cmwgaW5zdGVh
ZC4KKworICAgICAgICAqIHJ1bnRpbWUvSW50bENvbGxhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6
SW50bENvbGxhdG9yOjppbml0aWFsaXplQ29sbGF0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvSW50
bENvbGxhdG9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsQ29sbGF0b3JDb25z
dHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSW50bENvbGxhdG9y
UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6SW50bENvbGxhdG9yUHJvdG90eXBlOjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQcm90
b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGU6OmZp
bmlzaENyZWF0aW9uKToKKyAgICAgICAgKEpTQzo6SW50bERhdGVUaW1lRm9ybWF0RnVuY0Zvcm1h
dERhdGVUaW1lKToKKyAgICAgICAgKEpTQzo6SW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlRnVu
Y0Zvcm1hdFRvUGFydHMpOgorICAgICAgICAqIHJ1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHA6
CisgICAgICAgIChKU0M6OkludGxOdW1iZXJGb3JtYXQ6OmluaXRpYWxpemVOdW1iZXJGb3JtYXQp
OgorICAgICAgICAqIHJ1bnRpbWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6SW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6
CisgICAgICAgICogcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmNwcDoKKyAgICAg
ICAgKEpTQzo6SW50bE51bWJlckZvcm1hdFByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAg
ICAgICAqIHJ1bnRpbWUvSW50bE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6Omxvb2t1cFN1cHBv
cnRlZExvY2FsZXMpOgorICAgICAgICAoSlNDOjpzdXBwb3J0ZWRMb2NhbGVzKToKKyAgICAgICAg
KEpTQzo6aW50bE9iamVjdEZ1bmNHZXRDYW5vbmljYWxMb2NhbGVzKToKKyAgICAgICAgKiBydW50
aW1lL0ludGxQbHVyYWxSdWxlcy5jcHA6CisgICAgICAgIChKU0M6OkludGxQbHVyYWxSdWxlczo6
cmVzb2x2ZWRPcHRpb25zKToKKyAgICAgICAgKiBydW50aW1lL0ludGxQbHVyYWxSdWxlc0NvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3I6OmZp
bmlzaENyZWF0aW9uKToKKwogMjAxOC0wNS0xMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVl
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIzMTMxNiBh
bmQgcjIzMTMzMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dGxDb2xsYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0
b3IuY3BwCmluZGV4IDcyMDhiMmQ2ODg4YWNlYjA1YzQ5NTk5MDBiYjkxMGFiZTg3YTlmY2IuLmY3
MzUwODYyZmJmN2JlYmVjYWMzOGUyMjk0NDk5YmRiYWJkZjcxMjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yLmNwcApAQCAtMTc4LDMyICsxNzgsMjIg
QEAgdm9pZCBJbnRsQ29sbGF0b3I6OmluaXRpYWxpemVDb2xsYXRvcihFeGVjU3RhdGUmIHN0YXRl
LCBKU1ZhbHVlIGxvY2FsZXMsIEpTVmFsdWUKICAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOwogICAg
IGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIC8vIDEwLjEuMSBJ
bml0aWFsaXplQ29sbGF0b3IgKGNvbGxhdG9yLCBsb2NhbGVzLCBvcHRpb25zKSAoRUNNQS00MDIg
Mi4wKQotICAgIC8vIDEuIElmIGNvbGxhdG9yIGhhcyBhbiBbW2luaXRpYWxpemVkSW50bE9iamVj
dF1dIGludGVybmFsIHNsb3Qgd2l0aCB2YWx1ZSB0cnVlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNl
cHRpb24uCi0gICAgLy8gMi4gU2V0IGNvbGxhdG9yLltbaW5pdGlhbGl6ZWRJbnRsT2JqZWN0XV0g
dG8gdHJ1ZS4KKyAgICAvLyAxMC4xLjEgSW5pdGlhbGl6ZUNvbGxhdG9yIChjb2xsYXRvciwgbG9j
YWxlcywgb3B0aW9ucykgKEVDTUEtNDAyKQorICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8v
ZWNtYTQwMi8jc2VjLWluaXRpYWxpemVjb2xsYXRvcgogCi0gICAgLy8gMy4gTGV0IHJlcXVlc3Rl
ZExvY2FsZXMgYmUgQ2Fub25pY2FsaXplTG9jYWxlTGlzdChsb2NhbGVzKS4KICAgICBhdXRvIHJl
cXVlc3RlZExvY2FsZXMgPSBjYW5vbmljYWxpemVMb2NhbGVMaXN0KHN0YXRlLCBsb2NhbGVzKTsK
LSAgICAvLyA0LiBSZXR1cm5JZkFicnVwdChyZXF1ZXN0ZWRMb2NhbGVzKS4KICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAgLy8gNS4gSWYgb3B0aW9ucyBpcyB1
bmRlZmluZWQsIHRoZW4KICAgICBKU09iamVjdCogb3B0aW9uczsKLSAgICBpZiAob3B0aW9uc1Zh
bHVlLmlzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAgLy8gYS4gTGV0IG9wdGlvbnMgYmUgT2JqZWN0
Q3JlYXRlKCVPYmplY3RQcm90b3R5cGUlKS4KLSAgICAgICAgb3B0aW9ucyA9IGNvbnN0cnVjdEVt
cHR5T2JqZWN0KCZzdGF0ZSk7Ci0gICAgfSBlbHNlIHsgLy8gNi4gRWxzZQotICAgICAgICAvLyBh
LiBMZXQgb3B0aW9ucyBiZSBUb09iamVjdChvcHRpb25zKS4KKyAgICBpZiAob3B0aW9uc1ZhbHVl
LmlzVW5kZWZpbmVkKCkpCisgICAgICAgIG9wdGlvbnMgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdCgm
c3RhdGUsIHN0YXRlLmxleGljYWxHbG9iYWxPYmplY3QoKS0+bnVsbFByb3RvdHlwZU9iamVjdFN0
cnVjdHVyZSgpKTsKKyAgICBlbHNlIHsKICAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnNWYWx1ZS50
b09iamVjdCgmc3RhdGUpOwotICAgICAgICAvLyBiLiBSZXR1cm5JZkFicnVwdChvcHRpb25zKS4K
ICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKICAgICB9CiAKLSAg
ICAvLyA3LiBMZXQgdSBiZSBHZXRPcHRpb24ob3B0aW9ucywgInVzYWdlIiwgInN0cmluZyIsIMKr
InNvcnQiLCAic2VhcmNoIsK7LCAic29ydCIpLgogICAgIFN0cmluZyB1c2FnZVN0cmluZyA9IGlu
dGxTdHJpbmdPcHRpb24oc3RhdGUsIG9wdGlvbnMsIHZtLnByb3BlcnR5TmFtZXMtPnVzYWdlLCB7
ICJzb3J0IiwgInNlYXJjaCIgfSwgInVzYWdlIG11c3QgYmUgZWl0aGVyIFwic29ydFwiIG9yIFwi
c2VhcmNoXCIiLCAic29ydCIpOwotICAgIC8vIDguIFJldHVybklmQWJydXB0KHUpLgogICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAgLy8gOS4gU2V0IGNvbGxhdG9y
LltbdXNhZ2VdXSB0byB1LgogICAgIGlmICh1c2FnZVN0cmluZyA9PSAic29ydCIpCiAgICAgICAg
IG1fdXNhZ2UgPSBVc2FnZTo6U29ydDsKICAgICBlbHNlIGlmICh1c2FnZVN0cmluZyA9PSAic2Vh
cmNoIikKQEAgLTIxMSwzNyArMjAxLDE0IEBAIHZvaWQgSW50bENvbGxhdG9yOjppbml0aWFsaXpl
Q29sbGF0b3IoRXhlY1N0YXRlJiBzdGF0ZSwgSlNWYWx1ZSBsb2NhbGVzLCBKU1ZhbHVlCiAgICAg
ZWxzZQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotICAgIC8vIDEwLiBJZiB1IGlz
ICJzb3J0IiwgdGhlbgotICAgIC8vIGEuIExldCBsb2NhbGVEYXRhIGJlIHRoZSB2YWx1ZSBvZiAl
Q29sbGF0b3IlLltbc29ydExvY2FsZURhdGFdXTsKLSAgICAvLyAxMS4gRWxzZQotICAgIC8vIGEu
IExldCBsb2NhbGVEYXRhIGJlIHRoZSB2YWx1ZSBvZiAlQ29sbGF0b3IlLltbc2VhcmNoTG9jYWxl
RGF0YV1dLgotICAgIFZlY3RvcjxTdHJpbmc+ICgqbG9jYWxlRGF0YSkoY29uc3QgU3RyaW5nJiwg
c2l6ZV90KTsKLSAgICBpZiAobV91c2FnZSA9PSBVc2FnZTo6U29ydCkKLSAgICAgICAgbG9jYWxl
RGF0YSA9IHNvcnRMb2NhbGVEYXRhOwotICAgIGVsc2UKLSAgICAgICAgbG9jYWxlRGF0YSA9IHNl
YXJjaExvY2FsZURhdGE7CisgICAgYXV0byBsb2NhbGVEYXRhID0gKG1fdXNhZ2UgPT0gVXNhZ2U6
OlNvcnQpID8gc29ydExvY2FsZURhdGEgOiBzZWFyY2hMb2NhbGVEYXRhOwogCi0gICAgLy8gMTIu
IExldCBvcHQgYmUgYSBuZXcgUmVjb3JkLgogICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IG9w
dDsKIAotICAgIC8vIDEzLiBMZXQgbWF0Y2hlciBiZSBHZXRPcHRpb24ob3B0aW9ucywgImxvY2Fs
ZU1hdGNoZXIiLCAic3RyaW5nIiwgwqsibG9va3VwIiwgImJlc3QgZml0IsK7LCAiYmVzdCBmaXQi
KS4KICAgICBTdHJpbmcgbWF0Y2hlciA9IGludGxTdHJpbmdPcHRpb24oc3RhdGUsIG9wdGlvbnMs
IHZtLnByb3BlcnR5TmFtZXMtPmxvY2FsZU1hdGNoZXIsIHsgImxvb2t1cCIsICJiZXN0IGZpdCIg
fSwgImxvY2FsZU1hdGNoZXIgbXVzdCBiZSBlaXRoZXIgXCJsb29rdXBcIiBvciBcImJlc3QgZml0
XCIiLCAiYmVzdCBmaXQiKTsKLSAgICAvLyAxNC4gUmV0dXJuSWZBYnJ1cHQobWF0Y2hlcikuCiAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKLSAgICAvLyAxNS4gU2V0IG9w
dC5bW2xvY2FsZU1hdGNoZXJdXSB0byBtYXRjaGVyLgogICAgIG9wdC5hZGQoQVNDSUlMaXRlcmFs
KCJsb2NhbGVNYXRjaGVyIiksIG1hdGNoZXIpOwogCi0gICAgLy8gMTYuIEZvciBlYWNoIHJvdyBp
biBUYWJsZSAxLCBleGNlcHQgdGhlIGhlYWRlciByb3csIGRvOgotICAgIC8vIGEuIExldCBrZXkg
YmUgdGhlIG5hbWUgZ2l2ZW4gaW4gdGhlIEtleSBjb2x1bW4gb2YgdGhlIHJvdy4KLSAgICAvLyBi
LiBMZXQgcHJvcCBiZSB0aGUgbmFtZSBnaXZlbiBpbiB0aGUgUHJvcGVydHkgY29sdW1uIG9mIHRo
ZSByb3cuCi0gICAgLy8gYy4gTGV0IHR5cGUgYmUgdGhlIHN0cmluZyBnaXZlbiBpbiB0aGUgVHlw
ZSBjb2x1bW4gb2YgdGhlIHJvdy4KLSAgICAvLyBkLiBMZXQgbGlzdCBiZSBhIExpc3QgY29udGFp
bmluZyB0aGUgU3RyaW5ncyBnaXZlbiBpbiB0aGUgVmFsdWVzIGNvbHVtbiBvZiB0aGUgcm93LCBv
ciB1bmRlZmluZWQgaWYgbm8gc3RyaW5ncyBhcmUgZ2l2ZW4uCi0gICAgLy8gZS4gTGV0IHZhbHVl
IGJlIEdldE9wdGlvbihvcHRpb25zLCBwcm9wLCB0eXBlLCBsaXN0LCB1bmRlZmluZWQpLgotICAg
IC8vIGYuIFJldHVybklmQWJydXB0KHZhbHVlKS4KLSAgICAvLyBnLiBJZiB0aGUgc3RyaW5nIGdp
dmVuIGluIHRoZSBUeXBlIGNvbHVtbiBvZiB0aGUgcm93IGlzICJib29sZWFuIiBhbmQgdmFsdWUg
aXMgbm90IHVuZGVmaW5lZCwgdGhlbgotICAgIC8vICAgIGkuIExldCB2YWx1ZSBiZSBUb1N0cmlu
Zyh2YWx1ZSkuCi0gICAgLy8gICAgaWkuIFJldHVybklmQWJydXB0KHZhbHVlKS4KLSAgICAvLyBo
LiBTZXQgb3B0LltbPGtleT5dXSB0byB2YWx1ZS4KICAgICB7CiAgICAgICAgIFN0cmluZyBudW1l
cmljU3RyaW5nOwogICAgICAgICBib29sIHVzZXNGYWxsYmFjazsKQEAgLTI1NywzNSArMjI0LDE1
IEBAIHZvaWQgSW50bENvbGxhdG9yOjppbml0aWFsaXplQ29sbGF0b3IoRXhlY1N0YXRlJiBzdGF0
ZSwgSlNWYWx1ZSBsb2NhbGVzLCBKU1ZhbHVlCiAgICAgICAgIG9wdC5hZGQoQVNDSUlMaXRlcmFs
KCJrZiIpLCBjYXNlRmlyc3QpOwogICAgIH0KIAotICAgIC8vIDE3LiBMZXQgcmVsZXZhbnRFeHRl
bnNpb25LZXlzIGJlIHRoZSB2YWx1ZSBvZiAlQ29sbGF0b3IlLltbcmVsZXZhbnRFeHRlbnNpb25L
ZXlzXV0uCi0gICAgLy8gMTguIExldCByIGJlIFJlc29sdmVMb2NhbGUoJUNvbGxhdG9yJS5bW2F2
YWlsYWJsZUxvY2FsZXNdXSwgcmVxdWVzdGVkTG9jYWxlcywgb3B0LCByZWxldmFudEV4dGVuc2lv
bktleXMsIGxvY2FsZURhdGEpLgogICAgIGF1dG8mIGF2YWlsYWJsZUxvY2FsZXMgPSBzdGF0ZS5q
c0NhbGxlZSgpLT5nbG9iYWxPYmplY3QoKS0+aW50bENvbGxhdG9yQXZhaWxhYmxlTG9jYWxlcygp
OwogICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZUxvY2FsZShzdGF0ZSwgYXZhaWxhYmxlTG9jYWxl
cywgcmVxdWVzdGVkTG9jYWxlcywgb3B0LCByZWxldmFudENvbGxhdG9yRXh0ZW5zaW9uS2V5cywg
V1RGX0FSUkFZX0xFTkdUSChyZWxldmFudENvbGxhdG9yRXh0ZW5zaW9uS2V5cyksIGxvY2FsZURh
dGEpOwogCi0gICAgLy8gMTkuIFNldCBjb2xsYXRvci5bW2xvY2FsZV1dIHRvIHRoZSB2YWx1ZSBv
ZiByLltbbG9jYWxlXV0uCiAgICAgbV9sb2NhbGUgPSByZXN1bHQuZ2V0KEFTQ0lJTGl0ZXJhbCgi
bG9jYWxlIikpOwogICAgIGlmIChtX2xvY2FsZS5pc0VtcHR5KCkpIHsKICAgICAgICAgdGhyb3dU
eXBlRXJyb3IoJnN0YXRlLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJmYWlsZWQgdG8gaW5pdGlhbGl6
ZSBDb2xsYXRvciBkdWUgdG8gaW52YWxpZCBsb2NhbGUiKSk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICAvLyAyMC4gTGV0IGsgYmUgMC4KLSAgICAvLyAyMS4gTGV0IGxlblZhbHVlIGJl
IEdldChyZWxldmFudEV4dGVuc2lvbktleXMsICJsZW5ndGgiKS4KLSAgICAvLyAyMi4gTGV0IGxl
biBiZSBUb0xlbmd0aChsZW5WYWx1ZSkuCi0gICAgLy8gMjMuIFJlcGVhdCB3aGlsZSBrIDwgbGVu
OgotICAgIC8vIGEuIExldCBQayBiZSBUb1N0cmluZyhrKS4KLSAgICAvLyBiLiBMZXQga2V5IGJl
IEdldChyZWxldmFudEV4dGVuc2lvbktleXMsIFBrKS4KLSAgICAvLyBjLiBSZXR1cm5JZkFicnVw
dChrZXkpLgotICAgIC8vIGQuIElmIGtleSBpcyAiY28iLCB0aGVuCi0gICAgLy8gICAgaS4gTGV0
IHByb3BlcnR5IGJlICJjb2xsYXRpb24iLgotICAgIC8vICAgIGlpLiBMZXQgdmFsdWUgYmUgdGhl
IHZhbHVlIG9mIHIuW1tjb11dLgotICAgIC8vICAgIGlpaS4gSWYgdmFsdWUgaXMgbnVsbCwgbGV0
IHZhbHVlIGJlICJkZWZhdWx0Ii4KLSAgICAvLyBlLiBFbHNlIHVzZSB0aGUgcm93IG9mIFRhYmxl
IDEgdGhhdCBjb250YWlucyB0aGUgdmFsdWUgb2Yga2V5IGluIHRoZSBLZXkgY29sdW1uOgotICAg
IC8vICAgIGkuIExldCBwcm9wZXJ0eSBiZSB0aGUgbmFtZSBnaXZlbiBpbiB0aGUgUHJvcGVydHkg
Y29sdW1uIG9mIHRoZSByb3cuCi0gICAgLy8gICAgaWkuIExldCB2YWx1ZSBiZSB0aGUgdmFsdWUg
b2Ygci5bWzxrZXk+XV0uCi0gICAgLy8gICAgaWlpLiBJZiB0aGUgbmFtZSBnaXZlbiBpbiB0aGUg
VHlwZSBjb2x1bW4gb2YgdGhlIHJvdyBpcyAiYm9vbGVhbiIsIGxldCB2YWx1ZSBiZSB0aGUgcmVz
dWx0IG9mIGNvbXBhcmluZyB2YWx1ZSB3aXRoICJ0cnVlIi4KLSAgICAvLyBmLiBTZXQgY29sbGF0
b3IuW1s8cHJvcGVydHk+XV0gdG8gdmFsdWUuCi0gICAgLy8gZy4gSW5jcmVhc2UgayBieSAxLgog
ICAgIGNvbnN0IFN0cmluZyYgY29sbGF0aW9uID0gcmVzdWx0LmdldChBU0NJSUxpdGVyYWwoImNv
IikpOwogICAgIG1fY29sbGF0aW9uID0gY29sbGF0aW9uLmlzTnVsbCgpID8gQVNDSUlMaXRlcmFs
KCJkZWZhdWx0IikgOiBjb2xsYXRpb247CiAgICAgbV9udW1lcmljID0gcmVzdWx0LmdldChBU0NJ
SUxpdGVyYWwoImtuIikpID09ICJ0cnVlIjsKQEAgLTI5OCwxOCArMjQ1LDggQEAgdm9pZCBJbnRs
Q29sbGF0b3I6OmluaXRpYWxpemVDb2xsYXRvcihFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIGxv
Y2FsZXMsIEpTVmFsdWUKICAgICBlbHNlCiAgICAgICAgIG1fY2FzZUZpcnN0ID0gQ2FzZUZpcnN0
OjpGYWxzZTsKIAotICAgIC8vIDI0LiBMZXQgcyBiZSBHZXRPcHRpb24ob3B0aW9ucywgInNlbnNp
dGl2aXR5IiwgInN0cmluZyIsIMKrImJhc2UiLCAiYWNjZW50IiwgImNhc2UiLCAidmFyaWFudCLC
uywgdW5kZWZpbmVkKS4KICAgICBTdHJpbmcgc2Vuc2l0aXZpdHlTdHJpbmcgPSBpbnRsU3RyaW5n
T3B0aW9uKHN0YXRlLCBvcHRpb25zLCB2bS5wcm9wZXJ0eU5hbWVzLT5zZW5zaXRpdml0eSwgeyAi
YmFzZSIsICJhY2NlbnQiLCAiY2FzZSIsICJ2YXJpYW50IiB9LCAic2Vuc2l0aXZpdHkgbXVzdCBi
ZSBlaXRoZXIgXCJiYXNlXCIsIFwiYWNjZW50XCIsIFwiY2FzZVwiLCBvciBcInZhcmlhbnRcIiIs
IG51bGxwdHIpOwotICAgIC8vIDI1LiBSZXR1cm5JZkFicnVwdChzKS4KICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIC8vIDI2LiBJZiBzIGlzIHVuZGVmaW5lZCwg
dGhlbgotICAgIC8vIGEuIElmIHUgaXMgInNvcnQiLCB0aGVuIGxldCBzIGJlICJ2YXJpYW50Ii4K
LSAgICAvLyBiLiBFbHNlCi0gICAgLy8gICAgaS4gTGV0IGRhdGFMb2NhbGUgYmUgdGhlIHZhbHVl
IG9mIHIuW1tkYXRhTG9jYWxlXV0uCi0gICAgLy8gICAgaWkuIExldCBkYXRhTG9jYWxlRGF0YSBi
ZSBHZXQobG9jYWxlRGF0YSwgZGF0YUxvY2FsZSkuCi0gICAgLy8gICAgaWlpLiBMZXQgcyBiZSBH
ZXQoZGF0YUxvY2FsZURhdGEsICJzZW5zaXRpdml0eSIpLgotICAgIC8vICAgIDEwLjIuMyAiW1tz
ZWFyY2hMb2NhbGVEYXRhXV1bbG9jYWxlXSBtdXN0IGhhdmUgYSBzZW5zaXRpdml0eSBwcm9wZXJ0
eSB3aXRoIGEgU3RyaW5nIHZhbHVlIGVxdWFsIHRvICJiYXNlIiwgImFjY2VudCIsICJjYXNlIiwg
b3IgInZhcmlhbnQiIGZvciBhbGwgbG9jYWxlIHZhbHVlcy4iCi0gICAgLy8gMjcuIFNldCBjb2xs
YXRvci5bW3NlbnNpdGl2aXR5XV0gdG8gcy4KICAgICBpZiAoc2Vuc2l0aXZpdHlTdHJpbmcgPT0g
ImJhc2UiKQogICAgICAgICBtX3NlbnNpdGl2aXR5ID0gU2Vuc2l0aXZpdHk6OkJhc2U7CiAgICAg
ZWxzZSBpZiAoc2Vuc2l0aXZpdHlTdHJpbmcgPT0gImFjY2VudCIpCkBAIC0zMTksMjEgKzI1Niwx
NCBAQCB2b2lkIEludGxDb2xsYXRvcjo6aW5pdGlhbGl6ZUNvbGxhdG9yKEV4ZWNTdGF0ZSYgc3Rh
dGUsIEpTVmFsdWUgbG9jYWxlcywgSlNWYWx1ZQogICAgIGVsc2UKICAgICAgICAgbV9zZW5zaXRp
dml0eSA9IFNlbnNpdGl2aXR5OjpWYXJpYW50OwogCi0gICAgLy8gMjguIExldCBpcCBiZSBHZXRP
cHRpb24ob3B0aW9ucywgImlnbm9yZVB1bmN0dWF0aW9uIiwgImJvb2xlYW4iLCB1bmRlZmluZWQs
IGZhbHNlKS4KICAgICBib29sIHVzZXNGYWxsYmFjazsKICAgICBib29sIGlnbm9yZVB1bmN0dWF0
aW9uID0gaW50bEJvb2xlYW5PcHRpb24oc3RhdGUsIG9wdGlvbnMsIHZtLnByb3BlcnR5TmFtZXMt
Pmlnbm9yZVB1bmN0dWF0aW9uLCB1c2VzRmFsbGJhY2spOwogICAgIGlmICh1c2VzRmFsbGJhY2sp
CiAgICAgICAgIGlnbm9yZVB1bmN0dWF0aW9uID0gZmFsc2U7Ci0gICAgLy8gMjkuIFJldHVybklm
QWJydXB0KGlwKS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAg
IC8vIDMwLiBTZXQgY29sbGF0b3IuW1tpZ25vcmVQdW5jdHVhdGlvbl1dIHRvIGlwLgogICAgIG1f
aWdub3JlUHVuY3R1YXRpb24gPSBpZ25vcmVQdW5jdHVhdGlvbjsKIAotICAgIC8vIDMxLiBTZXQg
Y29sbGF0b3IuW1tib3VuZENvbXBhcmVdXSB0byB1bmRlZmluZWQuCi0gICAgLy8gMzIuIFNldCBj
b2xsYXRvci5bW2luaXRpYWxpemVkQ29sbGF0b3JdXSB0byB0cnVlLgogICAgIG1faW5pdGlhbGl6
ZWRDb2xsYXRvciA9IHRydWU7Ci0KLSAgICAvLyAzMy4gUmV0dXJuIGNvbGxhdG9yLgogfQogCiB2
b2lkIEludGxDb2xsYXRvcjo6Y3JlYXRlQ29sbGF0b3IoRXhlY1N0YXRlJiBzdGF0ZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvckNvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvckNvbnN0
cnVjdG9yLmNwcAppbmRleCA3OGYxODlmOThiNDlkOWEyZmU1MWNlMjdiMjI1NTk1MWRkMDk0NjBm
Li44NmFlM2YwOTA4ZmNhOGVhYzA4NjJlNGM3MWI5YmEwNDBhOTNlMzFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yQ29uc3RydWN0
b3IuY3BwCkBAIC04Miw2ICs4Miw3IEBAIHZvaWQgSW50bENvbGxhdG9yQ29uc3RydWN0b3I6OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgSW50bENvbGxhdG9yUHJvdG90eXBlKiBjb2xsCiAgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24odm0sIEFTQ0lJTGl0ZXJhbCgiQ29sbGF0b3IiKSk7CiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwg
Y29sbGF0b3JQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5
QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUpOworICAgIGNv
bGxhdG9yUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+Y29uc3RydWN0b3IsIHRoaXMsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKICAgICBtX2NvbGxhdG9yU3RydWN0dXJlLnNldCh2bSwg
dGhpcywgY29sbGF0b3JTdHJ1Y3R1cmUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3JQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yUHJvdG90eXBlLmNwcAppbmRleCBhZDU5Yzhl
NGYyMGJhYTEyOWM3MGE0OTQxODVjNmY0ZjU1MzgzZTdiLi5iZjQ3NTI5ZDhhOGI3Y2EzYmU0OWQw
M2JiMjIyYWU1NmMyZGNlZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsQ29sbGF0b3JQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxDb2xsYXRvclByb3RvdHlwZS5jcHAKQEAgLTc0LDYgKzc0LDggQEAgSW50
bENvbGxhdG9yUHJvdG90eXBlOjpJbnRsQ29sbGF0b3JQcm90b3R5cGUoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKIHZvaWQgSW50bENvbGxhdG9yUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0pCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworCisgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnRvU3RyaW5nVGFnU3lt
Ym9sLCBqc1N0cmluZygmdm0sICJPYmplY3QiKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgSW50bENvbGxhdG9yRnVuY0NvbXBhcmUoRXhlY1N0YXRlKiBzdGF0
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGlt
ZUZvcm1hdENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmNwcAppbmRleCAyOTE5ZWNlMTVjNTExZTA5Nzgx
YjFkMTA2MmYwMzg1YmQ2ZTFmODE4Li41MzUxZTQzZGNkYWRkZTJiNWNmYWM1ZDI5ZjdjNjYyNzQw
NWNmMmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0
ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuY3BwCkBAIC04Miw2ICs4Miw3IEBA
IHZvaWQgSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgSW50bERhdGVUaW1lRm9ybWF0UHJvCiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIEFT
Q0lJTGl0ZXJhbCgiRGF0ZVRpbWVGb3JtYXQiKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgZGF0ZVRpbWVGb3JtYXRQcm90
b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpE
b250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigw
KSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUpOworICAgIGRhdGVUaW1lRm9ybWF0
UHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+Y29uc3RydWN0b3IsIHRoaXMsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pKTsKICAgICBtX2RhdGVUaW1lRm9ybWF0U3RydWN0dXJlLnNldCh2bSwg
dGhpcywgZGF0ZVRpbWVGb3JtYXRTdHJ1Y3R1cmUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBl
LmNwcAppbmRleCA0NzI0YjJiZTE5MmIwMjg1MmY4ODM0ODNlMmQzNDliZTk2NzUyMTAxLi43NTY1
Njc2ZDFiMDA1ZjBkZmNlMDQyYjJmNjg2NjQ4ZThhNTVmODkyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdFByb3Rv
dHlwZS5jcHAKQEAgLTg3LDMzICs4NywzNSBAQCB2b2lkIEludGxEYXRlVGltZUZvcm1hdFByb3Rv
dHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsTwogI2Vs
c2UKICAgICBVTlVTRURfUEFSQU0oZ2xvYmFsT2JqZWN0KTsKICNlbmRpZgorCisgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnRvU3RyaW5nVGFnU3lt
Ym9sLCBqc1N0cmluZygmdm0sICJPYmplY3QiKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKIH0KIAorc3RhdGljIGNvbnN0IGRvdWJs
ZSBtYXhFQ01BU2NyaXB0VGltZSA9IDguNjRFMTU7CisKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIEludGxEYXRlVGltZUZvcm1hdEZ1bmNGb3JtYXREYXRlVGltZShFeGVjU3Rh
dGUqIHN0YXRlKQogewogICAgIFZNJiB2bSA9IHN0YXRlLT52bSgpOwogICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICAvLyAxMi4zLjQgRGF0ZVRpbWUgRm9ybWF0
IEZ1bmN0aW9ucyAoRUNNQS00MDIgMi4wKQotICAgIC8vIDEuIExldCBkdGYgYmUgdGhlIHRoaXMg
dmFsdWUuCi0gICAgLy8gMi4gQXNzZXJ0OiBUeXBlKGR0ZikgaXMgT2JqZWN0IGFuZCBkdGYgaGFz
IGFuIFtbaW5pdGlhbGl6ZWREYXRlVGltZUZvcm1hdF1dIGludGVybmFsIHNsb3Qgd2hvc2UgdmFs
dWUgaXMgdHJ1ZS4KKyAgICAvLyAxMi4xLjcgRGF0ZVRpbWUgRm9ybWF0IEZ1bmN0aW9ucyAoRUNN
QS00MDIpCisgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hNDAyLyNzZWMtZm9ybWF0
ZGF0ZXRpbWUKKwogICAgIEludGxEYXRlVGltZUZvcm1hdCogZm9ybWF0ID0ganNDYXN0PEludGxE
YXRlVGltZUZvcm1hdCo+KHN0YXRlLT50aGlzVmFsdWUoKSk7CiAKICAgICBKU1ZhbHVlIGRhdGUg
PSBzdGF0ZS0+YXJndW1lbnQoMCk7CiAgICAgZG91YmxlIHZhbHVlOwogCi0gICAgLy8gMy4gSWYg
ZGF0ZSBpcyBub3QgcHJvdmlkZWQgb3IgaXMgdW5kZWZpbmVkLCB0aGVuCi0gICAgaWYgKGRhdGUu
aXNVbmRlZmluZWQoKSkgewotICAgICAgICAvLyBhLiBMZXQgeCBiZSAlRGF0ZV9ub3clKCkuCisg
ICAgaWYgKGRhdGUuaXNVbmRlZmluZWQoKSkKICAgICAgICAgdmFsdWUgPSBKU1ZhbHVlOjpkZWNv
ZGUoZGF0ZU5vdyhzdGF0ZSkpLnRvTnVtYmVyKHN0YXRlKTsKLSAgICB9IGVsc2UgewotICAgICAg
ICAvLyA0LiBFbHNlCi0gICAgICAgIC8vIGEuIExldCB4IGJlIFRvTnVtYmVyKGRhdGUpLgorICAg
IGVsc2UgewogICAgICAgICB2YWx1ZSA9IGRhdGUudG9OdW1iZXIoc3RhdGUpOwotICAgICAgICAv
LyBiLiBSZXR1cm5JZkFicnVwdCh4KS4KKyAgICAgICAgaWYgKCFzdGQ6OmlzZmluaXRlKHZhbHVl
KSB8fCBhYnModmFsdWUpID4gbWF4RUNNQVNjcmlwdFRpbWUpCisgICAgICAgICAgICB2YWx1ZSA9
IFBOYU47CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHZhbHVlID0gdHJ1bmModmFsdWUpOwog
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAg
ICB9CiAKLSAgICAvLyA1LiBSZXR1cm4gRm9ybWF0RGF0ZVRpbWUoZHRmLCB4KS4KICAgICBzY29w
ZS5yZWxlYXNlKCk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShmb3JtYXQtPmZvcm1hdCgq
c3RhdGUsIHZhbHVlKSk7CiB9CkBAIC0xNzYsNiArMTc4LDEwIEBAIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlRnVuY0Zvcm1hdFRvUGFydHMo
RXhlY1N0CiAgICAgICAgIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGRhdGVOb3coc3RhdGUpKS50
b051bWJlcihzdGF0ZSk7CiAgICAgZWxzZSB7CiAgICAgICAgIHZhbHVlID0gZGF0ZS50b051bWJl
cihzdGF0ZSk7CisgICAgICAgIGlmICghc3RkOjppc2Zpbml0ZSh2YWx1ZSkgfHwgYWJzKHZhbHVl
KSA+IG1heEVDTUFTY3JpcHRUaW1lKQorICAgICAgICAgICAgdmFsdWUgPSBQTmFOOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICB2YWx1ZSA9IHRydW5jKHZhbHVlKTsKICAgICAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwCmluZGV4
IDE4NWFjMzY4ZDE3MzMwZmZmYTU4N2M2NjEyZGZiZGQyMTlmZmNiYTAuLmIxOGZkMGZmMjY2MzFl
ZGUzNDRiY2FlZDIxZDRmZWExZTM3YjcxMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwCkBAIC0xNTcsNjIgKzE1Nyw0MiBAQCBz
dGF0aWMgdW5zaWduZWQgY29tcHV0ZUN1cnJlbmN5RGlnaXRzKGNvbnN0IFN0cmluZyYgY3VycmVu
Y3kpCiAKIHZvaWQgSW50bE51bWJlckZvcm1hdDo6aW5pdGlhbGl6ZU51bWJlckZvcm1hdChFeGVj
U3RhdGUmIHN0YXRlLCBKU1ZhbHVlIGxvY2FsZXMsIEpTVmFsdWUgb3B0aW9uc1ZhbHVlKQogewot
ICAgIC8vIDExLjEuMSBJbml0aWFsaXplTnVtYmVyRm9ybWF0IChudW1iZXJGb3JtYXQsIGxvY2Fs
ZXMsIG9wdGlvbnMpIChFQ01BLTQwMiAyLjApCiAgICAgVk0mIHZtID0gc3RhdGUudm0oKTsKICAg
ICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICAvLyAxLiBJZiBu
dW1iZXJGb3JtYXQgaGFzIGFuIFtbaW5pdGlhbGl6ZWRJbnRsT2JqZWN0XV0gaW50ZXJuYWwgc2xv
dCB3aXRoIHZhbHVlIHRydWUsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KLSAgICAvLyAy
LiBTZXQgbnVtYmVyRm9ybWF0LltbaW5pdGlhbGl6ZWRJbnRsT2JqZWN0XV0gdG8gdHJ1ZS4KKyAg
ICAvLyAxMS4xLjIgSW5pdGlhbGl6ZU51bWJlckZvcm1hdCAobnVtYmVyRm9ybWF0LCBsb2NhbGVz
LCBvcHRpb25zKSAoRUNNQS00MDIpCisgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21h
NDAyLyNzZWMtaW5pdGlhbGl6ZW51bWJlcmZvcm1hdAogCi0gICAgLy8gMy4gTGV0IHJlcXVlc3Rl
ZExvY2FsZXMgYmUgQ2Fub25pY2FsaXplTG9jYWxlTGlzdChsb2NhbGVzKS4KICAgICBhdXRvIHJl
cXVlc3RlZExvY2FsZXMgPSBjYW5vbmljYWxpemVMb2NhbGVMaXN0KHN0YXRlLCBsb2NhbGVzKTsK
LSAgICAvLyA0LiBSZXR1cm5JZkFicnVwdChyZXF1ZXN0ZWRMb2NhbGVzKS4KICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAgLy8gNS4gSWYgb3B0aW9ucyBpcyB1
bmRlZmluZWQsIHRoZW4KICAgICBKU09iamVjdCogb3B0aW9uczsKLSAgICBpZiAob3B0aW9uc1Zh
bHVlLmlzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAgLy8gYS4gTGV0IG9wdGlvbnMgYmUgT2JqZWN0
Q3JlYXRlKCVPYmplY3RQcm90b3R5cGUlKS4KLSAgICAgICAgb3B0aW9ucyA9IGNvbnN0cnVjdEVt
cHR5T2JqZWN0KCZzdGF0ZSk7Ci0gICAgfSBlbHNlIHsgLy8gNi4gRWxzZQotICAgICAgICAvLyBh
LiBMZXQgb3B0aW9ucyBiZSBUb09iamVjdChvcHRpb25zKS4KKyAgICBpZiAob3B0aW9uc1ZhbHVl
LmlzVW5kZWZpbmVkKCkpCisgICAgICAgIG9wdGlvbnMgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdCgm
c3RhdGUsIHN0YXRlLmxleGljYWxHbG9iYWxPYmplY3QoKS0+bnVsbFByb3RvdHlwZU9iamVjdFN0
cnVjdHVyZSgpKTsKKyAgICBlbHNlIHsKICAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnNWYWx1ZS50
b09iamVjdCgmc3RhdGUpOwotICAgICAgICAvLyBiLiBSZXR1cm5JZkFicnVwdChvcHRpb25zKS4K
ICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKICAgICB9CiAKLSAg
ICAvLyA3LiBMZXQgb3B0IGJlIGEgbmV3IFJlY29yZC4KICAgICBIYXNoTWFwPFN0cmluZywgU3Ry
aW5nPiBvcHQ7CiAKLSAgICAvLyA4LiBMZXQgbWF0Y2hlciBiZSBHZXRPcHRpb24ob3B0aW9ucywg
ImxvY2FsZU1hdGNoZXIiLCAic3RyaW5nIiwgwqsibG9va3VwIiwgImJlc3QgZml0IsK7LCAiYmVz
dCBmaXQiKS4KICAgICBTdHJpbmcgbWF0Y2hlciA9IGludGxTdHJpbmdPcHRpb24oc3RhdGUsIG9w
dGlvbnMsIHZtLnByb3BlcnR5TmFtZXMtPmxvY2FsZU1hdGNoZXIsIHsgImxvb2t1cCIsICJiZXN0
IGZpdCIgfSwgImxvY2FsZU1hdGNoZXIgbXVzdCBiZSBlaXRoZXIgXCJsb29rdXBcIiBvciBcImJl
c3QgZml0XCIiLCAiYmVzdCBmaXQiKTsKLSAgICAvLyA5LiBSZXR1cm5JZkFicnVwdChtYXRjaGVy
KS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIC8vIDEwLiBT
ZXQgb3B0LltbbG9jYWxlTWF0Y2hlcl1dIHRvIG1hdGNoZXIuCiAgICAgb3B0LmFkZChBU0NJSUxp
dGVyYWwoImxvY2FsZU1hdGNoZXIiKSwgbWF0Y2hlcik7CiAKLSAgICAvLyAxMS4gTGV0IGxvY2Fs
ZURhdGEgYmUgJU51bWJlckZvcm1hdCUuW1tsb2NhbGVEYXRhXV0uCi0gICAgLy8gMTIuIExldCBy
IGJlIFJlc29sdmVMb2NhbGUoJU51bWJlckZvcm1hdCUuW1thdmFpbGFibGVMb2NhbGVzXV0sIHJl
cXVlc3RlZExvY2FsZXMsIG9wdCwgJU51bWJlckZvcm1hdCUuW1tyZWxldmFudEV4dGVuc2lvbktl
eXNdXSwgbG9jYWxlRGF0YSkuCiAgICAgYXV0byYgYXZhaWxhYmxlTG9jYWxlcyA9IHN0YXRlLmpz
Q2FsbGVlKCktPmdsb2JhbE9iamVjdCgpLT5pbnRsTnVtYmVyRm9ybWF0QXZhaWxhYmxlTG9jYWxl
cygpOwogICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZUxvY2FsZShzdGF0ZSwgYXZhaWxhYmxlTG9j
YWxlcywgcmVxdWVzdGVkTG9jYWxlcywgb3B0LCByZWxldmFudE51bWJlckV4dGVuc2lvbktleXMs
IFdURl9BUlJBWV9MRU5HVEgocmVsZXZhbnROdW1iZXJFeHRlbnNpb25LZXlzKSwgSW50bE5GSW50
ZXJuYWw6OmxvY2FsZURhdGEpOwogCi0gICAgLy8gMTMuIFNldCBudW1iZXJGb3JtYXQuW1tsb2Nh
bGVdXSB0byB0aGUgdmFsdWUgb2Ygci5bW2xvY2FsZV1dLgogICAgIG1fbG9jYWxlID0gcmVzdWx0
LmdldChBU0NJSUxpdGVyYWwoImxvY2FsZSIpKTsKICAgICBpZiAobV9sb2NhbGUuaXNFbXB0eSgp
KSB7CiAgICAgICAgIHRocm93VHlwZUVycm9yKCZzdGF0ZSwgc2NvcGUsIEFTQ0lJTGl0ZXJhbCgi
ZmFpbGVkIHRvIGluaXRpYWxpemUgTnVtYmVyRm9ybWF0IGR1ZSB0byBpbnZhbGlkIGxvY2FsZSIp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIDE0LiBTZXQgbnVtYmVyRm9ybWF0
LltbbnVtYmVyaW5nU3lzdGVtXV0gdG8gdGhlIHZhbHVlIG9mIHIuW1tudV1dLgogICAgIG1fbnVt
YmVyaW5nU3lzdGVtID0gcmVzdWx0LmdldChBU0NJSUxpdGVyYWwoIm51IikpOwogCi0gICAgLy8g
MTUuIExldCBkYXRhTG9jYWxlIGJlIHIuW1tkYXRhTG9jYWxlXV0uCi0KLSAgICAvLyAxNi4gTGV0
IHMgYmUgR2V0T3B0aW9uKG9wdGlvbnMsICJzdHlsZSIsICJzdHJpbmciLCDCqyAiZGVjaW1hbCIs
ICJwZXJjZW50IiwgImN1cnJlbmN5IsK7LCAiZGVjaW1hbCIpLgogICAgIFN0cmluZyBzdHlsZVN0
cmluZyA9IGludGxTdHJpbmdPcHRpb24oc3RhdGUsIG9wdGlvbnMsIElkZW50aWZpZXI6OmZyb21T
dHJpbmcoJnZtLCAic3R5bGUiKSwgeyAiZGVjaW1hbCIsICJwZXJjZW50IiwgImN1cnJlbmN5IiB9
LCAic3R5bGUgbXVzdCBiZSBlaXRoZXIgXCJkZWNpbWFsXCIsIFwicGVyY2VudFwiLCBvciBcImN1
cnJlbmN5XCIiLCAiZGVjaW1hbCIpOwotICAgIC8vIDE3LiBSZXR1cm5JZkFicnVwdChzKS4KICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIC8vIDE4LiBTZXQgbnVt
YmVyRm9ybWF0Lltbc3R5bGVdXSB0byBzLgogICAgIGlmIChzdHlsZVN0cmluZyA9PSAiZGVjaW1h
bCIpCiAgICAgICAgIG1fc3R5bGUgPSBTdHlsZTo6RGVjaW1hbDsKICAgICBlbHNlIGlmIChzdHls
ZVN0cmluZyA9PSAicGVyY2VudCIpCkBAIC0yMjIsMTMgKzIwMiw5IEBAIHZvaWQgSW50bE51bWJl
ckZvcm1hdDo6aW5pdGlhbGl6ZU51bWJlckZvcm1hdChFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVl
IGxvY2FsZXMsCiAgICAgZWxzZQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotICAg
IC8vIDE5LiBMZXQgYyBiZSBHZXRPcHRpb24ob3B0aW9ucywgImN1cnJlbmN5IiwgInN0cmluZyIs
IHVuZGVmaW5lZCwgdW5kZWZpbmVkKS4KICAgICBTdHJpbmcgY3VycmVuY3kgPSBpbnRsU3RyaW5n
T3B0aW9uKHN0YXRlLCBvcHRpb25zLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImN1cnJl
bmN5IiksIHsgfSwgbnVsbHB0ciwgbnVsbHB0cik7Ci0gICAgLy8gMjAuIFJldHVybklmQWJydXB0
KGMpLgogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAgLy8gMjEu
IElmIGMgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgogICAgIGlmICghY3VycmVuY3kuaXNOdWxsKCkp
IHsKLSAgICAgICAgLy8gYS4gSWYgdGhlIHJlc3VsdCBvZiBJc1dlbGxGb3JtZWRDdXJyZW5jeUNv
ZGUoYyksIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgUmFuZ2VFcnJvciBleGNlcHRpb24uCiAgICAg
ICAgIGlmIChjdXJyZW5jeS5sZW5ndGgoKSAhPSAzIHx8ICFjdXJyZW5jeS5pc0FsbFNwZWNpYWxD
aGFyYWN0ZXJzPGlzQVNDSUlBbHBoYT4oKSkgewogICAgICAgICAgICAgdGhyb3dFeGNlcHRpb24o
JnN0YXRlLCBzY29wZSwgY3JlYXRlUmFuZ2VFcnJvcigmc3RhdGUsIEFTQ0lJTGl0ZXJhbCgiY3Vy
cmVuY3kgaXMgbm90IGEgd2VsbC1mb3JtZWQgY3VycmVuY3kgY29kZSIpKSk7CiAgICAgICAgICAg
ICByZXR1cm47CkBAIC0yMzcsMjYgKzIxMywxOCBAQCB2b2lkIEludGxOdW1iZXJGb3JtYXQ6Omlu
aXRpYWxpemVOdW1iZXJGb3JtYXQoRXhlY1N0YXRlJiBzdGF0ZSwgSlNWYWx1ZSBsb2NhbGVzLAog
CiAgICAgdW5zaWduZWQgY3VycmVuY3lEaWdpdHMgPSAwOwogICAgIGlmIChtX3N0eWxlID09IFN0
eWxlOjpDdXJyZW5jeSkgewotICAgICAgICAvLyAyMi4gSWYgcyBpcyAiY3VycmVuY3kiIGFuZCBj
IGlzIHVuZGVmaW5lZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogICAgICAgICBpZiAo
Y3VycmVuY3kuaXNOdWxsKCkpIHsKICAgICAgICAgICAgIHRocm93VHlwZUVycm9yKCZzdGF0ZSwg
c2NvcGUsIEFTQ0lJTGl0ZXJhbCgiY3VycmVuY3kgbXVzdCBiZSBhIHN0cmluZyIpKTsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIC8vIDIzLiBJZiBzIGlzICJjdXJy
ZW5jeSIsIHRoZW4KLSAgICAgICAgLy8gYS4gTGV0IGMgYmUgY29udmVydGluZyBjIHRvIHVwcGVy
IGNhc2UgYXMgc3BlY2lmaWVkIGluIDYuMS4KICAgICAgICAgY3VycmVuY3kgPSBjdXJyZW5jeS5j
b252ZXJ0VG9BU0NJSVVwcGVyY2FzZSgpOwotICAgICAgICAvLyBiLiBTZXQgbnVtYmVyRm9ybWF0
LltbY3VycmVuY3ldXSB0byBjLgogICAgICAgICBtX2N1cnJlbmN5ID0gY3VycmVuY3k7Ci0gICAg
ICAgIC8vIGMuIExldCBjRGlnaXRzIGJlIEN1cnJlbmN5RGlnaXRzKGMpCiAgICAgICAgIGN1cnJl
bmN5RGlnaXRzID0gY29tcHV0ZUN1cnJlbmN5RGlnaXRzKGN1cnJlbmN5KTsKICAgICB9CiAKLSAg
ICAvLyAyNC4gTGV0IGNkIGJlIEdldE9wdGlvbihvcHRpb25zLCAiY3VycmVuY3lEaXNwbGF5Iiwg
InN0cmluZyIsIMKrImNvZGUiLCAic3ltYm9sIiwgIm5hbWUiwrssICJzeW1ib2wiKS4KICAgICBT
dHJpbmcgY3VycmVuY3lEaXNwbGF5U3RyaW5nID0gaW50bFN0cmluZ09wdGlvbihzdGF0ZSwgb3B0
aW9ucywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJjdXJyZW5jeURpc3BsYXkiKSwgeyAi
Y29kZSIsICJzeW1ib2wiLCAibmFtZSIgfSwgImN1cnJlbmN5RGlzcGxheSBtdXN0IGJlIGVpdGhl
ciBcImNvZGVcIiwgXCJzeW1ib2xcIiwgb3IgXCJuYW1lXCIiLCAic3ltYm9sIik7Ci0gICAgLy8g
MjUuIFJldHVybklmQWJydXB0KGNkKS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2
b2lkKCkpOwotICAgIC8vIDI2LiBJZiBzIGlzICJjdXJyZW5jeSIsIHNldCBudW1iZXJGb3JtYXQu
W1tjdXJyZW5jeURpc3BsYXldXSB0byBjZC4KICAgICBpZiAobV9zdHlsZSA9PSBTdHlsZTo6Q3Vy
cmVuY3kpIHsKICAgICAgICAgaWYgKGN1cnJlbmN5RGlzcGxheVN0cmluZyA9PSAiY29kZSIpCiAg
ICAgICAgICAgICBtX2N1cnJlbmN5RGlzcGxheSA9IEN1cnJlbmN5RGlzcGxheTo6Q29kZTsKQEAg
LTI2OCw4OCArMjM2LDUxIEBAIHZvaWQgSW50bE51bWJlckZvcm1hdDo6aW5pdGlhbGl6ZU51bWJl
ckZvcm1hdChFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIGxvY2FsZXMsCiAgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAKLSAgICAvLyAyNy4gTGV0IG1uaWQgYmUgR2V0
TnVtYmVyT3B0aW9uKG9wdGlvbnMsICJtaW5pbXVtSW50ZWdlckRpZ2l0cyIsIDEsIDIxLCAxKS4K
LSAgICAvLyAyOC4gUmV0dXJuSWZBYnJ1cHQobW5pZCkuCi0gICAgLy8gMjkuIFNldCBudW1iZXJG
b3JtYXQuW1ttaW5pbXVtSW50ZWdlckRpZ2l0c11dIHRvIG1uaWQuCiAgICAgdW5zaWduZWQgbWlu
aW11bUludGVnZXJEaWdpdHMgPSBpbnRsTnVtYmVyT3B0aW9uKHN0YXRlLCBvcHRpb25zLCBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgIm1pbmltdW1JbnRlZ2VyRGlnaXRzIiksIDEsIDIxLCAx
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgIG1fbWluaW11
bUludGVnZXJEaWdpdHMgPSBtaW5pbXVtSW50ZWdlckRpZ2l0czsKIAotICAgIC8vIDMwLiBJZiBz
IGlzICJjdXJyZW5jeSIsIGxldCBtbmZkRGVmYXVsdCBiZSBjRGlnaXRzOyBlbHNlIGxldCBtbmZk
RGVmYXVsdCBiZSAwLgogICAgIHVuc2lnbmVkIG1pbmltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1bHQg
PSAobV9zdHlsZSA9PSBTdHlsZTo6Q3VycmVuY3kpID8gY3VycmVuY3lEaWdpdHMgOiAwOwogCi0g
ICAgLy8gMzEuIExldCBtbmZkIGJlIEdldE51bWJlck9wdGlvbihvcHRpb25zLCAibWluaW11bUZy
YWN0aW9uRGlnaXRzIiwgMCwgMjAsIG1uZmREZWZhdWx0KS4KLSAgICAvLyAzMi4gUmV0dXJuSWZB
YnJ1cHQobW5mZCkuCi0gICAgLy8gMzMuIFNldCBudW1iZXJGb3JtYXQuW1ttaW5pbXVtRnJhY3Rp
b25EaWdpdHNdXSB0byBtbmZkLgogICAgIHVuc2lnbmVkIG1pbmltdW1GcmFjdGlvbkRpZ2l0cyA9
IGludGxOdW1iZXJPcHRpb24oc3RhdGUsIG9wdGlvbnMsIElkZW50aWZpZXI6OmZyb21TdHJpbmco
JnZtLCAibWluaW11bUZyYWN0aW9uRGlnaXRzIiksIDAsIDIwLCBtaW5pbXVtRnJhY3Rpb25EaWdp
dHNEZWZhdWx0KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAg
IG1fbWluaW11bUZyYWN0aW9uRGlnaXRzID0gbWluaW11bUZyYWN0aW9uRGlnaXRzOwogCi0gICAg
Ly8gMzQuIElmIHMgaXMgImN1cnJlbmN5IiwgbGV0IG14ZmREZWZhdWx0IGJlIG1heChtbmZkLCBj
RGlnaXRzKTsKICAgICB1bnNpZ25lZCBtYXhpbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0OwogICAg
IGlmIChtX3N0eWxlID09IFN0eWxlOjpDdXJyZW5jeSkKICAgICAgICAgbWF4aW11bUZyYWN0aW9u
RGlnaXRzRGVmYXVsdCA9IHN0ZDo6bWF4KG1pbmltdW1GcmFjdGlvbkRpZ2l0cywgY3VycmVuY3lE
aWdpdHMpOwotICAgIGVsc2UgaWYgKG1fc3R5bGUgPT0gU3R5bGU6OlBlcmNlbnQpIC8vIGVsc2Ug
aWYgcyBpcyAicGVyY2VudCIsIGxldCBteGZkRGVmYXVsdCBiZSBtYXgobW5mZCwgMCk7CisgICAg
ZWxzZSBpZiAobV9zdHlsZSA9PSBTdHlsZTo6UGVyY2VudCkKICAgICAgICAgbWF4aW11bUZyYWN0
aW9uRGlnaXRzRGVmYXVsdCA9IG1pbmltdW1GcmFjdGlvbkRpZ2l0czsKLSAgICBlbHNlIC8vIGVs
c2UgbGV0IG14ZmREZWZhdWx0IGJlIG1heChtbmZkLCAzKS4KKyAgICBlbHNlCiAgICAgICAgIG1h
eGltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1bHQgPSBzdGQ6Om1heChtaW5pbXVtRnJhY3Rpb25EaWdp
dHMsIDN1KTsKIAotICAgIC8vIDM1LiBMZXQgbXhmZCBiZSBHZXROdW1iZXJPcHRpb24ob3B0aW9u
cywgIm1heGltdW1GcmFjdGlvbkRpZ2l0cyIsIG1uZmQsIDIwLCBteGZkRGVmYXVsdCkuCi0gICAg
Ly8gMzYuIFJldHVybklmQWJydXB0KG14ZmQpLgotICAgIC8vIDM3LiBTZXQgbnVtYmVyRm9ybWF0
LltbbWF4aW11bUZyYWN0aW9uRGlnaXRzXV0gdG8gbXhmZC4KICAgICB1bnNpZ25lZCBtYXhpbXVt
RnJhY3Rpb25EaWdpdHMgPSBpbnRsTnVtYmVyT3B0aW9uKHN0YXRlLCBvcHRpb25zLCBJZGVudGlm
aWVyOjpmcm9tU3RyaW5nKCZ2bSwgIm1heGltdW1GcmFjdGlvbkRpZ2l0cyIpLCBtaW5pbXVtRnJh
Y3Rpb25EaWdpdHMsIDIwLCBtYXhpbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0KTsKICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgIG1fbWF4aW11bUZyYWN0aW9uRGln
aXRzID0gbWF4aW11bUZyYWN0aW9uRGlnaXRzOwogCi0gICAgLy8gMzguIExldCBtbnNkIGJlIEdl
dChvcHRpb25zLCAibWluaW11bVNpZ25pZmljYW50RGlnaXRzIikuCiAgICAgSlNWYWx1ZSBtaW5p
bXVtU2lnbmlmaWNhbnREaWdpdHNWYWx1ZSA9IG9wdGlvbnMtPmdldCgmc3RhdGUsIElkZW50aWZp
ZXI6OmZyb21TdHJpbmcoJnZtLCAibWluaW11bVNpZ25pZmljYW50RGlnaXRzIikpOwotICAgIC8v
IDM5LiBSZXR1cm5JZkFicnVwdChtbnNkKS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCB2b2lkKCkpOwogCi0gICAgLy8gNDAuIExldCBteHNkIGJlIEdldChvcHRpb25zLCAibWF4aW11
bVNpZ25pZmljYW50RGlnaXRzIikuCiAgICAgSlNWYWx1ZSBtYXhpbXVtU2lnbmlmaWNhbnREaWdp
dHNWYWx1ZSA9IG9wdGlvbnMtPmdldCgmc3RhdGUsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZt
LCAibWF4aW11bVNpZ25pZmljYW50RGlnaXRzIikpOwotICAgIC8vIDQxLiBSZXR1cm5JZkFicnVw
dChteHNkKS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAg
Ly8gNDIuIElmIG1uc2QgaXMgbm90IHVuZGVmaW5lZCBvciBteHNkIGlzIG5vdCB1bmRlZmluZWQs
IHRoZW4KICAgICBpZiAoIW1pbmltdW1TaWduaWZpY2FudERpZ2l0c1ZhbHVlLmlzVW5kZWZpbmVk
KCkgfHwgIW1heGltdW1TaWduaWZpY2FudERpZ2l0c1ZhbHVlLmlzVW5kZWZpbmVkKCkpIHsKLSAg
ICAgICAgLy8gYS4gTGV0IG1uc2QgYmUgR2V0TnVtYmVyT3B0aW9uKG9wdGlvbnMsICJtaW5pbXVt
U2lnbmlmaWNhbnREaWdpdHMiLCAxLCAyMSwgMSkuCiAgICAgICAgIHVuc2lnbmVkIG1pbmltdW1T
aWduaWZpY2FudERpZ2l0cyA9IGludGxOdW1iZXJPcHRpb24oc3RhdGUsIG9wdGlvbnMsIElkZW50
aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAibWluaW11bVNpZ25pZmljYW50RGlnaXRzIiksIDEsIDIx
LCAxKTsKLSAgICAgICAgLy8gYi4gUmV0dXJuSWZBYnJ1cHQobW5zZCkuCiAgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAgICAgIC8vIGMuIExldCBteHNkIGJl
IEdldE51bWJlck9wdGlvbihvcHRpb25zLCAibWF4aW11bVNpZ25pZmljYW50RGlnaXRzIiwgbW5z
ZCwgMjEsIDIxKS4KICAgICAgICAgdW5zaWduZWQgbWF4aW11bVNpZ25pZmljYW50RGlnaXRzID0g
aW50bE51bWJlck9wdGlvbihzdGF0ZSwgb3B0aW9ucywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygm
dm0sICJtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMiKSwgbWluaW11bVNpZ25pZmljYW50RGlnaXRz
LCAyMSwgMjEpOwotICAgICAgICAvLyBkLiBSZXR1cm5JZkFicnVwdChteHNkKS4KICAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKLSAgICAgICAgLy8gZS4gU2V0IG51
bWJlckZvcm1hdC5bW21pbmltdW1TaWduaWZpY2FudERpZ2l0c11dIHRvIG1uc2QuCiAgICAgICAg
IG1fbWluaW11bVNpZ25pZmljYW50RGlnaXRzID0gbWluaW11bVNpZ25pZmljYW50RGlnaXRzOwot
ICAgICAgICAvLyBmLiBTZXQgbnVtYmVyRm9ybWF0LltbbWF4aW11bVNpZ25pZmljYW50RGlnaXRz
XV0gdG8gbXhzZC4KICAgICAgICAgbV9tYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMgPSBtYXhpbXVt
U2lnbmlmaWNhbnREaWdpdHM7CiAgICAgfQogCi0gICAgLy8gNDMuIExldCBnIGJlIEdldE9wdGlv
bihvcHRpb25zLCAidXNlR3JvdXBpbmciLCAiYm9vbGVhbiIsIHVuZGVmaW5lZCwgdHJ1ZSkuCiAg
ICAgYm9vbCB1c2VzRmFsbGJhY2s7CiAgICAgYm9vbCB1c2VHcm91cGluZyA9IGludGxCb29sZWFu
T3B0aW9uKHN0YXRlLCBvcHRpb25zLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgInVzZUdy
b3VwaW5nIiksIHVzZXNGYWxsYmFjayk7CiAgICAgaWYgKHVzZXNGYWxsYmFjaykKICAgICAgICAg
dXNlR3JvdXBpbmcgPSB0cnVlOwotICAgIC8vIDQ0LiBSZXR1cm5JZkFicnVwdChnKS4KICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIC8vIDQ1LiBTZXQgbnVtYmVy
Rm9ybWF0LltbdXNlR3JvdXBpbmddXSB0byBnLgogICAgIG1fdXNlR3JvdXBpbmcgPSB1c2VHcm91
cGluZzsKIAotICAgIC8vIFN0ZXBzIDQ2IC0gNTEgYXJlIG5vdCBuZWNlc3NhcnkgdG8gb3VyIGlt
cGxlbWVudGF0aW9uLgotICAgIC8vIDQ2LiBMZXQgZGF0YUxvY2FsZURhdGEgYmUgR2V0KGxvY2Fs
ZURhdGEsIGRhdGFMb2NhbGUpLgotICAgIC8vIDQ3LiBMZXQgcGF0dGVybnMgYmUgR2V0KGRhdGFM
b2NhbGVEYXRhLCAicGF0dGVybnMiKS4KLSAgICAvLyA0OC4gQXNzZXJ0OiBwYXR0ZXJucyBpcyBh
biBvYmplY3QgKHNlZSAxMS4yLjMpLgotICAgIC8vIDQ5LiBMZXQgc3R5bGVQYXR0ZXJucyBiZSBH
ZXQocGF0dGVybnMsIHMpLgotICAgIC8vIDUwLiBTZXQgbnVtYmVyRm9ybWF0LltbcG9zaXRpdmVQ
YXR0ZXJuXV0gdG8gR2V0KHN0eWxlUGF0dGVybnMsICJwb3NpdGl2ZVBhdHRlcm4iKS4KLSAgICAv
LyA1MS4gU2V0IG51bWJlckZvcm1hdC5bW25lZ2F0aXZlUGF0dGVybl1dIHRvIEdldChzdHlsZVBh
dHRlcm5zLCAibmVnYXRpdmVQYXR0ZXJuIikuCi0KLSAgICAvLyA1Mi4gU2V0IG51bWJlckZvcm1h
dC5bW2JvdW5kRm9ybWF0XV0gdG8gdW5kZWZpbmVkLgotICAgIC8vIDUzLiBTZXQgbnVtYmVyRm9y
bWF0LltbaW5pdGlhbGl6ZWROdW1iZXJGb3JtYXRdXSB0byB0cnVlLgogICAgIG1faW5pdGlhbGl6
ZWROdW1iZXJGb3JtYXQgPSB0cnVlOwotCi0gICAgLy8gNTQuIFJldHVybiBudW1iZXJGb3JtYXQu
CiB9CiAKIHZvaWQgSW50bE51bWJlckZvcm1hdDo6Y3JlYXRlTnVtYmVyRm9ybWF0KEV4ZWNTdGF0
ZSYgc3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
TnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmNwcAppbmRleCAyYjMwNTAzYmUzNjQ5M2Rk
YThlN2E3MGExMjQxOGRlZTRhZDc4ZDhiLi4yNzQ3MDNjMjViODU4NGY5MTE4MTcxNzYzZmQ1ZjY4
ZWY2MDZlY2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
TnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5jcHAKQEAgLTgyLDYgKzgyLDcgQEAg
dm9pZCBJbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
SW50bE51bWJlckZvcm1hdFByb3RvdHkKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgQVND
SUlMaXRlcmFsKCJOdW1iZXJGb3JtYXQiKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgbnVtYmVyRm9ybWF0UHJvdG90eXBl
LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERl
bGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91
dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlKTsKKyAgICBudW1iZXJGb3JtYXRQcm90b3R5
cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25z
dHJ1Y3RvciwgdGhpcywgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSkpOwogICAgIG1fbnVtYmVyRm9ybWF0U3RydWN0dXJlLnNldCh2bSwgdGhpcywgbnVt
YmVyRm9ybWF0U3RydWN0dXJlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdFByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmNwcAppbmRleCA1Y2Yx
NzdkNjQ3Zjg1MDE0MWQ3YzFiOTM3MzI5MmEwOTA4OTYzM2I1Li5mOGJlNmJjYTY2ZjNkMjgxODk3
YjQ0ZTE0Y2YyNmNkMmQxZTYxNTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmNwcApAQCAtNzYsNiAr
NzYsOCBAQCBJbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlOjpJbnRsTnVtYmVyRm9ybWF0UHJvdG90
eXBlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cgogdm9pZCBJbnRsTnVtYmVyRm9ybWF0UHJv
dG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFN0cnVjdHVyZSopCiB7CiAgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0pOworCisgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0s
IHZtLnByb3BlcnR5TmFtZXMtPnRvU3RyaW5nVGFnU3ltYm9sLCBqc1N0cmluZygmdm0sICJPYmpl
Y3QiKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5KTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSW50bE51
bWJlckZvcm1hdEZ1bmNGb3JtYXROdW1iZXIoRXhlY1N0YXRlKiBzdGF0ZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3QuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5jcHAKaW5kZXggODZmOTM4YTJiZTRlM2Zk
ZTEyMWRjOTg1NDIzZDEzMzExMDM5ODhiOC4uYWM3NGQ3YTU2MWNhZDBiOTM1ZTViN2QwNzZhYjlm
YTViNGRlYTEyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVj
dC5jcHAKQEAgLTc5OSwxMiArNzk5LDEzIEBAIHN0YXRpYyBKU0FycmF5KiBsb29rdXBTdXBwb3J0
ZWRMb2NhbGVzKEV4ZWNTdGF0ZSYgc3RhdGUsIGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCisgICAgdW5zaWduZWQgaW5kZXggPSAwOwogICAg
IGZvciAoc2l6ZV90IGsgPSAwOyBrIDwgbGVuOyArK2spIHsKICAgICAgICAgY29uc3QgU3RyaW5n
JiBsb2NhbGUgPSByZXF1ZXN0ZWRMb2NhbGVzW2tdOwogICAgICAgICBTdHJpbmcgbm9FeHRlbnNp
b25zTG9jYWxlID0gcmVtb3ZlVW5pY29kZUxvY2FsZUV4dGVuc2lvbihsb2NhbGUpOwogICAgICAg
ICBTdHJpbmcgYXZhaWxhYmxlTG9jYWxlID0gYmVzdEF2YWlsYWJsZUxvY2FsZShhdmFpbGFibGVM
b2NhbGVzLCBub0V4dGVuc2lvbnNMb2NhbGUpOwogICAgICAgICBpZiAoIWF2YWlsYWJsZUxvY2Fs
ZS5pc051bGwoKSkgewotICAgICAgICAgICAgc3Vic2V0LT5wdXNoKCZzdGF0ZSwganNTdHJpbmco
JnN0YXRlLCBsb2NhbGUpKTsKKyAgICAgICAgICAgIHN1YnNldC0+cHV0RGlyZWN0SW5kZXgoJnN0
YXRlLCBpbmRleCsrLCBqc1N0cmluZygmc3RhdGUsIGxvY2FsZSkpOwogICAgICAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CiAgICAgICAgIH0KICAgICB9CkBAIC04
NTQsNiArODU1LDcgQEAgSlNWYWx1ZSBzdXBwb3J0ZWRMb2NhbGVzKEV4ZWNTdGF0ZSYgc3RhdGUs
IGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYgYXZhaWxhYmxlTG9jYWwKICAgICAgICAgc3VwcG9ydGVk
TG9jYWxlcy0+ZGVmaW5lT3duUHJvcGVydHkoc3VwcG9ydGVkTG9jYWxlcywgJnN0YXRlLCBrZXlz
W2ldLCBkZXNjLCB0cnVlKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNW
YWx1ZSgpKTsKICAgICB9CisgICAgc3VwcG9ydGVkTG9jYWxlcy0+ZGVmaW5lT3duUHJvcGVydHko
c3VwcG9ydGVkTG9jYWxlcywgJnN0YXRlLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGRlc2Ms
IHRydWUpOwogCiAgICAgcmV0dXJuIHN1cHBvcnRlZExvY2FsZXM7CiB9CkBAIC05MDIsMTcgKzkw
NCwxNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGludGxPYmplY3RGdW5jR2V0Q2Fu
b25pY2FsTG9jYWxlcyhFeGVjU3RhdGUqIHN0YXRlKQogCiAgICAgVmVjdG9yPFN0cmluZz4gbG9j
YWxlTGlzdCA9IGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoKnN0YXRlLCBzdGF0ZS0+YXJndW1lbnQo
MCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwor
ICAgIGF1dG8gbGVuZ3RoID0gbG9jYWxlTGlzdC5zaXplKCk7CiAKICAgICBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0ID0gc3RhdGUtPmpzQ2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOwotICAg
IEpTQXJyYXkqIGxvY2FsZUFycmF5ID0gSlNBcnJheTo6dHJ5Q3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QtPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdp
dGhDb250aWd1b3VzKSk7CisgICAgSlNBcnJheSogbG9jYWxlQXJyYXkgPSBKU0FycmF5Ojp0cnlD
cmVhdGUodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJp
bmdBbGxvY2F0aW9uKEFycmF5V2l0aENvbnRpZ3VvdXMpLCBsZW5ndGgpOwogICAgIGlmICghbG9j
YWxlQXJyYXkpIHsKICAgICAgICAgdGhyb3dPdXRPZk1lbW9yeUVycm9yKHN0YXRlLCBzY29wZSk7
CiAgICAgICAgIHJldHVybiBlbmNvZGVkSlNWYWx1ZSgpOwogICAgIH0KIAotICAgIGF1dG8gbGVu
Z3RoID0gbG9jYWxlTGlzdC5zaXplKCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsZW5n
dGg7ICsraSkgewotICAgICAgICBsb2NhbGVBcnJheS0+cHVzaChzdGF0ZSwganNTdHJpbmcoc3Rh
dGUsIGxvY2FsZUxpc3RbaV0pKTsKKyAgICAgICAgbG9jYWxlQXJyYXktPnB1dERpcmVjdEluZGV4
KHN0YXRlLCBpLCBqc1N0cmluZyhzdGF0ZSwgbG9jYWxlTGlzdFtpXSkpOwogICAgICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICB9CiAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShsb2NhbGVBcnJheSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXMuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmNwcAppbmRleCA3YjgzOGY2ODEyZTAwZDg5
YTdlZGQ0Mzc5MDcyZmM2OGVkZjlmYzY4Li4wMTY1MGI3NGRiZWYxMTAyMDY3ZGM2OTk5Mzc0ZTgx
OWUzMjcxYzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
UGx1cmFsUnVsZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQ
bHVyYWxSdWxlcy5jcHAKQEAgLTIxOSw2ICsyMTksNyBAQCBKU09iamVjdCogSW50bFBsdXJhbFJ1
bGVzOjpyZXNvbHZlZE9wdGlvbnMoRXhlY1N0YXRlJiBleGVjKQogICAgIEpTQXJyYXkqIGNhdGVn
b3JpZXMgPSBKU0FycmF5Ojp0cnlDcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1
cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aENvbnRpZ3VvdXMpLCAw
KTsKICAgICBpZiAoIWNhdGVnb3JpZXMpCiAgICAgICAgIHJldHVybiB0aHJvd091dE9mTWVtb3J5
RXJyb3IoJmV4ZWMsIHNjb3BlKTsKKyAgICB1bnNpZ25lZCBpbmRleCA9IDA7CiAKICAgICBVRXJy
b3JDb2RlIHN0YXR1cyA9IFVfWkVST19FUlJPUjsKICAgICBhdXRvIGtleXdvcmRzID0gc3RkOjp1
bmlxdWVfcHRyPFVFbnVtZXJhdGlvbiwgVUVudW1lcmF0aW9uRGVsZXRlcj4odXBscnVsZXNfZ2V0
S2V5d29yZHMobV9wbHVyYWxSdWxlcy5nZXQoKSwgJnN0YXR1cykpOwpAQCAtMjI4LDcgKzIyOSw3
IEBAIEpTT2JqZWN0KiBJbnRsUGx1cmFsUnVsZXM6OnJlc29sdmVkT3B0aW9ucyhFeGVjU3RhdGUm
IGV4ZWMpCiAgICAgLy8gQ2F0ZWdvcnkgbmFtZXMgYXJlIGFsd2F5cyBBU0NJSSwgc28gdXNlIGNo
YXJbXS4KICAgICB3aGlsZSAoY29uc3QgY2hhciogcmVzdWx0ID0gdWVudW1fbmV4dChrZXl3b3Jk
cy5nZXQoKSwgJnJlc3VsdExlbmd0aCwgJnN0YXR1cykpIHsKICAgICAgICAgQVNTRVJUKFVfU1VD
Q0VTUyhzdGF0dXMpKTsKLSAgICAgICAgY2F0ZWdvcmllcy0+cHVzaCgmZXhlYywganNOb250cml2
aWFsU3RyaW5nKCZleGVjLCBTdHJpbmcocmVzdWx0LCByZXN1bHRMZW5ndGgpKSk7CisgICAgICAg
IGNhdGVnb3JpZXMtPnB1dERpcmVjdEluZGV4KCZleGVjLCBpbmRleCsrLCBqc05vbnRyaXZpYWxT
dHJpbmcoJmV4ZWMsIFN0cmluZyhyZXN1bHQsIHJlc3VsdExlbmd0aCkpKTsKICAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKICAgICB9CiAgICAgb3B0aW9ucy0+cHV0RGly
ZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgInBsdXJhbENhdGVnb3JpZXMiKSwg
Y2F0ZWdvcmllcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9J
bnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNGE5ZTc2OTcxZTAzZjgx
ZmFjOGNjZDZjMGY2NmRiNTE5MGZmYzEyZC4uOWU1MGE5YmFkY2M3MWMwM2VjMGQwZWEwMTdiN2Ri
MzQ0M2I2YmFkNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9yLmNwcApAQCAtODAsNyArODAsNyBAQCB2
b2lkIEludGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIElu
dGxQbHVyYWxSdWxlc1Byb3RvdHlwZQogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBBU0NJ
SUxpdGVyYWwoIlBsdXJhbFJ1bGVzIikpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHBsdXJhbFJ1bGVzUHJvdG90eXBlLCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0
ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlKTsKLSAgICBwbHVyYWxSdWxlc1Byb3RvdHlwZS0+
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVj
dG9yLCB0aGlzLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udERlbGV0ZSk7CisgICAgcGx1cmFsUnVsZXNQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhv
dXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgdGhpcywgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogICAgIG1f
cGx1cmFsUnVsZXNTdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBwbHVyYWxSdWxlc1N0cnVjdHVyZSk7
CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA3NDliYWM4MzE3NjU5YWZjYzRmYzM5ZmFlMjcxNmQyN2VhZDNlNjI5Li5i
NjVjODM1MWRiNjRjODVjNmFiMDgwOGE2NWMxMGQxN2Y1YThjOWRiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMTgtMDUtMTEgIEFuZHkgVmFuV2Fnb25lciAgPGFuZHlAdmFud2Fnb25lci5mYW1p
bHk+CisKKyAgICAgICAgW0lOVExdIEltcHJvdmUgc3BlYyAmIHRlc3QyNjIgY29tcGxpYW5jZSBm
b3IgSW50bCBBUElzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODU1NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVcGRhdGUgSW50bCB0ZXN0cyBmb3IgcHJvdG90eXBlIGNoYW5nZXMuCisKKyAgICAgICAg
KiBqcy9pbnRsLWNvbGxhdG9yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBqcy9pbnRsLWRhdGV0
aW1lZm9ybWF0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBqcy9pbnRsLW51bWJlcmZvcm1hdC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL2ludGwtY29sbGF0b3IuanM6
CisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL2ludGwtZGF0ZXRpbWVmb3JtYXQuanM6CisgICAg
ICAgICoganMvc2NyaXB0LXRlc3RzL2ludGwtbnVtYmVyZm9ybWF0LmpzOgorCiAyMDE4LTA1LTEx
ICBOYW4gV2FuZyAgPG5fd2FuZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IEluIHJvbGU9ZGlh
bG9nIGVsZW1lbnRzIHdpdGggYXJpYS1tb2RhbD10cnVlIFZvaWNlT3ZlciBpT1MvbWFjT1MgY2Fu
J3QgbWFudWFsbHkgZm9jdXMgb3IgcmVhZCBkaWFsb2cgcGFyYWdyYXBoIGRlc2NyaXB0aW9uIHRl
eHQgaW5zaWRlIHRoZSBtb2RhbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2ludGwtY29s
bGF0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvaW50bC1jb2xsYXRvci1leHBlY3Rl
ZC50eHQKaW5kZXggNjM3NDM1MjZhZWZiYTQ4NDc5YjExYzExMTFhYzQ1MWQ4MmRiZTk0OS4uYzQ4
M2RhZDEyMGE3ZDNmMThhNGViYmFhZWZlYzU4NmE0MmM2MGQxNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvanMvaW50bC1jb2xsYXRvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMv
aW50bC1jb2xsYXRvci1leHBlY3RlZC50eHQKQEAgLTEzMCw5ICsxMzAsMTMgQEAgUEFTUyBJbnRs
LkNvbGxhdG9yLnN1cHBvcnRlZExvY2FsZXNPZigneC0xMjM0NS0xMjM0NS1lbi1VUycpIGRpZCBu
b3QgdGhyb3cgZXhjZXAKIFBBU1MgSW50bC5Db2xsYXRvci5zdXBwb3J0ZWRMb2NhbGVzT2YoJ3gt
ZW4tVVMtMTIzNDUtMTIzNDUnKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBBU1MgSW50bC5D
b2xsYXRvci5zdXBwb3J0ZWRMb2NhbGVzT2YoJ3gtZW4tdS1mb28nKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KIFBBU1MgSW50bC5Db2xsYXRvci5zdXBwb3J0ZWRMb2NhbGVzT2YoJ3gtZW4tdS1m
b28tdS1iYXInKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgSW50bC5Db2xsYXRvci5w
cm90b3R5cGUuY29uc3RydWN0b3IgaXMgT2JqZWN0CiBQQVNTIE9iamVjdC5nZXRQcm90b3R5cGVP
ZihJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSkgaXMgT2JqZWN0LnByb3RvdHlwZQorUEFTUyBJbnRs
LkNvbGxhdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyBJbnRsLkNvbGxhdG9yCitQQVNTIElu
dGwuQ29sbGF0b3IucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10gaXMgJ09iamVjdCcKIFBB
U1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKEludGwuQ29sbGF0b3IucHJvdG90eXBl
KSBpcyAnW29iamVjdCBPYmplY3RdJworUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKEludGwuQ29sbGF0b3IucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcpLndyaXRhYmxl
IGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5Db2xs
YXRvci5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZykuZW51bWVyYWJsZSBpcyBmYWxzZQor
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuQ29sbGF0b3IucHJvdG90
eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIGRlZmF1
bHRDb2xsYXRvci5jb21wYXJlIGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5Db2xsYXRvci5wcm90b3R5cGUsICdjb21w
YXJlJykuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoSW50bC5Db2xsYXRvci5wcm90b3R5cGUsICdjb21wYXJlJykuc2V0
IGlzIHVuZGVmaW5lZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvaW50bC1kYXRldGltZWZv
cm1hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9pbnRsLWRhdGV0aW1lZm9ybWF0LWV4
cGVjdGVkLnR4dAppbmRleCA5YWZhMTFkMjhmYzdjZTgxNTNjMWE2YTRmNWJkMGJjODdkZTBkMTY0
Li43Yzg1N2NjZThmM2E5ZmQ0ZjA2NzZlNzkyNWFmZTU5OGY3MDBkOWFhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9qcy9pbnRsLWRhdGV0aW1lZm9ybWF0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9qcy9pbnRsLWRhdGV0aW1lZm9ybWF0LWV4cGVjdGVkLnR4dApAQCAtNjIsOSArNjIs
MTMgQEAgUEFTUyBJbnRsLkRhdGVUaW1lRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZigneC0xMjM0
NS0xMjM0NS1lbi1VUycpIGRpZCBub3QgdGhyb3cKIFBBU1MgSW50bC5EYXRlVGltZUZvcm1hdC5z
dXBwb3J0ZWRMb2NhbGVzT2YoJ3gtZW4tVVMtMTIzNDUtMTIzNDUnKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KIFBBU1MgSW50bC5EYXRlVGltZUZvcm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YoJ3gt
ZW4tdS1mb28nKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBBU1MgSW50bC5EYXRlVGltZUZv
cm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YoJ3gtZW4tdS1mb28tdS1iYXInKSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KLVBBU1MgSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0
b3IgaXMgT2JqZWN0CiBQQVNTIE9iamVjdC5nZXRQcm90b3R5cGVPZihJbnRsLkRhdGVUaW1lRm9y
bWF0LnByb3RvdHlwZSkgaXMgT2JqZWN0LnByb3RvdHlwZQorUEFTUyBJbnRsLkRhdGVUaW1lRm9y
bWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyBJbnRsLkRhdGVUaW1lRm9ybWF0CitQQVNTIElu
dGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10gaXMgJ09iamVj
dCcKIFBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKEludGwuRGF0ZVRpbWVGb3Jt
YXQucHJvdG90eXBlKSBpcyAnW29iamVjdCBPYmplY3RdJworUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLCBTeW1ib2wudG9T
dHJpbmdUYWcpLndyaXRhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1Rh
ZykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcpLmNv
bmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIGRlZmF1bHREVEZvcm1hdC5mb3JtYXQgaXMgYW4gaW5z
dGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJ
bnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZSwgJ2Zvcm1hdCcpLmdldCBpcyBhbiBpbnN0YW5j
ZSBvZiBGdW5jdGlvbgogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwu
RGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLCAnZm9ybWF0Jykuc2V0IGlzIHVuZGVmaW5lZApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvaW50bC1udW1iZXJmb3JtYXQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvanMvaW50bC1udW1iZXJmb3JtYXQtZXhwZWN0ZWQudHh0CmluZGV4IGNhMzU4
N2Q0MWE3Mzg5YzMzOTc5NTM2MGZhN2MzYTcwNDVjNjczNjQuLjU0NDYwZTgzNjQ2ZjAwMzJkNTc4
YzRmYjdlYTM3Nzc2ZDhkM2Y2MmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2ludGwtbnVt
YmVyZm9ybWF0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9qcy9pbnRsLW51bWJlcmZv
cm1hdC1leHBlY3RlZC50eHQKQEAgLTEzMCw5ICsxMzAsMTMgQEAgUEFTUyBJbnRsLk51bWJlckZv
cm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YoJ3gtMTIzNDUtMTIzNDUtZW4tVVMnKSBkaWQgbm90IHRo
cm93IGUKIFBBU1MgSW50bC5OdW1iZXJGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mKCd4LWVuLVVT
LTEyMzQ1LTEyMzQ1JykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCiBQQVNTIEludGwuTnVtYmVy
Rm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZigneC1lbi11LWZvbycpIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgogUEFTUyBJbnRsLk51bWJlckZvcm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YoJ3gtZW4t
dS1mb28tdS1iYXInKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgSW50bC5OdW1iZXJG
b3JtYXQucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIE9iamVjdAogUEFTUyBPYmplY3QuZ2V0UHJv
dG90eXBlT2YoSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlKSBpcyBPYmplY3QucHJvdG90eXBl
CitQQVNTIEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyBJbnRsLk51
bWJlckZvcm1hdAorUEFTUyBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGVbU3ltYm9sLnRvU3Ry
aW5nVGFnXSBpcyAnT2JqZWN0JwogUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
SW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlKSBpcyAnW29iamVjdCBPYmplY3RdJworUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlw
ZSwgU3ltYm9sLnRvU3RyaW5nVGFnKS53cml0YWJsZSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgU3ltYm9s
LnRvU3RyaW5nVGFnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlLCBTeW1ib2wudG9TdHJp
bmdUYWcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIGRlZmF1bHRORm9ybWF0LmZvcm1hdCBp
cyBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbgogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgJ2Zvcm1hdCcpLmdldCBpcyBhbiBp
bnN0YW5jZSBvZiBGdW5jdGlvbgogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgJ2Zvcm1hdCcpLnNldCBpcyB1bmRlZmluZWQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9pbnRsLWNvbGxhdG9yLmpz
IGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2ludGwtY29sbGF0b3IuanMKaW5kZXggMzc4
MmIyZWY4M2FkNTAzZTQ2YWVjY2Y2Njg0ZjZjODlkZThhOTU1ZS4uY2IzY2NmMzZhNmNjZmY1NzQ0
ZmM0NDY4ZTZmOWE1Y2FhN2NkNDBhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0
LXRlc3RzL2ludGwtY29sbGF0b3IuanMKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3Rz
L2ludGwtY29sbGF0b3IuanMKQEAgLTIxNSwxMCArMjE1LDIxIEBAIGZvciAodmFyIHZhbGlkTGFu
Z3VhZ2VUYWcgb2YgdmFsaWRMYW5ndWFnZVRhZ3MpIHsKIAogLy8gMTAuMyBQcm9wZXJ0aWVzIG9m
IHRoZSBJbnRsLkNvbGxhdG9yIFByb3RvdHlwZSBPYmplY3QKIAotLy8gaXMgYSBwbGFpbiBvYmpl
Y3QKLXNob3VsZEJlKCJJbnRsLkNvbGxhdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciIsICJPYmpl
Y3QiKTsKKy8vIFRoZSBJbnRsLkNvbGxhdG9yIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGFu
IG9yZGluYXJ5IG9iamVjdC4KIHNob3VsZEJlKCJPYmplY3QuZ2V0UHJvdG90eXBlT2YoSW50bC5D
b2xsYXRvci5wcm90b3R5cGUpIiwgIk9iamVjdC5wcm90b3R5cGUiKTsKKworLy8gMTAuMy4xIElu
dGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yCisvLyBUaGUgaW5pdGlhbCB2YWx1ZSBv
ZiBJbnRsLkNvbGxhdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyB0aGUgaW50cmluc2ljIG9i
amVjdCAlQ29sbGF0b3IlLgorc2hvdWxkQmUoIkludGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbnN0
cnVjdG9yIiwgIkludGwuQ29sbGF0b3IiKTsKKworLy8gMTAuMy4yIEludGwuQ29sbGF0b3IucHJv
dG90eXBlIFsgQEB0b1N0cmluZ1RhZyBdCisvLyBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgQEB0
b1N0cmluZ1RhZyBwcm9wZXJ0eSBpcyB0aGUgc3RyaW5nIHZhbHVlICJPYmplY3QiLgorc2hvdWxk
QmUoIkludGwuQ29sbGF0b3IucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10iLCAiJ09iamVj
dCciKTsKIHNob3VsZEJlKCJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoSW50bC5Db2xs
YXRvci5wcm90b3R5cGUpIiwgIidbb2JqZWN0IE9iamVjdF0nIik7CisvLyBUaGlzIHByb3BlcnR5
IGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1d
OiBmYWxzZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9Lgorc2hvdWxkQmVGYWxzZSgiT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSwgU3ltYm9s
LnRvU3RyaW5nVGFnKS53cml0YWJsZSIpOworc2hvdWxkQmVGYWxzZSgiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5n
VGFnKS5lbnVtZXJhYmxlIik7CitzaG91bGRCZVRydWUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoSW50bC5Db2xsYXRvci5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZykuY29u
ZmlndXJhYmxlIik7CiAKIC8vIDEwLjMuMyBJbnRsLkNvbGxhdG9yLnByb3RvdHlwZS5jb21wYXJl
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9pbnRsLWRhdGV0aW1l
Zm9ybWF0LmpzIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2ludGwtZGF0ZXRpbWVmb3Jt
YXQuanMKaW5kZXggY2JlZWM2Y2FjZmFhZDM3OTgwYjI4MzYwOTY1NWRjNDIwNWYxMGNiNy4uYTAw
Njk5M2FiNzEwODFhZDQxMzgwN2E2NWI5OWNmNTNjYmIyZjE0MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvanMvc2NyaXB0LXRlc3RzL2ludGwtZGF0ZXRpbWVmb3JtYXQuanMKKysrIGIvTGF5b3V0
VGVzdHMvanMvc2NyaXB0LXRlc3RzL2ludGwtZGF0ZXRpbWVmb3JtYXQuanMKQEAgLTk5LDE0ICs5
OSwyNSBAQCBmb3IgKHZhciB2YWxpZExhbmd1YWdlVGFnIG9mIHZhbGlkTGFuZ3VhZ2VUYWdzKSB7
CiAgICAgc2hvdWxkTm90VGhyb3coIkludGwuRGF0ZVRpbWVGb3JtYXQuc3VwcG9ydGVkTG9jYWxl
c09mKCciICsgdmFsaWRMYW5ndWFnZVRhZyArICInKSIpOwogfQogCi0vLyAxMi4zIFByb3BlcnRp
ZXMgb2YgdGhlIEludGwuRGF0ZVRpbWVGb3JtYXQgUHJvdG90eXBlIE9iamVjdAorLy8gMTIuNCBQ
cm9wZXJ0aWVzIG9mIHRoZSBJbnRsLkRhdGVUaW1lRm9ybWF0IFByb3RvdHlwZSBPYmplY3QKIAot
Ly8gaXMgYSBwbGFpbiBvYmplY3QKLXNob3VsZEJlKCJJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3Rv
dHlwZS5jb25zdHJ1Y3RvciIsICJPYmplY3QiKTsKKy8vIFRoZSBJbnRsLkRhdGVUaW1lRm9ybWF0
IHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGFuIG9yZGluYXJ5IG9iamVjdC4KIHNob3VsZEJl
KCJPYmplY3QuZ2V0UHJvdG90eXBlT2YoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUpIiwg
Ik9iamVjdC5wcm90b3R5cGUiKTsKKworLy8gMTIuNC4xIEludGwuRGF0ZVRpbWVGb3JtYXQucHJv
dG90eXBlLmNvbnN0cnVjdG9yCisvLyBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBJbnRsLkRhdGVUaW1l
Rm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyB0aGUgaW50cmluc2ljIG9iamVjdCAlRGF0
ZVRpbWVGb3JtYXQlLgorc2hvdWxkQmUoIkludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmNv
bnN0cnVjdG9yIiwgIkludGwuRGF0ZVRpbWVGb3JtYXQiKTsKKworLy8gMTIuNC4yIEludGwuRGF0
ZVRpbWVGb3JtYXQucHJvdG90eXBlIFsgQEB0b1N0cmluZ1RhZyBdCisvLyBUaGUgaW5pdGlhbCB2
YWx1ZSBvZiB0aGUgQEB0b1N0cmluZ1RhZyBwcm9wZXJ0eSBpcyB0aGUgc3RyaW5nIHZhbHVlICJP
YmplY3QiLgorc2hvdWxkQmUoIkludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlW1N5bWJvbC50
b1N0cmluZ1RhZ10iLCAiJ09iamVjdCciKTsKIHNob3VsZEJlKCJPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUpIiwgIidbb2JqZWN0IE9i
amVjdF0nIik7CisvLyBUaGlzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFi
bGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwgW1tDb25maWd1cmFibGVdXTogdHJ1
ZSB9Lgorc2hvdWxkQmVGYWxzZSgiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJbnRs
LkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnKS53cml0YWJsZSIp
Oworc2hvdWxkQmVGYWxzZSgiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJbnRsLkRh
dGVUaW1lRm9ybWF0LnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnKS5lbnVtZXJhYmxlIik7
CitzaG91bGRCZVRydWUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5EYXRl
VGltZUZvcm1hdC5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZykuY29uZmlndXJhYmxlIik7
CiAKLS8vIDEyLjMuMyBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5mb3JtYXQKKy8vIDEy
LjQuMyBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5mb3JtYXQKIAogLy8gVGhpcyBuYW1l
ZCBhY2Nlc3NvciBwcm9wZXJ0eSByZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBmb3JtYXRzIGEgZGF0
ZSBhY2NvcmRpbmcgdG8gdGhlIGVmZmVjdGl2ZSBsb2NhbGUgYW5kIHRoZSBmb3JtYXR0aW5nIG9w
dGlvbnMgb2YgdGhpcyBEYXRlVGltZUZvcm1hdCBvYmplY3QuCiB2YXIgZGVmYXVsdERURm9ybWF0
ID0gSW50bC5EYXRlVGltZUZvcm1hdCgpOwpAQCAtNjAxLDQgKzYxMiwzIEBAIHNob3VsZEJlKGBK
U09OLnN0cmluZ2lmeSgKICAgeyJ0eXBlIjoibGl0ZXJhbCIsInZhbHVlIjoiICJ9LAogICB7InR5
cGUiOiJ0aW1lWm9uZU5hbWUiLCJ2YWx1ZSI6IlBhY2lmaWMgU3RhbmRhcmQgVGltZSJ9CiBdKWAp
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9pbnRsLW51bWJlcmZv
cm1hdC5qcyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9pbnRsLW51bWJlcmZvcm1hdC5q
cwppbmRleCBkZDE1ZTczMjI2MGRiMDU4NjM3ZDY0YmZkOTAzZjQ1YjM3MzMxYTVkLi5hYTJhZjlm
ZjE2OGU1MDczZWM3ODkyMzk5OGZlNmY3NDUzMjAyYzk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9qcy9zY3JpcHQtdGVzdHMvaW50bC1udW1iZXJmb3JtYXQuanMKKysrIGIvTGF5b3V0VGVzdHMv
anMvc2NyaXB0LXRlc3RzL2ludGwtbnVtYmVyZm9ybWF0LmpzCkBAIC0yMTUsMTQgKzIxNSwyNSBA
QCBmb3IgKHZhciB2YWxpZExhbmd1YWdlVGFnIG9mIHZhbGlkTGFuZ3VhZ2VUYWdzKSB7CiAgICAg
c2hvdWxkTm90VGhyb3coIkludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZignIiAr
IHZhbGlkTGFuZ3VhZ2VUYWcgKyAiJykiKTsKIH0KIAotLy8gMTEuMyBQcm9wZXJ0aWVzIG9mIHRo
ZSBJbnRsLk51bWJlckZvcm1hdCBQcm90b3R5cGUgT2JqZWN0CisvLyAxMS40IFByb3BlcnRpZXMg
b2YgdGhlIEludGwuTnVtYmVyRm9ybWF0IFByb3RvdHlwZSBPYmplY3QKIAotLy8gaXMgYSBwbGFp
biBvYmplY3QKLXNob3VsZEJlKCJJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0
b3IiLCAiT2JqZWN0Iik7CisvLyBUaGUgSW50bC5OdW1iZXJGb3JtYXQgcHJvdG90eXBlIG9iamVj
dCBpcyBpdHNlbGYgYW4gb3JkaW5hcnkgb2JqZWN0Lgogc2hvdWxkQmUoIk9iamVjdC5nZXRQcm90
b3R5cGVPZihJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUpIiwgIk9iamVjdC5wcm90b3R5cGUi
KTsKKworLy8gMTEuNC4xIEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcgor
Ly8gVGhlIGluaXRpYWwgdmFsdWUgb2YgSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlLmNvbnN0
cnVjdG9yIGlzIHRoZSBpbnRyaW5zaWMgb2JqZWN0ICVOdW1iZXJGb3JtYXQlLgorc2hvdWxkQmUo
IkludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciIsICJJbnRsLk51bWJlckZv
cm1hdCIpOworCisvLyAxMS40LjIgSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlIFsgQEB0b1N0
cmluZ1RhZyBdCisvLyBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgQEB0b1N0cmluZ1RhZyBwcm9w
ZXJ0eSBpcyB0aGUgc3RyaW5nIHZhbHVlICJPYmplY3QiLgorc2hvdWxkQmUoIkludGwuTnVtYmVy
Rm9ybWF0LnByb3RvdHlwZVtTeW1ib2wudG9TdHJpbmdUYWddIiwgIidPYmplY3QnIik7CiBzaG91
bGRCZSgiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKEludGwuTnVtYmVyRm9ybWF0LnBy
b3RvdHlwZSkiLCAiJ1tvYmplY3QgT2JqZWN0XSciKTsKKy8vIFRoaXMgcHJvcGVydHkgaGFzIHRo
ZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNl
LCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCitzaG91bGRCZUZhbHNlKCJPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgU3ltYm9sLnRv
U3RyaW5nVGFnKS53cml0YWJsZSIpOworc2hvdWxkQmVGYWxzZSgiT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmlu
Z1RhZykuZW51bWVyYWJsZSIpOworc2hvdWxkQmVUcnVlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFn
KS5jb25maWd1cmFibGUiKTsKIAotLy8gMTEuMy4zIEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlw
ZS5mb3JtYXQKKy8vIDExLjQuMyBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAK
IC8vIFRoaXMgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgcmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQg
Zm9ybWF0cyBhIG51bWJlciBhY2NvcmRpbmcgdG8gdGhlIGVmZmVjdGl2ZSBsb2NhbGUgYW5kIHRo
ZSBmb3JtYXR0aW5nIG9wdGlvbnMgb2YgdGhpcyBOdW1iZXJGb3JtYXQgb2JqZWN0LgogdmFyIGRl
ZmF1bHRORm9ybWF0ID0gSW50bC5OdW1iZXJGb3JtYXQoKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
Q2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDA3ZWY2YTI5MTJiYmRlMmJmYjBl
ZTg1NDNlNjUyMDkzYzg1ODU3Ni4uOWZhMmVjYTk4ZjNiMTE0ODRjNDQwODcyMjgxNGY1NDA3NDMy
M2YxNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOC0wNS0xMSAgQW5keSBWYW5XYWdvbmVyICA8YW5keUB2
YW53YWdvbmVyLmZhbWlseT4KKworICAgICAgICBbSU5UTF0gSW1wcm92ZSBzcGVjICYgdGVzdDI2
MiBjb21wbGlhbmNlIGZvciBJbnRsIEFQSXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4NTU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbW92ZSBpbnRsNDAyIGZhaWx1cmVzIHRoYXQgaGF2ZSBiZWVu
IGZpeGVkLgorCisgICAgICAgICogdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbDoKKwogMjAxOC0w
NS0xMSAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBbREZH
XSBDb21waWxlciB1c2VzIGluY29ycmVjdCBvdXRwdXQgcmVnaXN0ZXIgZm9yIE51bWJlcklzSW50
ZWdlciBvcGVyYXRpb24KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMu
eWFtbCBiL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAppbmRleCA5OTc4MjE5OTZj
NzAyMGEzYjZjYWQ5MTE3MzBjY2IxNmRiOWU1YTJlLi5mZjNiZDM4NjI2MTRhMjFhZWQ1ZTlmNzc5
MGEzOWNlOGJmMDg2YWM2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25z
LnlhbWwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCkBAIC0xODUzLDU0
ICsxODUzLDI3IEBAIHRlc3QvYnVpbHQtaW5zL3BhcnNlSW50L1MxNS4xLjIuMl9BMl9UMTBfVTE4
MEUuanM6CiB0ZXN0L2hhcm5lc3MvYXNzZXJ0LXRocm93cy1lYXJseS1yZWZlcmVuY2VlcnJvci5q
czoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRnVuY3Rpb246IDEgPSAxOyBFeHBlY3RlZCBh
IFJlZmVyZW5jZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24g
YXQgYWxsJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRnVuY3Rpb246IDEgPSAxOyBF
eHBlY3RlZCBhIFJlZmVyZW5jZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdh
cyB0aHJvd24gYXQgYWxsJwotdGVzdC9pbnRsNDAyL0NvbGxhdG9yL2RlZmF1bHQtb3B0aW9ucy1v
YmplY3QtcHJvdG90eXBlLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBT
YW1lVmFsdWUow4LCq2Jhc2XDgsK7LCDDgsKrdmFyaWFudMOCwrspIHRvIGJlIHRydWUnCi0gIHN0
cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUow4LCq2Jhc2XDgsK7
LCDDgsKrdmFyaWFudMOCwrspIHRvIGJlIHRydWUnCiB0ZXN0L2ludGw0MDIvQ29sbGF0b3IvbGVu
Z3RoLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBvYmpbbGVuZ3RoXSB0
byBoYXZlIGNvbmZpZ3VyYWJsZTp0cnVlLicKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIG9ialtsZW5ndGhdIHRvIGhhdmUgY29uZmlndXJhYmxlOnRydWUuJwogdGVzdC9p
bnRsNDAyL0NvbGxhdG9yL3Byb3RvdHlwZS9jb21wYXJlL2NvbXBhcmUtZnVuY3Rpb24tbmFtZS5q
czoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqt0cnVl
w4LCuywgw4LCq2ZhbHNlw4LCuykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYy
RXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKrdHJ1ZcOCwrssIMOCwqtmYWxzZcOCwrspIHRv
IGJlIHRydWUnCi10ZXN0L2ludGw0MDIvQ29sbGF0b3IvcHJvdG90eXBlL2NvbnN0cnVjdG9yL3By
b3AtZGVzYy5qczoKLSAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBu
YW1lKS5lbnVtZXJhYmxlJykiCi0gIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihvYmosIG5hbWUpLmVudW1lcmFibGUnKSIKLXRlc3QvaW50bDQwMi9Db2xsYXRvci9wcm90
b3R5cGUvY29uc3RydWN0b3IvdmFsdWUuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IElu
dGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIG5vdCB0aGUgc2FtZSBhcyBJbnRs
LkNvbGxhdG9yIEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKrZnVuY3Rpb24gT2JqZWN0KCkgeycKLSAg
c3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEludGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbnN0
cnVjdG9yIGlzIG5vdCB0aGUgc2FtZSBhcyBJbnRsLkNvbGxhdG9yIEV4cGVjdGVkIFNhbWVWYWx1
ZSjDgsKrZnVuY3Rpb24gT2JqZWN0KCkgeycKIHRlc3QvaW50bDQwMi9Db2xsYXRvci91bmljb2Rl
LWV4dC1zZXEtaW4tcHJpdmF0ZS10YWcuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4
cGVjdGVkIFNhbWVWYWx1ZSjDgsKrcGhvbmVia8OCwrssIMOCwqtkZWZhdWx0w4LCuykgdG8gYmUg
dHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjD
gsKrcGhvbmVia8OCwrssIMOCwqtkZWZhdWx0w4LCuykgdG8gYmUgdHJ1ZScKIHRlc3QvaW50bDQw
Mi9EYXRlVGltZUZvcm1hdC9sZW5ndGguanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4
cGVjdGVkIG9ialtsZW5ndGhdIHRvIGhhdmUgY29uZmlndXJhYmxlOnRydWUuJwogICBzdHJpY3Qg
bW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgb2JqW2xlbmd0aF0gdG8gaGF2ZSBjb25maWd1
cmFibGU6dHJ1ZS4nCi10ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2NvbnN0
cnVjdG9yL3Byb3AtZGVzYy5qczoKLSAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3Iob2JqLCBuYW1lKS5lbnVtZXJhYmxlJykiCi0gIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihvYmosIG5hbWUpLmVudW1lcmFibGUnKSIKLXRlc3QvaW50bDQwMi9EYXRl
VGltZUZvcm1hdC9wcm90b3R5cGUvY29uc3RydWN0b3IvdmFsdWUuanM6Ci0gIGRlZmF1bHQ6ICdU
ZXN0MjYyRXJyb3I6IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlz
IG5vdCB0aGUgc2FtZSBhcyBJbnRsLkRhdGVUaW1lRm9ybWF0IEV4cGVjdGVkIFNhbWVWYWx1ZSjD
gsKrZnVuY3Rpb24gT2JqZWN0KCkgeycKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IElu
dGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIG5vdCB0aGUgc2FtZSBh
cyBJbnRsLkRhdGVUaW1lRm9ybWF0IEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKrZnVuY3Rpb24gT2Jq
ZWN0KCkgeycKIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L2Zv
cm1hdC1mdW5jdGlvbi1uYW1lLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3Rl
ZCBTYW1lVmFsdWUow4LCq3RydWXDgsK7LCDDgsKrZmFsc2XDgsK7KSB0byBiZSB0cnVlJwogICBz
dHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqt0cnVlw4LC
uywgw4LCq2ZhbHNlw4LCuykgdG8gYmUgdHJ1ZScKIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1h
dC9wcm90b3R5cGUvZm9ybWF0L3Byb2xlcHRpYy1ncmVnb3JpYW4tY2FsZW5kYXIuanM6CiAgIGRl
ZmF1bHQ6ICJUZXN0MjYyRXJyb3I6IEludGVybmFsIGVycm9yOiBEaWRuJ3QgZmluZCBHcmVnb3Jp
YW4gY2FsZW5kYXIgRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqtncmVnb3JpYW7DgsK7LCDDgsKrZ3Jl
Z29yecOCwrspIHRvIGJlIHRydWUiCiAgIHN0cmljdCBtb2RlOiAiVGVzdDI2MkVycm9yOiBJbnRl
cm5hbCBlcnJvcjogRGlkbid0IGZpbmQgR3JlZ29yaWFuIGNhbGVuZGFyIEV4cGVjdGVkIFNhbWVW
YWx1ZSjDgsKrZ3JlZ29yaWFuw4LCuywgw4LCq2dyZWdvcnnDgsK7KSB0byBiZSB0cnVlIgotdGVz
dC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQvdGltZS1jbGlwLW5lYXIt
dGltZS1ib3VuZGFyaWVzLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBh
IFJhbmdlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBh
bGwnCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFJhbmdlRXJyb3Ig
dG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCi10ZXN0L2lu
dGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC90aW1lLWNsaXAtdG8taW50ZWdl
ci5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogZm9ybWF0KC0wLjkpIEV4cGVjdGVkIFNh
bWVWYWx1ZSjDgsKrODo1OTo1OSBQTcOCwrssIMOCwqs5OjAwOjAwIFBNw4LCuykgdG8gYmUgdHJ1
ZScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IGZvcm1hdCgtMC45KSBFeHBlY3RlZCBT
YW1lVmFsdWUow4LCqzg6NTk6NTkgUE3DgsK7LCDDgsKrOTowMDowMCBQTcOCwrspIHRvIGJlIHRy
dWUnCiB0ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMv
bGVuZ3RoLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUo
w4LCqzDDgsK7LCDDgsKrMcOCwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2
MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUow4LCqzDDgsK7LCDDgsKrMcOCwrspIHRvIGJlIHRy
dWUnCi10ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMv
dGltZS1jbGlwLW5lYXItdGltZS1ib3VuZGFyaWVzLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBhIFJhbmdlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24g
d2FzIHRocm93biBhdCBhbGwnCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3Rl
ZCBhIFJhbmdlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBh
dCBhbGwnCi10ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFy
dHMvdGltZS1jbGlwLXRvLWludGVnZXIuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IGZv
cm1hdFRvUGFydHMoLTAuOSkgRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqs4OjU5OjU5IFBNw4LCuywg
w4LCqzk6MDA6MDAgUE3DgsK7KSB0byBiZSB0cnVlJwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJF
cnJvcjogZm9ybWF0VG9QYXJ0cygtMC45KSBFeHBlY3RlZCBTYW1lVmFsdWUow4LCqzg6NTk6NTkg
UE3DgsK7LCDDgsKrOTowMDowMCBQTcOCwrspIHRvIGJlIHRydWUnCiB0ZXN0L2ludGw0MDIvRGF0
ZVRpbWVGb3JtYXQvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9iYXNpYy5qczoKICAgZGVmYXVs
dDogJ1Rlc3QyNjJFcnJvcjogSW52YWxpZCBjYWxlbmRhcjogZ3JlZ29yaWFuIEV4cGVjdGVkIFNh
bWVWYWx1ZSjDgsKrLTHDgsK7LCDDgsKrLTHDgsK7KSB0byBiZSBmYWxzZScKICAgc3RyaWN0IG1v
ZGU6ICdUZXN0MjYyRXJyb3I6IEludmFsaWQgY2FsZW5kYXI6IGdyZWdvcmlhbiBFeHBlY3RlZCBT
YW1lVmFsdWUow4LCqy0xw4LCuywgw4LCqy0xw4LCuykgdG8gYmUgZmFsc2UnCkBAIC0xOTg1LDI0
ICsxOTU4LDEyIEBAIHRlc3QvaW50bDQwMi9Mb2NhbGUvcHJvdG90eXBlL3Byb3AtZGVzYy5qczoK
IHRlc3QvaW50bDQwMi9Mb2NhbGUvcHJvdG90eXBlL3RvU3RyaW5nVGFnLmpzOgogICBkZWZhdWx0
OiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnSW50
bC5Mb2NhbGUucHJvdG90eXBlJykiCiAgIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1bmRlZmlu
ZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnSW50bC5Mb2NhbGUucHJvdG90eXBlJyki
Ci10ZXN0L2ludGw0MDIvTnVtYmVyL3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9kZWZhdWx0LW9w
dGlvbnMtb2JqZWN0LXByb3RvdHlwZS5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhw
ZWN0ZWQgU2FtZVZhbHVlKMOCwqsxLjLDgsK7LCDDgsKrMS4yM8OCwrspIHRvIGJlIHRydWUnCi0g
IHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUow4LCqzEuMsOC
wrssIMOCwqsxLjIzw4LCuykgdG8gYmUgdHJ1ZScKIHRlc3QvaW50bDQwMi9OdW1iZXIvcHJvdG90
eXBlL3RvTG9jYWxlU3RyaW5nL3JldHVybnMtc2FtZS1yZXN1bHRzLWFzLU51bWJlckZvcm1hdC5q
czoKICAgZGVmYXVsdDogJ0Vycm9yOiBGYWlsZWQgdG8gZm9ybWF0IGEgbnVtYmVyLicKICAgc3Ry
aWN0IG1vZGU6ICdFcnJvcjogRmFpbGVkIHRvIGZvcm1hdCBhIG51bWJlci4nCi10ZXN0L2ludGw0
MDIvTnVtYmVyRm9ybWF0L2RlZmF1bHQtb3B0aW9ucy1vYmplY3QtcHJvdG90eXBlLmpzOgotICBk
ZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUow4LCqzHDgsK7LCDDgsKr
M8OCwrspIHRvIGJlIHRydWUnCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3Rl
ZCBTYW1lVmFsdWUow4LCqzHDgsK7LCDDgsKrM8OCwrspIHRvIGJlIHRydWUnCiB0ZXN0L2ludGw0
MDIvTnVtYmVyRm9ybWF0L2xlbmd0aC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhw
ZWN0ZWQgb2JqW2xlbmd0aF0gdG8gaGF2ZSBjb25maWd1cmFibGU6dHJ1ZS4nCiAgIHN0cmljdCBt
b2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBvYmpbbGVuZ3RoXSB0byBoYXZlIGNvbmZpZ3Vy
YWJsZTp0cnVlLicKLXRlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2NvbnN0cnVj
dG9yL3Byb3AtZGVzYy5qczoKLSAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
b2JqLCBuYW1lKS5lbnVtZXJhYmxlJykiCi0gIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihvYmosIG5hbWUpLmVudW1lcmFibGUnKSIKLXRlc3QvaW50bDQwMi9OdW1iZXJG
b3JtYXQvcHJvdG90eXBlL2NvbnN0cnVjdG9yL3ZhbHVlLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2
MkVycm9yOiBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgbm90IHRo
ZSBzYW1lIGFzIEludGwuTnVtYmVyRm9ybWF0IEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKrZnVuY3Rp
b24gT2JqZWN0KCkgeycKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEludGwuTnVtYmVy
Rm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyBub3QgdGhlIHNhbWUgYXMgSW50bC5OdW1i
ZXJGb3JtYXQgRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqtmdW5jdGlvbiBPYmplY3QoKSB7JwogdGVz
dC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L2JvdW5kLXRvLW51bWJlcmZv
cm1hdC1pbnN0YW5jZS5qczoKICAgZGVmYXVsdDogJ0Vycm9yOiBGYWlsZWQgdG8gZm9ybWF0IGEg
bnVtYmVyLicKICAgc3RyaWN0IG1vZGU6ICdFcnJvcjogRmFpbGVkIHRvIGZvcm1hdCBhIG51bWJl
ci4nCkBAIC0yMDQyLDEyICsyMDAzLDYgQEAgdGVzdC9pbnRsNDAyL1BsdXJhbFJ1bGVzL2RlZmF1
bHQtb3B0aW9ucy1vYmplY3QtcHJvdG90eXBlLmpzOgogdGVzdC9pbnRsNDAyL1BsdXJhbFJ1bGVz
L2xlbmd0aC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgb2JqW2xlbmd0
aF0gdG8gaGF2ZSBjb25maWd1cmFibGU6dHJ1ZS4nCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBvYmpbbGVuZ3RoXSB0byBoYXZlIGNvbmZpZ3VyYWJsZTp0cnVlLicKLXRl
c3QvaW50bDQwMi9QbHVyYWxSdWxlcy9wcm90b3R5cGUvY29uc3RydWN0b3IvcHJvcC1kZXNjLmpz
OgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBvYmpbY29uc3RydWN0b3JdIHRv
IGhhdmUgY29uZmlndXJhYmxlOnRydWUuJwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjog
RXhwZWN0ZWQgb2JqW2NvbnN0cnVjdG9yXSB0byBoYXZlIGNvbmZpZ3VyYWJsZTp0cnVlLicKLXRl
c3QvaW50bDQwMi9TdHJpbmcvcHJvdG90eXBlL2xvY2FsZUNvbXBhcmUvZGVmYXVsdC1vcHRpb25z
LW9iamVjdC1wcm90b3R5cGUuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IFNhbWVWYWx1ZSjDgsKrMMOCwrssIMOCwqstMcOCwrspIHRvIGJlIHRydWUnCi0gIHN0cmljdCBt
b2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUow4LCqzDDgsK7LCDDgsKrLTHD
gsK7KSB0byBiZSB0cnVlJwogdGVzdC9pbnRsNDAyL1R5cGVkQXJyYXkvcHJvdG90eXBlL3RvTG9j
YWxlU3RyaW5nL2NhbGxzLXRvTG9jYWxlU3RyaW5nLW51bWJlci1lbGVtZW50cy5qczoKICAgZGVm
YXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqsww4LCuywgw4LCq8Og
wrnCkC7DoMK5wpDDoMK5wpDDoMK5wpDDgsK7KSB0byBiZSB0cnVlIChUZXN0aW5nIHdpdGggRmxv
YXQ2NEFycmF5LiknCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1l
VmFsdWUow4LCqzDDgsK7LCDDgsKrw6DCucKQLsOgwrnCkMOgwrnCkMOgwrnCkMOCwrspIHRvIGJl
IHRydWUgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKQEAgLTIwNTcsMTUgKzIwMTIsNiBA
QCB0ZXN0L2ludGw0MDIvZmFsbGJhY2stbG9jYWxlcy1hcmUtc3VwcG9ydGVkLmpzOgogdGVzdC9p
bnRsNDAyL2xhbmd1YWdlLXRhZ3MtY2Fub25pY2FsaXplZC5qczoKICAgZGVmYXVsdDogJ1Rlc3Qy
NjJFcnJvcjogRm9yIGRlLUREIGdvdCBkZS1ERDsgZXhwZWN0ZWQgZGUtREUuIChUZXN0aW5nIHdp
dGggQ29sbGF0b3IuKScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEZvciBkZS1ERCBn
b3QgZGUtREQ7IGV4cGVjdGVkIGRlLURFLiAoVGVzdGluZyB3aXRoIENvbGxhdG9yLiknCi10ZXN0
L2ludGw0MDIvc3VwcG9ydGVkTG9jYWxlc09mLXJldHVybmVkLWFycmF5LWVsZW1lbnRzLWFyZS1m
cm96ZW4uanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IFByb3BlcnR5IGxlbmd0aCBvZiBv
YmplY3QgcmV0dXJuZWQgYnkgU3VwcG9ydGVkTG9jYWxlcyBpcyB3cml0YWJsZS4gRXhwZWN0ZWQg
U2FtZVZhbHVlKMOCwqt0cnVlw4LCuywgw4LCq2ZhbHNlw4LCuykgdG8gYmUgdHJ1ZSAoVGVzdGlu
ZyB3aXRoIENvbGxhdG9yLiknCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBQcm9wZXJ0
eSBsZW5ndGggb2Ygb2JqZWN0IHJldHVybmVkIGJ5IFN1cHBvcnRlZExvY2FsZXMgaXMgd3JpdGFi
bGUuIEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKrdHJ1ZcOCwrssIMOCwqtmYWxzZcOCwrspIHRvIGJl
IHRydWUgKFRlc3Rpbmcgd2l0aCBDb2xsYXRvci4pJwotdGVzdC9pbnRsNDAyL3N1cHBvcnRlZExv
Y2FsZXNPZi10YWludC1BcnJheS0yLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBDbGll
bnQgY29kZSBjYW4gYWR2ZXJzZWx5IGFmZmVjdCBiZWhhdmlvcjogc2V0dGVyIGZvciAwLiAoVGVz
dGluZyB3aXRoIENvbGxhdG9yLiknCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBDbGll
bnQgY29kZSBjYW4gYWR2ZXJzZWx5IGFmZmVjdCBiZWhhdmlvcjogc2V0dGVyIGZvciAwLiAoVGVz
dGluZyB3aXRoIENvbGxhdG9yLiknCi10ZXN0L2ludGw0MDIvc3VwcG9ydGVkTG9jYWxlc09mLXRh
aW50LUFycmF5LmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBDbGllbnQgY29kZSBjYW4g
YWR2ZXJzZWx5IGFmZmVjdCBiZWhhdmlvcjogc2V0dGVyIGZvciAwLiAoVGVzdGluZyB3aXRoIENv
bGxhdG9yLiknCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBDbGllbnQgY29kZSBjYW4g
YWR2ZXJzZWx5IGFmZmVjdCBiZWhhdmlvcjogc2V0dGVyIGZvciAwLiAoVGVzdGluZyB3aXRoIENv
bGxhdG9yLiknCiB0ZXN0L2xhbmd1YWdlL2FyZ3VtZW50cy1vYmplY3QvbWFwcGVkL25vbmNvbmZp
Z3VyYWJsZS1ub25lbnVtZXJhYmxlLW5vbndyaXRhYmxlLWRlc2NyaXB0b3JzLXNldC1ieS1hcmd1
bWVudHMuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIG9ialswXSB0byBo
YXZlIGVudW1lcmFibGU6ZmFsc2UuJwogdGVzdC9sYW5ndWFnZS9hcmd1bWVudHMtb2JqZWN0L21h
cHBlZC9ub25jb25maWd1cmFibGUtbm9uZW51bWVyYWJsZS1ub253cml0YWJsZS1kZXNjcmlwdG9y
cy1zZXQtYnktcGFyYW0uanM6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340250</attachid>
            <date>2018-05-12 08:06:30 -0700</date>
            <delta_ts>2018-05-12 09:55:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185578-20180512090629.patch</filename>
            <type>text/plain</type>
            <size>56791</size>
            <attacher name="Andy VanWagoner">andy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
NDU1ZTE1ZGZmMjA4MzRmYTViMzAxZGJmZTczMDA5MmI3OWI4OGM0Li5iN2M4NWU2ZmU3MTdlNmY3
NWNjMjMyZDdkODllNTM5ZTllMzk5NGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MyBAQAorMjAxOC0wNS0xMSAgQW5keSBWYW5XYWdvbmVyICA8YW5keUB2YW53YWdvbmVy
LmZhbWlseT4KKworICAgICAgICBbSU5UTF0gSW1wcm92ZSBzcGVjICYgdGVzdDI2MiBjb21wbGlh
bmNlIGZvciBJbnRsIEFQSXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4NTU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFVzZSBwdXREaXJlY3RJbmRleCBvdmVyIHB1c2ggZm9yIGxpc3RzIHRvIGFycmF5
cy4KKyAgICAgICAgVXBkYXRlIGRlZmF1bHQgb3B0aW9ucyB0byBjb25zdHJ1Y3Qgd2l0aCBhIG51
bGwgcHJvdG90eXBlLgorICAgICAgICBEZWZpbmUgY29uc3RydWN0b3IgYW5kIHRvU3RyaW5nVGFn
IG9uIHByb3RvdHlwZXMuCisgICAgICAgIEFkZCBwcm9wZXIgdGltZSBjbGlwcGluZy4KKyAgICAg
ICAgUmVtb3ZlIHNvbWUgb3V0ZGF0ZWQgY29tbWVudCBzcGVjIHRleHQsIHVzZSB1cmwgaW5zdGVh
ZC4KKworICAgICAgICAqIHJ1bnRpbWUvSW50bENvbGxhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6
SW50bENvbGxhdG9yOjppbml0aWFsaXplQ29sbGF0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvSW50
bENvbGxhdG9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsQ29sbGF0b3JDb25z
dHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSW50bENvbGxhdG9y
UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6SW50bENvbGxhdG9yUHJvdG90eXBlOjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQcm90
b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGU6OmZp
bmlzaENyZWF0aW9uKToKKyAgICAgICAgKEpTQzo6SW50bERhdGVUaW1lRm9ybWF0RnVuY0Zvcm1h
dERhdGVUaW1lKToKKyAgICAgICAgKEpTQzo6SW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlRnVu
Y0Zvcm1hdFRvUGFydHMpOgorICAgICAgICAqIHJ1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHA6
CisgICAgICAgIChKU0M6OkludGxOdW1iZXJGb3JtYXQ6OmluaXRpYWxpemVOdW1iZXJGb3JtYXQp
OgorICAgICAgICAqIHJ1bnRpbWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6SW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6
CisgICAgICAgICogcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmNwcDoKKyAgICAg
ICAgKEpTQzo6SW50bE51bWJlckZvcm1hdFByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAg
ICAgICAqIHJ1bnRpbWUvSW50bE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6Omxvb2t1cFN1cHBv
cnRlZExvY2FsZXMpOgorICAgICAgICAoSlNDOjpzdXBwb3J0ZWRMb2NhbGVzKToKKyAgICAgICAg
KEpTQzo6aW50bE9iamVjdEZ1bmNHZXRDYW5vbmljYWxMb2NhbGVzKToKKyAgICAgICAgKiBydW50
aW1lL0ludGxQbHVyYWxSdWxlcy5jcHA6CisgICAgICAgIChKU0M6OkludGxQbHVyYWxSdWxlczo6
cmVzb2x2ZWRPcHRpb25zKToKKyAgICAgICAgKiBydW50aW1lL0ludGxQbHVyYWxSdWxlc0NvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3I6OmZp
bmlzaENyZWF0aW9uKToKKwogMjAxOC0wNS0xMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVl
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIzMTMxNiBh
bmQgcjIzMTMzMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dGxDb2xsYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0
b3IuY3BwCmluZGV4IDcyMDhiMmQ2ODg4YWNlYjA1YzQ5NTk5MDBiYjkxMGFiZTg3YTlmY2IuLmY3
MzUwODYyZmJmN2JlYmVjYWMzOGUyMjk0NDk5YmRiYWJkZjcxMjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yLmNwcApAQCAtMTc4LDMyICsxNzgsMjIg
QEAgdm9pZCBJbnRsQ29sbGF0b3I6OmluaXRpYWxpemVDb2xsYXRvcihFeGVjU3RhdGUmIHN0YXRl
LCBKU1ZhbHVlIGxvY2FsZXMsIEpTVmFsdWUKICAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOwogICAg
IGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIC8vIDEwLjEuMSBJ
bml0aWFsaXplQ29sbGF0b3IgKGNvbGxhdG9yLCBsb2NhbGVzLCBvcHRpb25zKSAoRUNNQS00MDIg
Mi4wKQotICAgIC8vIDEuIElmIGNvbGxhdG9yIGhhcyBhbiBbW2luaXRpYWxpemVkSW50bE9iamVj
dF1dIGludGVybmFsIHNsb3Qgd2l0aCB2YWx1ZSB0cnVlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNl
cHRpb24uCi0gICAgLy8gMi4gU2V0IGNvbGxhdG9yLltbaW5pdGlhbGl6ZWRJbnRsT2JqZWN0XV0g
dG8gdHJ1ZS4KKyAgICAvLyAxMC4xLjEgSW5pdGlhbGl6ZUNvbGxhdG9yIChjb2xsYXRvciwgbG9j
YWxlcywgb3B0aW9ucykgKEVDTUEtNDAyKQorICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8v
ZWNtYTQwMi8jc2VjLWluaXRpYWxpemVjb2xsYXRvcgogCi0gICAgLy8gMy4gTGV0IHJlcXVlc3Rl
ZExvY2FsZXMgYmUgQ2Fub25pY2FsaXplTG9jYWxlTGlzdChsb2NhbGVzKS4KICAgICBhdXRvIHJl
cXVlc3RlZExvY2FsZXMgPSBjYW5vbmljYWxpemVMb2NhbGVMaXN0KHN0YXRlLCBsb2NhbGVzKTsK
LSAgICAvLyA0LiBSZXR1cm5JZkFicnVwdChyZXF1ZXN0ZWRMb2NhbGVzKS4KICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAgLy8gNS4gSWYgb3B0aW9ucyBpcyB1
bmRlZmluZWQsIHRoZW4KICAgICBKU09iamVjdCogb3B0aW9uczsKLSAgICBpZiAob3B0aW9uc1Zh
bHVlLmlzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAgLy8gYS4gTGV0IG9wdGlvbnMgYmUgT2JqZWN0
Q3JlYXRlKCVPYmplY3RQcm90b3R5cGUlKS4KLSAgICAgICAgb3B0aW9ucyA9IGNvbnN0cnVjdEVt
cHR5T2JqZWN0KCZzdGF0ZSk7Ci0gICAgfSBlbHNlIHsgLy8gNi4gRWxzZQotICAgICAgICAvLyBh
LiBMZXQgb3B0aW9ucyBiZSBUb09iamVjdChvcHRpb25zKS4KKyAgICBpZiAob3B0aW9uc1ZhbHVl
LmlzVW5kZWZpbmVkKCkpCisgICAgICAgIG9wdGlvbnMgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdCgm
c3RhdGUsIHN0YXRlLmxleGljYWxHbG9iYWxPYmplY3QoKS0+bnVsbFByb3RvdHlwZU9iamVjdFN0
cnVjdHVyZSgpKTsKKyAgICBlbHNlIHsKICAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnNWYWx1ZS50
b09iamVjdCgmc3RhdGUpOwotICAgICAgICAvLyBiLiBSZXR1cm5JZkFicnVwdChvcHRpb25zKS4K
ICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKICAgICB9CiAKLSAg
ICAvLyA3LiBMZXQgdSBiZSBHZXRPcHRpb24ob3B0aW9ucywgInVzYWdlIiwgInN0cmluZyIsIMKr
InNvcnQiLCAic2VhcmNoIsK7LCAic29ydCIpLgogICAgIFN0cmluZyB1c2FnZVN0cmluZyA9IGlu
dGxTdHJpbmdPcHRpb24oc3RhdGUsIG9wdGlvbnMsIHZtLnByb3BlcnR5TmFtZXMtPnVzYWdlLCB7
ICJzb3J0IiwgInNlYXJjaCIgfSwgInVzYWdlIG11c3QgYmUgZWl0aGVyIFwic29ydFwiIG9yIFwi
c2VhcmNoXCIiLCAic29ydCIpOwotICAgIC8vIDguIFJldHVybklmQWJydXB0KHUpLgogICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAgLy8gOS4gU2V0IGNvbGxhdG9y
LltbdXNhZ2VdXSB0byB1LgogICAgIGlmICh1c2FnZVN0cmluZyA9PSAic29ydCIpCiAgICAgICAg
IG1fdXNhZ2UgPSBVc2FnZTo6U29ydDsKICAgICBlbHNlIGlmICh1c2FnZVN0cmluZyA9PSAic2Vh
cmNoIikKQEAgLTIxMSwzNyArMjAxLDE0IEBAIHZvaWQgSW50bENvbGxhdG9yOjppbml0aWFsaXpl
Q29sbGF0b3IoRXhlY1N0YXRlJiBzdGF0ZSwgSlNWYWx1ZSBsb2NhbGVzLCBKU1ZhbHVlCiAgICAg
ZWxzZQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotICAgIC8vIDEwLiBJZiB1IGlz
ICJzb3J0IiwgdGhlbgotICAgIC8vIGEuIExldCBsb2NhbGVEYXRhIGJlIHRoZSB2YWx1ZSBvZiAl
Q29sbGF0b3IlLltbc29ydExvY2FsZURhdGFdXTsKLSAgICAvLyAxMS4gRWxzZQotICAgIC8vIGEu
IExldCBsb2NhbGVEYXRhIGJlIHRoZSB2YWx1ZSBvZiAlQ29sbGF0b3IlLltbc2VhcmNoTG9jYWxl
RGF0YV1dLgotICAgIFZlY3RvcjxTdHJpbmc+ICgqbG9jYWxlRGF0YSkoY29uc3QgU3RyaW5nJiwg
c2l6ZV90KTsKLSAgICBpZiAobV91c2FnZSA9PSBVc2FnZTo6U29ydCkKLSAgICAgICAgbG9jYWxl
RGF0YSA9IHNvcnRMb2NhbGVEYXRhOwotICAgIGVsc2UKLSAgICAgICAgbG9jYWxlRGF0YSA9IHNl
YXJjaExvY2FsZURhdGE7CisgICAgYXV0byBsb2NhbGVEYXRhID0gKG1fdXNhZ2UgPT0gVXNhZ2U6
OlNvcnQpID8gc29ydExvY2FsZURhdGEgOiBzZWFyY2hMb2NhbGVEYXRhOwogCi0gICAgLy8gMTIu
IExldCBvcHQgYmUgYSBuZXcgUmVjb3JkLgogICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IG9w
dDsKIAotICAgIC8vIDEzLiBMZXQgbWF0Y2hlciBiZSBHZXRPcHRpb24ob3B0aW9ucywgImxvY2Fs
ZU1hdGNoZXIiLCAic3RyaW5nIiwgwqsibG9va3VwIiwgImJlc3QgZml0IsK7LCAiYmVzdCBmaXQi
KS4KICAgICBTdHJpbmcgbWF0Y2hlciA9IGludGxTdHJpbmdPcHRpb24oc3RhdGUsIG9wdGlvbnMs
IHZtLnByb3BlcnR5TmFtZXMtPmxvY2FsZU1hdGNoZXIsIHsgImxvb2t1cCIsICJiZXN0IGZpdCIg
fSwgImxvY2FsZU1hdGNoZXIgbXVzdCBiZSBlaXRoZXIgXCJsb29rdXBcIiBvciBcImJlc3QgZml0
XCIiLCAiYmVzdCBmaXQiKTsKLSAgICAvLyAxNC4gUmV0dXJuSWZBYnJ1cHQobWF0Y2hlcikuCiAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKLSAgICAvLyAxNS4gU2V0IG9w
dC5bW2xvY2FsZU1hdGNoZXJdXSB0byBtYXRjaGVyLgogICAgIG9wdC5hZGQoQVNDSUlMaXRlcmFs
KCJsb2NhbGVNYXRjaGVyIiksIG1hdGNoZXIpOwogCi0gICAgLy8gMTYuIEZvciBlYWNoIHJvdyBp
biBUYWJsZSAxLCBleGNlcHQgdGhlIGhlYWRlciByb3csIGRvOgotICAgIC8vIGEuIExldCBrZXkg
YmUgdGhlIG5hbWUgZ2l2ZW4gaW4gdGhlIEtleSBjb2x1bW4gb2YgdGhlIHJvdy4KLSAgICAvLyBi
LiBMZXQgcHJvcCBiZSB0aGUgbmFtZSBnaXZlbiBpbiB0aGUgUHJvcGVydHkgY29sdW1uIG9mIHRo
ZSByb3cuCi0gICAgLy8gYy4gTGV0IHR5cGUgYmUgdGhlIHN0cmluZyBnaXZlbiBpbiB0aGUgVHlw
ZSBjb2x1bW4gb2YgdGhlIHJvdy4KLSAgICAvLyBkLiBMZXQgbGlzdCBiZSBhIExpc3QgY29udGFp
bmluZyB0aGUgU3RyaW5ncyBnaXZlbiBpbiB0aGUgVmFsdWVzIGNvbHVtbiBvZiB0aGUgcm93LCBv
ciB1bmRlZmluZWQgaWYgbm8gc3RyaW5ncyBhcmUgZ2l2ZW4uCi0gICAgLy8gZS4gTGV0IHZhbHVl
IGJlIEdldE9wdGlvbihvcHRpb25zLCBwcm9wLCB0eXBlLCBsaXN0LCB1bmRlZmluZWQpLgotICAg
IC8vIGYuIFJldHVybklmQWJydXB0KHZhbHVlKS4KLSAgICAvLyBnLiBJZiB0aGUgc3RyaW5nIGdp
dmVuIGluIHRoZSBUeXBlIGNvbHVtbiBvZiB0aGUgcm93IGlzICJib29sZWFuIiBhbmQgdmFsdWUg
aXMgbm90IHVuZGVmaW5lZCwgdGhlbgotICAgIC8vICAgIGkuIExldCB2YWx1ZSBiZSBUb1N0cmlu
Zyh2YWx1ZSkuCi0gICAgLy8gICAgaWkuIFJldHVybklmQWJydXB0KHZhbHVlKS4KLSAgICAvLyBo
LiBTZXQgb3B0LltbPGtleT5dXSB0byB2YWx1ZS4KICAgICB7CiAgICAgICAgIFN0cmluZyBudW1l
cmljU3RyaW5nOwogICAgICAgICBib29sIHVzZXNGYWxsYmFjazsKQEAgLTI1NywzNSArMjI0LDE1
IEBAIHZvaWQgSW50bENvbGxhdG9yOjppbml0aWFsaXplQ29sbGF0b3IoRXhlY1N0YXRlJiBzdGF0
ZSwgSlNWYWx1ZSBsb2NhbGVzLCBKU1ZhbHVlCiAgICAgICAgIG9wdC5hZGQoQVNDSUlMaXRlcmFs
KCJrZiIpLCBjYXNlRmlyc3QpOwogICAgIH0KIAotICAgIC8vIDE3LiBMZXQgcmVsZXZhbnRFeHRl
bnNpb25LZXlzIGJlIHRoZSB2YWx1ZSBvZiAlQ29sbGF0b3IlLltbcmVsZXZhbnRFeHRlbnNpb25L
ZXlzXV0uCi0gICAgLy8gMTguIExldCByIGJlIFJlc29sdmVMb2NhbGUoJUNvbGxhdG9yJS5bW2F2
YWlsYWJsZUxvY2FsZXNdXSwgcmVxdWVzdGVkTG9jYWxlcywgb3B0LCByZWxldmFudEV4dGVuc2lv
bktleXMsIGxvY2FsZURhdGEpLgogICAgIGF1dG8mIGF2YWlsYWJsZUxvY2FsZXMgPSBzdGF0ZS5q
c0NhbGxlZSgpLT5nbG9iYWxPYmplY3QoKS0+aW50bENvbGxhdG9yQXZhaWxhYmxlTG9jYWxlcygp
OwogICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZUxvY2FsZShzdGF0ZSwgYXZhaWxhYmxlTG9jYWxl
cywgcmVxdWVzdGVkTG9jYWxlcywgb3B0LCByZWxldmFudENvbGxhdG9yRXh0ZW5zaW9uS2V5cywg
V1RGX0FSUkFZX0xFTkdUSChyZWxldmFudENvbGxhdG9yRXh0ZW5zaW9uS2V5cyksIGxvY2FsZURh
dGEpOwogCi0gICAgLy8gMTkuIFNldCBjb2xsYXRvci5bW2xvY2FsZV1dIHRvIHRoZSB2YWx1ZSBv
ZiByLltbbG9jYWxlXV0uCiAgICAgbV9sb2NhbGUgPSByZXN1bHQuZ2V0KEFTQ0lJTGl0ZXJhbCgi
bG9jYWxlIikpOwogICAgIGlmIChtX2xvY2FsZS5pc0VtcHR5KCkpIHsKICAgICAgICAgdGhyb3dU
eXBlRXJyb3IoJnN0YXRlLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJmYWlsZWQgdG8gaW5pdGlhbGl6
ZSBDb2xsYXRvciBkdWUgdG8gaW52YWxpZCBsb2NhbGUiKSk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICAvLyAyMC4gTGV0IGsgYmUgMC4KLSAgICAvLyAyMS4gTGV0IGxlblZhbHVlIGJl
IEdldChyZWxldmFudEV4dGVuc2lvbktleXMsICJsZW5ndGgiKS4KLSAgICAvLyAyMi4gTGV0IGxl
biBiZSBUb0xlbmd0aChsZW5WYWx1ZSkuCi0gICAgLy8gMjMuIFJlcGVhdCB3aGlsZSBrIDwgbGVu
OgotICAgIC8vIGEuIExldCBQayBiZSBUb1N0cmluZyhrKS4KLSAgICAvLyBiLiBMZXQga2V5IGJl
IEdldChyZWxldmFudEV4dGVuc2lvbktleXMsIFBrKS4KLSAgICAvLyBjLiBSZXR1cm5JZkFicnVw
dChrZXkpLgotICAgIC8vIGQuIElmIGtleSBpcyAiY28iLCB0aGVuCi0gICAgLy8gICAgaS4gTGV0
IHByb3BlcnR5IGJlICJjb2xsYXRpb24iLgotICAgIC8vICAgIGlpLiBMZXQgdmFsdWUgYmUgdGhl
IHZhbHVlIG9mIHIuW1tjb11dLgotICAgIC8vICAgIGlpaS4gSWYgdmFsdWUgaXMgbnVsbCwgbGV0
IHZhbHVlIGJlICJkZWZhdWx0Ii4KLSAgICAvLyBlLiBFbHNlIHVzZSB0aGUgcm93IG9mIFRhYmxl
IDEgdGhhdCBjb250YWlucyB0aGUgdmFsdWUgb2Yga2V5IGluIHRoZSBLZXkgY29sdW1uOgotICAg
IC8vICAgIGkuIExldCBwcm9wZXJ0eSBiZSB0aGUgbmFtZSBnaXZlbiBpbiB0aGUgUHJvcGVydHkg
Y29sdW1uIG9mIHRoZSByb3cuCi0gICAgLy8gICAgaWkuIExldCB2YWx1ZSBiZSB0aGUgdmFsdWUg
b2Ygci5bWzxrZXk+XV0uCi0gICAgLy8gICAgaWlpLiBJZiB0aGUgbmFtZSBnaXZlbiBpbiB0aGUg
VHlwZSBjb2x1bW4gb2YgdGhlIHJvdyBpcyAiYm9vbGVhbiIsIGxldCB2YWx1ZSBiZSB0aGUgcmVz
dWx0IG9mIGNvbXBhcmluZyB2YWx1ZSB3aXRoICJ0cnVlIi4KLSAgICAvLyBmLiBTZXQgY29sbGF0
b3IuW1s8cHJvcGVydHk+XV0gdG8gdmFsdWUuCi0gICAgLy8gZy4gSW5jcmVhc2UgayBieSAxLgog
ICAgIGNvbnN0IFN0cmluZyYgY29sbGF0aW9uID0gcmVzdWx0LmdldChBU0NJSUxpdGVyYWwoImNv
IikpOwogICAgIG1fY29sbGF0aW9uID0gY29sbGF0aW9uLmlzTnVsbCgpID8gQVNDSUlMaXRlcmFs
KCJkZWZhdWx0IikgOiBjb2xsYXRpb247CiAgICAgbV9udW1lcmljID0gcmVzdWx0LmdldChBU0NJ
SUxpdGVyYWwoImtuIikpID09ICJ0cnVlIjsKQEAgLTI5OCwxOCArMjQ1LDggQEAgdm9pZCBJbnRs
Q29sbGF0b3I6OmluaXRpYWxpemVDb2xsYXRvcihFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIGxv
Y2FsZXMsIEpTVmFsdWUKICAgICBlbHNlCiAgICAgICAgIG1fY2FzZUZpcnN0ID0gQ2FzZUZpcnN0
OjpGYWxzZTsKIAotICAgIC8vIDI0LiBMZXQgcyBiZSBHZXRPcHRpb24ob3B0aW9ucywgInNlbnNp
dGl2aXR5IiwgInN0cmluZyIsIMKrImJhc2UiLCAiYWNjZW50IiwgImNhc2UiLCAidmFyaWFudCLC
uywgdW5kZWZpbmVkKS4KICAgICBTdHJpbmcgc2Vuc2l0aXZpdHlTdHJpbmcgPSBpbnRsU3RyaW5n
T3B0aW9uKHN0YXRlLCBvcHRpb25zLCB2bS5wcm9wZXJ0eU5hbWVzLT5zZW5zaXRpdml0eSwgeyAi
YmFzZSIsICJhY2NlbnQiLCAiY2FzZSIsICJ2YXJpYW50IiB9LCAic2Vuc2l0aXZpdHkgbXVzdCBi
ZSBlaXRoZXIgXCJiYXNlXCIsIFwiYWNjZW50XCIsIFwiY2FzZVwiLCBvciBcInZhcmlhbnRcIiIs
IG51bGxwdHIpOwotICAgIC8vIDI1LiBSZXR1cm5JZkFicnVwdChzKS4KICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIC8vIDI2LiBJZiBzIGlzIHVuZGVmaW5lZCwg
dGhlbgotICAgIC8vIGEuIElmIHUgaXMgInNvcnQiLCB0aGVuIGxldCBzIGJlICJ2YXJpYW50Ii4K
LSAgICAvLyBiLiBFbHNlCi0gICAgLy8gICAgaS4gTGV0IGRhdGFMb2NhbGUgYmUgdGhlIHZhbHVl
IG9mIHIuW1tkYXRhTG9jYWxlXV0uCi0gICAgLy8gICAgaWkuIExldCBkYXRhTG9jYWxlRGF0YSBi
ZSBHZXQobG9jYWxlRGF0YSwgZGF0YUxvY2FsZSkuCi0gICAgLy8gICAgaWlpLiBMZXQgcyBiZSBH
ZXQoZGF0YUxvY2FsZURhdGEsICJzZW5zaXRpdml0eSIpLgotICAgIC8vICAgIDEwLjIuMyAiW1tz
ZWFyY2hMb2NhbGVEYXRhXV1bbG9jYWxlXSBtdXN0IGhhdmUgYSBzZW5zaXRpdml0eSBwcm9wZXJ0
eSB3aXRoIGEgU3RyaW5nIHZhbHVlIGVxdWFsIHRvICJiYXNlIiwgImFjY2VudCIsICJjYXNlIiwg
b3IgInZhcmlhbnQiIGZvciBhbGwgbG9jYWxlIHZhbHVlcy4iCi0gICAgLy8gMjcuIFNldCBjb2xs
YXRvci5bW3NlbnNpdGl2aXR5XV0gdG8gcy4KICAgICBpZiAoc2Vuc2l0aXZpdHlTdHJpbmcgPT0g
ImJhc2UiKQogICAgICAgICBtX3NlbnNpdGl2aXR5ID0gU2Vuc2l0aXZpdHk6OkJhc2U7CiAgICAg
ZWxzZSBpZiAoc2Vuc2l0aXZpdHlTdHJpbmcgPT0gImFjY2VudCIpCkBAIC0zMTksMjEgKzI1Niwx
NCBAQCB2b2lkIEludGxDb2xsYXRvcjo6aW5pdGlhbGl6ZUNvbGxhdG9yKEV4ZWNTdGF0ZSYgc3Rh
dGUsIEpTVmFsdWUgbG9jYWxlcywgSlNWYWx1ZQogICAgIGVsc2UKICAgICAgICAgbV9zZW5zaXRp
dml0eSA9IFNlbnNpdGl2aXR5OjpWYXJpYW50OwogCi0gICAgLy8gMjguIExldCBpcCBiZSBHZXRP
cHRpb24ob3B0aW9ucywgImlnbm9yZVB1bmN0dWF0aW9uIiwgImJvb2xlYW4iLCB1bmRlZmluZWQs
IGZhbHNlKS4KICAgICBib29sIHVzZXNGYWxsYmFjazsKICAgICBib29sIGlnbm9yZVB1bmN0dWF0
aW9uID0gaW50bEJvb2xlYW5PcHRpb24oc3RhdGUsIG9wdGlvbnMsIHZtLnByb3BlcnR5TmFtZXMt
Pmlnbm9yZVB1bmN0dWF0aW9uLCB1c2VzRmFsbGJhY2spOwogICAgIGlmICh1c2VzRmFsbGJhY2sp
CiAgICAgICAgIGlnbm9yZVB1bmN0dWF0aW9uID0gZmFsc2U7Ci0gICAgLy8gMjkuIFJldHVybklm
QWJydXB0KGlwKS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAg
IC8vIDMwLiBTZXQgY29sbGF0b3IuW1tpZ25vcmVQdW5jdHVhdGlvbl1dIHRvIGlwLgogICAgIG1f
aWdub3JlUHVuY3R1YXRpb24gPSBpZ25vcmVQdW5jdHVhdGlvbjsKIAotICAgIC8vIDMxLiBTZXQg
Y29sbGF0b3IuW1tib3VuZENvbXBhcmVdXSB0byB1bmRlZmluZWQuCi0gICAgLy8gMzIuIFNldCBj
b2xsYXRvci5bW2luaXRpYWxpemVkQ29sbGF0b3JdXSB0byB0cnVlLgogICAgIG1faW5pdGlhbGl6
ZWRDb2xsYXRvciA9IHRydWU7Ci0KLSAgICAvLyAzMy4gUmV0dXJuIGNvbGxhdG9yLgogfQogCiB2
b2lkIEludGxDb2xsYXRvcjo6Y3JlYXRlQ29sbGF0b3IoRXhlY1N0YXRlJiBzdGF0ZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvckNvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvckNvbnN0
cnVjdG9yLmNwcAppbmRleCA3OGYxODlmOThiNDlkOWEyZmU1MWNlMjdiMjI1NTk1MWRkMDk0NjBm
Li44NmFlM2YwOTA4ZmNhOGVhYzA4NjJlNGM3MWI5YmEwNDBhOTNlMzFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yQ29uc3RydWN0
b3IuY3BwCkBAIC04Miw2ICs4Miw3IEBAIHZvaWQgSW50bENvbGxhdG9yQ29uc3RydWN0b3I6OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgSW50bENvbGxhdG9yUHJvdG90eXBlKiBjb2xsCiAgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24odm0sIEFTQ0lJTGl0ZXJhbCgiQ29sbGF0b3IiKSk7CiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwg
Y29sbGF0b3JQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5
QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUpOworICAgIGNv
bGxhdG9yUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+Y29uc3RydWN0b3IsIHRoaXMsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKICAgICBtX2NvbGxhdG9yU3RydWN0dXJlLnNldCh2bSwg
dGhpcywgY29sbGF0b3JTdHJ1Y3R1cmUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3JQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yUHJvdG90eXBlLmNwcAppbmRleCBhZDU5Yzhl
NGYyMGJhYTEyOWM3MGE0OTQxODVjNmY0ZjU1MzgzZTdiLi5iZjQ3NTI5ZDhhOGI3Y2EzYmU0OWQw
M2JiMjIyYWU1NmMyZGNlZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsQ29sbGF0b3JQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxDb2xsYXRvclByb3RvdHlwZS5jcHAKQEAgLTc0LDYgKzc0LDggQEAgSW50
bENvbGxhdG9yUHJvdG90eXBlOjpJbnRsQ29sbGF0b3JQcm90b3R5cGUoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKIHZvaWQgSW50bENvbGxhdG9yUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0pCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworCisgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnRvU3RyaW5nVGFnU3lt
Ym9sLCBqc1N0cmluZygmdm0sICJPYmplY3QiKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgSW50bENvbGxhdG9yRnVuY0NvbXBhcmUoRXhlY1N0YXRlKiBzdGF0
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGlt
ZUZvcm1hdENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmNwcAppbmRleCAyOTE5ZWNlMTVjNTExZTA5Nzgx
YjFkMTA2MmYwMzg1YmQ2ZTFmODE4Li41MzUxZTQzZGNkYWRkZTJiNWNmYWM1ZDI5ZjdjNjYyNzQw
NWNmMmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0
ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuY3BwCkBAIC04Miw2ICs4Miw3IEBA
IHZvaWQgSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgSW50bERhdGVUaW1lRm9ybWF0UHJvCiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIEFT
Q0lJTGl0ZXJhbCgiRGF0ZVRpbWVGb3JtYXQiKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgZGF0ZVRpbWVGb3JtYXRQcm90
b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpE
b250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigw
KSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUpOworICAgIGRhdGVUaW1lRm9ybWF0
UHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+Y29uc3RydWN0b3IsIHRoaXMsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pKTsKICAgICBtX2RhdGVUaW1lRm9ybWF0U3RydWN0dXJlLnNldCh2bSwg
dGhpcywgZGF0ZVRpbWVGb3JtYXRTdHJ1Y3R1cmUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBl
LmNwcAppbmRleCA0NzI0YjJiZTE5MmIwMjg1MmY4ODM0ODNlMmQzNDliZTk2NzUyMTAxLi45Yjc5
NzFhZGQxOThkZDBiZmIyM2E2YmNjMDdmMDNjYzk2ZGQ0OTMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdFByb3Rv
dHlwZS5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIK
ICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNPYmplY3RJbmxpbmVzLmgiCisj
aW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC04NywzMyAr
ODgsMjkgQEAgdm9pZCBJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE8KICNlbHNlCiAgICAgVU5VU0VEX1BBUkFN
KGdsb2JhbE9iamVjdCk7CiAjZW5kaWYKKworICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT50b1N0cmluZ1RhZ1N5bWJvbCwganNTdHJpbmcoJnZtLCAi
T2JqZWN0IiksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIElu
dGxEYXRlVGltZUZvcm1hdEZ1bmNGb3JtYXREYXRlVGltZShFeGVjU3RhdGUqIHN0YXRlKQogewog
ICAgIFZNJiB2bSA9IHN0YXRlLT52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKLSAgICAvLyAxMi4zLjQgRGF0ZVRpbWUgRm9ybWF0IEZ1bmN0aW9ucyAoRUNN
QS00MDIgMi4wKQotICAgIC8vIDEuIExldCBkdGYgYmUgdGhlIHRoaXMgdmFsdWUuCi0gICAgLy8g
Mi4gQXNzZXJ0OiBUeXBlKGR0ZikgaXMgT2JqZWN0IGFuZCBkdGYgaGFzIGFuIFtbaW5pdGlhbGl6
ZWREYXRlVGltZUZvcm1hdF1dIGludGVybmFsIHNsb3Qgd2hvc2UgdmFsdWUgaXMgdHJ1ZS4KKyAg
ICAvLyAxMi4xLjcgRGF0ZVRpbWUgRm9ybWF0IEZ1bmN0aW9ucyAoRUNNQS00MDIpCisgICAgLy8g
aHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hNDAyLyNzZWMtZm9ybWF0ZGF0ZXRpbWUKKwogICAg
IEludGxEYXRlVGltZUZvcm1hdCogZm9ybWF0ID0ganNDYXN0PEludGxEYXRlVGltZUZvcm1hdCo+
KHN0YXRlLT50aGlzVmFsdWUoKSk7CiAKICAgICBKU1ZhbHVlIGRhdGUgPSBzdGF0ZS0+YXJndW1l
bnQoMCk7CiAgICAgZG91YmxlIHZhbHVlOwogCi0gICAgLy8gMy4gSWYgZGF0ZSBpcyBub3QgcHJv
dmlkZWQgb3IgaXMgdW5kZWZpbmVkLCB0aGVuCi0gICAgaWYgKGRhdGUuaXNVbmRlZmluZWQoKSkg
ewotICAgICAgICAvLyBhLiBMZXQgeCBiZSAlRGF0ZV9ub3clKCkuCisgICAgaWYgKGRhdGUuaXNV
bmRlZmluZWQoKSkKICAgICAgICAgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZGF0ZU5vdyhzdGF0
ZSkpLnRvTnVtYmVyKHN0YXRlKTsKLSAgICB9IGVsc2UgewotICAgICAgICAvLyA0LiBFbHNlCi0g
ICAgICAgIC8vIGEuIExldCB4IGJlIFRvTnVtYmVyKGRhdGUpLgotICAgICAgICB2YWx1ZSA9IGRh
dGUudG9OdW1iZXIoc3RhdGUpOwotICAgICAgICAvLyBiLiBSZXR1cm5JZkFicnVwdCh4KS4KKyAg
ICBlbHNlIHsKKyAgICAgICAgdmFsdWUgPSBXVEY6OnRpbWVDbGlwKGRhdGUudG9OdW1iZXIoc3Rh
dGUpKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUo
KSk7CiAgICAgfQogCi0gICAgLy8gNS4gUmV0dXJuIEZvcm1hdERhdGVUaW1lKGR0ZiwgeCkuCiAg
ICAgc2NvcGUucmVsZWFzZSgpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoZm9ybWF0LT5m
b3JtYXQoKnN0YXRlLCB2YWx1ZSkpOwogfQpAQCAtMTc1LDcgKzE3Miw3IEBAIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlRnVuY0Zvcm1hdFRv
UGFydHMoRXhlY1N0CiAgICAgaWYgKGRhdGUuaXNVbmRlZmluZWQoKSkKICAgICAgICAgdmFsdWUg
PSBKU1ZhbHVlOjpkZWNvZGUoZGF0ZU5vdyhzdGF0ZSkpLnRvTnVtYmVyKHN0YXRlKTsKICAgICBl
bHNlIHsKLSAgICAgICAgdmFsdWUgPSBkYXRlLnRvTnVtYmVyKHN0YXRlKTsKKyAgICAgICAgdmFs
dWUgPSBXVEY6OnRpbWVDbGlwKGRhdGUudG9OdW1iZXIoc3RhdGUpKTsKICAgICAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwCmluZGV4
IDE4NWFjMzY4ZDE3MzMwZmZmYTU4N2M2NjEyZGZiZGQyMTlmZmNiYTAuLmIxOGZkMGZmMjY2MzFl
ZGUzNDRiY2FlZDIxZDRmZWExZTM3YjcxMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwCkBAIC0xNTcsNjIgKzE1Nyw0MiBAQCBz
dGF0aWMgdW5zaWduZWQgY29tcHV0ZUN1cnJlbmN5RGlnaXRzKGNvbnN0IFN0cmluZyYgY3VycmVu
Y3kpCiAKIHZvaWQgSW50bE51bWJlckZvcm1hdDo6aW5pdGlhbGl6ZU51bWJlckZvcm1hdChFeGVj
U3RhdGUmIHN0YXRlLCBKU1ZhbHVlIGxvY2FsZXMsIEpTVmFsdWUgb3B0aW9uc1ZhbHVlKQogewot
ICAgIC8vIDExLjEuMSBJbml0aWFsaXplTnVtYmVyRm9ybWF0IChudW1iZXJGb3JtYXQsIGxvY2Fs
ZXMsIG9wdGlvbnMpIChFQ01BLTQwMiAyLjApCiAgICAgVk0mIHZtID0gc3RhdGUudm0oKTsKICAg
ICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICAvLyAxLiBJZiBu
dW1iZXJGb3JtYXQgaGFzIGFuIFtbaW5pdGlhbGl6ZWRJbnRsT2JqZWN0XV0gaW50ZXJuYWwgc2xv
dCB3aXRoIHZhbHVlIHRydWUsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KLSAgICAvLyAy
LiBTZXQgbnVtYmVyRm9ybWF0LltbaW5pdGlhbGl6ZWRJbnRsT2JqZWN0XV0gdG8gdHJ1ZS4KKyAg
ICAvLyAxMS4xLjIgSW5pdGlhbGl6ZU51bWJlckZvcm1hdCAobnVtYmVyRm9ybWF0LCBsb2NhbGVz
LCBvcHRpb25zKSAoRUNNQS00MDIpCisgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21h
NDAyLyNzZWMtaW5pdGlhbGl6ZW51bWJlcmZvcm1hdAogCi0gICAgLy8gMy4gTGV0IHJlcXVlc3Rl
ZExvY2FsZXMgYmUgQ2Fub25pY2FsaXplTG9jYWxlTGlzdChsb2NhbGVzKS4KICAgICBhdXRvIHJl
cXVlc3RlZExvY2FsZXMgPSBjYW5vbmljYWxpemVMb2NhbGVMaXN0KHN0YXRlLCBsb2NhbGVzKTsK
LSAgICAvLyA0LiBSZXR1cm5JZkFicnVwdChyZXF1ZXN0ZWRMb2NhbGVzKS4KICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAgLy8gNS4gSWYgb3B0aW9ucyBpcyB1
bmRlZmluZWQsIHRoZW4KICAgICBKU09iamVjdCogb3B0aW9uczsKLSAgICBpZiAob3B0aW9uc1Zh
bHVlLmlzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAgLy8gYS4gTGV0IG9wdGlvbnMgYmUgT2JqZWN0
Q3JlYXRlKCVPYmplY3RQcm90b3R5cGUlKS4KLSAgICAgICAgb3B0aW9ucyA9IGNvbnN0cnVjdEVt
cHR5T2JqZWN0KCZzdGF0ZSk7Ci0gICAgfSBlbHNlIHsgLy8gNi4gRWxzZQotICAgICAgICAvLyBh
LiBMZXQgb3B0aW9ucyBiZSBUb09iamVjdChvcHRpb25zKS4KKyAgICBpZiAob3B0aW9uc1ZhbHVl
LmlzVW5kZWZpbmVkKCkpCisgICAgICAgIG9wdGlvbnMgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdCgm
c3RhdGUsIHN0YXRlLmxleGljYWxHbG9iYWxPYmplY3QoKS0+bnVsbFByb3RvdHlwZU9iamVjdFN0
cnVjdHVyZSgpKTsKKyAgICBlbHNlIHsKICAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnNWYWx1ZS50
b09iamVjdCgmc3RhdGUpOwotICAgICAgICAvLyBiLiBSZXR1cm5JZkFicnVwdChvcHRpb25zKS4K
ICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKICAgICB9CiAKLSAg
ICAvLyA3LiBMZXQgb3B0IGJlIGEgbmV3IFJlY29yZC4KICAgICBIYXNoTWFwPFN0cmluZywgU3Ry
aW5nPiBvcHQ7CiAKLSAgICAvLyA4LiBMZXQgbWF0Y2hlciBiZSBHZXRPcHRpb24ob3B0aW9ucywg
ImxvY2FsZU1hdGNoZXIiLCAic3RyaW5nIiwgwqsibG9va3VwIiwgImJlc3QgZml0IsK7LCAiYmVz
dCBmaXQiKS4KICAgICBTdHJpbmcgbWF0Y2hlciA9IGludGxTdHJpbmdPcHRpb24oc3RhdGUsIG9w
dGlvbnMsIHZtLnByb3BlcnR5TmFtZXMtPmxvY2FsZU1hdGNoZXIsIHsgImxvb2t1cCIsICJiZXN0
IGZpdCIgfSwgImxvY2FsZU1hdGNoZXIgbXVzdCBiZSBlaXRoZXIgXCJsb29rdXBcIiBvciBcImJl
c3QgZml0XCIiLCAiYmVzdCBmaXQiKTsKLSAgICAvLyA5LiBSZXR1cm5JZkFicnVwdChtYXRjaGVy
KS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIC8vIDEwLiBT
ZXQgb3B0LltbbG9jYWxlTWF0Y2hlcl1dIHRvIG1hdGNoZXIuCiAgICAgb3B0LmFkZChBU0NJSUxp
dGVyYWwoImxvY2FsZU1hdGNoZXIiKSwgbWF0Y2hlcik7CiAKLSAgICAvLyAxMS4gTGV0IGxvY2Fs
ZURhdGEgYmUgJU51bWJlckZvcm1hdCUuW1tsb2NhbGVEYXRhXV0uCi0gICAgLy8gMTIuIExldCBy
IGJlIFJlc29sdmVMb2NhbGUoJU51bWJlckZvcm1hdCUuW1thdmFpbGFibGVMb2NhbGVzXV0sIHJl
cXVlc3RlZExvY2FsZXMsIG9wdCwgJU51bWJlckZvcm1hdCUuW1tyZWxldmFudEV4dGVuc2lvbktl
eXNdXSwgbG9jYWxlRGF0YSkuCiAgICAgYXV0byYgYXZhaWxhYmxlTG9jYWxlcyA9IHN0YXRlLmpz
Q2FsbGVlKCktPmdsb2JhbE9iamVjdCgpLT5pbnRsTnVtYmVyRm9ybWF0QXZhaWxhYmxlTG9jYWxl
cygpOwogICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZUxvY2FsZShzdGF0ZSwgYXZhaWxhYmxlTG9j
YWxlcywgcmVxdWVzdGVkTG9jYWxlcywgb3B0LCByZWxldmFudE51bWJlckV4dGVuc2lvbktleXMs
IFdURl9BUlJBWV9MRU5HVEgocmVsZXZhbnROdW1iZXJFeHRlbnNpb25LZXlzKSwgSW50bE5GSW50
ZXJuYWw6OmxvY2FsZURhdGEpOwogCi0gICAgLy8gMTMuIFNldCBudW1iZXJGb3JtYXQuW1tsb2Nh
bGVdXSB0byB0aGUgdmFsdWUgb2Ygci5bW2xvY2FsZV1dLgogICAgIG1fbG9jYWxlID0gcmVzdWx0
LmdldChBU0NJSUxpdGVyYWwoImxvY2FsZSIpKTsKICAgICBpZiAobV9sb2NhbGUuaXNFbXB0eSgp
KSB7CiAgICAgICAgIHRocm93VHlwZUVycm9yKCZzdGF0ZSwgc2NvcGUsIEFTQ0lJTGl0ZXJhbCgi
ZmFpbGVkIHRvIGluaXRpYWxpemUgTnVtYmVyRm9ybWF0IGR1ZSB0byBpbnZhbGlkIGxvY2FsZSIp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIDE0LiBTZXQgbnVtYmVyRm9ybWF0
LltbbnVtYmVyaW5nU3lzdGVtXV0gdG8gdGhlIHZhbHVlIG9mIHIuW1tudV1dLgogICAgIG1fbnVt
YmVyaW5nU3lzdGVtID0gcmVzdWx0LmdldChBU0NJSUxpdGVyYWwoIm51IikpOwogCi0gICAgLy8g
MTUuIExldCBkYXRhTG9jYWxlIGJlIHIuW1tkYXRhTG9jYWxlXV0uCi0KLSAgICAvLyAxNi4gTGV0
IHMgYmUgR2V0T3B0aW9uKG9wdGlvbnMsICJzdHlsZSIsICJzdHJpbmciLCDCqyAiZGVjaW1hbCIs
ICJwZXJjZW50IiwgImN1cnJlbmN5IsK7LCAiZGVjaW1hbCIpLgogICAgIFN0cmluZyBzdHlsZVN0
cmluZyA9IGludGxTdHJpbmdPcHRpb24oc3RhdGUsIG9wdGlvbnMsIElkZW50aWZpZXI6OmZyb21T
dHJpbmcoJnZtLCAic3R5bGUiKSwgeyAiZGVjaW1hbCIsICJwZXJjZW50IiwgImN1cnJlbmN5IiB9
LCAic3R5bGUgbXVzdCBiZSBlaXRoZXIgXCJkZWNpbWFsXCIsIFwicGVyY2VudFwiLCBvciBcImN1
cnJlbmN5XCIiLCAiZGVjaW1hbCIpOwotICAgIC8vIDE3LiBSZXR1cm5JZkFicnVwdChzKS4KICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIC8vIDE4LiBTZXQgbnVt
YmVyRm9ybWF0Lltbc3R5bGVdXSB0byBzLgogICAgIGlmIChzdHlsZVN0cmluZyA9PSAiZGVjaW1h
bCIpCiAgICAgICAgIG1fc3R5bGUgPSBTdHlsZTo6RGVjaW1hbDsKICAgICBlbHNlIGlmIChzdHls
ZVN0cmluZyA9PSAicGVyY2VudCIpCkBAIC0yMjIsMTMgKzIwMiw5IEBAIHZvaWQgSW50bE51bWJl
ckZvcm1hdDo6aW5pdGlhbGl6ZU51bWJlckZvcm1hdChFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVl
IGxvY2FsZXMsCiAgICAgZWxzZQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotICAg
IC8vIDE5LiBMZXQgYyBiZSBHZXRPcHRpb24ob3B0aW9ucywgImN1cnJlbmN5IiwgInN0cmluZyIs
IHVuZGVmaW5lZCwgdW5kZWZpbmVkKS4KICAgICBTdHJpbmcgY3VycmVuY3kgPSBpbnRsU3RyaW5n
T3B0aW9uKHN0YXRlLCBvcHRpb25zLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImN1cnJl
bmN5IiksIHsgfSwgbnVsbHB0ciwgbnVsbHB0cik7Ci0gICAgLy8gMjAuIFJldHVybklmQWJydXB0
KGMpLgogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAgLy8gMjEu
IElmIGMgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgogICAgIGlmICghY3VycmVuY3kuaXNOdWxsKCkp
IHsKLSAgICAgICAgLy8gYS4gSWYgdGhlIHJlc3VsdCBvZiBJc1dlbGxGb3JtZWRDdXJyZW5jeUNv
ZGUoYyksIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgUmFuZ2VFcnJvciBleGNlcHRpb24uCiAgICAg
ICAgIGlmIChjdXJyZW5jeS5sZW5ndGgoKSAhPSAzIHx8ICFjdXJyZW5jeS5pc0FsbFNwZWNpYWxD
aGFyYWN0ZXJzPGlzQVNDSUlBbHBoYT4oKSkgewogICAgICAgICAgICAgdGhyb3dFeGNlcHRpb24o
JnN0YXRlLCBzY29wZSwgY3JlYXRlUmFuZ2VFcnJvcigmc3RhdGUsIEFTQ0lJTGl0ZXJhbCgiY3Vy
cmVuY3kgaXMgbm90IGEgd2VsbC1mb3JtZWQgY3VycmVuY3kgY29kZSIpKSk7CiAgICAgICAgICAg
ICByZXR1cm47CkBAIC0yMzcsMjYgKzIxMywxOCBAQCB2b2lkIEludGxOdW1iZXJGb3JtYXQ6Omlu
aXRpYWxpemVOdW1iZXJGb3JtYXQoRXhlY1N0YXRlJiBzdGF0ZSwgSlNWYWx1ZSBsb2NhbGVzLAog
CiAgICAgdW5zaWduZWQgY3VycmVuY3lEaWdpdHMgPSAwOwogICAgIGlmIChtX3N0eWxlID09IFN0
eWxlOjpDdXJyZW5jeSkgewotICAgICAgICAvLyAyMi4gSWYgcyBpcyAiY3VycmVuY3kiIGFuZCBj
IGlzIHVuZGVmaW5lZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogICAgICAgICBpZiAo
Y3VycmVuY3kuaXNOdWxsKCkpIHsKICAgICAgICAgICAgIHRocm93VHlwZUVycm9yKCZzdGF0ZSwg
c2NvcGUsIEFTQ0lJTGl0ZXJhbCgiY3VycmVuY3kgbXVzdCBiZSBhIHN0cmluZyIpKTsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIC8vIDIzLiBJZiBzIGlzICJjdXJy
ZW5jeSIsIHRoZW4KLSAgICAgICAgLy8gYS4gTGV0IGMgYmUgY29udmVydGluZyBjIHRvIHVwcGVy
IGNhc2UgYXMgc3BlY2lmaWVkIGluIDYuMS4KICAgICAgICAgY3VycmVuY3kgPSBjdXJyZW5jeS5j
b252ZXJ0VG9BU0NJSVVwcGVyY2FzZSgpOwotICAgICAgICAvLyBiLiBTZXQgbnVtYmVyRm9ybWF0
LltbY3VycmVuY3ldXSB0byBjLgogICAgICAgICBtX2N1cnJlbmN5ID0gY3VycmVuY3k7Ci0gICAg
ICAgIC8vIGMuIExldCBjRGlnaXRzIGJlIEN1cnJlbmN5RGlnaXRzKGMpCiAgICAgICAgIGN1cnJl
bmN5RGlnaXRzID0gY29tcHV0ZUN1cnJlbmN5RGlnaXRzKGN1cnJlbmN5KTsKICAgICB9CiAKLSAg
ICAvLyAyNC4gTGV0IGNkIGJlIEdldE9wdGlvbihvcHRpb25zLCAiY3VycmVuY3lEaXNwbGF5Iiwg
InN0cmluZyIsIMKrImNvZGUiLCAic3ltYm9sIiwgIm5hbWUiwrssICJzeW1ib2wiKS4KICAgICBT
dHJpbmcgY3VycmVuY3lEaXNwbGF5U3RyaW5nID0gaW50bFN0cmluZ09wdGlvbihzdGF0ZSwgb3B0
aW9ucywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJjdXJyZW5jeURpc3BsYXkiKSwgeyAi
Y29kZSIsICJzeW1ib2wiLCAibmFtZSIgfSwgImN1cnJlbmN5RGlzcGxheSBtdXN0IGJlIGVpdGhl
ciBcImNvZGVcIiwgXCJzeW1ib2xcIiwgb3IgXCJuYW1lXCIiLCAic3ltYm9sIik7Ci0gICAgLy8g
MjUuIFJldHVybklmQWJydXB0KGNkKS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2
b2lkKCkpOwotICAgIC8vIDI2LiBJZiBzIGlzICJjdXJyZW5jeSIsIHNldCBudW1iZXJGb3JtYXQu
W1tjdXJyZW5jeURpc3BsYXldXSB0byBjZC4KICAgICBpZiAobV9zdHlsZSA9PSBTdHlsZTo6Q3Vy
cmVuY3kpIHsKICAgICAgICAgaWYgKGN1cnJlbmN5RGlzcGxheVN0cmluZyA9PSAiY29kZSIpCiAg
ICAgICAgICAgICBtX2N1cnJlbmN5RGlzcGxheSA9IEN1cnJlbmN5RGlzcGxheTo6Q29kZTsKQEAg
LTI2OCw4OCArMjM2LDUxIEBAIHZvaWQgSW50bE51bWJlckZvcm1hdDo6aW5pdGlhbGl6ZU51bWJl
ckZvcm1hdChFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIGxvY2FsZXMsCiAgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAKLSAgICAvLyAyNy4gTGV0IG1uaWQgYmUgR2V0
TnVtYmVyT3B0aW9uKG9wdGlvbnMsICJtaW5pbXVtSW50ZWdlckRpZ2l0cyIsIDEsIDIxLCAxKS4K
LSAgICAvLyAyOC4gUmV0dXJuSWZBYnJ1cHQobW5pZCkuCi0gICAgLy8gMjkuIFNldCBudW1iZXJG
b3JtYXQuW1ttaW5pbXVtSW50ZWdlckRpZ2l0c11dIHRvIG1uaWQuCiAgICAgdW5zaWduZWQgbWlu
aW11bUludGVnZXJEaWdpdHMgPSBpbnRsTnVtYmVyT3B0aW9uKHN0YXRlLCBvcHRpb25zLCBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgIm1pbmltdW1JbnRlZ2VyRGlnaXRzIiksIDEsIDIxLCAx
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgIG1fbWluaW11
bUludGVnZXJEaWdpdHMgPSBtaW5pbXVtSW50ZWdlckRpZ2l0czsKIAotICAgIC8vIDMwLiBJZiBz
IGlzICJjdXJyZW5jeSIsIGxldCBtbmZkRGVmYXVsdCBiZSBjRGlnaXRzOyBlbHNlIGxldCBtbmZk
RGVmYXVsdCBiZSAwLgogICAgIHVuc2lnbmVkIG1pbmltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1bHQg
PSAobV9zdHlsZSA9PSBTdHlsZTo6Q3VycmVuY3kpID8gY3VycmVuY3lEaWdpdHMgOiAwOwogCi0g
ICAgLy8gMzEuIExldCBtbmZkIGJlIEdldE51bWJlck9wdGlvbihvcHRpb25zLCAibWluaW11bUZy
YWN0aW9uRGlnaXRzIiwgMCwgMjAsIG1uZmREZWZhdWx0KS4KLSAgICAvLyAzMi4gUmV0dXJuSWZB
YnJ1cHQobW5mZCkuCi0gICAgLy8gMzMuIFNldCBudW1iZXJGb3JtYXQuW1ttaW5pbXVtRnJhY3Rp
b25EaWdpdHNdXSB0byBtbmZkLgogICAgIHVuc2lnbmVkIG1pbmltdW1GcmFjdGlvbkRpZ2l0cyA9
IGludGxOdW1iZXJPcHRpb24oc3RhdGUsIG9wdGlvbnMsIElkZW50aWZpZXI6OmZyb21TdHJpbmco
JnZtLCAibWluaW11bUZyYWN0aW9uRGlnaXRzIiksIDAsIDIwLCBtaW5pbXVtRnJhY3Rpb25EaWdp
dHNEZWZhdWx0KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAg
IG1fbWluaW11bUZyYWN0aW9uRGlnaXRzID0gbWluaW11bUZyYWN0aW9uRGlnaXRzOwogCi0gICAg
Ly8gMzQuIElmIHMgaXMgImN1cnJlbmN5IiwgbGV0IG14ZmREZWZhdWx0IGJlIG1heChtbmZkLCBj
RGlnaXRzKTsKICAgICB1bnNpZ25lZCBtYXhpbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0OwogICAg
IGlmIChtX3N0eWxlID09IFN0eWxlOjpDdXJyZW5jeSkKICAgICAgICAgbWF4aW11bUZyYWN0aW9u
RGlnaXRzRGVmYXVsdCA9IHN0ZDo6bWF4KG1pbmltdW1GcmFjdGlvbkRpZ2l0cywgY3VycmVuY3lE
aWdpdHMpOwotICAgIGVsc2UgaWYgKG1fc3R5bGUgPT0gU3R5bGU6OlBlcmNlbnQpIC8vIGVsc2Ug
aWYgcyBpcyAicGVyY2VudCIsIGxldCBteGZkRGVmYXVsdCBiZSBtYXgobW5mZCwgMCk7CisgICAg
ZWxzZSBpZiAobV9zdHlsZSA9PSBTdHlsZTo6UGVyY2VudCkKICAgICAgICAgbWF4aW11bUZyYWN0
aW9uRGlnaXRzRGVmYXVsdCA9IG1pbmltdW1GcmFjdGlvbkRpZ2l0czsKLSAgICBlbHNlIC8vIGVs
c2UgbGV0IG14ZmREZWZhdWx0IGJlIG1heChtbmZkLCAzKS4KKyAgICBlbHNlCiAgICAgICAgIG1h
eGltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1bHQgPSBzdGQ6Om1heChtaW5pbXVtRnJhY3Rpb25EaWdp
dHMsIDN1KTsKIAotICAgIC8vIDM1LiBMZXQgbXhmZCBiZSBHZXROdW1iZXJPcHRpb24ob3B0aW9u
cywgIm1heGltdW1GcmFjdGlvbkRpZ2l0cyIsIG1uZmQsIDIwLCBteGZkRGVmYXVsdCkuCi0gICAg
Ly8gMzYuIFJldHVybklmQWJydXB0KG14ZmQpLgotICAgIC8vIDM3LiBTZXQgbnVtYmVyRm9ybWF0
LltbbWF4aW11bUZyYWN0aW9uRGlnaXRzXV0gdG8gbXhmZC4KICAgICB1bnNpZ25lZCBtYXhpbXVt
RnJhY3Rpb25EaWdpdHMgPSBpbnRsTnVtYmVyT3B0aW9uKHN0YXRlLCBvcHRpb25zLCBJZGVudGlm
aWVyOjpmcm9tU3RyaW5nKCZ2bSwgIm1heGltdW1GcmFjdGlvbkRpZ2l0cyIpLCBtaW5pbXVtRnJh
Y3Rpb25EaWdpdHMsIDIwLCBtYXhpbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0KTsKICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgIG1fbWF4aW11bUZyYWN0aW9uRGln
aXRzID0gbWF4aW11bUZyYWN0aW9uRGlnaXRzOwogCi0gICAgLy8gMzguIExldCBtbnNkIGJlIEdl
dChvcHRpb25zLCAibWluaW11bVNpZ25pZmljYW50RGlnaXRzIikuCiAgICAgSlNWYWx1ZSBtaW5p
bXVtU2lnbmlmaWNhbnREaWdpdHNWYWx1ZSA9IG9wdGlvbnMtPmdldCgmc3RhdGUsIElkZW50aWZp
ZXI6OmZyb21TdHJpbmcoJnZtLCAibWluaW11bVNpZ25pZmljYW50RGlnaXRzIikpOwotICAgIC8v
IDM5LiBSZXR1cm5JZkFicnVwdChtbnNkKS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCB2b2lkKCkpOwogCi0gICAgLy8gNDAuIExldCBteHNkIGJlIEdldChvcHRpb25zLCAibWF4aW11
bVNpZ25pZmljYW50RGlnaXRzIikuCiAgICAgSlNWYWx1ZSBtYXhpbXVtU2lnbmlmaWNhbnREaWdp
dHNWYWx1ZSA9IG9wdGlvbnMtPmdldCgmc3RhdGUsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZt
LCAibWF4aW11bVNpZ25pZmljYW50RGlnaXRzIikpOwotICAgIC8vIDQxLiBSZXR1cm5JZkFicnVw
dChteHNkKS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAg
Ly8gNDIuIElmIG1uc2QgaXMgbm90IHVuZGVmaW5lZCBvciBteHNkIGlzIG5vdCB1bmRlZmluZWQs
IHRoZW4KICAgICBpZiAoIW1pbmltdW1TaWduaWZpY2FudERpZ2l0c1ZhbHVlLmlzVW5kZWZpbmVk
KCkgfHwgIW1heGltdW1TaWduaWZpY2FudERpZ2l0c1ZhbHVlLmlzVW5kZWZpbmVkKCkpIHsKLSAg
ICAgICAgLy8gYS4gTGV0IG1uc2QgYmUgR2V0TnVtYmVyT3B0aW9uKG9wdGlvbnMsICJtaW5pbXVt
U2lnbmlmaWNhbnREaWdpdHMiLCAxLCAyMSwgMSkuCiAgICAgICAgIHVuc2lnbmVkIG1pbmltdW1T
aWduaWZpY2FudERpZ2l0cyA9IGludGxOdW1iZXJPcHRpb24oc3RhdGUsIG9wdGlvbnMsIElkZW50
aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAibWluaW11bVNpZ25pZmljYW50RGlnaXRzIiksIDEsIDIx
LCAxKTsKLSAgICAgICAgLy8gYi4gUmV0dXJuSWZBYnJ1cHQobW5zZCkuCiAgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAgICAgIC8vIGMuIExldCBteHNkIGJl
IEdldE51bWJlck9wdGlvbihvcHRpb25zLCAibWF4aW11bVNpZ25pZmljYW50RGlnaXRzIiwgbW5z
ZCwgMjEsIDIxKS4KICAgICAgICAgdW5zaWduZWQgbWF4aW11bVNpZ25pZmljYW50RGlnaXRzID0g
aW50bE51bWJlck9wdGlvbihzdGF0ZSwgb3B0aW9ucywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygm
dm0sICJtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMiKSwgbWluaW11bVNpZ25pZmljYW50RGlnaXRz
LCAyMSwgMjEpOwotICAgICAgICAvLyBkLiBSZXR1cm5JZkFicnVwdChteHNkKS4KICAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKLSAgICAgICAgLy8gZS4gU2V0IG51
bWJlckZvcm1hdC5bW21pbmltdW1TaWduaWZpY2FudERpZ2l0c11dIHRvIG1uc2QuCiAgICAgICAg
IG1fbWluaW11bVNpZ25pZmljYW50RGlnaXRzID0gbWluaW11bVNpZ25pZmljYW50RGlnaXRzOwot
ICAgICAgICAvLyBmLiBTZXQgbnVtYmVyRm9ybWF0LltbbWF4aW11bVNpZ25pZmljYW50RGlnaXRz
XV0gdG8gbXhzZC4KICAgICAgICAgbV9tYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMgPSBtYXhpbXVt
U2lnbmlmaWNhbnREaWdpdHM7CiAgICAgfQogCi0gICAgLy8gNDMuIExldCBnIGJlIEdldE9wdGlv
bihvcHRpb25zLCAidXNlR3JvdXBpbmciLCAiYm9vbGVhbiIsIHVuZGVmaW5lZCwgdHJ1ZSkuCiAg
ICAgYm9vbCB1c2VzRmFsbGJhY2s7CiAgICAgYm9vbCB1c2VHcm91cGluZyA9IGludGxCb29sZWFu
T3B0aW9uKHN0YXRlLCBvcHRpb25zLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgInVzZUdy
b3VwaW5nIiksIHVzZXNGYWxsYmFjayk7CiAgICAgaWYgKHVzZXNGYWxsYmFjaykKICAgICAgICAg
dXNlR3JvdXBpbmcgPSB0cnVlOwotICAgIC8vIDQ0LiBSZXR1cm5JZkFicnVwdChnKS4KICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIC8vIDQ1LiBTZXQgbnVtYmVy
Rm9ybWF0LltbdXNlR3JvdXBpbmddXSB0byBnLgogICAgIG1fdXNlR3JvdXBpbmcgPSB1c2VHcm91
cGluZzsKIAotICAgIC8vIFN0ZXBzIDQ2IC0gNTEgYXJlIG5vdCBuZWNlc3NhcnkgdG8gb3VyIGlt
cGxlbWVudGF0aW9uLgotICAgIC8vIDQ2LiBMZXQgZGF0YUxvY2FsZURhdGEgYmUgR2V0KGxvY2Fs
ZURhdGEsIGRhdGFMb2NhbGUpLgotICAgIC8vIDQ3LiBMZXQgcGF0dGVybnMgYmUgR2V0KGRhdGFM
b2NhbGVEYXRhLCAicGF0dGVybnMiKS4KLSAgICAvLyA0OC4gQXNzZXJ0OiBwYXR0ZXJucyBpcyBh
biBvYmplY3QgKHNlZSAxMS4yLjMpLgotICAgIC8vIDQ5LiBMZXQgc3R5bGVQYXR0ZXJucyBiZSBH
ZXQocGF0dGVybnMsIHMpLgotICAgIC8vIDUwLiBTZXQgbnVtYmVyRm9ybWF0LltbcG9zaXRpdmVQ
YXR0ZXJuXV0gdG8gR2V0KHN0eWxlUGF0dGVybnMsICJwb3NpdGl2ZVBhdHRlcm4iKS4KLSAgICAv
LyA1MS4gU2V0IG51bWJlckZvcm1hdC5bW25lZ2F0aXZlUGF0dGVybl1dIHRvIEdldChzdHlsZVBh
dHRlcm5zLCAibmVnYXRpdmVQYXR0ZXJuIikuCi0KLSAgICAvLyA1Mi4gU2V0IG51bWJlckZvcm1h
dC5bW2JvdW5kRm9ybWF0XV0gdG8gdW5kZWZpbmVkLgotICAgIC8vIDUzLiBTZXQgbnVtYmVyRm9y
bWF0LltbaW5pdGlhbGl6ZWROdW1iZXJGb3JtYXRdXSB0byB0cnVlLgogICAgIG1faW5pdGlhbGl6
ZWROdW1iZXJGb3JtYXQgPSB0cnVlOwotCi0gICAgLy8gNTQuIFJldHVybiBudW1iZXJGb3JtYXQu
CiB9CiAKIHZvaWQgSW50bE51bWJlckZvcm1hdDo6Y3JlYXRlTnVtYmVyRm9ybWF0KEV4ZWNTdGF0
ZSYgc3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
TnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmNwcAppbmRleCAyYjMwNTAzYmUzNjQ5M2Rk
YThlN2E3MGExMjQxOGRlZTRhZDc4ZDhiLi4yNzQ3MDNjMjViODU4NGY5MTE4MTcxNzYzZmQ1ZjY4
ZWY2MDZlY2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
TnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5jcHAKQEAgLTgyLDYgKzgyLDcgQEAg
dm9pZCBJbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
SW50bE51bWJlckZvcm1hdFByb3RvdHkKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgQVND
SUlMaXRlcmFsKCJOdW1iZXJGb3JtYXQiKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgbnVtYmVyRm9ybWF0UHJvdG90eXBl
LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERl
bGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91
dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlKTsKKyAgICBudW1iZXJGb3JtYXRQcm90b3R5
cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25z
dHJ1Y3RvciwgdGhpcywgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSkpOwogICAgIG1fbnVtYmVyRm9ybWF0U3RydWN0dXJlLnNldCh2bSwgdGhpcywgbnVt
YmVyRm9ybWF0U3RydWN0dXJlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdFByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmNwcAppbmRleCA1Y2Yx
NzdkNjQ3Zjg1MDE0MWQ3YzFiOTM3MzI5MmEwOTA4OTYzM2I1Li5mOGJlNmJjYTY2ZjNkMjgxODk3
YjQ0ZTE0Y2YyNmNkMmQxZTYxNTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmNwcApAQCAtNzYsNiAr
NzYsOCBAQCBJbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlOjpJbnRsTnVtYmVyRm9ybWF0UHJvdG90
eXBlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cgogdm9pZCBJbnRsTnVtYmVyRm9ybWF0UHJv
dG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFN0cnVjdHVyZSopCiB7CiAgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0pOworCisgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0s
IHZtLnByb3BlcnR5TmFtZXMtPnRvU3RyaW5nVGFnU3ltYm9sLCBqc1N0cmluZygmdm0sICJPYmpl
Y3QiKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5KTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSW50bE51
bWJlckZvcm1hdEZ1bmNGb3JtYXROdW1iZXIoRXhlY1N0YXRlKiBzdGF0ZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3QuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5jcHAKaW5kZXggODZmOTM4YTJiZTRlM2Zk
ZTEyMWRjOTg1NDIzZDEzMzExMDM5ODhiOC4uYWM3NGQ3YTU2MWNhZDBiOTM1ZTViN2QwNzZhYjlm
YTViNGRlYTEyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVj
dC5jcHAKQEAgLTc5OSwxMiArNzk5LDEzIEBAIHN0YXRpYyBKU0FycmF5KiBsb29rdXBTdXBwb3J0
ZWRMb2NhbGVzKEV4ZWNTdGF0ZSYgc3RhdGUsIGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCisgICAgdW5zaWduZWQgaW5kZXggPSAwOwogICAg
IGZvciAoc2l6ZV90IGsgPSAwOyBrIDwgbGVuOyArK2spIHsKICAgICAgICAgY29uc3QgU3RyaW5n
JiBsb2NhbGUgPSByZXF1ZXN0ZWRMb2NhbGVzW2tdOwogICAgICAgICBTdHJpbmcgbm9FeHRlbnNp
b25zTG9jYWxlID0gcmVtb3ZlVW5pY29kZUxvY2FsZUV4dGVuc2lvbihsb2NhbGUpOwogICAgICAg
ICBTdHJpbmcgYXZhaWxhYmxlTG9jYWxlID0gYmVzdEF2YWlsYWJsZUxvY2FsZShhdmFpbGFibGVM
b2NhbGVzLCBub0V4dGVuc2lvbnNMb2NhbGUpOwogICAgICAgICBpZiAoIWF2YWlsYWJsZUxvY2Fs
ZS5pc051bGwoKSkgewotICAgICAgICAgICAgc3Vic2V0LT5wdXNoKCZzdGF0ZSwganNTdHJpbmco
JnN0YXRlLCBsb2NhbGUpKTsKKyAgICAgICAgICAgIHN1YnNldC0+cHV0RGlyZWN0SW5kZXgoJnN0
YXRlLCBpbmRleCsrLCBqc1N0cmluZygmc3RhdGUsIGxvY2FsZSkpOwogICAgICAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CiAgICAgICAgIH0KICAgICB9CkBAIC04
NTQsNiArODU1LDcgQEAgSlNWYWx1ZSBzdXBwb3J0ZWRMb2NhbGVzKEV4ZWNTdGF0ZSYgc3RhdGUs
IGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYgYXZhaWxhYmxlTG9jYWwKICAgICAgICAgc3VwcG9ydGVk
TG9jYWxlcy0+ZGVmaW5lT3duUHJvcGVydHkoc3VwcG9ydGVkTG9jYWxlcywgJnN0YXRlLCBrZXlz
W2ldLCBkZXNjLCB0cnVlKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNW
YWx1ZSgpKTsKICAgICB9CisgICAgc3VwcG9ydGVkTG9jYWxlcy0+ZGVmaW5lT3duUHJvcGVydHko
c3VwcG9ydGVkTG9jYWxlcywgJnN0YXRlLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGRlc2Ms
IHRydWUpOwogCiAgICAgcmV0dXJuIHN1cHBvcnRlZExvY2FsZXM7CiB9CkBAIC05MDIsMTcgKzkw
NCwxNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGludGxPYmplY3RGdW5jR2V0Q2Fu
b25pY2FsTG9jYWxlcyhFeGVjU3RhdGUqIHN0YXRlKQogCiAgICAgVmVjdG9yPFN0cmluZz4gbG9j
YWxlTGlzdCA9IGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoKnN0YXRlLCBzdGF0ZS0+YXJndW1lbnQo
MCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwor
ICAgIGF1dG8gbGVuZ3RoID0gbG9jYWxlTGlzdC5zaXplKCk7CiAKICAgICBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0ID0gc3RhdGUtPmpzQ2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOwotICAg
IEpTQXJyYXkqIGxvY2FsZUFycmF5ID0gSlNBcnJheTo6dHJ5Q3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QtPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdp
dGhDb250aWd1b3VzKSk7CisgICAgSlNBcnJheSogbG9jYWxlQXJyYXkgPSBKU0FycmF5Ojp0cnlD
cmVhdGUodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJp
bmdBbGxvY2F0aW9uKEFycmF5V2l0aENvbnRpZ3VvdXMpLCBsZW5ndGgpOwogICAgIGlmICghbG9j
YWxlQXJyYXkpIHsKICAgICAgICAgdGhyb3dPdXRPZk1lbW9yeUVycm9yKHN0YXRlLCBzY29wZSk7
CiAgICAgICAgIHJldHVybiBlbmNvZGVkSlNWYWx1ZSgpOwogICAgIH0KIAotICAgIGF1dG8gbGVu
Z3RoID0gbG9jYWxlTGlzdC5zaXplKCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsZW5n
dGg7ICsraSkgewotICAgICAgICBsb2NhbGVBcnJheS0+cHVzaChzdGF0ZSwganNTdHJpbmcoc3Rh
dGUsIGxvY2FsZUxpc3RbaV0pKTsKKyAgICAgICAgbG9jYWxlQXJyYXktPnB1dERpcmVjdEluZGV4
KHN0YXRlLCBpLCBqc1N0cmluZyhzdGF0ZSwgbG9jYWxlTGlzdFtpXSkpOwogICAgICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICB9CiAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShsb2NhbGVBcnJheSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXMuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmNwcAppbmRleCA3YjgzOGY2ODEyZTAwZDg5
YTdlZGQ0Mzc5MDcyZmM2OGVkZjlmYzY4Li4wMTY1MGI3NGRiZWYxMTAyMDY3ZGM2OTk5Mzc0ZTgx
OWUzMjcxYzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
UGx1cmFsUnVsZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQ
bHVyYWxSdWxlcy5jcHAKQEAgLTIxOSw2ICsyMTksNyBAQCBKU09iamVjdCogSW50bFBsdXJhbFJ1
bGVzOjpyZXNvbHZlZE9wdGlvbnMoRXhlY1N0YXRlJiBleGVjKQogICAgIEpTQXJyYXkqIGNhdGVn
b3JpZXMgPSBKU0FycmF5Ojp0cnlDcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1
cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aENvbnRpZ3VvdXMpLCAw
KTsKICAgICBpZiAoIWNhdGVnb3JpZXMpCiAgICAgICAgIHJldHVybiB0aHJvd091dE9mTWVtb3J5
RXJyb3IoJmV4ZWMsIHNjb3BlKTsKKyAgICB1bnNpZ25lZCBpbmRleCA9IDA7CiAKICAgICBVRXJy
b3JDb2RlIHN0YXR1cyA9IFVfWkVST19FUlJPUjsKICAgICBhdXRvIGtleXdvcmRzID0gc3RkOjp1
bmlxdWVfcHRyPFVFbnVtZXJhdGlvbiwgVUVudW1lcmF0aW9uRGVsZXRlcj4odXBscnVsZXNfZ2V0
S2V5d29yZHMobV9wbHVyYWxSdWxlcy5nZXQoKSwgJnN0YXR1cykpOwpAQCAtMjI4LDcgKzIyOSw3
IEBAIEpTT2JqZWN0KiBJbnRsUGx1cmFsUnVsZXM6OnJlc29sdmVkT3B0aW9ucyhFeGVjU3RhdGUm
IGV4ZWMpCiAgICAgLy8gQ2F0ZWdvcnkgbmFtZXMgYXJlIGFsd2F5cyBBU0NJSSwgc28gdXNlIGNo
YXJbXS4KICAgICB3aGlsZSAoY29uc3QgY2hhciogcmVzdWx0ID0gdWVudW1fbmV4dChrZXl3b3Jk
cy5nZXQoKSwgJnJlc3VsdExlbmd0aCwgJnN0YXR1cykpIHsKICAgICAgICAgQVNTRVJUKFVfU1VD
Q0VTUyhzdGF0dXMpKTsKLSAgICAgICAgY2F0ZWdvcmllcy0+cHVzaCgmZXhlYywganNOb250cml2
aWFsU3RyaW5nKCZleGVjLCBTdHJpbmcocmVzdWx0LCByZXN1bHRMZW5ndGgpKSk7CisgICAgICAg
IGNhdGVnb3JpZXMtPnB1dERpcmVjdEluZGV4KCZleGVjLCBpbmRleCsrLCBqc05vbnRyaXZpYWxT
dHJpbmcoJmV4ZWMsIFN0cmluZyhyZXN1bHQsIHJlc3VsdExlbmd0aCkpKTsKICAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKICAgICB9CiAgICAgb3B0aW9ucy0+cHV0RGly
ZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgInBsdXJhbENhdGVnb3JpZXMiKSwg
Y2F0ZWdvcmllcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9J
bnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNGE5ZTc2OTcxZTAzZjgx
ZmFjOGNjZDZjMGY2NmRiNTE5MGZmYzEyZC4uOWU1MGE5YmFkY2M3MWMwM2VjMGQwZWEwMTdiN2Ri
MzQ0M2I2YmFkNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9yLmNwcApAQCAtODAsNyArODAsNyBAQCB2
b2lkIEludGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIElu
dGxQbHVyYWxSdWxlc1Byb3RvdHlwZQogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBBU0NJ
SUxpdGVyYWwoIlBsdXJhbFJ1bGVzIikpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIHBsdXJhbFJ1bGVzUHJvdG90eXBlLCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0
ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFByb3Bl
cnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlKTsKLSAgICBwbHVyYWxSdWxlc1Byb3RvdHlwZS0+
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVj
dG9yLCB0aGlzLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udERlbGV0ZSk7CisgICAgcGx1cmFsUnVsZXNQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhv
dXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgdGhpcywgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogICAgIG1f
cGx1cmFsUnVsZXNTdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBwbHVyYWxSdWxlc1N0cnVjdHVyZSk7
CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA3NDliYWM4MzE3NjU5YWZjYzRmYzM5ZmFlMjcxNmQyN2VhZDNlNjI5Li5i
NjVjODM1MWRiNjRjODVjNmFiMDgwOGE2NWMxMGQxN2Y1YThjOWRiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMTgtMDUtMTEgIEFuZHkgVmFuV2Fnb25lciAgPGFuZHlAdmFud2Fnb25lci5mYW1p
bHk+CisKKyAgICAgICAgW0lOVExdIEltcHJvdmUgc3BlYyAmIHRlc3QyNjIgY29tcGxpYW5jZSBm
b3IgSW50bCBBUElzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODU1NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVcGRhdGUgSW50bCB0ZXN0cyBmb3IgcHJvdG90eXBlIGNoYW5nZXMuCisKKyAgICAgICAg
KiBqcy9pbnRsLWNvbGxhdG9yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBqcy9pbnRsLWRhdGV0
aW1lZm9ybWF0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBqcy9pbnRsLW51bWJlcmZvcm1hdC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL2ludGwtY29sbGF0b3IuanM6
CisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL2ludGwtZGF0ZXRpbWVmb3JtYXQuanM6CisgICAg
ICAgICoganMvc2NyaXB0LXRlc3RzL2ludGwtbnVtYmVyZm9ybWF0LmpzOgorCiAyMDE4LTA1LTEx
ICBOYW4gV2FuZyAgPG5fd2FuZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IEluIHJvbGU9ZGlh
bG9nIGVsZW1lbnRzIHdpdGggYXJpYS1tb2RhbD10cnVlIFZvaWNlT3ZlciBpT1MvbWFjT1MgY2Fu
J3QgbWFudWFsbHkgZm9jdXMgb3IgcmVhZCBkaWFsb2cgcGFyYWdyYXBoIGRlc2NyaXB0aW9uIHRl
eHQgaW5zaWRlIHRoZSBtb2RhbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2ludGwtY29s
bGF0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvaW50bC1jb2xsYXRvci1leHBlY3Rl
ZC50eHQKaW5kZXggNjM3NDM1MjZhZWZiYTQ4NDc5YjExYzExMTFhYzQ1MWQ4MmRiZTk0OS4uYzQ4
M2RhZDEyMGE3ZDNmMThhNGViYmFhZWZlYzU4NmE0MmM2MGQxNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvanMvaW50bC1jb2xsYXRvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMv
aW50bC1jb2xsYXRvci1leHBlY3RlZC50eHQKQEAgLTEzMCw5ICsxMzAsMTMgQEAgUEFTUyBJbnRs
LkNvbGxhdG9yLnN1cHBvcnRlZExvY2FsZXNPZigneC0xMjM0NS0xMjM0NS1lbi1VUycpIGRpZCBu
b3QgdGhyb3cgZXhjZXAKIFBBU1MgSW50bC5Db2xsYXRvci5zdXBwb3J0ZWRMb2NhbGVzT2YoJ3gt
ZW4tVVMtMTIzNDUtMTIzNDUnKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBBU1MgSW50bC5D
b2xsYXRvci5zdXBwb3J0ZWRMb2NhbGVzT2YoJ3gtZW4tdS1mb28nKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KIFBBU1MgSW50bC5Db2xsYXRvci5zdXBwb3J0ZWRMb2NhbGVzT2YoJ3gtZW4tdS1m
b28tdS1iYXInKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgSW50bC5Db2xsYXRvci5w
cm90b3R5cGUuY29uc3RydWN0b3IgaXMgT2JqZWN0CiBQQVNTIE9iamVjdC5nZXRQcm90b3R5cGVP
ZihJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSkgaXMgT2JqZWN0LnByb3RvdHlwZQorUEFTUyBJbnRs
LkNvbGxhdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyBJbnRsLkNvbGxhdG9yCitQQVNTIElu
dGwuQ29sbGF0b3IucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10gaXMgJ09iamVjdCcKIFBB
U1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKEludGwuQ29sbGF0b3IucHJvdG90eXBl
KSBpcyAnW29iamVjdCBPYmplY3RdJworUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKEludGwuQ29sbGF0b3IucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcpLndyaXRhYmxl
IGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5Db2xs
YXRvci5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZykuZW51bWVyYWJsZSBpcyBmYWxzZQor
UEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuQ29sbGF0b3IucHJvdG90
eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIGRlZmF1
bHRDb2xsYXRvci5jb21wYXJlIGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5Db2xsYXRvci5wcm90b3R5cGUsICdjb21w
YXJlJykuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoSW50bC5Db2xsYXRvci5wcm90b3R5cGUsICdjb21wYXJlJykuc2V0
IGlzIHVuZGVmaW5lZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvaW50bC1kYXRldGltZWZv
cm1hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9pbnRsLWRhdGV0aW1lZm9ybWF0LWV4
cGVjdGVkLnR4dAppbmRleCA5YWZhMTFkMjhmYzdjZTgxNTNjMWE2YTRmNWJkMGJjODdkZTBkMTY0
Li43Yzg1N2NjZThmM2E5ZmQ0ZjA2NzZlNzkyNWFmZTU5OGY3MDBkOWFhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9qcy9pbnRsLWRhdGV0aW1lZm9ybWF0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9qcy9pbnRsLWRhdGV0aW1lZm9ybWF0LWV4cGVjdGVkLnR4dApAQCAtNjIsOSArNjIs
MTMgQEAgUEFTUyBJbnRsLkRhdGVUaW1lRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZigneC0xMjM0
NS0xMjM0NS1lbi1VUycpIGRpZCBub3QgdGhyb3cKIFBBU1MgSW50bC5EYXRlVGltZUZvcm1hdC5z
dXBwb3J0ZWRMb2NhbGVzT2YoJ3gtZW4tVVMtMTIzNDUtMTIzNDUnKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KIFBBU1MgSW50bC5EYXRlVGltZUZvcm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YoJ3gt
ZW4tdS1mb28nKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBBU1MgSW50bC5EYXRlVGltZUZv
cm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YoJ3gtZW4tdS1mb28tdS1iYXInKSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KLVBBU1MgSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0
b3IgaXMgT2JqZWN0CiBQQVNTIE9iamVjdC5nZXRQcm90b3R5cGVPZihJbnRsLkRhdGVUaW1lRm9y
bWF0LnByb3RvdHlwZSkgaXMgT2JqZWN0LnByb3RvdHlwZQorUEFTUyBJbnRsLkRhdGVUaW1lRm9y
bWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyBJbnRsLkRhdGVUaW1lRm9ybWF0CitQQVNTIElu
dGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10gaXMgJ09iamVj
dCcKIFBBU1MgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKEludGwuRGF0ZVRpbWVGb3Jt
YXQucHJvdG90eXBlKSBpcyAnW29iamVjdCBPYmplY3RdJworUEFTUyBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLCBTeW1ib2wudG9T
dHJpbmdUYWcpLndyaXRhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1Rh
ZykuZW51bWVyYWJsZSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcpLmNv
bmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIGRlZmF1bHREVEZvcm1hdC5mb3JtYXQgaXMgYW4gaW5z
dGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJ
bnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZSwgJ2Zvcm1hdCcpLmdldCBpcyBhbiBpbnN0YW5j
ZSBvZiBGdW5jdGlvbgogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwu
RGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLCAnZm9ybWF0Jykuc2V0IGlzIHVuZGVmaW5lZApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvaW50bC1udW1iZXJmb3JtYXQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvanMvaW50bC1udW1iZXJmb3JtYXQtZXhwZWN0ZWQudHh0CmluZGV4IGNhMzU4
N2Q0MWE3Mzg5YzMzOTc5NTM2MGZhN2MzYTcwNDVjNjczNjQuLjU0NDYwZTgzNjQ2ZjAwMzJkNTc4
YzRmYjdlYTM3Nzc2ZDhkM2Y2MmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2ludGwtbnVt
YmVyZm9ybWF0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9qcy9pbnRsLW51bWJlcmZv
cm1hdC1leHBlY3RlZC50eHQKQEAgLTEzMCw5ICsxMzAsMTMgQEAgUEFTUyBJbnRsLk51bWJlckZv
cm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YoJ3gtMTIzNDUtMTIzNDUtZW4tVVMnKSBkaWQgbm90IHRo
cm93IGUKIFBBU1MgSW50bC5OdW1iZXJGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mKCd4LWVuLVVT
LTEyMzQ1LTEyMzQ1JykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCiBQQVNTIEludGwuTnVtYmVy
Rm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZigneC1lbi11LWZvbycpIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgogUEFTUyBJbnRsLk51bWJlckZvcm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YoJ3gtZW4t
dS1mb28tdS1iYXInKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgSW50bC5OdW1iZXJG
b3JtYXQucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIE9iamVjdAogUEFTUyBPYmplY3QuZ2V0UHJv
dG90eXBlT2YoSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlKSBpcyBPYmplY3QucHJvdG90eXBl
CitQQVNTIEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyBJbnRsLk51
bWJlckZvcm1hdAorUEFTUyBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGVbU3ltYm9sLnRvU3Ry
aW5nVGFnXSBpcyAnT2JqZWN0JwogUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
SW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlKSBpcyAnW29iamVjdCBPYmplY3RdJworUEFTUyBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlw
ZSwgU3ltYm9sLnRvU3RyaW5nVGFnKS53cml0YWJsZSBpcyBmYWxzZQorUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgU3ltYm9s
LnRvU3RyaW5nVGFnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlLCBTeW1ib2wudG9TdHJp
bmdUYWcpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCiBQQVNTIGRlZmF1bHRORm9ybWF0LmZvcm1hdCBp
cyBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbgogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgJ2Zvcm1hdCcpLmdldCBpcyBhbiBp
bnN0YW5jZSBvZiBGdW5jdGlvbgogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgJ2Zvcm1hdCcpLnNldCBpcyB1bmRlZmluZWQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9pbnRsLWNvbGxhdG9yLmpz
IGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2ludGwtY29sbGF0b3IuanMKaW5kZXggMzc4
MmIyZWY4M2FkNTAzZTQ2YWVjY2Y2Njg0ZjZjODlkZThhOTU1ZS4uY2IzY2NmMzZhNmNjZmY1NzQ0
ZmM0NDY4ZTZmOWE1Y2FhN2NkNDBhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0
LXRlc3RzL2ludGwtY29sbGF0b3IuanMKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3Rz
L2ludGwtY29sbGF0b3IuanMKQEAgLTIxNSwxMCArMjE1LDIxIEBAIGZvciAodmFyIHZhbGlkTGFu
Z3VhZ2VUYWcgb2YgdmFsaWRMYW5ndWFnZVRhZ3MpIHsKIAogLy8gMTAuMyBQcm9wZXJ0aWVzIG9m
IHRoZSBJbnRsLkNvbGxhdG9yIFByb3RvdHlwZSBPYmplY3QKIAotLy8gaXMgYSBwbGFpbiBvYmpl
Y3QKLXNob3VsZEJlKCJJbnRsLkNvbGxhdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciIsICJPYmpl
Y3QiKTsKKy8vIFRoZSBJbnRsLkNvbGxhdG9yIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGFu
IG9yZGluYXJ5IG9iamVjdC4KIHNob3VsZEJlKCJPYmplY3QuZ2V0UHJvdG90eXBlT2YoSW50bC5D
b2xsYXRvci5wcm90b3R5cGUpIiwgIk9iamVjdC5wcm90b3R5cGUiKTsKKworLy8gMTAuMy4xIElu
dGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yCisvLyBUaGUgaW5pdGlhbCB2YWx1ZSBv
ZiBJbnRsLkNvbGxhdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyB0aGUgaW50cmluc2ljIG9i
amVjdCAlQ29sbGF0b3IlLgorc2hvdWxkQmUoIkludGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbnN0
cnVjdG9yIiwgIkludGwuQ29sbGF0b3IiKTsKKworLy8gMTAuMy4yIEludGwuQ29sbGF0b3IucHJv
dG90eXBlIFsgQEB0b1N0cmluZ1RhZyBdCisvLyBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgQEB0
b1N0cmluZ1RhZyBwcm9wZXJ0eSBpcyB0aGUgc3RyaW5nIHZhbHVlICJPYmplY3QiLgorc2hvdWxk
QmUoIkludGwuQ29sbGF0b3IucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10iLCAiJ09iamVj
dCciKTsKIHNob3VsZEJlKCJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoSW50bC5Db2xs
YXRvci5wcm90b3R5cGUpIiwgIidbb2JqZWN0IE9iamVjdF0nIik7CisvLyBUaGlzIHByb3BlcnR5
IGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1d
OiBmYWxzZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9Lgorc2hvdWxkQmVGYWxzZSgiT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSwgU3ltYm9s
LnRvU3RyaW5nVGFnKS53cml0YWJsZSIpOworc2hvdWxkQmVGYWxzZSgiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5n
VGFnKS5lbnVtZXJhYmxlIik7CitzaG91bGRCZVRydWUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoSW50bC5Db2xsYXRvci5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZykuY29u
ZmlndXJhYmxlIik7CiAKIC8vIDEwLjMuMyBJbnRsLkNvbGxhdG9yLnByb3RvdHlwZS5jb21wYXJl
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9pbnRsLWRhdGV0aW1l
Zm9ybWF0LmpzIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2ludGwtZGF0ZXRpbWVmb3Jt
YXQuanMKaW5kZXggY2JlZWM2Y2FjZmFhZDM3OTgwYjI4MzYwOTY1NWRjNDIwNWYxMGNiNy4uYTAw
Njk5M2FiNzEwODFhZDQxMzgwN2E2NWI5OWNmNTNjYmIyZjE0MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvanMvc2NyaXB0LXRlc3RzL2ludGwtZGF0ZXRpbWVmb3JtYXQuanMKKysrIGIvTGF5b3V0
VGVzdHMvanMvc2NyaXB0LXRlc3RzL2ludGwtZGF0ZXRpbWVmb3JtYXQuanMKQEAgLTk5LDE0ICs5
OSwyNSBAQCBmb3IgKHZhciB2YWxpZExhbmd1YWdlVGFnIG9mIHZhbGlkTGFuZ3VhZ2VUYWdzKSB7
CiAgICAgc2hvdWxkTm90VGhyb3coIkludGwuRGF0ZVRpbWVGb3JtYXQuc3VwcG9ydGVkTG9jYWxl
c09mKCciICsgdmFsaWRMYW5ndWFnZVRhZyArICInKSIpOwogfQogCi0vLyAxMi4zIFByb3BlcnRp
ZXMgb2YgdGhlIEludGwuRGF0ZVRpbWVGb3JtYXQgUHJvdG90eXBlIE9iamVjdAorLy8gMTIuNCBQ
cm9wZXJ0aWVzIG9mIHRoZSBJbnRsLkRhdGVUaW1lRm9ybWF0IFByb3RvdHlwZSBPYmplY3QKIAot
Ly8gaXMgYSBwbGFpbiBvYmplY3QKLXNob3VsZEJlKCJJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3Rv
dHlwZS5jb25zdHJ1Y3RvciIsICJPYmplY3QiKTsKKy8vIFRoZSBJbnRsLkRhdGVUaW1lRm9ybWF0
IHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGFuIG9yZGluYXJ5IG9iamVjdC4KIHNob3VsZEJl
KCJPYmplY3QuZ2V0UHJvdG90eXBlT2YoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUpIiwg
Ik9iamVjdC5wcm90b3R5cGUiKTsKKworLy8gMTIuNC4xIEludGwuRGF0ZVRpbWVGb3JtYXQucHJv
dG90eXBlLmNvbnN0cnVjdG9yCisvLyBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBJbnRsLkRhdGVUaW1l
Rm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyB0aGUgaW50cmluc2ljIG9iamVjdCAlRGF0
ZVRpbWVGb3JtYXQlLgorc2hvdWxkQmUoIkludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmNv
bnN0cnVjdG9yIiwgIkludGwuRGF0ZVRpbWVGb3JtYXQiKTsKKworLy8gMTIuNC4yIEludGwuRGF0
ZVRpbWVGb3JtYXQucHJvdG90eXBlIFsgQEB0b1N0cmluZ1RhZyBdCisvLyBUaGUgaW5pdGlhbCB2
YWx1ZSBvZiB0aGUgQEB0b1N0cmluZ1RhZyBwcm9wZXJ0eSBpcyB0aGUgc3RyaW5nIHZhbHVlICJP
YmplY3QiLgorc2hvdWxkQmUoIkludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlW1N5bWJvbC50
b1N0cmluZ1RhZ10iLCAiJ09iamVjdCciKTsKIHNob3VsZEJlKCJPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUpIiwgIidbb2JqZWN0IE9i
amVjdF0nIik7CisvLyBUaGlzIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFi
bGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwgW1tDb25maWd1cmFibGVdXTogdHJ1
ZSB9Lgorc2hvdWxkQmVGYWxzZSgiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJbnRs
LkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnKS53cml0YWJsZSIp
Oworc2hvdWxkQmVGYWxzZSgiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJbnRsLkRh
dGVUaW1lRm9ybWF0LnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnKS5lbnVtZXJhYmxlIik7
CitzaG91bGRCZVRydWUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5EYXRl
VGltZUZvcm1hdC5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZykuY29uZmlndXJhYmxlIik7
CiAKLS8vIDEyLjMuMyBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5mb3JtYXQKKy8vIDEy
LjQuMyBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5mb3JtYXQKIAogLy8gVGhpcyBuYW1l
ZCBhY2Nlc3NvciBwcm9wZXJ0eSByZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBmb3JtYXRzIGEgZGF0
ZSBhY2NvcmRpbmcgdG8gdGhlIGVmZmVjdGl2ZSBsb2NhbGUgYW5kIHRoZSBmb3JtYXR0aW5nIG9w
dGlvbnMgb2YgdGhpcyBEYXRlVGltZUZvcm1hdCBvYmplY3QuCiB2YXIgZGVmYXVsdERURm9ybWF0
ID0gSW50bC5EYXRlVGltZUZvcm1hdCgpOwpAQCAtNjAxLDQgKzYxMiwzIEBAIHNob3VsZEJlKGBK
U09OLnN0cmluZ2lmeSgKICAgeyJ0eXBlIjoibGl0ZXJhbCIsInZhbHVlIjoiICJ9LAogICB7InR5
cGUiOiJ0aW1lWm9uZU5hbWUiLCJ2YWx1ZSI6IlBhY2lmaWMgU3RhbmRhcmQgVGltZSJ9CiBdKWAp
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9pbnRsLW51bWJlcmZv
cm1hdC5qcyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9pbnRsLW51bWJlcmZvcm1hdC5q
cwppbmRleCBkZDE1ZTczMjI2MGRiMDU4NjM3ZDY0YmZkOTAzZjQ1YjM3MzMxYTVkLi5hYTJhZjlm
ZjE2OGU1MDczZWM3ODkyMzk5OGZlNmY3NDUzMjAyYzk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9qcy9zY3JpcHQtdGVzdHMvaW50bC1udW1iZXJmb3JtYXQuanMKKysrIGIvTGF5b3V0VGVzdHMv
anMvc2NyaXB0LXRlc3RzL2ludGwtbnVtYmVyZm9ybWF0LmpzCkBAIC0yMTUsMTQgKzIxNSwyNSBA
QCBmb3IgKHZhciB2YWxpZExhbmd1YWdlVGFnIG9mIHZhbGlkTGFuZ3VhZ2VUYWdzKSB7CiAgICAg
c2hvdWxkTm90VGhyb3coIkludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZignIiAr
IHZhbGlkTGFuZ3VhZ2VUYWcgKyAiJykiKTsKIH0KIAotLy8gMTEuMyBQcm9wZXJ0aWVzIG9mIHRo
ZSBJbnRsLk51bWJlckZvcm1hdCBQcm90b3R5cGUgT2JqZWN0CisvLyAxMS40IFByb3BlcnRpZXMg
b2YgdGhlIEludGwuTnVtYmVyRm9ybWF0IFByb3RvdHlwZSBPYmplY3QKIAotLy8gaXMgYSBwbGFp
biBvYmplY3QKLXNob3VsZEJlKCJJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0
b3IiLCAiT2JqZWN0Iik7CisvLyBUaGUgSW50bC5OdW1iZXJGb3JtYXQgcHJvdG90eXBlIG9iamVj
dCBpcyBpdHNlbGYgYW4gb3JkaW5hcnkgb2JqZWN0Lgogc2hvdWxkQmUoIk9iamVjdC5nZXRQcm90
b3R5cGVPZihJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUpIiwgIk9iamVjdC5wcm90b3R5cGUi
KTsKKworLy8gMTEuNC4xIEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcgor
Ly8gVGhlIGluaXRpYWwgdmFsdWUgb2YgSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlLmNvbnN0
cnVjdG9yIGlzIHRoZSBpbnRyaW5zaWMgb2JqZWN0ICVOdW1iZXJGb3JtYXQlLgorc2hvdWxkQmUo
IkludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciIsICJJbnRsLk51bWJlckZv
cm1hdCIpOworCisvLyAxMS40LjIgSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlIFsgQEB0b1N0
cmluZ1RhZyBdCisvLyBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgQEB0b1N0cmluZ1RhZyBwcm9w
ZXJ0eSBpcyB0aGUgc3RyaW5nIHZhbHVlICJPYmplY3QiLgorc2hvdWxkQmUoIkludGwuTnVtYmVy
Rm9ybWF0LnByb3RvdHlwZVtTeW1ib2wudG9TdHJpbmdUYWddIiwgIidPYmplY3QnIik7CiBzaG91
bGRCZSgiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKEludGwuTnVtYmVyRm9ybWF0LnBy
b3RvdHlwZSkiLCAiJ1tvYmplY3QgT2JqZWN0XSciKTsKKy8vIFRoaXMgcHJvcGVydHkgaGFzIHRo
ZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNl
LCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCitzaG91bGRCZUZhbHNlKCJPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgU3ltYm9sLnRv
U3RyaW5nVGFnKS53cml0YWJsZSIpOworc2hvdWxkQmVGYWxzZSgiT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmlu
Z1RhZykuZW51bWVyYWJsZSIpOworc2hvdWxkQmVUcnVlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFn
KS5jb25maWd1cmFibGUiKTsKIAotLy8gMTEuMy4zIEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlw
ZS5mb3JtYXQKKy8vIDExLjQuMyBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAK
IC8vIFRoaXMgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgcmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQg
Zm9ybWF0cyBhIG51bWJlciBhY2NvcmRpbmcgdG8gdGhlIGVmZmVjdGl2ZSBsb2NhbGUgYW5kIHRo
ZSBmb3JtYXR0aW5nIG9wdGlvbnMgb2YgdGhpcyBOdW1iZXJGb3JtYXQgb2JqZWN0LgogdmFyIGRl
ZmF1bHRORm9ybWF0ID0gSW50bC5OdW1iZXJGb3JtYXQoKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
Q2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDA3ZWY2YTI5MTJiYmRlMmJmYjBl
ZTg1NDNlNjUyMDkzYzg1ODU3Ni4uOWZhMmVjYTk4ZjNiMTE0ODRjNDQwODcyMjgxNGY1NDA3NDMy
M2YxNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOC0wNS0xMSAgQW5keSBWYW5XYWdvbmVyICA8YW5keUB2
YW53YWdvbmVyLmZhbWlseT4KKworICAgICAgICBbSU5UTF0gSW1wcm92ZSBzcGVjICYgdGVzdDI2
MiBjb21wbGlhbmNlIGZvciBJbnRsIEFQSXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4NTU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbW92ZSBpbnRsNDAyIGZhaWx1cmVzIHRoYXQgaGF2ZSBiZWVu
IGZpeGVkLgorCisgICAgICAgICogdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbDoKKwogMjAxOC0w
NS0xMSAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBbREZH
XSBDb21waWxlciB1c2VzIGluY29ycmVjdCBvdXRwdXQgcmVnaXN0ZXIgZm9yIE51bWJlcklzSW50
ZWdlciBvcGVyYXRpb24KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMu
eWFtbCBiL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAppbmRleCA5OTc4MjE5OTZj
NzAyMGEzYjZjYWQ5MTE3MzBjY2IxNmRiOWU1YTJlLi5mZjNiZDM4NjI2MTRhMjFhZWQ1ZTlmNzc5
MGEzOWNlOGJmMDg2YWM2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25z
LnlhbWwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCkBAIC0xODUzLDU0
ICsxODUzLDI3IEBAIHRlc3QvYnVpbHQtaW5zL3BhcnNlSW50L1MxNS4xLjIuMl9BMl9UMTBfVTE4
MEUuanM6CiB0ZXN0L2hhcm5lc3MvYXNzZXJ0LXRocm93cy1lYXJseS1yZWZlcmVuY2VlcnJvci5q
czoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRnVuY3Rpb246IDEgPSAxOyBFeHBlY3RlZCBh
IFJlZmVyZW5jZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24g
YXQgYWxsJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRnVuY3Rpb246IDEgPSAxOyBF
eHBlY3RlZCBhIFJlZmVyZW5jZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdh
cyB0aHJvd24gYXQgYWxsJwotdGVzdC9pbnRsNDAyL0NvbGxhdG9yL2RlZmF1bHQtb3B0aW9ucy1v
YmplY3QtcHJvdG90eXBlLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBT
YW1lVmFsdWUow4LCq2Jhc2XDgsK7LCDDgsKrdmFyaWFudMOCwrspIHRvIGJlIHRydWUnCi0gIHN0
cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUow4LCq2Jhc2XDgsK7
LCDDgsKrdmFyaWFudMOCwrspIHRvIGJlIHRydWUnCiB0ZXN0L2ludGw0MDIvQ29sbGF0b3IvbGVu
Z3RoLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBvYmpbbGVuZ3RoXSB0
byBoYXZlIGNvbmZpZ3VyYWJsZTp0cnVlLicKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIG9ialtsZW5ndGhdIHRvIGhhdmUgY29uZmlndXJhYmxlOnRydWUuJwogdGVzdC9p
bnRsNDAyL0NvbGxhdG9yL3Byb3RvdHlwZS9jb21wYXJlL2NvbXBhcmUtZnVuY3Rpb24tbmFtZS5q
czoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqt0cnVl
w4LCuywgw4LCq2ZhbHNlw4LCuykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYy
RXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKrdHJ1ZcOCwrssIMOCwqtmYWxzZcOCwrspIHRv
IGJlIHRydWUnCi10ZXN0L2ludGw0MDIvQ29sbGF0b3IvcHJvdG90eXBlL2NvbnN0cnVjdG9yL3By
b3AtZGVzYy5qczoKLSAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBu
YW1lKS5lbnVtZXJhYmxlJykiCi0gIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihvYmosIG5hbWUpLmVudW1lcmFibGUnKSIKLXRlc3QvaW50bDQwMi9Db2xsYXRvci9wcm90
b3R5cGUvY29uc3RydWN0b3IvdmFsdWUuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IElu
dGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIG5vdCB0aGUgc2FtZSBhcyBJbnRs
LkNvbGxhdG9yIEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKrZnVuY3Rpb24gT2JqZWN0KCkgeycKLSAg
c3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEludGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbnN0
cnVjdG9yIGlzIG5vdCB0aGUgc2FtZSBhcyBJbnRsLkNvbGxhdG9yIEV4cGVjdGVkIFNhbWVWYWx1
ZSjDgsKrZnVuY3Rpb24gT2JqZWN0KCkgeycKIHRlc3QvaW50bDQwMi9Db2xsYXRvci91bmljb2Rl
LWV4dC1zZXEtaW4tcHJpdmF0ZS10YWcuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4
cGVjdGVkIFNhbWVWYWx1ZSjDgsKrcGhvbmVia8OCwrssIMOCwqtkZWZhdWx0w4LCuykgdG8gYmUg
dHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjD
gsKrcGhvbmVia8OCwrssIMOCwqtkZWZhdWx0w4LCuykgdG8gYmUgdHJ1ZScKIHRlc3QvaW50bDQw
Mi9EYXRlVGltZUZvcm1hdC9sZW5ndGguanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4
cGVjdGVkIG9ialtsZW5ndGhdIHRvIGhhdmUgY29uZmlndXJhYmxlOnRydWUuJwogICBzdHJpY3Qg
bW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgb2JqW2xlbmd0aF0gdG8gaGF2ZSBjb25maWd1
cmFibGU6dHJ1ZS4nCi10ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2NvbnN0
cnVjdG9yL3Byb3AtZGVzYy5qczoKLSAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3Iob2JqLCBuYW1lKS5lbnVtZXJhYmxlJykiCi0gIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihvYmosIG5hbWUpLmVudW1lcmFibGUnKSIKLXRlc3QvaW50bDQwMi9EYXRl
VGltZUZvcm1hdC9wcm90b3R5cGUvY29uc3RydWN0b3IvdmFsdWUuanM6Ci0gIGRlZmF1bHQ6ICdU
ZXN0MjYyRXJyb3I6IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlz
IG5vdCB0aGUgc2FtZSBhcyBJbnRsLkRhdGVUaW1lRm9ybWF0IEV4cGVjdGVkIFNhbWVWYWx1ZSjD
gsKrZnVuY3Rpb24gT2JqZWN0KCkgeycKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IElu
dGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIG5vdCB0aGUgc2FtZSBh
cyBJbnRsLkRhdGVUaW1lRm9ybWF0IEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKrZnVuY3Rpb24gT2Jq
ZWN0KCkgeycKIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L2Zv
cm1hdC1mdW5jdGlvbi1uYW1lLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3Rl
ZCBTYW1lVmFsdWUow4LCq3RydWXDgsK7LCDDgsKrZmFsc2XDgsK7KSB0byBiZSB0cnVlJwogICBz
dHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqt0cnVlw4LC
uywgw4LCq2ZhbHNlw4LCuykgdG8gYmUgdHJ1ZScKIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1h
dC9wcm90b3R5cGUvZm9ybWF0L3Byb2xlcHRpYy1ncmVnb3JpYW4tY2FsZW5kYXIuanM6CiAgIGRl
ZmF1bHQ6ICJUZXN0MjYyRXJyb3I6IEludGVybmFsIGVycm9yOiBEaWRuJ3QgZmluZCBHcmVnb3Jp
YW4gY2FsZW5kYXIgRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqtncmVnb3JpYW7DgsK7LCDDgsKrZ3Jl
Z29yecOCwrspIHRvIGJlIHRydWUiCiAgIHN0cmljdCBtb2RlOiAiVGVzdDI2MkVycm9yOiBJbnRl
cm5hbCBlcnJvcjogRGlkbid0IGZpbmQgR3JlZ29yaWFuIGNhbGVuZGFyIEV4cGVjdGVkIFNhbWVW
YWx1ZSjDgsKrZ3JlZ29yaWFuw4LCuywgw4LCq2dyZWdvcnnDgsK7KSB0byBiZSB0cnVlIgotdGVz
dC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQvdGltZS1jbGlwLW5lYXIt
dGltZS1ib3VuZGFyaWVzLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBh
IFJhbmdlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBh
bGwnCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFJhbmdlRXJyb3Ig
dG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCi10ZXN0L2lu
dGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC90aW1lLWNsaXAtdG8taW50ZWdl
ci5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogZm9ybWF0KC0wLjkpIEV4cGVjdGVkIFNh
bWVWYWx1ZSjDgsKrODo1OTo1OSBQTcOCwrssIMOCwqs5OjAwOjAwIFBNw4LCuykgdG8gYmUgdHJ1
ZScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IGZvcm1hdCgtMC45KSBFeHBlY3RlZCBT
YW1lVmFsdWUow4LCqzg6NTk6NTkgUE3DgsK7LCDDgsKrOTowMDowMCBQTcOCwrspIHRvIGJlIHRy
dWUnCiB0ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMv
bGVuZ3RoLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUo
w4LCqzDDgsK7LCDDgsKrMcOCwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2
MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUow4LCqzDDgsK7LCDDgsKrMcOCwrspIHRvIGJlIHRy
dWUnCi10ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMv
dGltZS1jbGlwLW5lYXItdGltZS1ib3VuZGFyaWVzLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBhIFJhbmdlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24g
d2FzIHRocm93biBhdCBhbGwnCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3Rl
ZCBhIFJhbmdlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBh
dCBhbGwnCi10ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFy
dHMvdGltZS1jbGlwLXRvLWludGVnZXIuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IGZv
cm1hdFRvUGFydHMoLTAuOSkgRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqs4OjU5OjU5IFBNw4LCuywg
w4LCqzk6MDA6MDAgUE3DgsK7KSB0byBiZSB0cnVlJwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJF
cnJvcjogZm9ybWF0VG9QYXJ0cygtMC45KSBFeHBlY3RlZCBTYW1lVmFsdWUow4LCqzg6NTk6NTkg
UE3DgsK7LCDDgsKrOTowMDowMCBQTcOCwrspIHRvIGJlIHRydWUnCiB0ZXN0L2ludGw0MDIvRGF0
ZVRpbWVGb3JtYXQvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9iYXNpYy5qczoKICAgZGVmYXVs
dDogJ1Rlc3QyNjJFcnJvcjogSW52YWxpZCBjYWxlbmRhcjogZ3JlZ29yaWFuIEV4cGVjdGVkIFNh
bWVWYWx1ZSjDgsKrLTHDgsK7LCDDgsKrLTHDgsK7KSB0byBiZSBmYWxzZScKICAgc3RyaWN0IG1v
ZGU6ICdUZXN0MjYyRXJyb3I6IEludmFsaWQgY2FsZW5kYXI6IGdyZWdvcmlhbiBFeHBlY3RlZCBT
YW1lVmFsdWUow4LCqy0xw4LCuywgw4LCqy0xw4LCuykgdG8gYmUgZmFsc2UnCkBAIC0xOTg1LDI0
ICsxOTU4LDEyIEBAIHRlc3QvaW50bDQwMi9Mb2NhbGUvcHJvdG90eXBlL3Byb3AtZGVzYy5qczoK
IHRlc3QvaW50bDQwMi9Mb2NhbGUvcHJvdG90eXBlL3RvU3RyaW5nVGFnLmpzOgogICBkZWZhdWx0
OiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnSW50
bC5Mb2NhbGUucHJvdG90eXBlJykiCiAgIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1bmRlZmlu
ZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnSW50bC5Mb2NhbGUucHJvdG90eXBlJyki
Ci10ZXN0L2ludGw0MDIvTnVtYmVyL3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9kZWZhdWx0LW9w
dGlvbnMtb2JqZWN0LXByb3RvdHlwZS5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhw
ZWN0ZWQgU2FtZVZhbHVlKMOCwqsxLjLDgsK7LCDDgsKrMS4yM8OCwrspIHRvIGJlIHRydWUnCi0g
IHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUow4LCqzEuMsOC
wrssIMOCwqsxLjIzw4LCuykgdG8gYmUgdHJ1ZScKIHRlc3QvaW50bDQwMi9OdW1iZXIvcHJvdG90
eXBlL3RvTG9jYWxlU3RyaW5nL3JldHVybnMtc2FtZS1yZXN1bHRzLWFzLU51bWJlckZvcm1hdC5q
czoKICAgZGVmYXVsdDogJ0Vycm9yOiBGYWlsZWQgdG8gZm9ybWF0IGEgbnVtYmVyLicKICAgc3Ry
aWN0IG1vZGU6ICdFcnJvcjogRmFpbGVkIHRvIGZvcm1hdCBhIG51bWJlci4nCi10ZXN0L2ludGw0
MDIvTnVtYmVyRm9ybWF0L2RlZmF1bHQtb3B0aW9ucy1vYmplY3QtcHJvdG90eXBlLmpzOgotICBk
ZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUow4LCqzHDgsK7LCDDgsKr
M8OCwrspIHRvIGJlIHRydWUnCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3Rl
ZCBTYW1lVmFsdWUow4LCqzHDgsK7LCDDgsKrM8OCwrspIHRvIGJlIHRydWUnCiB0ZXN0L2ludGw0
MDIvTnVtYmVyRm9ybWF0L2xlbmd0aC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhw
ZWN0ZWQgb2JqW2xlbmd0aF0gdG8gaGF2ZSBjb25maWd1cmFibGU6dHJ1ZS4nCiAgIHN0cmljdCBt
b2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBvYmpbbGVuZ3RoXSB0byBoYXZlIGNvbmZpZ3Vy
YWJsZTp0cnVlLicKLXRlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2NvbnN0cnVj
dG9yL3Byb3AtZGVzYy5qczoKLSAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
b2JqLCBuYW1lKS5lbnVtZXJhYmxlJykiCi0gIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihvYmosIG5hbWUpLmVudW1lcmFibGUnKSIKLXRlc3QvaW50bDQwMi9OdW1iZXJG
b3JtYXQvcHJvdG90eXBlL2NvbnN0cnVjdG9yL3ZhbHVlLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2
MkVycm9yOiBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgbm90IHRo
ZSBzYW1lIGFzIEludGwuTnVtYmVyRm9ybWF0IEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKrZnVuY3Rp
b24gT2JqZWN0KCkgeycKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEludGwuTnVtYmVy
Rm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyBub3QgdGhlIHNhbWUgYXMgSW50bC5OdW1i
ZXJGb3JtYXQgRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqtmdW5jdGlvbiBPYmplY3QoKSB7JwogdGVz
dC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L2JvdW5kLXRvLW51bWJlcmZv
cm1hdC1pbnN0YW5jZS5qczoKICAgZGVmYXVsdDogJ0Vycm9yOiBGYWlsZWQgdG8gZm9ybWF0IGEg
bnVtYmVyLicKICAgc3RyaWN0IG1vZGU6ICdFcnJvcjogRmFpbGVkIHRvIGZvcm1hdCBhIG51bWJl
ci4nCkBAIC0yMDQyLDEyICsyMDAzLDYgQEAgdGVzdC9pbnRsNDAyL1BsdXJhbFJ1bGVzL2RlZmF1
bHQtb3B0aW9ucy1vYmplY3QtcHJvdG90eXBlLmpzOgogdGVzdC9pbnRsNDAyL1BsdXJhbFJ1bGVz
L2xlbmd0aC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgb2JqW2xlbmd0
aF0gdG8gaGF2ZSBjb25maWd1cmFibGU6dHJ1ZS4nCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBvYmpbbGVuZ3RoXSB0byBoYXZlIGNvbmZpZ3VyYWJsZTp0cnVlLicKLXRl
c3QvaW50bDQwMi9QbHVyYWxSdWxlcy9wcm90b3R5cGUvY29uc3RydWN0b3IvcHJvcC1kZXNjLmpz
OgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBvYmpbY29uc3RydWN0b3JdIHRv
IGhhdmUgY29uZmlndXJhYmxlOnRydWUuJwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjog
RXhwZWN0ZWQgb2JqW2NvbnN0cnVjdG9yXSB0byBoYXZlIGNvbmZpZ3VyYWJsZTp0cnVlLicKLXRl
c3QvaW50bDQwMi9TdHJpbmcvcHJvdG90eXBlL2xvY2FsZUNvbXBhcmUvZGVmYXVsdC1vcHRpb25z
LW9iamVjdC1wcm90b3R5cGUuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IFNhbWVWYWx1ZSjDgsKrMMOCwrssIMOCwqstMcOCwrspIHRvIGJlIHRydWUnCi0gIHN0cmljdCBt
b2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUow4LCqzDDgsK7LCDDgsKrLTHD
gsK7KSB0byBiZSB0cnVlJwogdGVzdC9pbnRsNDAyL1R5cGVkQXJyYXkvcHJvdG90eXBlL3RvTG9j
YWxlU3RyaW5nL2NhbGxzLXRvTG9jYWxlU3RyaW5nLW51bWJlci1lbGVtZW50cy5qczoKICAgZGVm
YXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqsww4LCuywgw4LCq8Og
wrnCkC7DoMK5wpDDoMK5wpDDoMK5wpDDgsK7KSB0byBiZSB0cnVlIChUZXN0aW5nIHdpdGggRmxv
YXQ2NEFycmF5LiknCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1l
VmFsdWUow4LCqzDDgsK7LCDDgsKrw6DCucKQLsOgwrnCkMOgwrnCkMOgwrnCkMOCwrspIHRvIGJl
IHRydWUgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKQEAgLTIwNTcsMTUgKzIwMTIsNiBA
QCB0ZXN0L2ludGw0MDIvZmFsbGJhY2stbG9jYWxlcy1hcmUtc3VwcG9ydGVkLmpzOgogdGVzdC9p
bnRsNDAyL2xhbmd1YWdlLXRhZ3MtY2Fub25pY2FsaXplZC5qczoKICAgZGVmYXVsdDogJ1Rlc3Qy
NjJFcnJvcjogRm9yIGRlLUREIGdvdCBkZS1ERDsgZXhwZWN0ZWQgZGUtREUuIChUZXN0aW5nIHdp
dGggQ29sbGF0b3IuKScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEZvciBkZS1ERCBn
b3QgZGUtREQ7IGV4cGVjdGVkIGRlLURFLiAoVGVzdGluZyB3aXRoIENvbGxhdG9yLiknCi10ZXN0
L2ludGw0MDIvc3VwcG9ydGVkTG9jYWxlc09mLXJldHVybmVkLWFycmF5LWVsZW1lbnRzLWFyZS1m
cm96ZW4uanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IFByb3BlcnR5IGxlbmd0aCBvZiBv
YmplY3QgcmV0dXJuZWQgYnkgU3VwcG9ydGVkTG9jYWxlcyBpcyB3cml0YWJsZS4gRXhwZWN0ZWQg
U2FtZVZhbHVlKMOCwqt0cnVlw4LCuywgw4LCq2ZhbHNlw4LCuykgdG8gYmUgdHJ1ZSAoVGVzdGlu
ZyB3aXRoIENvbGxhdG9yLiknCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBQcm9wZXJ0
eSBsZW5ndGggb2Ygb2JqZWN0IHJldHVybmVkIGJ5IFN1cHBvcnRlZExvY2FsZXMgaXMgd3JpdGFi
bGUuIEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKrdHJ1ZcOCwrssIMOCwqtmYWxzZcOCwrspIHRvIGJl
IHRydWUgKFRlc3Rpbmcgd2l0aCBDb2xsYXRvci4pJwotdGVzdC9pbnRsNDAyL3N1cHBvcnRlZExv
Y2FsZXNPZi10YWludC1BcnJheS0yLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBDbGll
bnQgY29kZSBjYW4gYWR2ZXJzZWx5IGFmZmVjdCBiZWhhdmlvcjogc2V0dGVyIGZvciAwLiAoVGVz
dGluZyB3aXRoIENvbGxhdG9yLiknCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBDbGll
bnQgY29kZSBjYW4gYWR2ZXJzZWx5IGFmZmVjdCBiZWhhdmlvcjogc2V0dGVyIGZvciAwLiAoVGVz
dGluZyB3aXRoIENvbGxhdG9yLiknCi10ZXN0L2ludGw0MDIvc3VwcG9ydGVkTG9jYWxlc09mLXRh
aW50LUFycmF5LmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBDbGllbnQgY29kZSBjYW4g
YWR2ZXJzZWx5IGFmZmVjdCBiZWhhdmlvcjogc2V0dGVyIGZvciAwLiAoVGVzdGluZyB3aXRoIENv
bGxhdG9yLiknCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBDbGllbnQgY29kZSBjYW4g
YWR2ZXJzZWx5IGFmZmVjdCBiZWhhdmlvcjogc2V0dGVyIGZvciAwLiAoVGVzdGluZyB3aXRoIENv
bGxhdG9yLiknCiB0ZXN0L2xhbmd1YWdlL2FyZ3VtZW50cy1vYmplY3QvbWFwcGVkL25vbmNvbmZp
Z3VyYWJsZS1ub25lbnVtZXJhYmxlLW5vbndyaXRhYmxlLWRlc2NyaXB0b3JzLXNldC1ieS1hcmd1
bWVudHMuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIG9ialswXSB0byBo
YXZlIGVudW1lcmFibGU6ZmFsc2UuJwogdGVzdC9sYW5ndWFnZS9hcmd1bWVudHMtb2JqZWN0L21h
cHBlZC9ub25jb25maWd1cmFibGUtbm9uZW51bWVyYWJsZS1ub253cml0YWJsZS1kZXNjcmlwdG9y
cy1zZXQtYnktcGFyYW0uanM6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340252</attachid>
            <date>2018-05-12 09:55:57 -0700</date>
            <delta_ts>2018-05-13 07:28:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185578-20180512105556.patch</filename>
            <type>text/plain</type>
            <size>57025</size>
            <attacher name="Andy VanWagoner">andy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
NDU1ZTE1ZGZmMjA4MzRmYTViMzAxZGJmZTczMDA5MmI3OWI4OGM0Li5iN2M4NWU2ZmU3MTdlNmY3
NWNjMjMyZDdkODllNTM5ZTllMzk5NGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MyBAQAorMjAxOC0wNS0xMSAgQW5keSBWYW5XYWdvbmVyICA8YW5keUB2YW53YWdvbmVy
LmZhbWlseT4KKworICAgICAgICBbSU5UTF0gSW1wcm92ZSBzcGVjICYgdGVzdDI2MiBjb21wbGlh
bmNlIGZvciBJbnRsIEFQSXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4NTU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFVzZSBwdXREaXJlY3RJbmRleCBvdmVyIHB1c2ggZm9yIGxpc3RzIHRvIGFycmF5
cy4KKyAgICAgICAgVXBkYXRlIGRlZmF1bHQgb3B0aW9ucyB0byBjb25zdHJ1Y3Qgd2l0aCBhIG51
bGwgcHJvdG90eXBlLgorICAgICAgICBEZWZpbmUgY29uc3RydWN0b3IgYW5kIHRvU3RyaW5nVGFn
IG9uIHByb3RvdHlwZXMuCisgICAgICAgIEFkZCBwcm9wZXIgdGltZSBjbGlwcGluZy4KKyAgICAg
ICAgUmVtb3ZlIHNvbWUgb3V0ZGF0ZWQgY29tbWVudCBzcGVjIHRleHQsIHVzZSB1cmwgaW5zdGVh
ZC4KKworICAgICAgICAqIHJ1bnRpbWUvSW50bENvbGxhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6
SW50bENvbGxhdG9yOjppbml0aWFsaXplQ29sbGF0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvSW50
bENvbGxhdG9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpJbnRsQ29sbGF0b3JDb25z
dHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvSW50bENvbGxhdG9y
UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6SW50bENvbGxhdG9yUHJvdG90eXBlOjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yOjpm
aW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQcm90
b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGU6OmZp
bmlzaENyZWF0aW9uKToKKyAgICAgICAgKEpTQzo6SW50bERhdGVUaW1lRm9ybWF0RnVuY0Zvcm1h
dERhdGVUaW1lKToKKyAgICAgICAgKEpTQzo6SW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlRnVu
Y0Zvcm1hdFRvUGFydHMpOgorICAgICAgICAqIHJ1bnRpbWUvSW50bE51bWJlckZvcm1hdC5jcHA6
CisgICAgICAgIChKU0M6OkludGxOdW1iZXJGb3JtYXQ6OmluaXRpYWxpemVOdW1iZXJGb3JtYXQp
OgorICAgICAgICAqIHJ1bnRpbWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6SW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yOjpmaW5pc2hDcmVhdGlvbik6
CisgICAgICAgICogcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmNwcDoKKyAgICAg
ICAgKEpTQzo6SW50bE51bWJlckZvcm1hdFByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAg
ICAgICAqIHJ1bnRpbWUvSW50bE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6Omxvb2t1cFN1cHBv
cnRlZExvY2FsZXMpOgorICAgICAgICAoSlNDOjpzdXBwb3J0ZWRMb2NhbGVzKToKKyAgICAgICAg
KEpTQzo6aW50bE9iamVjdEZ1bmNHZXRDYW5vbmljYWxMb2NhbGVzKToKKyAgICAgICAgKiBydW50
aW1lL0ludGxQbHVyYWxSdWxlcy5jcHA6CisgICAgICAgIChKU0M6OkludGxQbHVyYWxSdWxlczo6
cmVzb2x2ZWRPcHRpb25zKToKKyAgICAgICAgKiBydW50aW1lL0ludGxQbHVyYWxSdWxlc0NvbnN0
cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0b3I6OmZp
bmlzaENyZWF0aW9uKToKKwogMjAxOC0wNS0xMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVl
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIzMTMxNiBh
bmQgcjIzMTMzMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dGxDb2xsYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0
b3IuY3BwCmluZGV4IDcyMDhiMmQ2ODg4YWNlYjA1YzQ5NTk5MDBiYjkxMGFiZTg3YTlmY2IuLmY3
MzUwODYyZmJmN2JlYmVjYWMzOGUyMjk0NDk5YmRiYWJkZjcxMjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yLmNwcApAQCAtMTc4LDMyICsxNzgsMjIg
QEAgdm9pZCBJbnRsQ29sbGF0b3I6OmluaXRpYWxpemVDb2xsYXRvcihFeGVjU3RhdGUmIHN0YXRl
LCBKU1ZhbHVlIGxvY2FsZXMsIEpTVmFsdWUKICAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOwogICAg
IGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIC8vIDEwLjEuMSBJ
bml0aWFsaXplQ29sbGF0b3IgKGNvbGxhdG9yLCBsb2NhbGVzLCBvcHRpb25zKSAoRUNNQS00MDIg
Mi4wKQotICAgIC8vIDEuIElmIGNvbGxhdG9yIGhhcyBhbiBbW2luaXRpYWxpemVkSW50bE9iamVj
dF1dIGludGVybmFsIHNsb3Qgd2l0aCB2YWx1ZSB0cnVlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNl
cHRpb24uCi0gICAgLy8gMi4gU2V0IGNvbGxhdG9yLltbaW5pdGlhbGl6ZWRJbnRsT2JqZWN0XV0g
dG8gdHJ1ZS4KKyAgICAvLyAxMC4xLjEgSW5pdGlhbGl6ZUNvbGxhdG9yIChjb2xsYXRvciwgbG9j
YWxlcywgb3B0aW9ucykgKEVDTUEtNDAyKQorICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8v
ZWNtYTQwMi8jc2VjLWluaXRpYWxpemVjb2xsYXRvcgogCi0gICAgLy8gMy4gTGV0IHJlcXVlc3Rl
ZExvY2FsZXMgYmUgQ2Fub25pY2FsaXplTG9jYWxlTGlzdChsb2NhbGVzKS4KICAgICBhdXRvIHJl
cXVlc3RlZExvY2FsZXMgPSBjYW5vbmljYWxpemVMb2NhbGVMaXN0KHN0YXRlLCBsb2NhbGVzKTsK
LSAgICAvLyA0LiBSZXR1cm5JZkFicnVwdChyZXF1ZXN0ZWRMb2NhbGVzKS4KICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAgLy8gNS4gSWYgb3B0aW9ucyBpcyB1
bmRlZmluZWQsIHRoZW4KICAgICBKU09iamVjdCogb3B0aW9uczsKLSAgICBpZiAob3B0aW9uc1Zh
bHVlLmlzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAgLy8gYS4gTGV0IG9wdGlvbnMgYmUgT2JqZWN0
Q3JlYXRlKCVPYmplY3RQcm90b3R5cGUlKS4KLSAgICAgICAgb3B0aW9ucyA9IGNvbnN0cnVjdEVt
cHR5T2JqZWN0KCZzdGF0ZSk7Ci0gICAgfSBlbHNlIHsgLy8gNi4gRWxzZQotICAgICAgICAvLyBh
LiBMZXQgb3B0aW9ucyBiZSBUb09iamVjdChvcHRpb25zKS4KKyAgICBpZiAob3B0aW9uc1ZhbHVl
LmlzVW5kZWZpbmVkKCkpCisgICAgICAgIG9wdGlvbnMgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdCgm
c3RhdGUsIHN0YXRlLmxleGljYWxHbG9iYWxPYmplY3QoKS0+bnVsbFByb3RvdHlwZU9iamVjdFN0
cnVjdHVyZSgpKTsKKyAgICBlbHNlIHsKICAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnNWYWx1ZS50
b09iamVjdCgmc3RhdGUpOwotICAgICAgICAvLyBiLiBSZXR1cm5JZkFicnVwdChvcHRpb25zKS4K
ICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKICAgICB9CiAKLSAg
ICAvLyA3LiBMZXQgdSBiZSBHZXRPcHRpb24ob3B0aW9ucywgInVzYWdlIiwgInN0cmluZyIsIMKr
InNvcnQiLCAic2VhcmNoIsK7LCAic29ydCIpLgogICAgIFN0cmluZyB1c2FnZVN0cmluZyA9IGlu
dGxTdHJpbmdPcHRpb24oc3RhdGUsIG9wdGlvbnMsIHZtLnByb3BlcnR5TmFtZXMtPnVzYWdlLCB7
ICJzb3J0IiwgInNlYXJjaCIgfSwgInVzYWdlIG11c3QgYmUgZWl0aGVyIFwic29ydFwiIG9yIFwi
c2VhcmNoXCIiLCAic29ydCIpOwotICAgIC8vIDguIFJldHVybklmQWJydXB0KHUpLgogICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAgLy8gOS4gU2V0IGNvbGxhdG9y
LltbdXNhZ2VdXSB0byB1LgogICAgIGlmICh1c2FnZVN0cmluZyA9PSAic29ydCIpCiAgICAgICAg
IG1fdXNhZ2UgPSBVc2FnZTo6U29ydDsKICAgICBlbHNlIGlmICh1c2FnZVN0cmluZyA9PSAic2Vh
cmNoIikKQEAgLTIxMSwzNyArMjAxLDE0IEBAIHZvaWQgSW50bENvbGxhdG9yOjppbml0aWFsaXpl
Q29sbGF0b3IoRXhlY1N0YXRlJiBzdGF0ZSwgSlNWYWx1ZSBsb2NhbGVzLCBKU1ZhbHVlCiAgICAg
ZWxzZQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotICAgIC8vIDEwLiBJZiB1IGlz
ICJzb3J0IiwgdGhlbgotICAgIC8vIGEuIExldCBsb2NhbGVEYXRhIGJlIHRoZSB2YWx1ZSBvZiAl
Q29sbGF0b3IlLltbc29ydExvY2FsZURhdGFdXTsKLSAgICAvLyAxMS4gRWxzZQotICAgIC8vIGEu
IExldCBsb2NhbGVEYXRhIGJlIHRoZSB2YWx1ZSBvZiAlQ29sbGF0b3IlLltbc2VhcmNoTG9jYWxl
RGF0YV1dLgotICAgIFZlY3RvcjxTdHJpbmc+ICgqbG9jYWxlRGF0YSkoY29uc3QgU3RyaW5nJiwg
c2l6ZV90KTsKLSAgICBpZiAobV91c2FnZSA9PSBVc2FnZTo6U29ydCkKLSAgICAgICAgbG9jYWxl
RGF0YSA9IHNvcnRMb2NhbGVEYXRhOwotICAgIGVsc2UKLSAgICAgICAgbG9jYWxlRGF0YSA9IHNl
YXJjaExvY2FsZURhdGE7CisgICAgYXV0byBsb2NhbGVEYXRhID0gKG1fdXNhZ2UgPT0gVXNhZ2U6
OlNvcnQpID8gc29ydExvY2FsZURhdGEgOiBzZWFyY2hMb2NhbGVEYXRhOwogCi0gICAgLy8gMTIu
IExldCBvcHQgYmUgYSBuZXcgUmVjb3JkLgogICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IG9w
dDsKIAotICAgIC8vIDEzLiBMZXQgbWF0Y2hlciBiZSBHZXRPcHRpb24ob3B0aW9ucywgImxvY2Fs
ZU1hdGNoZXIiLCAic3RyaW5nIiwgwqsibG9va3VwIiwgImJlc3QgZml0IsK7LCAiYmVzdCBmaXQi
KS4KICAgICBTdHJpbmcgbWF0Y2hlciA9IGludGxTdHJpbmdPcHRpb24oc3RhdGUsIG9wdGlvbnMs
IHZtLnByb3BlcnR5TmFtZXMtPmxvY2FsZU1hdGNoZXIsIHsgImxvb2t1cCIsICJiZXN0IGZpdCIg
fSwgImxvY2FsZU1hdGNoZXIgbXVzdCBiZSBlaXRoZXIgXCJsb29rdXBcIiBvciBcImJlc3QgZml0
XCIiLCAiYmVzdCBmaXQiKTsKLSAgICAvLyAxNC4gUmV0dXJuSWZBYnJ1cHQobWF0Y2hlcikuCiAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKLSAgICAvLyAxNS4gU2V0IG9w
dC5bW2xvY2FsZU1hdGNoZXJdXSB0byBtYXRjaGVyLgogICAgIG9wdC5hZGQoQVNDSUlMaXRlcmFs
KCJsb2NhbGVNYXRjaGVyIiksIG1hdGNoZXIpOwogCi0gICAgLy8gMTYuIEZvciBlYWNoIHJvdyBp
biBUYWJsZSAxLCBleGNlcHQgdGhlIGhlYWRlciByb3csIGRvOgotICAgIC8vIGEuIExldCBrZXkg
YmUgdGhlIG5hbWUgZ2l2ZW4gaW4gdGhlIEtleSBjb2x1bW4gb2YgdGhlIHJvdy4KLSAgICAvLyBi
LiBMZXQgcHJvcCBiZSB0aGUgbmFtZSBnaXZlbiBpbiB0aGUgUHJvcGVydHkgY29sdW1uIG9mIHRo
ZSByb3cuCi0gICAgLy8gYy4gTGV0IHR5cGUgYmUgdGhlIHN0cmluZyBnaXZlbiBpbiB0aGUgVHlw
ZSBjb2x1bW4gb2YgdGhlIHJvdy4KLSAgICAvLyBkLiBMZXQgbGlzdCBiZSBhIExpc3QgY29udGFp
bmluZyB0aGUgU3RyaW5ncyBnaXZlbiBpbiB0aGUgVmFsdWVzIGNvbHVtbiBvZiB0aGUgcm93LCBv
ciB1bmRlZmluZWQgaWYgbm8gc3RyaW5ncyBhcmUgZ2l2ZW4uCi0gICAgLy8gZS4gTGV0IHZhbHVl
IGJlIEdldE9wdGlvbihvcHRpb25zLCBwcm9wLCB0eXBlLCBsaXN0LCB1bmRlZmluZWQpLgotICAg
IC8vIGYuIFJldHVybklmQWJydXB0KHZhbHVlKS4KLSAgICAvLyBnLiBJZiB0aGUgc3RyaW5nIGdp
dmVuIGluIHRoZSBUeXBlIGNvbHVtbiBvZiB0aGUgcm93IGlzICJib29sZWFuIiBhbmQgdmFsdWUg
aXMgbm90IHVuZGVmaW5lZCwgdGhlbgotICAgIC8vICAgIGkuIExldCB2YWx1ZSBiZSBUb1N0cmlu
Zyh2YWx1ZSkuCi0gICAgLy8gICAgaWkuIFJldHVybklmQWJydXB0KHZhbHVlKS4KLSAgICAvLyBo
LiBTZXQgb3B0LltbPGtleT5dXSB0byB2YWx1ZS4KICAgICB7CiAgICAgICAgIFN0cmluZyBudW1l
cmljU3RyaW5nOwogICAgICAgICBib29sIHVzZXNGYWxsYmFjazsKQEAgLTI1NywzNSArMjI0LDE1
IEBAIHZvaWQgSW50bENvbGxhdG9yOjppbml0aWFsaXplQ29sbGF0b3IoRXhlY1N0YXRlJiBzdGF0
ZSwgSlNWYWx1ZSBsb2NhbGVzLCBKU1ZhbHVlCiAgICAgICAgIG9wdC5hZGQoQVNDSUlMaXRlcmFs
KCJrZiIpLCBjYXNlRmlyc3QpOwogICAgIH0KIAotICAgIC8vIDE3LiBMZXQgcmVsZXZhbnRFeHRl
bnNpb25LZXlzIGJlIHRoZSB2YWx1ZSBvZiAlQ29sbGF0b3IlLltbcmVsZXZhbnRFeHRlbnNpb25L
ZXlzXV0uCi0gICAgLy8gMTguIExldCByIGJlIFJlc29sdmVMb2NhbGUoJUNvbGxhdG9yJS5bW2F2
YWlsYWJsZUxvY2FsZXNdXSwgcmVxdWVzdGVkTG9jYWxlcywgb3B0LCByZWxldmFudEV4dGVuc2lv
bktleXMsIGxvY2FsZURhdGEpLgogICAgIGF1dG8mIGF2YWlsYWJsZUxvY2FsZXMgPSBzdGF0ZS5q
c0NhbGxlZSgpLT5nbG9iYWxPYmplY3QoKS0+aW50bENvbGxhdG9yQXZhaWxhYmxlTG9jYWxlcygp
OwogICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZUxvY2FsZShzdGF0ZSwgYXZhaWxhYmxlTG9jYWxl
cywgcmVxdWVzdGVkTG9jYWxlcywgb3B0LCByZWxldmFudENvbGxhdG9yRXh0ZW5zaW9uS2V5cywg
V1RGX0FSUkFZX0xFTkdUSChyZWxldmFudENvbGxhdG9yRXh0ZW5zaW9uS2V5cyksIGxvY2FsZURh
dGEpOwogCi0gICAgLy8gMTkuIFNldCBjb2xsYXRvci5bW2xvY2FsZV1dIHRvIHRoZSB2YWx1ZSBv
ZiByLltbbG9jYWxlXV0uCiAgICAgbV9sb2NhbGUgPSByZXN1bHQuZ2V0KEFTQ0lJTGl0ZXJhbCgi
bG9jYWxlIikpOwogICAgIGlmIChtX2xvY2FsZS5pc0VtcHR5KCkpIHsKICAgICAgICAgdGhyb3dU
eXBlRXJyb3IoJnN0YXRlLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJmYWlsZWQgdG8gaW5pdGlhbGl6
ZSBDb2xsYXRvciBkdWUgdG8gaW52YWxpZCBsb2NhbGUiKSk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICAvLyAyMC4gTGV0IGsgYmUgMC4KLSAgICAvLyAyMS4gTGV0IGxlblZhbHVlIGJl
IEdldChyZWxldmFudEV4dGVuc2lvbktleXMsICJsZW5ndGgiKS4KLSAgICAvLyAyMi4gTGV0IGxl
biBiZSBUb0xlbmd0aChsZW5WYWx1ZSkuCi0gICAgLy8gMjMuIFJlcGVhdCB3aGlsZSBrIDwgbGVu
OgotICAgIC8vIGEuIExldCBQayBiZSBUb1N0cmluZyhrKS4KLSAgICAvLyBiLiBMZXQga2V5IGJl
IEdldChyZWxldmFudEV4dGVuc2lvbktleXMsIFBrKS4KLSAgICAvLyBjLiBSZXR1cm5JZkFicnVw
dChrZXkpLgotICAgIC8vIGQuIElmIGtleSBpcyAiY28iLCB0aGVuCi0gICAgLy8gICAgaS4gTGV0
IHByb3BlcnR5IGJlICJjb2xsYXRpb24iLgotICAgIC8vICAgIGlpLiBMZXQgdmFsdWUgYmUgdGhl
IHZhbHVlIG9mIHIuW1tjb11dLgotICAgIC8vICAgIGlpaS4gSWYgdmFsdWUgaXMgbnVsbCwgbGV0
IHZhbHVlIGJlICJkZWZhdWx0Ii4KLSAgICAvLyBlLiBFbHNlIHVzZSB0aGUgcm93IG9mIFRhYmxl
IDEgdGhhdCBjb250YWlucyB0aGUgdmFsdWUgb2Yga2V5IGluIHRoZSBLZXkgY29sdW1uOgotICAg
IC8vICAgIGkuIExldCBwcm9wZXJ0eSBiZSB0aGUgbmFtZSBnaXZlbiBpbiB0aGUgUHJvcGVydHkg
Y29sdW1uIG9mIHRoZSByb3cuCi0gICAgLy8gICAgaWkuIExldCB2YWx1ZSBiZSB0aGUgdmFsdWUg
b2Ygci5bWzxrZXk+XV0uCi0gICAgLy8gICAgaWlpLiBJZiB0aGUgbmFtZSBnaXZlbiBpbiB0aGUg
VHlwZSBjb2x1bW4gb2YgdGhlIHJvdyBpcyAiYm9vbGVhbiIsIGxldCB2YWx1ZSBiZSB0aGUgcmVz
dWx0IG9mIGNvbXBhcmluZyB2YWx1ZSB3aXRoICJ0cnVlIi4KLSAgICAvLyBmLiBTZXQgY29sbGF0
b3IuW1s8cHJvcGVydHk+XV0gdG8gdmFsdWUuCi0gICAgLy8gZy4gSW5jcmVhc2UgayBieSAxLgog
ICAgIGNvbnN0IFN0cmluZyYgY29sbGF0aW9uID0gcmVzdWx0LmdldChBU0NJSUxpdGVyYWwoImNv
IikpOwogICAgIG1fY29sbGF0aW9uID0gY29sbGF0aW9uLmlzTnVsbCgpID8gQVNDSUlMaXRlcmFs
KCJkZWZhdWx0IikgOiBjb2xsYXRpb247CiAgICAgbV9udW1lcmljID0gcmVzdWx0LmdldChBU0NJ
SUxpdGVyYWwoImtuIikpID09ICJ0cnVlIjsKQEAgLTI5OCwxOCArMjQ1LDggQEAgdm9pZCBJbnRs
Q29sbGF0b3I6OmluaXRpYWxpemVDb2xsYXRvcihFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIGxv
Y2FsZXMsIEpTVmFsdWUKICAgICBlbHNlCiAgICAgICAgIG1fY2FzZUZpcnN0ID0gQ2FzZUZpcnN0
OjpGYWxzZTsKIAotICAgIC8vIDI0LiBMZXQgcyBiZSBHZXRPcHRpb24ob3B0aW9ucywgInNlbnNp
dGl2aXR5IiwgInN0cmluZyIsIMKrImJhc2UiLCAiYWNjZW50IiwgImNhc2UiLCAidmFyaWFudCLC
uywgdW5kZWZpbmVkKS4KICAgICBTdHJpbmcgc2Vuc2l0aXZpdHlTdHJpbmcgPSBpbnRsU3RyaW5n
T3B0aW9uKHN0YXRlLCBvcHRpb25zLCB2bS5wcm9wZXJ0eU5hbWVzLT5zZW5zaXRpdml0eSwgeyAi
YmFzZSIsICJhY2NlbnQiLCAiY2FzZSIsICJ2YXJpYW50IiB9LCAic2Vuc2l0aXZpdHkgbXVzdCBi
ZSBlaXRoZXIgXCJiYXNlXCIsIFwiYWNjZW50XCIsIFwiY2FzZVwiLCBvciBcInZhcmlhbnRcIiIs
IG51bGxwdHIpOwotICAgIC8vIDI1LiBSZXR1cm5JZkFicnVwdChzKS4KICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIC8vIDI2LiBJZiBzIGlzIHVuZGVmaW5lZCwg
dGhlbgotICAgIC8vIGEuIElmIHUgaXMgInNvcnQiLCB0aGVuIGxldCBzIGJlICJ2YXJpYW50Ii4K
LSAgICAvLyBiLiBFbHNlCi0gICAgLy8gICAgaS4gTGV0IGRhdGFMb2NhbGUgYmUgdGhlIHZhbHVl
IG9mIHIuW1tkYXRhTG9jYWxlXV0uCi0gICAgLy8gICAgaWkuIExldCBkYXRhTG9jYWxlRGF0YSBi
ZSBHZXQobG9jYWxlRGF0YSwgZGF0YUxvY2FsZSkuCi0gICAgLy8gICAgaWlpLiBMZXQgcyBiZSBH
ZXQoZGF0YUxvY2FsZURhdGEsICJzZW5zaXRpdml0eSIpLgotICAgIC8vICAgIDEwLjIuMyAiW1tz
ZWFyY2hMb2NhbGVEYXRhXV1bbG9jYWxlXSBtdXN0IGhhdmUgYSBzZW5zaXRpdml0eSBwcm9wZXJ0
eSB3aXRoIGEgU3RyaW5nIHZhbHVlIGVxdWFsIHRvICJiYXNlIiwgImFjY2VudCIsICJjYXNlIiwg
b3IgInZhcmlhbnQiIGZvciBhbGwgbG9jYWxlIHZhbHVlcy4iCi0gICAgLy8gMjcuIFNldCBjb2xs
YXRvci5bW3NlbnNpdGl2aXR5XV0gdG8gcy4KICAgICBpZiAoc2Vuc2l0aXZpdHlTdHJpbmcgPT0g
ImJhc2UiKQogICAgICAgICBtX3NlbnNpdGl2aXR5ID0gU2Vuc2l0aXZpdHk6OkJhc2U7CiAgICAg
ZWxzZSBpZiAoc2Vuc2l0aXZpdHlTdHJpbmcgPT0gImFjY2VudCIpCkBAIC0zMTksMjEgKzI1Niwx
NCBAQCB2b2lkIEludGxDb2xsYXRvcjo6aW5pdGlhbGl6ZUNvbGxhdG9yKEV4ZWNTdGF0ZSYgc3Rh
dGUsIEpTVmFsdWUgbG9jYWxlcywgSlNWYWx1ZQogICAgIGVsc2UKICAgICAgICAgbV9zZW5zaXRp
dml0eSA9IFNlbnNpdGl2aXR5OjpWYXJpYW50OwogCi0gICAgLy8gMjguIExldCBpcCBiZSBHZXRP
cHRpb24ob3B0aW9ucywgImlnbm9yZVB1bmN0dWF0aW9uIiwgImJvb2xlYW4iLCB1bmRlZmluZWQs
IGZhbHNlKS4KICAgICBib29sIHVzZXNGYWxsYmFjazsKICAgICBib29sIGlnbm9yZVB1bmN0dWF0
aW9uID0gaW50bEJvb2xlYW5PcHRpb24oc3RhdGUsIG9wdGlvbnMsIHZtLnByb3BlcnR5TmFtZXMt
Pmlnbm9yZVB1bmN0dWF0aW9uLCB1c2VzRmFsbGJhY2spOwogICAgIGlmICh1c2VzRmFsbGJhY2sp
CiAgICAgICAgIGlnbm9yZVB1bmN0dWF0aW9uID0gZmFsc2U7Ci0gICAgLy8gMjkuIFJldHVybklm
QWJydXB0KGlwKS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAg
IC8vIDMwLiBTZXQgY29sbGF0b3IuW1tpZ25vcmVQdW5jdHVhdGlvbl1dIHRvIGlwLgogICAgIG1f
aWdub3JlUHVuY3R1YXRpb24gPSBpZ25vcmVQdW5jdHVhdGlvbjsKIAotICAgIC8vIDMxLiBTZXQg
Y29sbGF0b3IuW1tib3VuZENvbXBhcmVdXSB0byB1bmRlZmluZWQuCi0gICAgLy8gMzIuIFNldCBj
b2xsYXRvci5bW2luaXRpYWxpemVkQ29sbGF0b3JdXSB0byB0cnVlLgogICAgIG1faW5pdGlhbGl6
ZWRDb2xsYXRvciA9IHRydWU7Ci0KLSAgICAvLyAzMy4gUmV0dXJuIGNvbGxhdG9yLgogfQogCiB2
b2lkIEludGxDb2xsYXRvcjo6Y3JlYXRlQ29sbGF0b3IoRXhlY1N0YXRlJiBzdGF0ZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvckNvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xsYXRvckNvbnN0
cnVjdG9yLmNwcAppbmRleCA3OGYxODlmOThiNDlkOWEyZmU1MWNlMjdiMjI1NTk1MWRkMDk0NjBm
Li44NmFlM2YwOTA4ZmNhOGVhYzA4NjJlNGM3MWI5YmEwNDBhOTNlMzFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3JDb25zdHJ1Y3Rvci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yQ29uc3RydWN0
b3IuY3BwCkBAIC04Miw2ICs4Miw3IEBAIHZvaWQgSW50bENvbGxhdG9yQ29uc3RydWN0b3I6OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgSW50bENvbGxhdG9yUHJvdG90eXBlKiBjb2xsCiAgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24odm0sIEFTQ0lJTGl0ZXJhbCgiQ29sbGF0b3IiKSk7CiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwg
Y29sbGF0b3JQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5
QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAg
ICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3Ro
LCBqc051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUpOworICAgIGNv
bGxhdG9yUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+Y29uc3RydWN0b3IsIHRoaXMsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKICAgICBtX2NvbGxhdG9yU3RydWN0dXJlLnNldCh2bSwg
dGhpcywgY29sbGF0b3JTdHJ1Y3R1cmUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3JQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50bENvbGxhdG9yUHJvdG90eXBlLmNwcAppbmRleCBhZDU5Yzhl
NGYyMGJhYTEyOWM3MGE0OTQxODVjNmY0ZjU1MzgzZTdiLi5iZjQ3NTI5ZDhhOGI3Y2EzYmU0OWQw
M2JiMjIyYWU1NmMyZGNlZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbnRsQ29sbGF0b3JQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxDb2xsYXRvclByb3RvdHlwZS5jcHAKQEAgLTc0LDYgKzc0LDggQEAgSW50
bENvbGxhdG9yUHJvdG90eXBlOjpJbnRsQ29sbGF0b3JQcm90b3R5cGUoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKIHZvaWQgSW50bENvbGxhdG9yUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0pCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworCisgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnRvU3RyaW5nVGFnU3lt
Ym9sLCBqc1N0cmluZygmdm0sICJPYmplY3QiKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgSW50bENvbGxhdG9yRnVuY0NvbXBhcmUoRXhlY1N0YXRlKiBzdGF0
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGlt
ZUZvcm1hdENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmNwcAppbmRleCAyOTE5ZWNlMTVjNTExZTA5Nzgx
YjFkMTA2MmYwMzg1YmQ2ZTFmODE4Li41MzUxZTQzZGNkYWRkZTJiNWNmYWM1ZDI5ZjdjNjYyNzQw
NWNmMmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0
ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuY3BwCkBAIC04Miw2ICs4Miw3IEBA
IHZvaWQgSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgSW50bERhdGVUaW1lRm9ybWF0UHJvCiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIEFT
Q0lJTGl0ZXJhbCgiRGF0ZVRpbWVGb3JtYXQiKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgZGF0ZVRpbWVGb3JtYXRQcm90
b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpE
b250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KTsKICAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigw
KSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUpOworICAgIGRhdGVUaW1lRm9ybWF0
UHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+Y29uc3RydWN0b3IsIHRoaXMsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pKTsKICAgICBtX2RhdGVUaW1lRm9ybWF0U3RydWN0dXJlLnNldCh2bSwg
dGhpcywgZGF0ZVRpbWVGb3JtYXRTdHJ1Y3R1cmUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBl
LmNwcAppbmRleCA0NzI0YjJiZTE5MmIwMjg1MmY4ODM0ODNlMmQzNDliZTk2NzUyMTAxLi45Yjc5
NzFhZGQxOThkZDBiZmIyM2E2YmNjMDdmMDNjYzk2ZGQ0OTMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdFByb3Rv
dHlwZS5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIK
ICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNPYmplY3RJbmxpbmVzLmgiCisj
aW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC04NywzMyAr
ODgsMjkgQEAgdm9pZCBJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE8KICNlbHNlCiAgICAgVU5VU0VEX1BBUkFN
KGdsb2JhbE9iamVjdCk7CiAjZW5kaWYKKworICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT50b1N0cmluZ1RhZ1N5bWJvbCwganNTdHJpbmcoJnZtLCAi
T2JqZWN0IiksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSk7CiB9CiAKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIElu
dGxEYXRlVGltZUZvcm1hdEZ1bmNGb3JtYXREYXRlVGltZShFeGVjU3RhdGUqIHN0YXRlKQogewog
ICAgIFZNJiB2bSA9IHN0YXRlLT52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKLSAgICAvLyAxMi4zLjQgRGF0ZVRpbWUgRm9ybWF0IEZ1bmN0aW9ucyAoRUNN
QS00MDIgMi4wKQotICAgIC8vIDEuIExldCBkdGYgYmUgdGhlIHRoaXMgdmFsdWUuCi0gICAgLy8g
Mi4gQXNzZXJ0OiBUeXBlKGR0ZikgaXMgT2JqZWN0IGFuZCBkdGYgaGFzIGFuIFtbaW5pdGlhbGl6
ZWREYXRlVGltZUZvcm1hdF1dIGludGVybmFsIHNsb3Qgd2hvc2UgdmFsdWUgaXMgdHJ1ZS4KKyAg
ICAvLyAxMi4xLjcgRGF0ZVRpbWUgRm9ybWF0IEZ1bmN0aW9ucyAoRUNNQS00MDIpCisgICAgLy8g
aHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hNDAyLyNzZWMtZm9ybWF0ZGF0ZXRpbWUKKwogICAg
IEludGxEYXRlVGltZUZvcm1hdCogZm9ybWF0ID0ganNDYXN0PEludGxEYXRlVGltZUZvcm1hdCo+
KHN0YXRlLT50aGlzVmFsdWUoKSk7CiAKICAgICBKU1ZhbHVlIGRhdGUgPSBzdGF0ZS0+YXJndW1l
bnQoMCk7CiAgICAgZG91YmxlIHZhbHVlOwogCi0gICAgLy8gMy4gSWYgZGF0ZSBpcyBub3QgcHJv
dmlkZWQgb3IgaXMgdW5kZWZpbmVkLCB0aGVuCi0gICAgaWYgKGRhdGUuaXNVbmRlZmluZWQoKSkg
ewotICAgICAgICAvLyBhLiBMZXQgeCBiZSAlRGF0ZV9ub3clKCkuCisgICAgaWYgKGRhdGUuaXNV
bmRlZmluZWQoKSkKICAgICAgICAgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZGF0ZU5vdyhzdGF0
ZSkpLnRvTnVtYmVyKHN0YXRlKTsKLSAgICB9IGVsc2UgewotICAgICAgICAvLyA0LiBFbHNlCi0g
ICAgICAgIC8vIGEuIExldCB4IGJlIFRvTnVtYmVyKGRhdGUpLgotICAgICAgICB2YWx1ZSA9IGRh
dGUudG9OdW1iZXIoc3RhdGUpOwotICAgICAgICAvLyBiLiBSZXR1cm5JZkFicnVwdCh4KS4KKyAg
ICBlbHNlIHsKKyAgICAgICAgdmFsdWUgPSBXVEY6OnRpbWVDbGlwKGRhdGUudG9OdW1iZXIoc3Rh
dGUpKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUo
KSk7CiAgICAgfQogCi0gICAgLy8gNS4gUmV0dXJuIEZvcm1hdERhdGVUaW1lKGR0ZiwgeCkuCiAg
ICAgc2NvcGUucmVsZWFzZSgpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoZm9ybWF0LT5m
b3JtYXQoKnN0YXRlLCB2YWx1ZSkpOwogfQpAQCAtMTc1LDcgKzE3Miw3IEBAIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlRnVuY0Zvcm1hdFRv
UGFydHMoRXhlY1N0CiAgICAgaWYgKGRhdGUuaXNVbmRlZmluZWQoKSkKICAgICAgICAgdmFsdWUg
PSBKU1ZhbHVlOjpkZWNvZGUoZGF0ZU5vdyhzdGF0ZSkpLnRvTnVtYmVyKHN0YXRlKTsKICAgICBl
bHNlIHsKLSAgICAgICAgdmFsdWUgPSBkYXRlLnRvTnVtYmVyKHN0YXRlKTsKKyAgICAgICAgdmFs
dWUgPSBXVEY6OnRpbWVDbGlwKGRhdGUudG9OdW1iZXIoc3RhdGUpKTsKICAgICAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwCmluZGV4
IDE4NWFjMzY4ZDE3MzMwZmZmYTU4N2M2NjEyZGZiZGQyMTlmZmNiYTAuLmIxOGZkMGZmMjY2MzFl
ZGUzNDRiY2FlZDIxZDRmZWExZTM3YjcxMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXQuY3BwCkBAIC0xNTcsNjIgKzE1Nyw0MiBAQCBz
dGF0aWMgdW5zaWduZWQgY29tcHV0ZUN1cnJlbmN5RGlnaXRzKGNvbnN0IFN0cmluZyYgY3VycmVu
Y3kpCiAKIHZvaWQgSW50bE51bWJlckZvcm1hdDo6aW5pdGlhbGl6ZU51bWJlckZvcm1hdChFeGVj
U3RhdGUmIHN0YXRlLCBKU1ZhbHVlIGxvY2FsZXMsIEpTVmFsdWUgb3B0aW9uc1ZhbHVlKQogewot
ICAgIC8vIDExLjEuMSBJbml0aWFsaXplTnVtYmVyRm9ybWF0IChudW1iZXJGb3JtYXQsIGxvY2Fs
ZXMsIG9wdGlvbnMpIChFQ01BLTQwMiAyLjApCiAgICAgVk0mIHZtID0gc3RhdGUudm0oKTsKICAg
ICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICAvLyAxLiBJZiBu
dW1iZXJGb3JtYXQgaGFzIGFuIFtbaW5pdGlhbGl6ZWRJbnRsT2JqZWN0XV0gaW50ZXJuYWwgc2xv
dCB3aXRoIHZhbHVlIHRydWUsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KLSAgICAvLyAy
LiBTZXQgbnVtYmVyRm9ybWF0LltbaW5pdGlhbGl6ZWRJbnRsT2JqZWN0XV0gdG8gdHJ1ZS4KKyAg
ICAvLyAxMS4xLjIgSW5pdGlhbGl6ZU51bWJlckZvcm1hdCAobnVtYmVyRm9ybWF0LCBsb2NhbGVz
LCBvcHRpb25zKSAoRUNNQS00MDIpCisgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21h
NDAyLyNzZWMtaW5pdGlhbGl6ZW51bWJlcmZvcm1hdAogCi0gICAgLy8gMy4gTGV0IHJlcXVlc3Rl
ZExvY2FsZXMgYmUgQ2Fub25pY2FsaXplTG9jYWxlTGlzdChsb2NhbGVzKS4KICAgICBhdXRvIHJl
cXVlc3RlZExvY2FsZXMgPSBjYW5vbmljYWxpemVMb2NhbGVMaXN0KHN0YXRlLCBsb2NhbGVzKTsK
LSAgICAvLyA0LiBSZXR1cm5JZkFicnVwdChyZXF1ZXN0ZWRMb2NhbGVzKS4KICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAgLy8gNS4gSWYgb3B0aW9ucyBpcyB1
bmRlZmluZWQsIHRoZW4KICAgICBKU09iamVjdCogb3B0aW9uczsKLSAgICBpZiAob3B0aW9uc1Zh
bHVlLmlzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAgLy8gYS4gTGV0IG9wdGlvbnMgYmUgT2JqZWN0
Q3JlYXRlKCVPYmplY3RQcm90b3R5cGUlKS4KLSAgICAgICAgb3B0aW9ucyA9IGNvbnN0cnVjdEVt
cHR5T2JqZWN0KCZzdGF0ZSk7Ci0gICAgfSBlbHNlIHsgLy8gNi4gRWxzZQotICAgICAgICAvLyBh
LiBMZXQgb3B0aW9ucyBiZSBUb09iamVjdChvcHRpb25zKS4KKyAgICBpZiAob3B0aW9uc1ZhbHVl
LmlzVW5kZWZpbmVkKCkpCisgICAgICAgIG9wdGlvbnMgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdCgm
c3RhdGUsIHN0YXRlLmxleGljYWxHbG9iYWxPYmplY3QoKS0+bnVsbFByb3RvdHlwZU9iamVjdFN0
cnVjdHVyZSgpKTsKKyAgICBlbHNlIHsKICAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnNWYWx1ZS50
b09iamVjdCgmc3RhdGUpOwotICAgICAgICAvLyBiLiBSZXR1cm5JZkFicnVwdChvcHRpb25zKS4K
ICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKICAgICB9CiAKLSAg
ICAvLyA3LiBMZXQgb3B0IGJlIGEgbmV3IFJlY29yZC4KICAgICBIYXNoTWFwPFN0cmluZywgU3Ry
aW5nPiBvcHQ7CiAKLSAgICAvLyA4LiBMZXQgbWF0Y2hlciBiZSBHZXRPcHRpb24ob3B0aW9ucywg
ImxvY2FsZU1hdGNoZXIiLCAic3RyaW5nIiwgwqsibG9va3VwIiwgImJlc3QgZml0IsK7LCAiYmVz
dCBmaXQiKS4KICAgICBTdHJpbmcgbWF0Y2hlciA9IGludGxTdHJpbmdPcHRpb24oc3RhdGUsIG9w
dGlvbnMsIHZtLnByb3BlcnR5TmFtZXMtPmxvY2FsZU1hdGNoZXIsIHsgImxvb2t1cCIsICJiZXN0
IGZpdCIgfSwgImxvY2FsZU1hdGNoZXIgbXVzdCBiZSBlaXRoZXIgXCJsb29rdXBcIiBvciBcImJl
c3QgZml0XCIiLCAiYmVzdCBmaXQiKTsKLSAgICAvLyA5LiBSZXR1cm5JZkFicnVwdChtYXRjaGVy
KS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIC8vIDEwLiBT
ZXQgb3B0LltbbG9jYWxlTWF0Y2hlcl1dIHRvIG1hdGNoZXIuCiAgICAgb3B0LmFkZChBU0NJSUxp
dGVyYWwoImxvY2FsZU1hdGNoZXIiKSwgbWF0Y2hlcik7CiAKLSAgICAvLyAxMS4gTGV0IGxvY2Fs
ZURhdGEgYmUgJU51bWJlckZvcm1hdCUuW1tsb2NhbGVEYXRhXV0uCi0gICAgLy8gMTIuIExldCBy
IGJlIFJlc29sdmVMb2NhbGUoJU51bWJlckZvcm1hdCUuW1thdmFpbGFibGVMb2NhbGVzXV0sIHJl
cXVlc3RlZExvY2FsZXMsIG9wdCwgJU51bWJlckZvcm1hdCUuW1tyZWxldmFudEV4dGVuc2lvbktl
eXNdXSwgbG9jYWxlRGF0YSkuCiAgICAgYXV0byYgYXZhaWxhYmxlTG9jYWxlcyA9IHN0YXRlLmpz
Q2FsbGVlKCktPmdsb2JhbE9iamVjdCgpLT5pbnRsTnVtYmVyRm9ybWF0QXZhaWxhYmxlTG9jYWxl
cygpOwogICAgIGF1dG8gcmVzdWx0ID0gcmVzb2x2ZUxvY2FsZShzdGF0ZSwgYXZhaWxhYmxlTG9j
YWxlcywgcmVxdWVzdGVkTG9jYWxlcywgb3B0LCByZWxldmFudE51bWJlckV4dGVuc2lvbktleXMs
IFdURl9BUlJBWV9MRU5HVEgocmVsZXZhbnROdW1iZXJFeHRlbnNpb25LZXlzKSwgSW50bE5GSW50
ZXJuYWw6OmxvY2FsZURhdGEpOwogCi0gICAgLy8gMTMuIFNldCBudW1iZXJGb3JtYXQuW1tsb2Nh
bGVdXSB0byB0aGUgdmFsdWUgb2Ygci5bW2xvY2FsZV1dLgogICAgIG1fbG9jYWxlID0gcmVzdWx0
LmdldChBU0NJSUxpdGVyYWwoImxvY2FsZSIpKTsKICAgICBpZiAobV9sb2NhbGUuaXNFbXB0eSgp
KSB7CiAgICAgICAgIHRocm93VHlwZUVycm9yKCZzdGF0ZSwgc2NvcGUsIEFTQ0lJTGl0ZXJhbCgi
ZmFpbGVkIHRvIGluaXRpYWxpemUgTnVtYmVyRm9ybWF0IGR1ZSB0byBpbnZhbGlkIGxvY2FsZSIp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIDE0LiBTZXQgbnVtYmVyRm9ybWF0
LltbbnVtYmVyaW5nU3lzdGVtXV0gdG8gdGhlIHZhbHVlIG9mIHIuW1tudV1dLgogICAgIG1fbnVt
YmVyaW5nU3lzdGVtID0gcmVzdWx0LmdldChBU0NJSUxpdGVyYWwoIm51IikpOwogCi0gICAgLy8g
MTUuIExldCBkYXRhTG9jYWxlIGJlIHIuW1tkYXRhTG9jYWxlXV0uCi0KLSAgICAvLyAxNi4gTGV0
IHMgYmUgR2V0T3B0aW9uKG9wdGlvbnMsICJzdHlsZSIsICJzdHJpbmciLCDCqyAiZGVjaW1hbCIs
ICJwZXJjZW50IiwgImN1cnJlbmN5IsK7LCAiZGVjaW1hbCIpLgogICAgIFN0cmluZyBzdHlsZVN0
cmluZyA9IGludGxTdHJpbmdPcHRpb24oc3RhdGUsIG9wdGlvbnMsIElkZW50aWZpZXI6OmZyb21T
dHJpbmcoJnZtLCAic3R5bGUiKSwgeyAiZGVjaW1hbCIsICJwZXJjZW50IiwgImN1cnJlbmN5IiB9
LCAic3R5bGUgbXVzdCBiZSBlaXRoZXIgXCJkZWNpbWFsXCIsIFwicGVyY2VudFwiLCBvciBcImN1
cnJlbmN5XCIiLCAiZGVjaW1hbCIpOwotICAgIC8vIDE3LiBSZXR1cm5JZkFicnVwdChzKS4KICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIC8vIDE4LiBTZXQgbnVt
YmVyRm9ybWF0Lltbc3R5bGVdXSB0byBzLgogICAgIGlmIChzdHlsZVN0cmluZyA9PSAiZGVjaW1h
bCIpCiAgICAgICAgIG1fc3R5bGUgPSBTdHlsZTo6RGVjaW1hbDsKICAgICBlbHNlIGlmIChzdHls
ZVN0cmluZyA9PSAicGVyY2VudCIpCkBAIC0yMjIsMTMgKzIwMiw5IEBAIHZvaWQgSW50bE51bWJl
ckZvcm1hdDo6aW5pdGlhbGl6ZU51bWJlckZvcm1hdChFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVl
IGxvY2FsZXMsCiAgICAgZWxzZQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotICAg
IC8vIDE5LiBMZXQgYyBiZSBHZXRPcHRpb24ob3B0aW9ucywgImN1cnJlbmN5IiwgInN0cmluZyIs
IHVuZGVmaW5lZCwgdW5kZWZpbmVkKS4KICAgICBTdHJpbmcgY3VycmVuY3kgPSBpbnRsU3RyaW5n
T3B0aW9uKHN0YXRlLCBvcHRpb25zLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImN1cnJl
bmN5IiksIHsgfSwgbnVsbHB0ciwgbnVsbHB0cik7Ci0gICAgLy8gMjAuIFJldHVybklmQWJydXB0
KGMpLgogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAgLy8gMjEu
IElmIGMgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgogICAgIGlmICghY3VycmVuY3kuaXNOdWxsKCkp
IHsKLSAgICAgICAgLy8gYS4gSWYgdGhlIHJlc3VsdCBvZiBJc1dlbGxGb3JtZWRDdXJyZW5jeUNv
ZGUoYyksIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgUmFuZ2VFcnJvciBleGNlcHRpb24uCiAgICAg
ICAgIGlmIChjdXJyZW5jeS5sZW5ndGgoKSAhPSAzIHx8ICFjdXJyZW5jeS5pc0FsbFNwZWNpYWxD
aGFyYWN0ZXJzPGlzQVNDSUlBbHBoYT4oKSkgewogICAgICAgICAgICAgdGhyb3dFeGNlcHRpb24o
JnN0YXRlLCBzY29wZSwgY3JlYXRlUmFuZ2VFcnJvcigmc3RhdGUsIEFTQ0lJTGl0ZXJhbCgiY3Vy
cmVuY3kgaXMgbm90IGEgd2VsbC1mb3JtZWQgY3VycmVuY3kgY29kZSIpKSk7CiAgICAgICAgICAg
ICByZXR1cm47CkBAIC0yMzcsMjYgKzIxMywxOCBAQCB2b2lkIEludGxOdW1iZXJGb3JtYXQ6Omlu
aXRpYWxpemVOdW1iZXJGb3JtYXQoRXhlY1N0YXRlJiBzdGF0ZSwgSlNWYWx1ZSBsb2NhbGVzLAog
CiAgICAgdW5zaWduZWQgY3VycmVuY3lEaWdpdHMgPSAwOwogICAgIGlmIChtX3N0eWxlID09IFN0
eWxlOjpDdXJyZW5jeSkgewotICAgICAgICAvLyAyMi4gSWYgcyBpcyAiY3VycmVuY3kiIGFuZCBj
IGlzIHVuZGVmaW5lZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogICAgICAgICBpZiAo
Y3VycmVuY3kuaXNOdWxsKCkpIHsKICAgICAgICAgICAgIHRocm93VHlwZUVycm9yKCZzdGF0ZSwg
c2NvcGUsIEFTQ0lJTGl0ZXJhbCgiY3VycmVuY3kgbXVzdCBiZSBhIHN0cmluZyIpKTsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIC8vIDIzLiBJZiBzIGlzICJjdXJy
ZW5jeSIsIHRoZW4KLSAgICAgICAgLy8gYS4gTGV0IGMgYmUgY29udmVydGluZyBjIHRvIHVwcGVy
IGNhc2UgYXMgc3BlY2lmaWVkIGluIDYuMS4KICAgICAgICAgY3VycmVuY3kgPSBjdXJyZW5jeS5j
b252ZXJ0VG9BU0NJSVVwcGVyY2FzZSgpOwotICAgICAgICAvLyBiLiBTZXQgbnVtYmVyRm9ybWF0
LltbY3VycmVuY3ldXSB0byBjLgogICAgICAgICBtX2N1cnJlbmN5ID0gY3VycmVuY3k7Ci0gICAg
ICAgIC8vIGMuIExldCBjRGlnaXRzIGJlIEN1cnJlbmN5RGlnaXRzKGMpCiAgICAgICAgIGN1cnJl
bmN5RGlnaXRzID0gY29tcHV0ZUN1cnJlbmN5RGlnaXRzKGN1cnJlbmN5KTsKICAgICB9CiAKLSAg
ICAvLyAyNC4gTGV0IGNkIGJlIEdldE9wdGlvbihvcHRpb25zLCAiY3VycmVuY3lEaXNwbGF5Iiwg
InN0cmluZyIsIMKrImNvZGUiLCAic3ltYm9sIiwgIm5hbWUiwrssICJzeW1ib2wiKS4KICAgICBT
dHJpbmcgY3VycmVuY3lEaXNwbGF5U3RyaW5nID0gaW50bFN0cmluZ09wdGlvbihzdGF0ZSwgb3B0
aW9ucywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJjdXJyZW5jeURpc3BsYXkiKSwgeyAi
Y29kZSIsICJzeW1ib2wiLCAibmFtZSIgfSwgImN1cnJlbmN5RGlzcGxheSBtdXN0IGJlIGVpdGhl
ciBcImNvZGVcIiwgXCJzeW1ib2xcIiwgb3IgXCJuYW1lXCIiLCAic3ltYm9sIik7Ci0gICAgLy8g
MjUuIFJldHVybklmQWJydXB0KGNkKS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2
b2lkKCkpOwotICAgIC8vIDI2LiBJZiBzIGlzICJjdXJyZW5jeSIsIHNldCBudW1iZXJGb3JtYXQu
W1tjdXJyZW5jeURpc3BsYXldXSB0byBjZC4KICAgICBpZiAobV9zdHlsZSA9PSBTdHlsZTo6Q3Vy
cmVuY3kpIHsKICAgICAgICAgaWYgKGN1cnJlbmN5RGlzcGxheVN0cmluZyA9PSAiY29kZSIpCiAg
ICAgICAgICAgICBtX2N1cnJlbmN5RGlzcGxheSA9IEN1cnJlbmN5RGlzcGxheTo6Q29kZTsKQEAg
LTI2OCw4OCArMjM2LDUxIEBAIHZvaWQgSW50bE51bWJlckZvcm1hdDo6aW5pdGlhbGl6ZU51bWJl
ckZvcm1hdChFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIGxvY2FsZXMsCiAgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAKLSAgICAvLyAyNy4gTGV0IG1uaWQgYmUgR2V0
TnVtYmVyT3B0aW9uKG9wdGlvbnMsICJtaW5pbXVtSW50ZWdlckRpZ2l0cyIsIDEsIDIxLCAxKS4K
LSAgICAvLyAyOC4gUmV0dXJuSWZBYnJ1cHQobW5pZCkuCi0gICAgLy8gMjkuIFNldCBudW1iZXJG
b3JtYXQuW1ttaW5pbXVtSW50ZWdlckRpZ2l0c11dIHRvIG1uaWQuCiAgICAgdW5zaWduZWQgbWlu
aW11bUludGVnZXJEaWdpdHMgPSBpbnRsTnVtYmVyT3B0aW9uKHN0YXRlLCBvcHRpb25zLCBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgIm1pbmltdW1JbnRlZ2VyRGlnaXRzIiksIDEsIDIxLCAx
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgIG1fbWluaW11
bUludGVnZXJEaWdpdHMgPSBtaW5pbXVtSW50ZWdlckRpZ2l0czsKIAotICAgIC8vIDMwLiBJZiBz
IGlzICJjdXJyZW5jeSIsIGxldCBtbmZkRGVmYXVsdCBiZSBjRGlnaXRzOyBlbHNlIGxldCBtbmZk
RGVmYXVsdCBiZSAwLgogICAgIHVuc2lnbmVkIG1pbmltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1bHQg
PSAobV9zdHlsZSA9PSBTdHlsZTo6Q3VycmVuY3kpID8gY3VycmVuY3lEaWdpdHMgOiAwOwogCi0g
ICAgLy8gMzEuIExldCBtbmZkIGJlIEdldE51bWJlck9wdGlvbihvcHRpb25zLCAibWluaW11bUZy
YWN0aW9uRGlnaXRzIiwgMCwgMjAsIG1uZmREZWZhdWx0KS4KLSAgICAvLyAzMi4gUmV0dXJuSWZB
YnJ1cHQobW5mZCkuCi0gICAgLy8gMzMuIFNldCBudW1iZXJGb3JtYXQuW1ttaW5pbXVtRnJhY3Rp
b25EaWdpdHNdXSB0byBtbmZkLgogICAgIHVuc2lnbmVkIG1pbmltdW1GcmFjdGlvbkRpZ2l0cyA9
IGludGxOdW1iZXJPcHRpb24oc3RhdGUsIG9wdGlvbnMsIElkZW50aWZpZXI6OmZyb21TdHJpbmco
JnZtLCAibWluaW11bUZyYWN0aW9uRGlnaXRzIiksIDAsIDIwLCBtaW5pbXVtRnJhY3Rpb25EaWdp
dHNEZWZhdWx0KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAg
IG1fbWluaW11bUZyYWN0aW9uRGlnaXRzID0gbWluaW11bUZyYWN0aW9uRGlnaXRzOwogCi0gICAg
Ly8gMzQuIElmIHMgaXMgImN1cnJlbmN5IiwgbGV0IG14ZmREZWZhdWx0IGJlIG1heChtbmZkLCBj
RGlnaXRzKTsKICAgICB1bnNpZ25lZCBtYXhpbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0OwogICAg
IGlmIChtX3N0eWxlID09IFN0eWxlOjpDdXJyZW5jeSkKICAgICAgICAgbWF4aW11bUZyYWN0aW9u
RGlnaXRzRGVmYXVsdCA9IHN0ZDo6bWF4KG1pbmltdW1GcmFjdGlvbkRpZ2l0cywgY3VycmVuY3lE
aWdpdHMpOwotICAgIGVsc2UgaWYgKG1fc3R5bGUgPT0gU3R5bGU6OlBlcmNlbnQpIC8vIGVsc2Ug
aWYgcyBpcyAicGVyY2VudCIsIGxldCBteGZkRGVmYXVsdCBiZSBtYXgobW5mZCwgMCk7CisgICAg
ZWxzZSBpZiAobV9zdHlsZSA9PSBTdHlsZTo6UGVyY2VudCkKICAgICAgICAgbWF4aW11bUZyYWN0
aW9uRGlnaXRzRGVmYXVsdCA9IG1pbmltdW1GcmFjdGlvbkRpZ2l0czsKLSAgICBlbHNlIC8vIGVs
c2UgbGV0IG14ZmREZWZhdWx0IGJlIG1heChtbmZkLCAzKS4KKyAgICBlbHNlCiAgICAgICAgIG1h
eGltdW1GcmFjdGlvbkRpZ2l0c0RlZmF1bHQgPSBzdGQ6Om1heChtaW5pbXVtRnJhY3Rpb25EaWdp
dHMsIDN1KTsKIAotICAgIC8vIDM1LiBMZXQgbXhmZCBiZSBHZXROdW1iZXJPcHRpb24ob3B0aW9u
cywgIm1heGltdW1GcmFjdGlvbkRpZ2l0cyIsIG1uZmQsIDIwLCBteGZkRGVmYXVsdCkuCi0gICAg
Ly8gMzYuIFJldHVybklmQWJydXB0KG14ZmQpLgotICAgIC8vIDM3LiBTZXQgbnVtYmVyRm9ybWF0
LltbbWF4aW11bUZyYWN0aW9uRGlnaXRzXV0gdG8gbXhmZC4KICAgICB1bnNpZ25lZCBtYXhpbXVt
RnJhY3Rpb25EaWdpdHMgPSBpbnRsTnVtYmVyT3B0aW9uKHN0YXRlLCBvcHRpb25zLCBJZGVudGlm
aWVyOjpmcm9tU3RyaW5nKCZ2bSwgIm1heGltdW1GcmFjdGlvbkRpZ2l0cyIpLCBtaW5pbXVtRnJh
Y3Rpb25EaWdpdHMsIDIwLCBtYXhpbXVtRnJhY3Rpb25EaWdpdHNEZWZhdWx0KTsKICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogICAgIG1fbWF4aW11bUZyYWN0aW9uRGln
aXRzID0gbWF4aW11bUZyYWN0aW9uRGlnaXRzOwogCi0gICAgLy8gMzguIExldCBtbnNkIGJlIEdl
dChvcHRpb25zLCAibWluaW11bVNpZ25pZmljYW50RGlnaXRzIikuCiAgICAgSlNWYWx1ZSBtaW5p
bXVtU2lnbmlmaWNhbnREaWdpdHNWYWx1ZSA9IG9wdGlvbnMtPmdldCgmc3RhdGUsIElkZW50aWZp
ZXI6OmZyb21TdHJpbmcoJnZtLCAibWluaW11bVNpZ25pZmljYW50RGlnaXRzIikpOwotICAgIC8v
IDM5LiBSZXR1cm5JZkFicnVwdChtbnNkKS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCB2b2lkKCkpOwogCi0gICAgLy8gNDAuIExldCBteHNkIGJlIEdldChvcHRpb25zLCAibWF4aW11
bVNpZ25pZmljYW50RGlnaXRzIikuCiAgICAgSlNWYWx1ZSBtYXhpbXVtU2lnbmlmaWNhbnREaWdp
dHNWYWx1ZSA9IG9wdGlvbnMtPmdldCgmc3RhdGUsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZt
LCAibWF4aW11bVNpZ25pZmljYW50RGlnaXRzIikpOwotICAgIC8vIDQxLiBSZXR1cm5JZkFicnVw
dChteHNkKS4KICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwogCi0gICAg
Ly8gNDIuIElmIG1uc2QgaXMgbm90IHVuZGVmaW5lZCBvciBteHNkIGlzIG5vdCB1bmRlZmluZWQs
IHRoZW4KICAgICBpZiAoIW1pbmltdW1TaWduaWZpY2FudERpZ2l0c1ZhbHVlLmlzVW5kZWZpbmVk
KCkgfHwgIW1heGltdW1TaWduaWZpY2FudERpZ2l0c1ZhbHVlLmlzVW5kZWZpbmVkKCkpIHsKLSAg
ICAgICAgLy8gYS4gTGV0IG1uc2QgYmUgR2V0TnVtYmVyT3B0aW9uKG9wdGlvbnMsICJtaW5pbXVt
U2lnbmlmaWNhbnREaWdpdHMiLCAxLCAyMSwgMSkuCiAgICAgICAgIHVuc2lnbmVkIG1pbmltdW1T
aWduaWZpY2FudERpZ2l0cyA9IGludGxOdW1iZXJPcHRpb24oc3RhdGUsIG9wdGlvbnMsIElkZW50
aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAibWluaW11bVNpZ25pZmljYW50RGlnaXRzIiksIDEsIDIx
LCAxKTsKLSAgICAgICAgLy8gYi4gUmV0dXJuSWZBYnJ1cHQobW5zZCkuCiAgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7Ci0gICAgICAgIC8vIGMuIExldCBteHNkIGJl
IEdldE51bWJlck9wdGlvbihvcHRpb25zLCAibWF4aW11bVNpZ25pZmljYW50RGlnaXRzIiwgbW5z
ZCwgMjEsIDIxKS4KICAgICAgICAgdW5zaWduZWQgbWF4aW11bVNpZ25pZmljYW50RGlnaXRzID0g
aW50bE51bWJlck9wdGlvbihzdGF0ZSwgb3B0aW9ucywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygm
dm0sICJtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMiKSwgbWluaW11bVNpZ25pZmljYW50RGlnaXRz
LCAyMSwgMjEpOwotICAgICAgICAvLyBkLiBSZXR1cm5JZkFicnVwdChteHNkKS4KICAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKLSAgICAgICAgLy8gZS4gU2V0IG51
bWJlckZvcm1hdC5bW21pbmltdW1TaWduaWZpY2FudERpZ2l0c11dIHRvIG1uc2QuCiAgICAgICAg
IG1fbWluaW11bVNpZ25pZmljYW50RGlnaXRzID0gbWluaW11bVNpZ25pZmljYW50RGlnaXRzOwot
ICAgICAgICAvLyBmLiBTZXQgbnVtYmVyRm9ybWF0LltbbWF4aW11bVNpZ25pZmljYW50RGlnaXRz
XV0gdG8gbXhzZC4KICAgICAgICAgbV9tYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMgPSBtYXhpbXVt
U2lnbmlmaWNhbnREaWdpdHM7CiAgICAgfQogCi0gICAgLy8gNDMuIExldCBnIGJlIEdldE9wdGlv
bihvcHRpb25zLCAidXNlR3JvdXBpbmciLCAiYm9vbGVhbiIsIHVuZGVmaW5lZCwgdHJ1ZSkuCiAg
ICAgYm9vbCB1c2VzRmFsbGJhY2s7CiAgICAgYm9vbCB1c2VHcm91cGluZyA9IGludGxCb29sZWFu
T3B0aW9uKHN0YXRlLCBvcHRpb25zLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgInVzZUdy
b3VwaW5nIiksIHVzZXNGYWxsYmFjayk7CiAgICAgaWYgKHVzZXNGYWxsYmFjaykKICAgICAgICAg
dXNlR3JvdXBpbmcgPSB0cnVlOwotICAgIC8vIDQ0LiBSZXR1cm5JZkFicnVwdChnKS4KICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOwotICAgIC8vIDQ1LiBTZXQgbnVtYmVy
Rm9ybWF0LltbdXNlR3JvdXBpbmddXSB0byBnLgogICAgIG1fdXNlR3JvdXBpbmcgPSB1c2VHcm91
cGluZzsKIAotICAgIC8vIFN0ZXBzIDQ2IC0gNTEgYXJlIG5vdCBuZWNlc3NhcnkgdG8gb3VyIGlt
cGxlbWVudGF0aW9uLgotICAgIC8vIDQ2LiBMZXQgZGF0YUxvY2FsZURhdGEgYmUgR2V0KGxvY2Fs
ZURhdGEsIGRhdGFMb2NhbGUpLgotICAgIC8vIDQ3LiBMZXQgcGF0dGVybnMgYmUgR2V0KGRhdGFM
b2NhbGVEYXRhLCAicGF0dGVybnMiKS4KLSAgICAvLyA0OC4gQXNzZXJ0OiBwYXR0ZXJucyBpcyBh
biBvYmplY3QgKHNlZSAxMS4yLjMpLgotICAgIC8vIDQ5LiBMZXQgc3R5bGVQYXR0ZXJucyBiZSBH
ZXQocGF0dGVybnMsIHMpLgotICAgIC8vIDUwLiBTZXQgbnVtYmVyRm9ybWF0LltbcG9zaXRpdmVQ
YXR0ZXJuXV0gdG8gR2V0KHN0eWxlUGF0dGVybnMsICJwb3NpdGl2ZVBhdHRlcm4iKS4KLSAgICAv
LyA1MS4gU2V0IG51bWJlckZvcm1hdC5bW25lZ2F0aXZlUGF0dGVybl1dIHRvIEdldChzdHlsZVBh
dHRlcm5zLCAibmVnYXRpdmVQYXR0ZXJuIikuCi0KLSAgICAvLyA1Mi4gU2V0IG51bWJlckZvcm1h
dC5bW2JvdW5kRm9ybWF0XV0gdG8gdW5kZWZpbmVkLgotICAgIC8vIDUzLiBTZXQgbnVtYmVyRm9y
bWF0LltbaW5pdGlhbGl6ZWROdW1iZXJGb3JtYXRdXSB0byB0cnVlLgogICAgIG1faW5pdGlhbGl6
ZWROdW1iZXJGb3JtYXQgPSB0cnVlOwotCi0gICAgLy8gNTQuIFJldHVybiBudW1iZXJGb3JtYXQu
CiB9CiAKIHZvaWQgSW50bE51bWJlckZvcm1hdDo6Y3JlYXRlTnVtYmVyRm9ybWF0KEV4ZWNTdGF0
ZSYgc3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
TnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmNwcAppbmRleCAyYjMwNTAzYmUzNjQ5M2Rk
YThlN2E3MGExMjQxOGRlZTRhZDc4ZDhiLi4yNzQ3MDNjMjViODU4NGY5MTE4MTcxNzYzZmQ1ZjY4
ZWY2MDZlY2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
TnVtYmVyRm9ybWF0Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5jcHAKQEAgLTgyLDYgKzgyLDcgQEAg
dm9pZCBJbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
SW50bE51bWJlckZvcm1hdFByb3RvdHkKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgQVND
SUlMaXRlcmFsKCJOdW1iZXJGb3JtYXQiKSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgbnVtYmVyRm9ybWF0UHJvdG90eXBl
LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERl
bGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91
dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIFBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlKTsKKyAgICBudW1iZXJGb3JtYXRQcm90b3R5
cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25z
dHJ1Y3RvciwgdGhpcywgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSkpOwogICAgIG1fbnVtYmVyRm9ybWF0U3RydWN0dXJlLnNldCh2bSwgdGhpcywgbnVt
YmVyRm9ybWF0U3RydWN0dXJlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdFByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmNwcAppbmRleCA1Y2Yx
NzdkNjQ3Zjg1MDE0MWQ3YzFiOTM3MzI5MmEwOTA4OTYzM2I1Li5mOGJlNmJjYTY2ZjNkMjgxODk3
YjQ0ZTE0Y2YyNmNkMmQxZTYxNTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmNwcApAQCAtNzYsNiAr
NzYsOCBAQCBJbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlOjpJbnRsTnVtYmVyRm9ybWF0UHJvdG90
eXBlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cgogdm9pZCBJbnRsTnVtYmVyRm9ybWF0UHJv
dG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFN0cnVjdHVyZSopCiB7CiAgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0pOworCisgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0s
IHZtLnByb3BlcnR5TmFtZXMtPnRvU3RyaW5nVGFnU3ltYm9sLCBqc1N0cmluZygmdm0sICJPYmpl
Y3QiKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5KTsKIH0KIAogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSW50bE51
bWJlckZvcm1hdEZ1bmNGb3JtYXROdW1iZXIoRXhlY1N0YXRlKiBzdGF0ZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3QuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVjdC5jcHAKaW5kZXggODZmOTM4YTJiZTRlM2Zk
ZTEyMWRjOTg1NDIzZDEzMzExMDM5ODhiOC4uYWM3NGQ3YTU2MWNhZDBiOTM1ZTViN2QwNzZhYjlm
YTViNGRlYTEyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
bE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE9iamVj
dC5jcHAKQEAgLTc5OSwxMiArNzk5LDEzIEBAIHN0YXRpYyBKU0FycmF5KiBsb29rdXBTdXBwb3J0
ZWRMb2NhbGVzKEV4ZWNTdGF0ZSYgc3RhdGUsIGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCisgICAgdW5zaWduZWQgaW5kZXggPSAwOwogICAg
IGZvciAoc2l6ZV90IGsgPSAwOyBrIDwgbGVuOyArK2spIHsKICAgICAgICAgY29uc3QgU3RyaW5n
JiBsb2NhbGUgPSByZXF1ZXN0ZWRMb2NhbGVzW2tdOwogICAgICAgICBTdHJpbmcgbm9FeHRlbnNp
b25zTG9jYWxlID0gcmVtb3ZlVW5pY29kZUxvY2FsZUV4dGVuc2lvbihsb2NhbGUpOwogICAgICAg
ICBTdHJpbmcgYXZhaWxhYmxlTG9jYWxlID0gYmVzdEF2YWlsYWJsZUxvY2FsZShhdmFpbGFibGVM
b2NhbGVzLCBub0V4dGVuc2lvbnNMb2NhbGUpOwogICAgICAgICBpZiAoIWF2YWlsYWJsZUxvY2Fs
ZS5pc051bGwoKSkgewotICAgICAgICAgICAgc3Vic2V0LT5wdXNoKCZzdGF0ZSwganNTdHJpbmco
JnN0YXRlLCBsb2NhbGUpKTsKKyAgICAgICAgICAgIHN1YnNldC0+cHV0RGlyZWN0SW5kZXgoJnN0
YXRlLCBpbmRleCsrLCBqc1N0cmluZygmc3RhdGUsIGxvY2FsZSkpOwogICAgICAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CiAgICAgICAgIH0KICAgICB9CkBAIC04
NTQsNiArODU1LDcgQEAgSlNWYWx1ZSBzdXBwb3J0ZWRMb2NhbGVzKEV4ZWNTdGF0ZSYgc3RhdGUs
IGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYgYXZhaWxhYmxlTG9jYWwKICAgICAgICAgc3VwcG9ydGVk
TG9jYWxlcy0+ZGVmaW5lT3duUHJvcGVydHkoc3VwcG9ydGVkTG9jYWxlcywgJnN0YXRlLCBrZXlz
W2ldLCBkZXNjLCB0cnVlKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNW
YWx1ZSgpKTsKICAgICB9CisgICAgc3VwcG9ydGVkTG9jYWxlcy0+ZGVmaW5lT3duUHJvcGVydHko
c3VwcG9ydGVkTG9jYWxlcywgJnN0YXRlLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGRlc2Ms
IHRydWUpOwogCiAgICAgcmV0dXJuIHN1cHBvcnRlZExvY2FsZXM7CiB9CkBAIC05MDIsMTcgKzkw
NCwxNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGludGxPYmplY3RGdW5jR2V0Q2Fu
b25pY2FsTG9jYWxlcyhFeGVjU3RhdGUqIHN0YXRlKQogCiAgICAgVmVjdG9yPFN0cmluZz4gbG9j
YWxlTGlzdCA9IGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QoKnN0YXRlLCBzdGF0ZS0+YXJndW1lbnQo
MCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwor
ICAgIGF1dG8gbGVuZ3RoID0gbG9jYWxlTGlzdC5zaXplKCk7CiAKICAgICBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0ID0gc3RhdGUtPmpzQ2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOwotICAg
IEpTQXJyYXkqIGxvY2FsZUFycmF5ID0gSlNBcnJheTo6dHJ5Q3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QtPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdp
dGhDb250aWd1b3VzKSk7CisgICAgSlNBcnJheSogbG9jYWxlQXJyYXkgPSBKU0FycmF5Ojp0cnlD
cmVhdGUodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJp
bmdBbGxvY2F0aW9uKEFycmF5V2l0aENvbnRpZ3VvdXMpLCBsZW5ndGgpOwogICAgIGlmICghbG9j
YWxlQXJyYXkpIHsKICAgICAgICAgdGhyb3dPdXRPZk1lbW9yeUVycm9yKHN0YXRlLCBzY29wZSk7
CiAgICAgICAgIHJldHVybiBlbmNvZGVkSlNWYWx1ZSgpOwogICAgIH0KIAotICAgIGF1dG8gbGVu
Z3RoID0gbG9jYWxlTGlzdC5zaXplKCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsZW5n
dGg7ICsraSkgewotICAgICAgICBsb2NhbGVBcnJheS0+cHVzaChzdGF0ZSwganNTdHJpbmcoc3Rh
dGUsIGxvY2FsZUxpc3RbaV0pKTsKKyAgICAgICAgbG9jYWxlQXJyYXktPnB1dERpcmVjdEluZGV4
KHN0YXRlLCBpLCBqc1N0cmluZyhzdGF0ZSwgbG9jYWxlTGlzdFtpXSkpOwogICAgICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICB9CiAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShsb2NhbGVBcnJheSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXMuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzLmNwcAppbmRleCA3YjgzOGY2ODEyZTAwZDg5
YTdlZGQ0Mzc5MDcyZmM2OGVkZjlmYzY4Li40ZGVkMTNiNDJmMzVlMzJjZDg5NmU2ZThjMTNlMWMx
YjEzMTNlYzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRs
UGx1cmFsUnVsZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQ
bHVyYWxSdWxlcy5jcHAKQEAgLTIyNiw5ICsyMjYsMTAgQEAgSlNPYmplY3QqIEludGxQbHVyYWxS
dWxlczo6cmVzb2x2ZWRPcHRpb25zKEV4ZWNTdGF0ZSYgZXhlYykKICAgICBpbnQzMl90IHJlc3Vs
dExlbmd0aDsKIAogICAgIC8vIENhdGVnb3J5IG5hbWVzIGFyZSBhbHdheXMgQVNDSUksIHNvIHVz
ZSBjaGFyW10uCisgICAgdW5zaWduZWQgaW5kZXggPSAwOwogICAgIHdoaWxlIChjb25zdCBjaGFy
KiByZXN1bHQgPSB1ZW51bV9uZXh0KGtleXdvcmRzLmdldCgpLCAmcmVzdWx0TGVuZ3RoLCAmc3Rh
dHVzKSkgewogICAgICAgICBBU1NFUlQoVV9TVUNDRVNTKHN0YXR1cykpOwotICAgICAgICBjYXRl
Z29yaWVzLT5wdXNoKCZleGVjLCBqc05vbnRyaXZpYWxTdHJpbmcoJmV4ZWMsIFN0cmluZyhyZXN1
bHQsIHJlc3VsdExlbmd0aCkpKTsKKyAgICAgICAgY2F0ZWdvcmllcy0+cHV0RGlyZWN0SW5kZXgo
JmV4ZWMsIGluZGV4KyssIGpzTm9udHJpdmlhbFN0cmluZygmZXhlYywgU3RyaW5nKHJlc3VsdCwg
cmVzdWx0TGVuZ3RoKSkpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0p
OwogICAgIH0KICAgICBvcHRpb25zLT5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJp
bmcoJnZtLCAicGx1cmFsQ2F0ZWdvcmllcyIpLCBjYXRlZ29yaWVzKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlc0NvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxQbHVyYWxSdWxlc0NvbnN0cnVj
dG9yLmNwcAppbmRleCA0YTllNzY5NzFlMDNmODFmYWM4Y2NkNmMwZjY2ZGI1MTkwZmZjMTJkLi45
ZTUwYTliYWRjYzcxYzAzZWMwZDBlYTAxN2I3ZGIzNDQzYjZiYWQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsUGx1cmFsUnVsZXNDb25zdHJ1Y3Rvci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bFBsdXJhbFJ1bGVzQ29uc3Ry
dWN0b3IuY3BwCkBAIC04MCw3ICs4MCw3IEBAIHZvaWQgSW50bFBsdXJhbFJ1bGVzQ29uc3RydWN0
b3I6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSW50bFBsdXJhbFJ1bGVzUHJvdG90eXBlCiAgICAg
QmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIEFTQ0lJTGl0ZXJhbCgiUGx1cmFsUnVsZXMiKSk7CiAg
ICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSwgcGx1cmFsUnVsZXNQcm90b3R5cGUsIFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8
IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5KTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+bGVuZ3RoLCBqc051bWJlcigwKSwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUp
OwotICAgIHBsdXJhbFJ1bGVzUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2
bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIHRoaXMsIFByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlKTsKKyAgICBwbHVyYWxS
dWxlc1Byb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPmNvbnN0cnVjdG9yLCB0aGlzLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKSk7CiAgICAgbV9wbHVyYWxSdWxlc1N0cnVjdHVyZS5zZXQodm0s
IHRoaXMsIHBsdXJhbFJ1bGVzU3RydWN0dXJlKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc0OWJhYzgzMTc2NTlh
ZmNjNGZjMzlmYWUyNzE2ZDI3ZWFkM2U2MjkuLmI2NWM4MzUxZGI2NGM4NWM2YWIwODA4YTY1YzEw
ZDE3ZjVhOGM5ZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOC0wNS0xMSAgQW5keSBWYW5X
YWdvbmVyICA8YW5keUB2YW53YWdvbmVyLmZhbWlseT4KKworICAgICAgICBbSU5UTF0gSW1wcm92
ZSBzcGVjICYgdGVzdDI2MiBjb21wbGlhbmNlIGZvciBJbnRsIEFQSXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTU3OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBJbnRsIHRlc3RzIGZvciBw
cm90b3R5cGUgY2hhbmdlcy4KKworICAgICAgICAqIGpzL2ludGwtY29sbGF0b3ItZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGpzL2ludGwtZGF0ZXRpbWVmb3JtYXQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGpzL2ludGwtbnVtYmVyZm9ybWF0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBqcy9z
Y3JpcHQtdGVzdHMvaW50bC1jb2xsYXRvci5qczoKKyAgICAgICAgKiBqcy9zY3JpcHQtdGVzdHMv
aW50bC1kYXRldGltZWZvcm1hdC5qczoKKyAgICAgICAgKiBqcy9zY3JpcHQtdGVzdHMvaW50bC1u
dW1iZXJmb3JtYXQuanM6CisKIDIwMTgtMDUtMTEgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNv
bT4KIAogICAgICAgICBBWDogSW4gcm9sZT1kaWFsb2cgZWxlbWVudHMgd2l0aCBhcmlhLW1vZGFs
PXRydWUgVm9pY2VPdmVyIGlPUy9tYWNPUyBjYW4ndCBtYW51YWxseSBmb2N1cyBvciByZWFkIGRp
YWxvZyBwYXJhZ3JhcGggZGVzY3JpcHRpb24gdGV4dCBpbnNpZGUgdGhlIG1vZGFsLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvanMvaW50bC1jb2xsYXRvci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9qcy9pbnRsLWNvbGxhdG9yLWV4cGVjdGVkLnR4dAppbmRleCA2Mzc0MzUyNmFlZmJhNDg0
NzliMTFjMTExMWFjNDUxZDgyZGJlOTQ5Li5jNDgzZGFkMTIwYTdkM2YxOGE0ZWJiYWFlZmVjNTg2
YTQyYzYwZDE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9pbnRsLWNvbGxhdG9yLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9qcy9pbnRsLWNvbGxhdG9yLWV4cGVjdGVkLnR4dApA
QCAtMTMwLDkgKzEzMCwxMyBAQCBQQVNTIEludGwuQ29sbGF0b3Iuc3VwcG9ydGVkTG9jYWxlc09m
KCd4LTEyMzQ1LTEyMzQ1LWVuLVVTJykgZGlkIG5vdCB0aHJvdyBleGNlcAogUEFTUyBJbnRsLkNv
bGxhdG9yLnN1cHBvcnRlZExvY2FsZXNPZigneC1lbi1VUy0xMjM0NS0xMjM0NScpIGRpZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLgogUEFTUyBJbnRsLkNvbGxhdG9yLnN1cHBvcnRlZExvY2FsZXNPZign
eC1lbi11LWZvbycpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgogUEFTUyBJbnRsLkNvbGxhdG9y
LnN1cHBvcnRlZExvY2FsZXNPZigneC1lbi11LWZvby11LWJhcicpIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgotUEFTUyBJbnRsLkNvbGxhdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyBPYmpl
Y3QKIFBBU1MgT2JqZWN0LmdldFByb3RvdHlwZU9mKEludGwuQ29sbGF0b3IucHJvdG90eXBlKSBp
cyBPYmplY3QucHJvdG90eXBlCitQQVNTIEludGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbnN0cnVj
dG9yIGlzIEludGwuQ29sbGF0b3IKK1BBU1MgSW50bC5Db2xsYXRvci5wcm90b3R5cGVbU3ltYm9s
LnRvU3RyaW5nVGFnXSBpcyAnT2JqZWN0JwogUEFTUyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5n
LmNhbGwoSW50bC5Db2xsYXRvci5wcm90b3R5cGUpIGlzICdbb2JqZWN0IE9iamVjdF0nCitQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5Db2xsYXRvci5wcm90b3R5cGUs
IFN5bWJvbC50b1N0cmluZ1RhZykud3JpdGFibGUgaXMgZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSwgU3ltYm9sLnRvU3Ry
aW5nVGFnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IoSW50bC5Db2xsYXRvci5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZykuY29u
ZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgZGVmYXVsdENvbGxhdG9yLmNvbXBhcmUgaXMgYW4gaW5z
dGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJ
bnRsLkNvbGxhdG9yLnByb3RvdHlwZSwgJ2NvbXBhcmUnKS5nZXQgaXMgYW4gaW5zdGFuY2Ugb2Yg
RnVuY3Rpb24KIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJbnRsLkNvbGxh
dG9yLnByb3RvdHlwZSwgJ2NvbXBhcmUnKS5zZXQgaXMgdW5kZWZpbmVkCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9qcy9pbnRsLWRhdGV0aW1lZm9ybWF0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2pzL2ludGwtZGF0ZXRpbWVmb3JtYXQtZXhwZWN0ZWQudHh0CmluZGV4IDlhZmExMWQyOGZj
N2NlODE1M2MxYTZhNGY1YmQwYmM4N2RlMGQxNjQuLjdjODU3Y2NlOGYzYTlmZDRmMDY3NmU3OTI1
YWZlNTk4ZjcwMGQ5YWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2ludGwtZGF0ZXRpbWVm
b3JtYXQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pzL2ludGwtZGF0ZXRpbWVmb3Jt
YXQtZXhwZWN0ZWQudHh0CkBAIC02Miw5ICs2MiwxMyBAQCBQQVNTIEludGwuRGF0ZVRpbWVGb3Jt
YXQuc3VwcG9ydGVkTG9jYWxlc09mKCd4LTEyMzQ1LTEyMzQ1LWVuLVVTJykgZGlkIG5vdCB0aHJv
dwogUEFTUyBJbnRsLkRhdGVUaW1lRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZigneC1lbi1VUy0x
MjM0NS0xMjM0NScpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgogUEFTUyBJbnRsLkRhdGVUaW1l
Rm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZigneC1lbi11LWZvbycpIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgogUEFTUyBJbnRsLkRhdGVUaW1lRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZigneC1l
bi11LWZvby11LWJhcicpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgotUEFTUyBJbnRsLkRhdGVU
aW1lRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyBPYmplY3QKIFBBU1MgT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlKSBpcyBPYmplY3QucHJv
dG90eXBlCitQQVNTIEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlz
IEludGwuRGF0ZVRpbWVGb3JtYXQKK1BBU1MgSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGVb
U3ltYm9sLnRvU3RyaW5nVGFnXSBpcyAnT2JqZWN0JwogUEFTUyBPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nLmNhbGwoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUpIGlzICdbb2JqZWN0IE9i
amVjdF0nCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5EYXRlVGlt
ZUZvcm1hdC5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZykud3JpdGFibGUgaXMgZmFsc2UK
K1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJbnRsLkRhdGVUaW1lRm9ybWF0
LnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnKS5lbnVtZXJhYmxlIGlzIGZhbHNlCitQQVNT
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90
b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZykuY29uZmlndXJhYmxlIGlzIHRydWUKIFBBU1MgZGVm
YXVsdERURm9ybWF0LmZvcm1hdCBpcyBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbgogUEFTUyBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBl
LCAnZm9ybWF0JykuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUsICdm
b3JtYXQnKS5zZXQgaXMgdW5kZWZpbmVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9pbnRs
LW51bWJlcmZvcm1hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9pbnRsLW51bWJlcmZv
cm1hdC1leHBlY3RlZC50eHQKaW5kZXggY2EzNTg3ZDQxYTczODljMzM5Nzk1MzYwZmE3YzNhNzA0
NWM2NzM2NC4uNTQ0NjBlODM2NDZmMDAzMmQ1NzhjNGZiN2VhMzc3NzZkOGQzZjYyZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvanMvaW50bC1udW1iZXJmb3JtYXQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2pzL2ludGwtbnVtYmVyZm9ybWF0LWV4cGVjdGVkLnR4dApAQCAtMTMwLDkg
KzEzMCwxMyBAQCBQQVNTIEludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZigneC0x
MjM0NS0xMjM0NS1lbi1VUycpIGRpZCBub3QgdGhyb3cgZQogUEFTUyBJbnRsLk51bWJlckZvcm1h
dC5zdXBwb3J0ZWRMb2NhbGVzT2YoJ3gtZW4tVVMtMTIzNDUtMTIzNDUnKSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KIFBBU1MgSW50bC5OdW1iZXJGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mKCd4
LWVuLXUtZm9vJykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCiBQQVNTIEludGwuTnVtYmVyRm9y
bWF0LnN1cHBvcnRlZExvY2FsZXNPZigneC1lbi11LWZvby11LWJhcicpIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgotUEFTUyBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3Ig
aXMgT2JqZWN0CiBQQVNTIE9iamVjdC5nZXRQcm90b3R5cGVPZihJbnRsLk51bWJlckZvcm1hdC5w
cm90b3R5cGUpIGlzIE9iamVjdC5wcm90b3R5cGUKK1BBU1MgSW50bC5OdW1iZXJGb3JtYXQucHJv
dG90eXBlLmNvbnN0cnVjdG9yIGlzIEludGwuTnVtYmVyRm9ybWF0CitQQVNTIEludGwuTnVtYmVy
Rm9ybWF0LnByb3RvdHlwZVtTeW1ib2wudG9TdHJpbmdUYWddIGlzICdPYmplY3QnCiBQQVNTIE9i
amVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUp
IGlzICdbb2JqZWN0IE9iamVjdF0nCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcpLndyaXRh
YmxlIGlzIGZhbHNlCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5O
dW1iZXJGb3JtYXQucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcpLmVudW1lcmFibGUgaXMg
ZmFsc2UKK1BBU1MgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJbnRsLk51bWJlckZv
cm1hdC5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZykuY29uZmlndXJhYmxlIGlzIHRydWUK
IFBBU1MgZGVmYXVsdE5Gb3JtYXQuZm9ybWF0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5OdW1iZXJGb3JtYXQucHJv
dG90eXBlLCAnZm9ybWF0JykuZ2V0IGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBl
LCAnZm9ybWF0Jykuc2V0IGlzIHVuZGVmaW5lZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMv
c2NyaXB0LXRlc3RzL2ludGwtY29sbGF0b3IuanMgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVz
dHMvaW50bC1jb2xsYXRvci5qcwppbmRleCAzNzgyYjJlZjgzYWQ1MDNlNDZhZWNjZjY2ODRmNmM4
OWRlOGE5NTVlLi5jYjNjY2YzNmE2Y2NmZjU3NDRmYzQ0NjhlNmY5YTVjYWE3Y2Q0MGEwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvaW50bC1jb2xsYXRvci5qcworKysg
Yi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvaW50bC1jb2xsYXRvci5qcwpAQCAtMjE1LDEw
ICsyMTUsMjEgQEAgZm9yICh2YXIgdmFsaWRMYW5ndWFnZVRhZyBvZiB2YWxpZExhbmd1YWdlVGFn
cykgewogCiAvLyAxMC4zIFByb3BlcnRpZXMgb2YgdGhlIEludGwuQ29sbGF0b3IgUHJvdG90eXBl
IE9iamVjdAogCi0vLyBpcyBhIHBsYWluIG9iamVjdAotc2hvdWxkQmUoIkludGwuQ29sbGF0b3Iu
cHJvdG90eXBlLmNvbnN0cnVjdG9yIiwgIk9iamVjdCIpOworLy8gVGhlIEludGwuQ29sbGF0b3Ig
cHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYW4gb3JkaW5hcnkgb2JqZWN0Lgogc2hvdWxkQmUo
Ik9iamVjdC5nZXRQcm90b3R5cGVPZihJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSkiLCAiT2JqZWN0
LnByb3RvdHlwZSIpOworCisvLyAxMC4zLjEgSW50bC5Db2xsYXRvci5wcm90b3R5cGUuY29uc3Ry
dWN0b3IKKy8vIFRoZSBpbml0aWFsIHZhbHVlIG9mIEludGwuQ29sbGF0b3IucHJvdG90eXBlLmNv
bnN0cnVjdG9yIGlzIHRoZSBpbnRyaW5zaWMgb2JqZWN0ICVDb2xsYXRvciUuCitzaG91bGRCZSgi
SW50bC5Db2xsYXRvci5wcm90b3R5cGUuY29uc3RydWN0b3IiLCAiSW50bC5Db2xsYXRvciIpOwor
CisvLyAxMC4zLjIgSW50bC5Db2xsYXRvci5wcm90b3R5cGUgWyBAQHRvU3RyaW5nVGFnIF0KKy8v
IFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBAQHRvU3RyaW5nVGFnIHByb3BlcnR5IGlzIHRoZSBz
dHJpbmcgdmFsdWUgIk9iamVjdCIuCitzaG91bGRCZSgiSW50bC5Db2xsYXRvci5wcm90b3R5cGVb
U3ltYm9sLnRvU3RyaW5nVGFnXSIsICInT2JqZWN0JyIpOwogc2hvdWxkQmUoIk9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcuY2FsbChJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSkiLCAiJ1tvYmplY3Qg
T2JqZWN0XSciKTsKKy8vIFRoaXMgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0
YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0
cnVlIH0uCitzaG91bGRCZUZhbHNlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKElu
dGwuQ29sbGF0b3IucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcpLndyaXRhYmxlIik7Citz
aG91bGRCZUZhbHNlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuQ29sbGF0
b3IucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcpLmVudW1lcmFibGUiKTsKK3Nob3VsZEJl
VHJ1ZSgiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJbnRsLkNvbGxhdG9yLnByb3Rv
dHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnKS5jb25maWd1cmFibGUiKTsKIAogLy8gMTAuMy4zIElu
dGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbXBhcmUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
anMvc2NyaXB0LXRlc3RzL2ludGwtZGF0ZXRpbWVmb3JtYXQuanMgYi9MYXlvdXRUZXN0cy9qcy9z
Y3JpcHQtdGVzdHMvaW50bC1kYXRldGltZWZvcm1hdC5qcwppbmRleCBjYmVlYzZjYWNmYWFkMzc5
ODBiMjgzNjA5NjU1ZGM0MjA1ZjEwY2I3Li5hMDA2OTkzYWI3MTA4MWFkNDEzODA3YTY1Yjk5Y2Y1
M2NiYjJmMTQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvaW50bC1k
YXRldGltZWZvcm1hdC5qcworKysgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvaW50bC1k
YXRldGltZWZvcm1hdC5qcwpAQCAtOTksMTQgKzk5LDI1IEBAIGZvciAodmFyIHZhbGlkTGFuZ3Vh
Z2VUYWcgb2YgdmFsaWRMYW5ndWFnZVRhZ3MpIHsKICAgICBzaG91bGROb3RUaHJvdygiSW50bC5E
YXRlVGltZUZvcm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YoJyIgKyB2YWxpZExhbmd1YWdlVGFnICsg
IicpIik7CiB9CiAKLS8vIDEyLjMgUHJvcGVydGllcyBvZiB0aGUgSW50bC5EYXRlVGltZUZvcm1h
dCBQcm90b3R5cGUgT2JqZWN0CisvLyAxMi40IFByb3BlcnRpZXMgb2YgdGhlIEludGwuRGF0ZVRp
bWVGb3JtYXQgUHJvdG90eXBlIE9iamVjdAogCi0vLyBpcyBhIHBsYWluIG9iamVjdAotc2hvdWxk
QmUoIkludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmNvbnN0cnVjdG9yIiwgIk9iamVjdCIp
OworLy8gVGhlIEludGwuRGF0ZVRpbWVGb3JtYXQgcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYg
YW4gb3JkaW5hcnkgb2JqZWN0Lgogc2hvdWxkQmUoIk9iamVjdC5nZXRQcm90b3R5cGVPZihJbnRs
LkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZSkiLCAiT2JqZWN0LnByb3RvdHlwZSIpOworCisvLyAx
Mi40LjEgSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IKKy8vIFRoZSBp
bml0aWFsIHZhbHVlIG9mIEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmNvbnN0cnVjdG9y
IGlzIHRoZSBpbnRyaW5zaWMgb2JqZWN0ICVEYXRlVGltZUZvcm1hdCUuCitzaG91bGRCZSgiSW50
bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IiLCAiSW50bC5EYXRlVGltZUZv
cm1hdCIpOworCisvLyAxMi40LjIgSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUgWyBAQHRv
U3RyaW5nVGFnIF0KKy8vIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBAQHRvU3RyaW5nVGFnIHBy
b3BlcnR5IGlzIHRoZSBzdHJpbmcgdmFsdWUgIk9iamVjdCIuCitzaG91bGRCZSgiSW50bC5EYXRl
VGltZUZvcm1hdC5wcm90b3R5cGVbU3ltYm9sLnRvU3RyaW5nVGFnXSIsICInT2JqZWN0JyIpOwog
c2hvdWxkQmUoIk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChJbnRsLkRhdGVUaW1lRm9y
bWF0LnByb3RvdHlwZSkiLCAiJ1tvYmplY3QgT2JqZWN0XSciKTsKKy8vIFRoaXMgcHJvcGVydHkg
aGFzIHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06
IGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCitzaG91bGRCZUZhbHNlKCJPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLCBT
eW1ib2wudG9TdHJpbmdUYWcpLndyaXRhYmxlIik7CitzaG91bGRCZUZhbHNlKCJPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLCBTeW1i
b2wudG9TdHJpbmdUYWcpLmVudW1lcmFibGUiKTsKK3Nob3VsZEJlVHJ1ZSgiT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZSwgU3ltYm9s
LnRvU3RyaW5nVGFnKS5jb25maWd1cmFibGUiKTsKIAotLy8gMTIuMy4zIEludGwuRGF0ZVRpbWVG
b3JtYXQucHJvdG90eXBlLmZvcm1hdAorLy8gMTIuNC4zIEludGwuRGF0ZVRpbWVGb3JtYXQucHJv
dG90eXBlLmZvcm1hdAogCiAvLyBUaGlzIG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IHJldHVybnMg
YSBmdW5jdGlvbiB0aGF0IGZvcm1hdHMgYSBkYXRlIGFjY29yZGluZyB0byB0aGUgZWZmZWN0aXZl
IGxvY2FsZSBhbmQgdGhlIGZvcm1hdHRpbmcgb3B0aW9ucyBvZiB0aGlzIERhdGVUaW1lRm9ybWF0
IG9iamVjdC4KIHZhciBkZWZhdWx0RFRGb3JtYXQgPSBJbnRsLkRhdGVUaW1lRm9ybWF0KCk7CkBA
IC02MDEsNCArNjEyLDMgQEAgc2hvdWxkQmUoYEpTT04uc3RyaW5naWZ5KAogICB7InR5cGUiOiJs
aXRlcmFsIiwidmFsdWUiOiIgIn0sCiAgIHsidHlwZSI6InRpbWVab25lTmFtZSIsInZhbHVlIjoi
UGFjaWZpYyBTdGFuZGFyZCBUaW1lIn0KIF0pYCkKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
anMvc2NyaXB0LXRlc3RzL2ludGwtbnVtYmVyZm9ybWF0LmpzIGIvTGF5b3V0VGVzdHMvanMvc2Ny
aXB0LXRlc3RzL2ludGwtbnVtYmVyZm9ybWF0LmpzCmluZGV4IGRkMTVlNzMyMjYwZGIwNTg2Mzdk
NjRiZmQ5MDNmNDViMzczMzFhNWQuLmFhMmFmOWZmMTY4ZTUwNzNlYzc4OTIzOTk4ZmU2Zjc0NTMy
MDJjOTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9pbnRsLW51bWJl
cmZvcm1hdC5qcworKysgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvaW50bC1udW1iZXJm
b3JtYXQuanMKQEAgLTIxNSwxNCArMjE1LDI1IEBAIGZvciAodmFyIHZhbGlkTGFuZ3VhZ2VUYWcg
b2YgdmFsaWRMYW5ndWFnZVRhZ3MpIHsKICAgICBzaG91bGROb3RUaHJvdygiSW50bC5OdW1iZXJG
b3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mKCciICsgdmFsaWRMYW5ndWFnZVRhZyArICInKSIpOwog
fQogCi0vLyAxMS4zIFByb3BlcnRpZXMgb2YgdGhlIEludGwuTnVtYmVyRm9ybWF0IFByb3RvdHlw
ZSBPYmplY3QKKy8vIDExLjQgUHJvcGVydGllcyBvZiB0aGUgSW50bC5OdW1iZXJGb3JtYXQgUHJv
dG90eXBlIE9iamVjdAogCi0vLyBpcyBhIHBsYWluIG9iamVjdAotc2hvdWxkQmUoIkludGwuTnVt
YmVyRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciIsICJPYmplY3QiKTsKKy8vIFRoZSBJbnRs
Lk51bWJlckZvcm1hdCBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhbiBvcmRpbmFyeSBvYmpl
Y3QuCiBzaG91bGRCZSgiT2JqZWN0LmdldFByb3RvdHlwZU9mKEludGwuTnVtYmVyRm9ybWF0LnBy
b3RvdHlwZSkiLCAiT2JqZWN0LnByb3RvdHlwZSIpOworCisvLyAxMS40LjEgSW50bC5OdW1iZXJG
b3JtYXQucHJvdG90eXBlLmNvbnN0cnVjdG9yCisvLyBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBJbnRs
Lk51bWJlckZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGludHJpbnNpYyBvYmpl
Y3QgJU51bWJlckZvcm1hdCUuCitzaG91bGRCZSgiSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBl
LmNvbnN0cnVjdG9yIiwgIkludGwuTnVtYmVyRm9ybWF0Iik7CisKKy8vIDExLjQuMiBJbnRsLk51
bWJlckZvcm1hdC5wcm90b3R5cGUgWyBAQHRvU3RyaW5nVGFnIF0KKy8vIFRoZSBpbml0aWFsIHZh
bHVlIG9mIHRoZSBAQHRvU3RyaW5nVGFnIHByb3BlcnR5IGlzIHRoZSBzdHJpbmcgdmFsdWUgIk9i
amVjdCIuCitzaG91bGRCZSgiSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlW1N5bWJvbC50b1N0
cmluZ1RhZ10iLCAiJ09iamVjdCciKTsKIHNob3VsZEJlKCJPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwoSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlKSIsICInW29iamVjdCBPYmplY3Rd
JyIpOworLy8gVGhpcyBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06
IGZhbHNlLCBbW0VudW1lcmFibGVdXTogZmFsc2UsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4K
K3Nob3VsZEJlRmFsc2UoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5OdW1i
ZXJGb3JtYXQucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcpLndyaXRhYmxlIik7CitzaG91
bGRCZUZhbHNlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuTnVtYmVyRm9y
bWF0LnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnKS5lbnVtZXJhYmxlIik7CitzaG91bGRC
ZVRydWUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5OdW1iZXJGb3JtYXQu
cHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcpLmNvbmZpZ3VyYWJsZSIpOwogCi0vLyAxMS4z
LjMgSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlLmZvcm1hdAorLy8gMTEuNC4zIEludGwuTnVt
YmVyRm9ybWF0LnByb3RvdHlwZS5mb3JtYXQKIAogLy8gVGhpcyBuYW1lZCBhY2Nlc3NvciBwcm9w
ZXJ0eSByZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBmb3JtYXRzIGEgbnVtYmVyIGFjY29yZGluZyB0
byB0aGUgZWZmZWN0aXZlIGxvY2FsZSBhbmQgdGhlIGZvcm1hdHRpbmcgb3B0aW9ucyBvZiB0aGlz
IE51bWJlckZvcm1hdCBvYmplY3QuCiB2YXIgZGVmYXVsdE5Gb3JtYXQgPSBJbnRsLk51bWJlckZv
cm1hdCgpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MDdlZjZhMjkxMmJiZGUyYmZiMGVlODU0M2U2NTIwOTNjODU4NTc2Li42M2I1ZTI1
YmJiZmM0NjM3NmJjYWRmNGI4NDhhNDJlMjEzNDQ2OWIxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0No
YW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA1
LTExICBBbmR5IFZhbldhZ29uZXIgIDxhbmR5QHZhbndhZ29uZXIuZmFtaWx5PgorCisgICAgICAg
IFtJTlRMXSBJbXByb3ZlIHNwZWMgJiB0ZXN0MjYyIGNvbXBsaWFuY2UgZm9yIEludGwgQVBJcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1NTc4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGlu
dGw0MDIgZmFpbHVyZXMgdGhhdCBoYXZlIGJlZW4gZml4ZWQuCisKKyAgICAgICAgKiB0ZXN0MjYy
L2V4cGVjdGF0aW9ucy55YW1sOgorICAgICAgICAqIHN0cmVzcy9yZWdyZXNzLTE3ODM4NS5qczog
dG9TdHJpbmdUYWcgaXMgY29uZmlndXJhYmxlLCBidXQgbm90IHdyaXRhYmxlLgorCiAyMDE4LTA1
LTExICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFtERkdd
IENvbXBpbGVyIHVzZXMgaW5jb3JyZWN0IG91dHB1dCByZWdpc3RlciBmb3IgTnVtYmVySXNJbnRl
Z2VyIG9wZXJhdGlvbgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvcmVncmVzcy0xNzgzODUu
anMgYi9KU1Rlc3RzL3N0cmVzcy9yZWdyZXNzLTE3ODM4NS5qcwppbmRleCA0M2E2MTQ1MWFkMzQ1
OWE3Mzc4NzQ3ZTA5NTQ4ODRiZDNkMmE1MDEyLi4xMGEyMDQ4M2EyZjdiNjA0MTJhYTVlNDhkMGM3
MDI5ODU3NmM3NDQ3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3N0cmVzcy9yZWdyZXNzLTE3ODM4NS5q
cworKysgYi9KU1Rlc3RzL3N0cmVzcy9yZWdyZXNzLTE3ODM4NS5qcwpAQCAtNiw3ICs2LDcgQEAg
dHJ5IHsKICAgICB2YXIgc3RyMCA9IG5ldyBTdHJpbmcoJ0BoQmcnKTsKICAgICB2YXIgY29sbGF0
MyA9IG5ldyBJbnRsLkNvbGxhdG9yKCk7CiAgICAgc3RyMTAgPSBzdHIwLnBhZEVuZCgweDdGRkZG
RkZDLCAxKTsKLSAgICBjb2xsYXQzW1N5bWJvbC50b1N0cmluZ1RhZ10gPSBzdHIxMDsKKyAgICBP
YmplY3QuZGVmaW5lUHJvcGVydHkoY29sbGF0MywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVl
OiBzdHIxMCB9KTsKICAgICBjb2xsYXQzLnRvTG9jYWxlU3RyaW5nKCk7CiB9IGNhdGNoIChlKSB7
CiAgICAgZXhjZXB0aW9uID0gZTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3Rh
dGlvbnMueWFtbCBiL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAppbmRleCA5OTc4
MjE5OTZjNzAyMGEzYjZjYWQ5MTE3MzBjY2IxNmRiOWU1YTJlLi5mZjNiZDM4NjI2MTRhMjFhZWQ1
ZTlmNzc5MGEzOWNlOGJmMDg2YWM2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0
YXRpb25zLnlhbWwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCkBAIC0x
ODUzLDU0ICsxODUzLDI3IEBAIHRlc3QvYnVpbHQtaW5zL3BhcnNlSW50L1MxNS4xLjIuMl9BMl9U
MTBfVTE4MEUuanM6CiB0ZXN0L2hhcm5lc3MvYXNzZXJ0LXRocm93cy1lYXJseS1yZWZlcmVuY2Vl
cnJvci5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRnVuY3Rpb246IDEgPSAxOyBFeHBl
Y3RlZCBhIFJlZmVyZW5jZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0
aHJvd24gYXQgYWxsJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRnVuY3Rpb246IDEg
PSAxOyBFeHBlY3RlZCBhIFJlZmVyZW5jZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0
aW9uIHdhcyB0aHJvd24gYXQgYWxsJwotdGVzdC9pbnRsNDAyL0NvbGxhdG9yL2RlZmF1bHQtb3B0
aW9ucy1vYmplY3QtcHJvdG90eXBlLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCBTYW1lVmFsdWUow4LCq2Jhc2XDgsK7LCDDgsKrdmFyaWFudMOCwrspIHRvIGJlIHRydWUn
Ci0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUow4LCq2Jh
c2XDgsK7LCDDgsKrdmFyaWFudMOCwrspIHRvIGJlIHRydWUnCiB0ZXN0L2ludGw0MDIvQ29sbGF0
b3IvbGVuZ3RoLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBvYmpbbGVu
Z3RoXSB0byBoYXZlIGNvbmZpZ3VyYWJsZTp0cnVlLicKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYy
RXJyb3I6IEV4cGVjdGVkIG9ialtsZW5ndGhdIHRvIGhhdmUgY29uZmlndXJhYmxlOnRydWUuJwog
dGVzdC9pbnRsNDAyL0NvbGxhdG9yL3Byb3RvdHlwZS9jb21wYXJlL2NvbXBhcmUtZnVuY3Rpb24t
bmFtZS5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMOC
wqt0cnVlw4LCuywgw4LCq2ZhbHNlw4LCuykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdU
ZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKrdHJ1ZcOCwrssIMOCwqtmYWxzZcOC
wrspIHRvIGJlIHRydWUnCi10ZXN0L2ludGw0MDIvQ29sbGF0b3IvcHJvdG90eXBlL2NvbnN0cnVj
dG9yL3Byb3AtZGVzYy5qczoKLSAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
b2JqLCBuYW1lKS5lbnVtZXJhYmxlJykiCi0gIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihvYmosIG5hbWUpLmVudW1lcmFibGUnKSIKLXRlc3QvaW50bDQwMi9Db2xsYXRv
ci9wcm90b3R5cGUvY29uc3RydWN0b3IvdmFsdWUuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IEludGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIG5vdCB0aGUgc2FtZSBh
cyBJbnRsLkNvbGxhdG9yIEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKrZnVuY3Rpb24gT2JqZWN0KCkg
eycKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEludGwuQ29sbGF0b3IucHJvdG90eXBl
LmNvbnN0cnVjdG9yIGlzIG5vdCB0aGUgc2FtZSBhcyBJbnRsLkNvbGxhdG9yIEV4cGVjdGVkIFNh
bWVWYWx1ZSjDgsKrZnVuY3Rpb24gT2JqZWN0KCkgeycKIHRlc3QvaW50bDQwMi9Db2xsYXRvci91
bmljb2RlLWV4dC1zZXEtaW4tcHJpdmF0ZS10YWcuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKrcGhvbmVia8OCwrssIMOCwqtkZWZhdWx0w4LCuykg
dG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVW
YWx1ZSjDgsKrcGhvbmVia8OCwrssIMOCwqtkZWZhdWx0w4LCuykgdG8gYmUgdHJ1ZScKIHRlc3Qv
aW50bDQwMi9EYXRlVGltZUZvcm1hdC9sZW5ndGguanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IEV4cGVjdGVkIG9ialtsZW5ndGhdIHRvIGhhdmUgY29uZmlndXJhYmxlOnRydWUuJwogICBz
dHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgb2JqW2xlbmd0aF0gdG8gaGF2ZSBj
b25maWd1cmFibGU6dHJ1ZS4nCi10ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBl
L2NvbnN0cnVjdG9yL3Byb3AtZGVzYy5qczoKLSAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Iob2JqLCBuYW1lKS5lbnVtZXJhYmxlJykiCi0gIHN0cmljdCBtb2RlOiAiVHlwZUVy
cm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG5hbWUpLmVudW1lcmFibGUnKSIKLXRlc3QvaW50bDQw
Mi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvY29uc3RydWN0b3IvdmFsdWUuanM6Ci0gIGRlZmF1
bHQ6ICdUZXN0MjYyRXJyb3I6IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmNvbnN0cnVj
dG9yIGlzIG5vdCB0aGUgc2FtZSBhcyBJbnRsLkRhdGVUaW1lRm9ybWF0IEV4cGVjdGVkIFNhbWVW
YWx1ZSjDgsKrZnVuY3Rpb24gT2JqZWN0KCkgeycKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJy
b3I6IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIG5vdCB0aGUg
c2FtZSBhcyBJbnRsLkRhdGVUaW1lRm9ybWF0IEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKrZnVuY3Rp
b24gT2JqZWN0KCkgeycKIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9y
bWF0L2Zvcm1hdC1mdW5jdGlvbi1uYW1lLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCBTYW1lVmFsdWUow4LCq3RydWXDgsK7LCDDgsKrZmFsc2XDgsK7KSB0byBiZSB0cnVl
JwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqt0
cnVlw4LCuywgw4LCq2ZhbHNlw4LCuykgdG8gYmUgdHJ1ZScKIHRlc3QvaW50bDQwMi9EYXRlVGlt
ZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3Byb2xlcHRpYy1ncmVnb3JpYW4tY2FsZW5kYXIuanM6
CiAgIGRlZmF1bHQ6ICJUZXN0MjYyRXJyb3I6IEludGVybmFsIGVycm9yOiBEaWRuJ3QgZmluZCBH
cmVnb3JpYW4gY2FsZW5kYXIgRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqtncmVnb3JpYW7DgsK7LCDD
gsKrZ3JlZ29yecOCwrspIHRvIGJlIHRydWUiCiAgIHN0cmljdCBtb2RlOiAiVGVzdDI2MkVycm9y
OiBJbnRlcm5hbCBlcnJvcjogRGlkbid0IGZpbmQgR3JlZ29yaWFuIGNhbGVuZGFyIEV4cGVjdGVk
IFNhbWVWYWx1ZSjDgsKrZ3JlZ29yaWFuw4LCuywgw4LCq2dyZWdvcnnDgsK7KSB0byBiZSB0cnVl
IgotdGVzdC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQvdGltZS1jbGlw
LW5lYXItdGltZS1ib3VuZGFyaWVzLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCBhIFJhbmdlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93
biBhdCBhbGwnCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFJhbmdl
RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCi10
ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC90aW1lLWNsaXAtdG8t
aW50ZWdlci5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogZm9ybWF0KC0wLjkpIEV4cGVj
dGVkIFNhbWVWYWx1ZSjDgsKrODo1OTo1OSBQTcOCwrssIMOCwqs5OjAwOjAwIFBNw4LCuykgdG8g
YmUgdHJ1ZScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IGZvcm1hdCgtMC45KSBFeHBl
Y3RlZCBTYW1lVmFsdWUow4LCqzg6NTk6NTkgUE3DgsK7LCDDgsKrOTowMDowMCBQTcOCwrspIHRv
IGJlIHRydWUnCiB0ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRv
UGFydHMvbGVuZ3RoLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1l
VmFsdWUow4LCqzDDgsK7LCDDgsKrMcOCwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAn
VGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUow4LCqzDDgsK7LCDDgsKrMcOCwrspIHRv
IGJlIHRydWUnCi10ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRv
UGFydHMvdGltZS1jbGlwLW5lYXItdGltZS1ib3VuZGFyaWVzLmpzOgotICBkZWZhdWx0OiAnVGVz
dDI2MkVycm9yOiBFeHBlY3RlZCBhIFJhbmdlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNl
cHRpb24gd2FzIHRocm93biBhdCBhbGwnCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCBhIFJhbmdlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRo
cm93biBhdCBhbGwnCi10ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1h
dFRvUGFydHMvdGltZS1jbGlwLXRvLWludGVnZXIuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IGZvcm1hdFRvUGFydHMoLTAuOSkgRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqs4OjU5OjU5IFBN
w4LCuywgw4LCqzk6MDA6MDAgUE3DgsK7KSB0byBiZSB0cnVlJwotICBzdHJpY3QgbW9kZTogJ1Rl
c3QyNjJFcnJvcjogZm9ybWF0VG9QYXJ0cygtMC45KSBFeHBlY3RlZCBTYW1lVmFsdWUow4LCqzg6
NTk6NTkgUE3DgsK7LCDDgsKrOTowMDowMCBQTcOCwrspIHRvIGJlIHRydWUnCiB0ZXN0L2ludGw0
MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL3Jlc29sdmVkT3B0aW9ucy9iYXNpYy5qczoKICAg
ZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogSW52YWxpZCBjYWxlbmRhcjogZ3JlZ29yaWFuIEV4cGVj
dGVkIFNhbWVWYWx1ZSjDgsKrLTHDgsK7LCDDgsKrLTHDgsK7KSB0byBiZSBmYWxzZScKICAgc3Ry
aWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEludmFsaWQgY2FsZW5kYXI6IGdyZWdvcmlhbiBFeHBl
Y3RlZCBTYW1lVmFsdWUow4LCqy0xw4LCuywgw4LCqy0xw4LCuykgdG8gYmUgZmFsc2UnCkBAIC0x
OTg1LDI0ICsxOTU4LDEyIEBAIHRlc3QvaW50bDQwMi9Mb2NhbGUvcHJvdG90eXBlL3Byb3AtZGVz
Yy5qczoKIHRlc3QvaW50bDQwMi9Mb2NhbGUvcHJvdG90eXBlL3RvU3RyaW5nVGFnLmpzOgogICBk
ZWZhdWx0OiAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnSW50bC5Mb2NhbGUucHJvdG90eXBlJykiCiAgIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnSW50bC5Mb2NhbGUucHJvdG90
eXBlJykiCi10ZXN0L2ludGw0MDIvTnVtYmVyL3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9kZWZh
dWx0LW9wdGlvbnMtb2JqZWN0LXByb3RvdHlwZS5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJv
cjogRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqsxLjLDgsK7LCDDgsKrMS4yM8OCwrspIHRvIGJlIHRy
dWUnCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUow4LC
qzEuMsOCwrssIMOCwqsxLjIzw4LCuykgdG8gYmUgdHJ1ZScKIHRlc3QvaW50bDQwMi9OdW1iZXIv
cHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL3JldHVybnMtc2FtZS1yZXN1bHRzLWFzLU51bWJlckZv
cm1hdC5qczoKICAgZGVmYXVsdDogJ0Vycm9yOiBGYWlsZWQgdG8gZm9ybWF0IGEgbnVtYmVyLicK
ICAgc3RyaWN0IG1vZGU6ICdFcnJvcjogRmFpbGVkIHRvIGZvcm1hdCBhIG51bWJlci4nCi10ZXN0
L2ludGw0MDIvTnVtYmVyRm9ybWF0L2RlZmF1bHQtb3B0aW9ucy1vYmplY3QtcHJvdG90eXBlLmpz
OgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUow4LCqzHDgsK7
LCDDgsKrM8OCwrspIHRvIGJlIHRydWUnCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCBTYW1lVmFsdWUow4LCqzHDgsK7LCDDgsKrM8OCwrspIHRvIGJlIHRydWUnCiB0ZXN0
L2ludGw0MDIvTnVtYmVyRm9ybWF0L2xlbmd0aC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJv
cjogRXhwZWN0ZWQgb2JqW2xlbmd0aF0gdG8gaGF2ZSBjb25maWd1cmFibGU6dHJ1ZS4nCiAgIHN0
cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBvYmpbbGVuZ3RoXSB0byBoYXZlIGNv
bmZpZ3VyYWJsZTp0cnVlLicKLXRlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Nv
bnN0cnVjdG9yL3Byb3AtZGVzYy5qczoKLSAgZGVmYXVsdDogIlR5cGVFcnJvcjogdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3Iob2JqLCBuYW1lKS5lbnVtZXJhYmxlJykiCi0gIHN0cmljdCBtb2RlOiAiVHlwZUVycm9y
OiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihvYmosIG5hbWUpLmVudW1lcmFibGUnKSIKLXRlc3QvaW50bDQwMi9O
dW1iZXJGb3JtYXQvcHJvdG90eXBlL2NvbnN0cnVjdG9yL3ZhbHVlLmpzOgotICBkZWZhdWx0OiAn
VGVzdDI2MkVycm9yOiBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMg
bm90IHRoZSBzYW1lIGFzIEludGwuTnVtYmVyRm9ybWF0IEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKr
ZnVuY3Rpb24gT2JqZWN0KCkgeycKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEludGwu
TnVtYmVyRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyBub3QgdGhlIHNhbWUgYXMgSW50
bC5OdW1iZXJGb3JtYXQgRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqtmdW5jdGlvbiBPYmplY3QoKSB7
JwogdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L2JvdW5kLXRvLW51
bWJlcmZvcm1hdC1pbnN0YW5jZS5qczoKICAgZGVmYXVsdDogJ0Vycm9yOiBGYWlsZWQgdG8gZm9y
bWF0IGEgbnVtYmVyLicKICAgc3RyaWN0IG1vZGU6ICdFcnJvcjogRmFpbGVkIHRvIGZvcm1hdCBh
IG51bWJlci4nCkBAIC0yMDQyLDEyICsyMDAzLDYgQEAgdGVzdC9pbnRsNDAyL1BsdXJhbFJ1bGVz
L2RlZmF1bHQtb3B0aW9ucy1vYmplY3QtcHJvdG90eXBlLmpzOgogdGVzdC9pbnRsNDAyL1BsdXJh
bFJ1bGVzL2xlbmd0aC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgb2Jq
W2xlbmd0aF0gdG8gaGF2ZSBjb25maWd1cmFibGU6dHJ1ZS4nCiAgIHN0cmljdCBtb2RlOiAnVGVz
dDI2MkVycm9yOiBFeHBlY3RlZCBvYmpbbGVuZ3RoXSB0byBoYXZlIGNvbmZpZ3VyYWJsZTp0cnVl
LicKLXRlc3QvaW50bDQwMi9QbHVyYWxSdWxlcy9wcm90b3R5cGUvY29uc3RydWN0b3IvcHJvcC1k
ZXNjLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBvYmpbY29uc3RydWN0
b3JdIHRvIGhhdmUgY29uZmlndXJhYmxlOnRydWUuJwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJF
cnJvcjogRXhwZWN0ZWQgb2JqW2NvbnN0cnVjdG9yXSB0byBoYXZlIGNvbmZpZ3VyYWJsZTp0cnVl
LicKLXRlc3QvaW50bDQwMi9TdHJpbmcvcHJvdG90eXBlL2xvY2FsZUNvbXBhcmUvZGVmYXVsdC1v
cHRpb25zLW9iamVjdC1wcm90b3R5cGUuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4
cGVjdGVkIFNhbWVWYWx1ZSjDgsKrMMOCwrssIMOCwqstMcOCwrspIHRvIGJlIHRydWUnCi0gIHN0
cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUow4LCqzDDgsK7LCDD
gsKrLTHDgsK7KSB0byBiZSB0cnVlJwogdGVzdC9pbnRsNDAyL1R5cGVkQXJyYXkvcHJvdG90eXBl
L3RvTG9jYWxlU3RyaW5nL2NhbGxzLXRvTG9jYWxlU3RyaW5nLW51bWJlci1lbGVtZW50cy5qczoK
ICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMOCwqsww4LCuywg
w4LCq8OgwrnCkC7DoMK5wpDDoMK5wpDDoMK5wpDDgsK7KSB0byBiZSB0cnVlIChUZXN0aW5nIHdp
dGggRmxvYXQ2NEFycmF5LiknCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3Rl
ZCBTYW1lVmFsdWUow4LCqzDDgsK7LCDDgsKrw6DCucKQLsOgwrnCkMOgwrnCkMOgwrnCkMOCwrsp
IHRvIGJlIHRydWUgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKQEAgLTIwNTcsMTUgKzIw
MTIsNiBAQCB0ZXN0L2ludGw0MDIvZmFsbGJhY2stbG9jYWxlcy1hcmUtc3VwcG9ydGVkLmpzOgog
dGVzdC9pbnRsNDAyL2xhbmd1YWdlLXRhZ3MtY2Fub25pY2FsaXplZC5qczoKICAgZGVmYXVsdDog
J1Rlc3QyNjJFcnJvcjogRm9yIGRlLUREIGdvdCBkZS1ERDsgZXhwZWN0ZWQgZGUtREUuIChUZXN0
aW5nIHdpdGggQ29sbGF0b3IuKScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEZvciBk
ZS1ERCBnb3QgZGUtREQ7IGV4cGVjdGVkIGRlLURFLiAoVGVzdGluZyB3aXRoIENvbGxhdG9yLikn
Ci10ZXN0L2ludGw0MDIvc3VwcG9ydGVkTG9jYWxlc09mLXJldHVybmVkLWFycmF5LWVsZW1lbnRz
LWFyZS1mcm96ZW4uanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IFByb3BlcnR5IGxlbmd0
aCBvZiBvYmplY3QgcmV0dXJuZWQgYnkgU3VwcG9ydGVkTG9jYWxlcyBpcyB3cml0YWJsZS4gRXhw
ZWN0ZWQgU2FtZVZhbHVlKMOCwqt0cnVlw4LCuywgw4LCq2ZhbHNlw4LCuykgdG8gYmUgdHJ1ZSAo
VGVzdGluZyB3aXRoIENvbGxhdG9yLiknCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBQ
cm9wZXJ0eSBsZW5ndGggb2Ygb2JqZWN0IHJldHVybmVkIGJ5IFN1cHBvcnRlZExvY2FsZXMgaXMg
d3JpdGFibGUuIEV4cGVjdGVkIFNhbWVWYWx1ZSjDgsKrdHJ1ZcOCwrssIMOCwqtmYWxzZcOCwrsp
IHRvIGJlIHRydWUgKFRlc3Rpbmcgd2l0aCBDb2xsYXRvci4pJwotdGVzdC9pbnRsNDAyL3N1cHBv
cnRlZExvY2FsZXNPZi10YWludC1BcnJheS0yLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9y
OiBDbGllbnQgY29kZSBjYW4gYWR2ZXJzZWx5IGFmZmVjdCBiZWhhdmlvcjogc2V0dGVyIGZvciAw
LiAoVGVzdGluZyB3aXRoIENvbGxhdG9yLiknCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9y
OiBDbGllbnQgY29kZSBjYW4gYWR2ZXJzZWx5IGFmZmVjdCBiZWhhdmlvcjogc2V0dGVyIGZvciAw
LiAoVGVzdGluZyB3aXRoIENvbGxhdG9yLiknCi10ZXN0L2ludGw0MDIvc3VwcG9ydGVkTG9jYWxl
c09mLXRhaW50LUFycmF5LmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBDbGllbnQgY29k
ZSBjYW4gYWR2ZXJzZWx5IGFmZmVjdCBiZWhhdmlvcjogc2V0dGVyIGZvciAwLiAoVGVzdGluZyB3
aXRoIENvbGxhdG9yLiknCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBDbGllbnQgY29k
ZSBjYW4gYWR2ZXJzZWx5IGFmZmVjdCBiZWhhdmlvcjogc2V0dGVyIGZvciAwLiAoVGVzdGluZyB3
aXRoIENvbGxhdG9yLiknCiB0ZXN0L2xhbmd1YWdlL2FyZ3VtZW50cy1vYmplY3QvbWFwcGVkL25v
bmNvbmZpZ3VyYWJsZS1ub25lbnVtZXJhYmxlLW5vbndyaXRhYmxlLWRlc2NyaXB0b3JzLXNldC1i
eS1hcmd1bWVudHMuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIG9ialsw
XSB0byBoYXZlIGVudW1lcmFibGU6ZmFsc2UuJwogdGVzdC9sYW5ndWFnZS9hcmd1bWVudHMtb2Jq
ZWN0L21hcHBlZC9ub25jb25maWd1cmFibGUtbm9uZW51bWVyYWJsZS1ub253cml0YWJsZS1kZXNj
cmlwdG9ycy1zZXQtYnktcGFyYW0uanM6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>