<?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>87960</bug_id>
          
          <creation_ts>2012-05-31 05:31:19 -0700</creation_ts>
          <short_desc>Web Inspector: [WebGL] Add WebGL instrumentation support on the backend</short_desc>
          <delta_ts>2012-06-06 01:49:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>87959</blocked>
    
    <blocked>87975</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Andrey Adaikin">aandrey</reporter>
          <assigned_to name="Andrey Adaikin">aandrey</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>caseq</cc>
    
    <cc>dino</cc>
    
    <cc>eustas.bug</cc>
    
    <cc>gustavo</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>philn</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rakuco</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>638277</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-05-31 05:31:19 -0700</bug_when>
    <thetext>Adding WebGL instrumentation support on the backend side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638289</commentid>
    <comment_count>1</comment_count>
      <attachid>145064</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-05-31 05:46:33 -0700</bug_when>
    <thetext>Created attachment 145064
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638310</commentid>
    <comment_count>2</comment_count>
      <attachid>145064</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-31 06:13:49 -0700</bug_when>
    <thetext>Comment on attachment 145064
Patch

Attachment 145064 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12859347</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638312</commentid>
    <comment_count>3</comment_count>
      <attachid>145064</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2012-05-31 06:16:01 -0700</bug_when>
    <thetext>Comment on attachment 145064
Patch

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

&gt; Source/WebCore/DerivedSources.pri:779
&gt; +InjectedWebGLScriptSource.commands = perl $$PWD/inspector/xxd.pl InjectedWebGLScriptSource_js $$PWD/inspector/InjectedWebGLScriptSource.js ${QMAKE_FILE_OUT}

$$PWD/inspector/InjectedWebGLScriptSource.js -- &gt; ${QMAKE_FILE_IN}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638352</commentid>
    <comment_count>4</comment_count>
      <attachid>145064</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-05-31 06:48:18 -0700</bug_when>
    <thetext>Comment on attachment 145064
Patch

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

&gt; Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp:81
&gt; +    if (context-&gt;is3d() &amp;&amp; InspectorInstrumentation::isWebGLInspectorEnabled(canvas-&gt;document())) {
&gt; +        ScriptObject wrapped = InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation(static_cast&lt;WebGLRenderingContext*&gt;(context));

Can we merge isWebGLInspectorEnabled() and wrapWebGLRenderingContextForInstrumentation() into one call, e.g. wrapWebGLRenderingContextForInstrumentationIfNecessary()?

&gt; Source/WebCore/bindings/js/JSInjectedScriptManager.cpp:87
&gt; +    // FIXME: Implement this!

Please file a bug to have this implemented.

&gt; Source/WebCore/bindings/v8/custom/V8InjectedScriptManager.cpp:62
&gt; +template&lt;typename T&gt; static v8::Local&lt;v8::Object&gt; toV8InLocalContext(v8::Handle&lt;v8::FunctionTemplate&gt; functionTemplate, WrapperTypeInfo* type, T* cptr)

We avoid abbreviations in WebKit, please find a more descriptive name for cptr.

&gt; Source/WebCore/inspector/InjectedScriptManager.cpp:42
&gt; +#if ENABLE(WEBGL)
&gt; +#include &quot;InjectedWebGLScriptSource.h&quot;
&gt; +#endif

Is this really necessary?

&gt; Source/WebCore/inspector/InjectedScriptManager.cpp:182
&gt; +    ScriptObject injectedWebGLScript = injectWebGLContextWrapperScript(injectedWebGLScriptSource(), scriptState);
&gt; +    return executeInjectedWebGLContextWrapperScript(&amp;injectedWebGLScript, scriptState, glContext);

Do we ever call any of these two function independently?

&gt; Source/WebCore/inspector/InjectedWebGLScriptSource.js:2
&gt; + * Copyright (C) 2012 Apple Inc.  All rights reserved.

Google copyright, please :)

&gt; Source/WebCore/inspector/InspectorWebGLAgent.cpp:60
&gt; +    m_instrumentingAgents = 0;

This appears redundant. I know we occasionally do this in other places, but I don&apos;t see justification for this there either.

&gt; Source/WebCore/inspector/InspectorWebGLInstrumentation.h:47
&gt; +    if (InstrumentingAgents * instrumentingAgents = instrumentingAgentsForDocument(document)) {

InstrumentingAgents * =&gt; InstrumentingAgents*

&gt; Source/WebCore/inspector/InspectorWebGLInstrumentation.h:48
&gt; +        if (InspectorWebGLAgent * webGLAgent = instrumentingAgents-&gt;inspectorWebGLAgent())

ditto

&gt; Source/WebCore/inspector/InspectorWebGLInstrumentation.h:59
&gt; +    if (InstrumentingAgents * instrumentingAgents = instrumentingAgentsForDocument(glContext-&gt;canvas()-&gt;document())) {

ditto

&gt; Source/WebCore/inspector/InspectorWebGLInstrumentation.h:60
&gt; +        if (InspectorWebGLAgent * webGLAgent = instrumentingAgents-&gt;inspectorWebGLAgent())

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638371</commentid>
    <comment_count>5</comment_count>
      <attachid>145064</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-05-31 07:04:44 -0700</bug_when>
    <thetext>Comment on attachment 145064
Patch

r- per Andrey&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638999</commentid>
    <comment_count>6</comment_count>
      <attachid>145064</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-05-31 23:40:25 -0700</bug_when>
    <thetext>Comment on attachment 145064
Patch

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

&gt;&gt; Source/WebCore/DerivedSources.pri:779
&gt;&gt; +InjectedWebGLScriptSource.commands = perl $$PWD/inspector/xxd.pl InjectedWebGLScriptSource_js $$PWD/inspector/InjectedWebGLScriptSource.js ${QMAKE_FILE_OUT}
&gt; 
&gt; $$PWD/inspector/InjectedWebGLScriptSource.js -- &gt; ${QMAKE_FILE_IN}

Done.

&gt;&gt; Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp:81
&gt;&gt; +        ScriptObject wrapped = InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation(static_cast&lt;WebGLRenderingContext*&gt;(context));
&gt; 
&gt; Can we merge isWebGLInspectorEnabled() and wrapWebGLRenderingContextForInstrumentation() into one call, e.g. wrapWebGLRenderingContextForInstrumentationIfNecessary()?

Removed isWebGLInspectorEnabled.

&gt;&gt; Source/WebCore/bindings/js/JSInjectedScriptManager.cpp:87
&gt;&gt; +    // FIXME: Implement this!
&gt; 
&gt; Please file a bug to have this implemented.

Filed https://bugs.webkit.org/show_bug.cgi?id=87975

&gt;&gt; Source/WebCore/bindings/v8/custom/V8InjectedScriptManager.cpp:62
&gt;&gt; +template&lt;typename T&gt; static v8::Local&lt;v8::Object&gt; toV8InLocalContext(v8::Handle&lt;v8::FunctionTemplate&gt; functionTemplate, WrapperTypeInfo* type, T* cptr)
&gt; 
&gt; We avoid abbreviations in WebKit, please find a more descriptive name for cptr.

Done. cptr -&gt; nativeObject

&gt;&gt; Source/WebCore/inspector/InjectedScriptManager.cpp:42
&gt;&gt; +#endif
&gt; 
&gt; Is this really necessary?

Yes, for the InjectedWebGLScriptSource_js variable

&gt;&gt; Source/WebCore/inspector/InjectedScriptManager.cpp:182
&gt;&gt; +    return executeInjectedWebGLContextWrapperScript(&amp;injectedWebGLScript, scriptState, glContext);
&gt; 
&gt; Do we ever call any of these two function independently?

No. Merged into one injectWebGLScript()

&gt;&gt; Source/WebCore/inspector/InjectedWebGLScriptSource.js:2
&gt;&gt; + * Copyright (C) 2012 Apple Inc.  All rights reserved.
&gt; 
&gt; Google copyright, please :)

Done.

&gt;&gt; Source/WebCore/inspector/InspectorWebGLAgent.cpp:60
&gt;&gt; +    m_instrumentingAgents = 0;
&gt; 
&gt; This appears redundant. I know we occasionally do this in other places, but I don&apos;t see justification for this there either.

What exactly is redundant? Only the last line, or both?
As far as I see, it is to avoid a circular dependency, and both lines are &quot;symmetrical&quot; in that sense. If this is the case, I&apos;d suggest preserving the symmetry, although it may be redundant.

&gt;&gt; Source/WebCore/inspector/InspectorWebGLInstrumentation.h:47
&gt;&gt; +    if (InstrumentingAgents * instrumentingAgents = instrumentingAgentsForDocument(document)) {
&gt; 
&gt; InstrumentingAgents * =&gt; InstrumentingAgents*

Done.

&gt;&gt; Source/WebCore/inspector/InspectorWebGLInstrumentation.h:48
&gt;&gt; +        if (InspectorWebGLAgent * webGLAgent = instrumentingAgents-&gt;inspectorWebGLAgent())
&gt; 
&gt; ditto

Done.

&gt;&gt; Source/WebCore/inspector/InspectorWebGLInstrumentation.h:59
&gt;&gt; +    if (InstrumentingAgents * instrumentingAgents = instrumentingAgentsForDocument(glContext-&gt;canvas()-&gt;document())) {
&gt; 
&gt; ditto

Done.

&gt;&gt; Source/WebCore/inspector/InspectorWebGLInstrumentation.h:60
&gt;&gt; +        if (InspectorWebGLAgent * webGLAgent = instrumentingAgents-&gt;inspectorWebGLAgent())
&gt; 
&gt; ditto

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639004</commentid>
    <comment_count>7</comment_count>
      <attachid>145219</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-05-31 23:44:27 -0700</bug_when>
    <thetext>Created attachment 145219
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639040</commentid>
    <comment_count>8</comment_count>
      <attachid>145219</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-01 00:25:31 -0700</bug_when>
    <thetext>Comment on attachment 145219
Patch

Attachment 145219 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12866431</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639062</commentid>
    <comment_count>9</comment_count>
      <attachid>145233</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-01 00:52:42 -0700</bug_when>
    <thetext>Created attachment 145233
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639073</commentid>
    <comment_count>10</comment_count>
      <attachid>145219</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-06-01 01:11:02 -0700</bug_when>
    <thetext>Comment on attachment 145219
Patch

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

&gt; Source/WebCore/bindings/js/JSInjectedScriptManager.cpp:87
&gt; +    // FIXME: Implement this!

Please file a bug against JSC and put its number after the fixme.

&gt; Source/WebCore/bindings/v8/custom/V8InjectedScriptManager.cpp:138
&gt; +    windowGlobal-&gt;SetHiddenValue(key, v);

I don&apos;t think you need to store the function in a hidden property. As I understand it is called only once to wrap glContextObject and then you use the wrapper. If so the hidden property is not needed. Please explain what the expected behavior is here.

&gt; Source/WebCore/inspector/InspectorWebGLAgent.cpp:100
&gt; +    ScriptState* scriptState = mainWorldScriptState(glContext-&gt;canvas()-&gt;document()-&gt;frame());

You should pass ScriptState as an explicit parameter. It is known in the bindings, you will need to covert v8::Context into ScriptState though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639123</commentid>
    <comment_count>11</comment_count>
      <attachid>145219</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-01 02:33:06 -0700</bug_when>
    <thetext>Comment on attachment 145219
Patch

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

&gt;&gt; Source/WebCore/bindings/js/JSInjectedScriptManager.cpp:87
&gt;&gt; +    // FIXME: Implement this!
&gt; 
&gt; Please file a bug against JSC and put its number after the fixme.

Done.

&gt;&gt; Source/WebCore/bindings/v8/custom/V8InjectedScriptManager.cpp:138
&gt;&gt; +    windowGlobal-&gt;SetHiddenValue(key, v);
&gt; 
&gt; I don&apos;t think you need to store the function in a hidden property. As I understand it is called only once to wrap glContextObject and then you use the wrapper. If so the hidden property is not needed. Please explain what the expected behavior is here.

Removed caching in the hidden property.

&gt;&gt; Source/WebCore/inspector/InspectorWebGLAgent.cpp:100
&gt;&gt; +    ScriptState* scriptState = mainWorldScriptState(glContext-&gt;canvas()-&gt;document()-&gt;frame());
&gt; 
&gt; You should pass ScriptState as an explicit parameter. It is known in the bindings, you will need to covert v8::Context into ScriptState though.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639133</commentid>
    <comment_count>12</comment_count>
      <attachid>145251</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-01 02:53:32 -0700</bug_when>
    <thetext>Created attachment 145251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639150</commentid>
    <comment_count>13</comment_count>
      <attachid>145251</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-01 03:18:44 -0700</bug_when>
    <thetext>Comment on attachment 145251
Patch

Attachment 145251 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12873223</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639158</commentid>
    <comment_count>14</comment_count>
      <attachid>145251</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-06-01 03:33:29 -0700</bug_when>
    <thetext>Comment on attachment 145251
Patch

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

&gt; Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp:82
&gt; +        if (wrapped.jsValue().isObject())

Drop the .jsValue(). Just wrapped.isObject(). It&apos;s cleaner.

&gt; Source/WebCore/bindings/js/JSInjectedScriptManager.cpp:46
&gt; +#include &quot;JSWebGLRenderingContext.h&quot;

This could be replaced with forward declaration for the time being, I guess?

&gt; Source/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:94
&gt; +        if (!wrapped.v8Value().IsEmpty())

ditto.

&gt; Source/WebCore/bindings/v8/custom/V8InjectedScriptManager.cpp:144
&gt; +    v8::Local&lt;v8::Value&gt; injectedScriptValue = v8::Function::Cast(*v)-&gt;Call(windowGlobal, 1, args);

IIRC, this will crash if !v-&gt;IsFunction(). This might be ok given the assert above, but considering this may result from any JS error in a frequently modified injected script, we may want to fail more gracefully.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639160</commentid>
    <comment_count>15</comment_count>
      <attachid>145251</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-06-01 03:36:12 -0700</bug_when>
    <thetext>Comment on attachment 145251
Patch

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

&gt; Source/WebCore/CMakeLists.txt:2602
&gt; +ADD_CUSTOM_COMMAND(

Should we check if WebGL is enabled here?

&gt; Source/WebCore/bindings/js/JSInjectedScriptManager.cpp:87
&gt; +    // FIXME(87975): Implement this!

It shouldn&apos;t be hard to implement this for JSC, we already do similar things with the inspector injected script.

&gt; Source/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:94
&gt; +        if (!wrapped.v8Value().IsEmpty())

This code will create ScriptState instance for all contexts even if WebGL instrumentation is disabled. This should be fixed. We should probably check if WebGL inspection is enabled before getting ScriptState.

&gt; Source/WebCore/bindings/v8/custom/V8InjectedScriptManager.cpp:-60
&gt; -    v8::Local&lt;v8::Function&gt; function = V8InjectedScriptHost::GetTemplate()-&gt;GetFunction();

These changes are not needed anymore, please revert them if so.

&gt; Source/WebCore/bindings/v8/custom/V8InjectedScriptManager.cpp:129
&gt; +    v8::Local&lt;v8::Object&gt; glContextObject = toV8InLocalContext(V8WebGLRenderingContext::GetTemplate(), &amp;V8WebGLRenderingContext::info, glContext);

You should be able to use standard toV8 mechanism here, it will create a binding for you which you will wrap with the instrumenting code. Existing code could probably changed as well I need to check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639228</commentid>
    <comment_count>16</comment_count>
      <attachid>145251</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-01 05:39:11 -0700</bug_when>
    <thetext>Comment on attachment 145251
Patch

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

&gt;&gt; Source/WebCore/CMakeLists.txt:2602
&gt;&gt; +ADD_CUSTOM_COMMAND(
&gt; 
&gt; Should we check if WebGL is enabled here?

Done.

&gt;&gt; Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp:82
&gt;&gt; +        if (wrapped.jsValue().isObject())
&gt; 
&gt; Drop the .jsValue(). Just wrapped.isObject(). It&apos;s cleaner.

Done. Using the hasNoValue() method now.

&gt;&gt; Source/WebCore/bindings/js/JSInjectedScriptManager.cpp:87
&gt;&gt; +    // FIXME(87975): Implement this!
&gt; 
&gt; It shouldn&apos;t be hard to implement this for JSC, we already do similar things with the inspector injected script.

Will do it in a separate patch. Let us finish with this first.

&gt;&gt;&gt; Source/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:94
&gt;&gt;&gt; +        if (!wrapped.v8Value().IsEmpty())
&gt;&gt; 
&gt;&gt; ditto.
&gt; 
&gt; This code will create ScriptState instance for all contexts even if WebGL instrumentation is disabled. This should be fixed. We should probably check if WebGL inspection is enabled before getting ScriptState.

Done.

&gt;&gt; Source/WebCore/bindings/v8/custom/V8InjectedScriptManager.cpp:129
&gt;&gt; +    v8::Local&lt;v8::Object&gt; glContextObject = toV8InLocalContext(V8WebGLRenderingContext::GetTemplate(), &amp;V8WebGLRenderingContext::info, glContext);
&gt; 
&gt; You should be able to use standard toV8 mechanism here, it will create a binding for you which you will wrap with the instrumenting code. Existing code could probably changed as well I need to check.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639233</commentid>
    <comment_count>17</comment_count>
      <attachid>145277</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-01 05:45:08 -0700</bug_when>
    <thetext>Created attachment 145277
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639243</commentid>
    <comment_count>18</comment_count>
      <attachid>145277</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-06-01 05:54:30 -0700</bug_when>
    <thetext>Comment on attachment 145277
Patch

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

&gt; Source/WebCore/inspector/InspectorWebGLAgent.cpp:62
&gt; +    m_instrumentingAgents = 0;

This one still appears redundant. Do we really need to clear this field in desturctor? Also, it belongs to the base class and is initialized by the base class, so it&apos;s unclear why it&apos;s cleared by derived class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639251</commentid>
    <comment_count>19</comment_count>
      <attachid>145277</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-01 05:59:38 -0700</bug_when>
    <thetext>Comment on attachment 145277
Patch

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

&gt;&gt; Source/WebCore/inspector/InspectorWebGLAgent.cpp:62
&gt;&gt; +    m_instrumentingAgents = 0;
&gt; 
&gt; This one still appears redundant. Do we really need to clear this field in desturctor? Also, it belongs to the base class and is initialized by the base class, so it&apos;s unclear why it&apos;s cleared by derived class.

Good point. Removed the line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639252</commentid>
    <comment_count>20</comment_count>
      <attachid>145277</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-06-01 05:59:53 -0700</bug_when>
    <thetext>Comment on attachment 145277
Patch

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

&gt; Source/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:94
&gt; +        if (InspectorInstrumentation::isWebGLInspectorEnabled(imp-&gt;document())) {

Alternatively you could check InspectorInstrumentation::hasFrontends() here to avoid adding additional is* method on the inspector instrumentation.

&gt; Source/WebCore/bindings/v8/custom/V8InjectedScriptManager.cpp:138
&gt; +    v8::Local&lt;v8::Object&gt; injectedScriptObject(v8::Object::Cast(*injectedScriptValue));

You could do v8::Handle&lt;v8::Object&gt;::Cast(injectedScriptValue) instead to avoid creating additional handle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639253</commentid>
    <comment_count>21</comment_count>
      <attachid>145282</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-01 06:01:05 -0700</bug_when>
    <thetext>Created attachment 145282
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639264</commentid>
    <comment_count>22</comment_count>
      <attachid>145287</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-01 06:13:24 -0700</bug_when>
    <thetext>Created attachment 145287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639266</commentid>
    <comment_count>23</comment_count>
      <attachid>145277</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-01 06:14:29 -0700</bug_when>
    <thetext>Comment on attachment 145277
Patch

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

&gt;&gt; Source/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:94
&gt;&gt; +        if (InspectorInstrumentation::isWebGLInspectorEnabled(imp-&gt;document())) {
&gt; 
&gt; Alternatively you could check InspectorInstrumentation::hasFrontends() here to avoid adding additional is* method on the inspector instrumentation.

Done.

&gt;&gt; Source/WebCore/bindings/v8/custom/V8InjectedScriptManager.cpp:138
&gt;&gt; +    v8::Local&lt;v8::Object&gt; injectedScriptObject(v8::Object::Cast(*injectedScriptValue));
&gt; 
&gt; You could do v8::Handle&lt;v8::Object&gt;::Cast(injectedScriptValue) instead to avoid creating additional handle.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639311</commentid>
    <comment_count>24</comment_count>
      <attachid>145287</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-01 07:15:08 -0700</bug_when>
    <thetext>Comment on attachment 145287
Patch

Attachment 145287 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12864557</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639347</commentid>
    <comment_count>25</comment_count>
      <attachid>145310</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-01 08:05:16 -0700</bug_when>
    <thetext>Created attachment 145310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639429</commentid>
    <comment_count>26</comment_count>
      <attachid>145325</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-01 09:15:39 -0700</bug_when>
    <thetext>Created attachment 145325
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639468</commentid>
    <comment_count>27</comment_count>
      <attachid>145325</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-01 09:51:18 -0700</bug_when>
    <thetext>Comment on attachment 145325
Patch

Attachment 145325 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12864605</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639471</commentid>
    <comment_count>28</comment_count>
      <attachid>145331</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-01 09:57:14 -0700</bug_when>
    <thetext>Created attachment 145331
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639496</commentid>
    <comment_count>29</comment_count>
      <attachid>145336</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-01 10:23:49 -0700</bug_when>
    <thetext>Created attachment 145336
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639580</commentid>
    <comment_count>30</comment_count>
      <attachid>145336</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-01 12:02:01 -0700</bug_when>
    <thetext>Comment on attachment 145336
Patch

Attachment 145336 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12866608</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639582</commentid>
    <comment_count>31</comment_count>
      <attachid>145336</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-01 12:02:40 -0700</bug_when>
    <thetext>Comment on attachment 145336
Patch

Attachment 145336 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12869564</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640374</commentid>
    <comment_count>32</comment_count>
      <attachid>145526</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-04 00:31:11 -0700</bug_when>
    <thetext>Created attachment 145526
Patch

Checking build bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640390</commentid>
    <comment_count>33</comment_count>
      <attachid>145526</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-04 01:10:24 -0700</bug_when>
    <thetext>Comment on attachment 145526
Patch

Attachment 145526 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12893213</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640395</commentid>
    <comment_count>34</comment_count>
      <attachid>145526</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-06-04 01:20:32 -0700</bug_when>
    <thetext>Comment on attachment 145526
Patch

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

&gt; Source/WebCore/WebCore.gypi:2824
&gt; +            &apos;inspector/InspectorWebGLAgent.cpp&apos;,
&gt; +            &apos;inspector/InspectorWebGLAgent.h&apos;,
&gt; +            &apos;inspector/InspectorWebGLInstrumentation.h&apos;,

Please also add this to WebCore.vcproj.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640440</commentid>
    <comment_count>35</comment_count>
      <attachid>145551</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-04 03:02:56 -0700</bug_when>
    <thetext>Created attachment 145551
Patch

Checking build bots: Updated project.pbxproj, reverted WebCode.exp.in</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640446</commentid>
    <comment_count>36</comment_count>
      <attachid>145553</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-04 03:29:14 -0700</bug_when>
    <thetext>Created attachment 145553
Patch

Checking build bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640451</commentid>
    <comment_count>37</comment_count>
      <attachid>145551</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-04 03:38:30 -0700</bug_when>
    <thetext>Comment on attachment 145551
Patch

Attachment 145551 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12898201</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640452</commentid>
    <comment_count>38</comment_count>
      <attachid>145555</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-04 03:45:48 -0700</bug_when>
    <thetext>Created attachment 145555
Patch

Checking build bots: added WebCode.exp.in back</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640457</commentid>
    <comment_count>39</comment_count>
      <attachid>145553</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-04 03:52:20 -0700</bug_when>
    <thetext>Comment on attachment 145553
Patch

Attachment 145553 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12903155</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640460</commentid>
    <comment_count>40</comment_count>
      <attachid>145555</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-06-04 04:00:34 -0700</bug_when>
    <thetext>Comment on attachment 145555
Patch

Attachment 145555 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12902169</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640475</commentid>
    <comment_count>41</comment_count>
      <attachid>145555</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-04 04:41:11 -0700</bug_when>
    <thetext>Comment on attachment 145555
Patch

Attachment 145555 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12894281</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641228</commentid>
    <comment_count>42</comment_count>
      <attachid>145705</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-04 23:58:19 -0700</bug_when>
    <thetext>Created attachment 145705
Patch

Checking build bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641255</commentid>
    <comment_count>43</comment_count>
      <attachid>145714</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-05 00:46:25 -0700</bug_when>
    <thetext>Created attachment 145714
Patch

Checking build bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641289</commentid>
    <comment_count>44</comment_count>
      <attachid>145705</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-05 01:22:55 -0700</bug_when>
    <thetext>Comment on attachment 145705
Patch

Attachment 145705 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12900423</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641306</commentid>
    <comment_count>45</comment_count>
      <attachid>145705</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-05 01:33:15 -0700</bug_when>
    <thetext>Comment on attachment 145705
Patch

Attachment 145705 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12901418</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641315</commentid>
    <comment_count>46</comment_count>
      <attachid>145714</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-05 01:49:09 -0700</bug_when>
    <thetext>Comment on attachment 145714
Patch

Attachment 145714 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12898475</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641339</commentid>
    <comment_count>47</comment_count>
      <attachid>145734</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-05 02:12:05 -0700</bug_when>
    <thetext>Created attachment 145734
Patch

Checking build bots: added WebCore.order</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641350</commentid>
    <comment_count>48</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-06-05 02:37:27 -0700</bug_when>
    <thetext>(In reply to comment #47)
&gt; Created an attachment (id=145734) [details]
&gt; Patch
&gt; 
&gt; Checking build bots: added WebCore.order

You need to add those symbols to WebCore.exp.in.

WebCore.order is only used for Safari builds or something, Apple engineers will take care of updating it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641352</commentid>
    <comment_count>49</comment_count>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-05 02:42:29 -0700</bug_when>
    <thetext>(In reply to comment #48)
&gt; (In reply to comment #47)
&gt; &gt; Created an attachment (id=145734) [details] [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Checking build bots: added WebCore.order
&gt; 
&gt; You need to add those symbols to WebCore.exp.in.
&gt; 
&gt; WebCore.order is only used for Safari builds or something, Apple engineers will take care of updating it

I did add those symbols to WebCore.exp.in - no luck so far...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641360</commentid>
    <comment_count>50</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-06-05 02:54:12 -0700</bug_when>
    <thetext>(In reply to comment #49)
&gt; (In reply to comment #48)
&gt; &gt; (In reply to comment #47)
&gt; &gt; &gt; Created an attachment (id=145734) [details] [details] [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; Checking build bots: added WebCore.order
&gt; &gt; 
&gt; &gt; You need to add those symbols to WebCore.exp.in.
&gt; &gt; 
&gt; &gt; WebCore.order is only used for Safari builds or something, Apple engineers will take care of updating it
&gt; 
&gt; I did add those symbols to WebCore.exp.in - no luck so far...

ah, indeed

on closer inspection, your patch to project.pbxproj looks incomplete. It doesn&apos;t list the new files in the PBXBuildFile section</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641362</commentid>
    <comment_count>51</comment_count>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-05 03:00:28 -0700</bug_when>
    <thetext>(In reply to comment #50)
&gt; (In reply to comment #49)
&gt; &gt; (In reply to comment #48)
&gt; &gt; &gt; (In reply to comment #47)
&gt; &gt; &gt; &gt; Created an attachment (id=145734) [details] [details] [details] [details]
&gt; &gt; &gt; &gt; Patch
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Checking build bots: added WebCore.order
&gt; &gt; &gt; 
&gt; &gt; &gt; You need to add those symbols to WebCore.exp.in.
&gt; &gt; &gt; 
&gt; &gt; &gt; WebCore.order is only used for Safari builds or something, Apple engineers will take care of updating it
&gt; &gt; 
&gt; &gt; I did add those symbols to WebCore.exp.in - no luck so far...
&gt; 
&gt; ah, indeed
&gt; 
&gt; on closer inspection, your patch to project.pbxproj looks incomplete. It doesn&apos;t list the new files in the PBXBuildFile section

yeah I played with it earlier at patch https://bugs.webkit.org/attachment.cgi?id=145551&amp;action=review (my xcode would not add PBXBuildFile section for some reason) and got the following error from the bot:


xcodebuild: error: Unable to read project &apos;WebCore.xcodeproj&apos;.
	Reason: Project /Volumes/Data/WebKit/Source/WebCore/WebCore.xcodeproj cannot be opened because because an exception occurred.: -[PBXFileReference _setBuildPhase:]: unrecognized selector sent to instance 0x4010c9140</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641366</commentid>
    <comment_count>52</comment_count>
      <attachid>145734</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-06-05 03:11:14 -0700</bug_when>
    <thetext>Comment on attachment 145734
Patch

Attachment 145734 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12905415</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641391</commentid>
    <comment_count>53</comment_count>
      <attachid>145734</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-05 04:02:17 -0700</bug_when>
    <thetext>Comment on attachment 145734
Patch

Attachment 145734 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12902459</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641423</commentid>
    <comment_count>54</comment_count>
      <attachid>145734</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-05 04:40:08 -0700</bug_when>
    <thetext>Comment on attachment 145734
Patch

Attachment 145734 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12893550</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641447</commentid>
    <comment_count>55</comment_count>
      <attachid>145765</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-05 05:16:48 -0700</bug_when>
    <thetext>Created attachment 145765
Patch

Checking build bots: tweaked project.pbxproj, removed WebCore.order</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641459</commentid>
    <comment_count>56</comment_count>
      <attachid>145770</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-05 05:51:03 -0700</bug_when>
    <thetext>Created attachment 145770
Patch

Checking build bots: fixed project.pbxproj</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641474</commentid>
    <comment_count>57</comment_count>
      <attachid>145765</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-05 06:05:57 -0700</bug_when>
    <thetext>Comment on attachment 145765
Patch

Attachment 145765 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12901478</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641520</commentid>
    <comment_count>58</comment_count>
      <attachid>145770</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-05 07:27:00 -0700</bug_when>
    <thetext>Comment on attachment 145770
Patch

Attachment 145770 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12902506</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641534</commentid>
    <comment_count>59</comment_count>
      <attachid>145791</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-05 07:41:27 -0700</bug_when>
    <thetext>Created attachment 145791
Patch

Checking build bots (hoping for the last time)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641537</commentid>
    <comment_count>60</comment_count>
      <attachid>145770</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-05 07:42:21 -0700</bug_when>
    <thetext>Comment on attachment 145770
Patch

Attachment 145770 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12893593</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641577</commentid>
    <comment_count>61</comment_count>
      <attachid>145802</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-05 08:17:47 -0700</bug_when>
    <thetext>Created attachment 145802
Patch

Checking build bots: reverted WebCore.exp.in</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642276</commentid>
    <comment_count>62</comment_count>
      <attachid>145959</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2012-06-06 01:21:54 -0700</bug_when>
    <thetext>Created attachment 145959
=Rebased patch

Rebased patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642282</commentid>
    <comment_count>63</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-06-06 01:37:42 -0700</bug_when>
    <thetext>Committed r119572: &lt;http://trac.webkit.org/changeset/119572&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145064</attachid>
            <date>2012-05-31 05:46:33 -0700</date>
            <delta_ts>2012-05-31 23:44:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120531164631.patch</filename>
            <type>text/plain</type>
            <size>55549</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg5YWE3Mzk0MjU5NTg5
OGIxMjA4YWU1NGQ4YWJiOGFjNDEwOGU1NS4uNDk4NGEzMmMyMTAzMjE1YTA2YzhiNGU0ODg5ZjI0
M2JmZmE3ZWYzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg4IEBACisyMDEyLTA1LTMxICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKQorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6CisgICAgICAg
ICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxDYW52YXNF
bGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6
OmdldENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MQ2FudmFzRWxlbWVudDo6dG9E
YXRhVVJMKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5j
cHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0
TWFuYWdlcjo6aW5qZWN0V2ViR0xDb250ZXh0V3JhcHBlclNjcmlwdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmV4ZWN1dGVJbmplY3RlZFdlYkdMQ29udGV4dFdy
YXBwZXJTY3JpcHQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdFN0YXRlOjpmb3JDb250ZXh0KToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VjhIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNr
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6d2Vha1JlZmVyZW5jZUNhbGxiYWNrKToKKyAgICAgICAg
KFdlYkNvcmU6OnRvVjhJbkxvY2FsQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3Rl
ZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUluamVjdGVkU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RXZWJHTENv
bnRleHRXcmFwcGVyU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFu
YWdlcjo6ZXhlY3V0ZUluamVjdGVkV2ViR0xDb250ZXh0V3JhcHBlclNjcmlwdCk6CisgICAgICAg
IChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRpc2NhcmRJbmplY3RlZFNjcmlwdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkU2NyaXB0
Rm9yKToKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjp3cmFwV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChJbmplY3RlZFNjcmlwdE1hbmFnZXIpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25l
LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1hcmtSZXNvdXJjZUFzQ2FjaGVk
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJHTEFnZW50U3RhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50Ojp+SW5zcGVjdG9yV2ViR0xBZ2VudCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpzZXRGcm9udGVuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjbGVhckZyb250ZW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnJlc3RvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvcldlYkdMQWdlbnQ6OmRpc2FibGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3BlY3RvcldlYkdMQWdlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmlzV2ViR0xJbnNwZWN0b3JF
bmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d3Jh
cFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbik6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6SW5zdHJ1bWVudGluZ0FnZW50cyk6Cisg
ICAgICAgIChJbnN0cnVtZW50aW5nQWdlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6Omluc3BlY3RvcldlYkdMQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
dHJ1bWVudGluZ0FnZW50czo6c2V0SW5zcGVjdG9yV2ViR0xBZ2VudCk6CisKIDIwMTItMDUtMzEg
IEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHIxMTkwNjIgYW5kIHIxMTkwNjQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IGVmMmQ5MzllNDk0NTNlOGI4OWE2YjU3MTU5N2EwNzYwZjczMzc2MTEuLjQxOTBhNWNiMzkwODdk
NGYzOTc4NzRkZGIxNTQ0MTQ2MTZmZTRjYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC05NTgs
NiArOTU4LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JT
dHlsZVRleHRFZGl0b3IuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
Y3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5jcHAKKyAgICBpbnNwZWN0b3IvSW5z
cGVjdG9yV2ViR0xBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQu
Y3BwCiAgICAgaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwCiAgICAgaW5zcGVjdG9y
L05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcApAQCAtMTY4Nyw3ICsxNjg4LDcgQEAgSUYgKEVOQUJM
RV9ORVRXT1JLX0lORk8pCiAgICAgICAgIE1vZHVsZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9D
b25uZWN0aW9uLmNwcAogICAgICAgICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29u
dHJvbGxlci5jcHAKICAgICApCi0gCisKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9GSUxF
UwogICAgICAgICBNb2R1bGVzL25ldHdvcmtpbmZvL05hdmlnYXRvck5ldHdvcmtJbmZvQ29ubmVj
dGlvbi5pZGwKICAgICAgICAgTW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0Nvbm5lY3Rp
b24uaWRsCkBAIC0yNTk3LDYgKzI1OTgsMTQgQEAgQUREX0NVU1RPTV9DT01NQU5EKAogICAgIFZF
UkJBVElNKQogTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTICR7REVSSVZFRF9TT1VSQ0VTX1dF
QkNPUkVfRElSfS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oKQogCisjIEdlbmVyYXRlIEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaAorQUREX0NVU1RPTV9DT01NQU5EKAorICAgIE9VVFBVVCAke0RF
UklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisg
ICAgTUFJTl9ERVBFTkRFTkNZIGluc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpz
CisgICAgQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJDT1JFX0RJUn0vaW5zcGVjdG9y
L3h4ZC5wbCBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzICR7V0VCQ09SRV9ESVJ9L2luc3Bl
Y3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNP
UkVfRElSfS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKKyAgICBWRVJCQVRJTSkKK0xJU1Qo
QVBQRU5EIFdlYkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5q
ZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oKQorCiAKIE1BS0VfSEFTSF9UT09MUygke1dFQkNPUkVf
RElSfS9wbGF0Zm9ybS9Db2xvckRhdGEpCiBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtE
RVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L0NvbG9yRGF0YS5jcHApCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQppbmRleCAxNDczMWRiNGM2MzFmODFhYzBlYjllNzA0MmU4OTBjYWM5MmM0
ZjMyLi4wOTBiYjk3MTE5ZTgxMjUwOTBmZjdkMDJlYzI1MTc1N2Q5NjAzMGZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNSArMSw1IEBACiAjIENvcHlyaWdodCAoQykgMjAw
NiwgMjAwNywgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jIENv
cHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4gCisj
IENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4K
ICMgQ29weXJpZ2h0IChDKSAyMDA5IENhbWVyb24gTWNDb3JtYWNrIDxjYW1AbWNjLmlkLmF1Pgog
IwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKQEAgLTcsMTMgKzcsMTMgQEAKICMgYXJlIG1ldDoKICMKICMgMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICMgICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICMgMy4gIE5laXRo
ZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFt
ZXMgb2YKICMgICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSMgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisjICAgICBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAjCiAjIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZCiAjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKQEAgLTc4MCwxMCArNzgwLDEwIEBAIFhQ
YXRoR3JhbW1hci5jcHAgOiB4bWwvWFBhdGhHcmFtbWFyLnkgJChQUk9KRUNUX0ZJTEUpCiAKICMg
dXNlciBhZ2VudCBzdHlsZSBzaGVldHMKIAotVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSAkKFdl
YkNvcmUpL2Nzcy9odG1sLmNzcyAkKFdlYkNvcmUpL2Nzcy9xdWlya3MuY3NzICQoV2ViQ29yZSkv
Y3NzL3ZpZXctc291cmNlLmNzcyAkKFdlYkNvcmUpL2Nzcy90aGVtZVdpbi5jc3MgJChXZWJDb3Jl
KS9jc3MvdGhlbWVXaW5RdWlya3MuY3NzIAorVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSAkKFdl
YkNvcmUpL2Nzcy9odG1sLmNzcyAkKFdlYkNvcmUpL2Nzcy9xdWlya3MuY3NzICQoV2ViQ29yZSkv
Y3NzL3ZpZXctc291cmNlLmNzcyAkKFdlYkNvcmUpL2Nzcy90aGVtZVdpbi5jc3MgJChXZWJDb3Jl
KS9jc3MvdGhlbWVXaW5RdWlya3MuY3NzCiAKIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfU1ZH
LCQoRkVBVFVSRV9ERUZJTkVTKSksIEVOQUJMRV9TVkcpCi0gICAgVVNFUl9BR0VOVF9TVFlMRV9T
SEVFVFMgOj0gJChVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNz
cyAKKyAgICBVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAkKFVTRVJfQUdFTlRfU1RZTEVfU0hF
RVRTKSAkKFdlYkNvcmUpL2Nzcy9zdmcuY3NzCiBlbmRpZgogCiBpZmVxICgkKGZpbmRzdHJpbmcg
RU5BQkxFX01BVEhNTCwkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfTUFUSE1MKQpAQCAtODky
LDcgKzg5Miw3IEBAIFhMaW5rTmFtZXMuY3BwIDogZG9tL21ha2VfbmFtZXMucGwgc3ZnL3hsaW5r
YXR0cnMuaW4KIAlwZXJsIC1JICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cyAkPCAtLWF0dHJz
ICQoV2ViQ29yZSkvc3ZnL3hsaW5rYXR0cnMuaW4KIAogIyAtLS0tLS0tLQotIAorCiAjIFJlZ2lz
dGVyIGV2ZW50IGNvbnN0cnVjdG9ycyBhbmQgdGFyZ2V0cwogCiBFdmVudEZhY3RvcnkuY3BwIEV2
ZW50SGVhZGVycy5oIEV2ZW50SW50ZXJmYWNlcy5oIDogZG9tL21ha2VfZXZlbnRfZmFjdG9yeS5w
bCBkb20vRXZlbnROYW1lcy5pbgpAQCAtOTA1LDcgKzkwNSw3IEBAIEV4Y2VwdGlvbkNvZGVEZXNj
cmlwdGlvbi5jcHAgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uLmggRXhjZXB0aW9uSGVhZGVycy5o
IEV4Y2VwCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMgJDwgLS1pbnB1dCAk
KFdlYkNvcmUpL2RvbS9ET01FeGNlcHRpb25zLmluCiAKICMgLS0tLS0tLS0KLSAKKwogIyBNYXRo
TUwgdGFnIGFuZCBhdHRyaWJ1dGUgbmFtZXMsIGFuZCBlbGVtZW50IGZhY3RvcnkKIAogTWF0aE1M
RWxlbWVudEZhY3RvcnkuY3BwIE1hdGhNTE5hbWVzLmNwcCA6IGRvbS9tYWtlX25hbWVzLnBsIG1h
dGhtbC9tYXRodGFncy5pbiBtYXRobWwvbWF0aGF0dHJzLmluCkBAIC05ODQsNiArOTg0LDExIEBA
IGFsbCA6IEluamVjdGVkU2NyaXB0U291cmNlLmgKIEluamVjdGVkU2NyaXB0U291cmNlLmggOiBJ
bmplY3RlZFNjcmlwdFNvdXJjZS5qcwogCXBlcmwgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBs
IEluamVjdGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0U291cmNlLmpzIEluamVjdGVkU2NyaXB0U291cmNlLmgKIAorYWxsIDogSW5qZWN0ZWRXZWJH
TFNjcmlwdFNvdXJjZS5oCisKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCA6IEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuanMKKwlwZXJsICQoV2ViQ29yZSkvaW5zcGVjdG9yL3h4ZC5wbCBJ
bmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuanMgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisKIC1pbmNs
dWRlICQoSlNfRE9NX0hFQURFUlM6Lmg9LmRlcCkKIAogaWZlcSAoJChmaW5kc3RyaW5nIEJVSUxE
SU5HX1dYLCQoRkVBVFVSRV9ERUZJTkVTKSksIEJVSUxESU5HX1dYKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMucHJpCmluZGV4IDIzODY3OTk4OTkyMmU1YTJlMTcwNmUwNzBmOWRlMWIyNzQxYzQzM2Eu
LjIyNDcxODFhZjcyMjk4MDI1OTIxYjgzZDczNjVhMTlhYjYwY2VjNjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5wcmkKQEAgLTYxLDYgKzYxLDggQEAgSU5TUEVDVE9SX0JBQ0tFTkRfQ09NTUFO
RFNfUVJDID0gJCRQV0QvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JCYWNrZW5kQ29tbWEK
IAogSU5KRUNURURfU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dFNvdXJjZS5qcwogCitJTkpFQ1RFRF9XRUJHTF9TQ1JJUFRfU09VUkNFID0gJCRQV0QvaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMKKwogREVCVUdHRVJfU0NSSVBUX1NPVVJD
RSA9ICQkUFdEL2JpbmRpbmdzL3Y4L0RlYnVnZ2VyU2NyaXB0LmpzCiAKIEFSUkFZX0JVRkZFUl9W
SUVXX0NVU1RPTV9TQ1JJUFRfU09VUkNFID0gJCRQV0QvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJy
YXlCdWZmZXJWaWV3Q3VzdG9tU2NyaXB0LmpzCkBAIC03NzEsNyArNzczLDE0IEBAIGluamVjdGVk
U2NyaXB0U291cmNlLmNvbW1hbmRzID0gcGVybCAkJFBXRC9pbnNwZWN0b3IveHhkLnBsIEluamVj
dGVkU2NyaXB0U291cmNlCiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0X3RvX3NvdXJj
ZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQogCi0jIEdFTkVS
QVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBpbGVyCisjIEdF
TkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291cmNlIGNvbXBp
bGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElOSkVDVEVEX1dF
QkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29tbWFuZHMgPSBw
ZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAk
JFBXRC9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcyAke1FNQUtFX0ZJTEVf
T1VUfQorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0X3RvX3NvdXJjZXMgPSBm
YWxzZQorR0VORVJBVE9SUyArPSBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlCisKKyMgR0VORVJB
VE9SIDItYzogaW5zcGVjdG9yIGRlYnVnZ2VyIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGRlYnVn
Z2VyU2NyaXB0U291cmNlLm91dHB1dCA9IERlYnVnZ2VyU2NyaXB0U291cmNlLmgKIGRlYnVnZ2Vy
U2NyaXB0U291cmNlLmlucHV0ID0gREVCVUdHRVJfU0NSSVBUX1NPVVJDRQogZGVidWdnZXJTY3Jp
cHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgRGVidWdnZXJT
Y3JpcHRTb3VyY2VfanMgJHtRTUFLRV9GSUxFX0lOfSAke1FNQUtFX0ZJTEVfT1VUfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQppbmRleCBhOTdkMjRmYjhlYjczNmFkYjkyODA3ZjEzM2ExMDhlNmQwZjhkNTcz
Li5hY2Q2YjY5ZWI2MGE5MGE0ZTE5YjZmZTRhOTk3MjU2NjlhOTVjYmI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbQpAQCAtODIwLDYgKzgyMCw4IEBAIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVj
dG9yQmFja2VuZENvbW1hbmRzLmpzOiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlCiBEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmg6IERlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwCiBEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0luamVjdGVkU2NyaXB0U291cmNlLmg6ICQoV2ViQ29yZSkvaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0U291cmNlLmpzCiAJJChBTV9WX0dFTikkKFBFUkwpICQoV2ViQ29yZSkv
aW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyAkKEdFTlNPVVJDRVNfV0VCQ09SRSkvSW5qZWN0
ZWRTY3JpcHRTb3VyY2UuaAorRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3RlZFdlYkdMU2Ny
aXB0U291cmNlLmg6ICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3Vy
Y2UuanMKKwkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIElu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRX
ZWJHTFNjcmlwdFNvdXJjZS5qcyAkKEdFTlNPVVJDRVNfV0VCQ09SRSkvSW5qZWN0ZWRXZWJHTFNj
cmlwdFNvdXJjZS5oCiAKIGlmIEVOQUJMRV9XRUJfQVVESU8KICMgSW5zdGFsbGluZyBIUlRGIGRh
dGFiYXNlIHdhdiBmaWxlcwpAQCAtMTA2OSw2ICsxMDcxLDcgQEAgRVhUUkFfRElTVCArPSBcCiAJ
U291cmNlL1dlYkNvcmUvaWN1L0xJQ0VOU0UgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHRTb3VyY2UuanMgXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFdlYkdMU2NyaXB0U291cmNlLmpzIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yLmpzb24gXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3ItMS4wLmpzb24g
XAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wt
dmVyc2lvbiBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAzNzg0MmFmZjM1MTVh
OGQ4NDY0YzMwNWVlYWIwMDM4Y2ZjM2M3OTMyLi5jODZjYzI0MWU3MWJlYjk0NGY3YTg3NDFiZjRj
Mjg5Y2RhNjQ5YTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTIwLDYgKzIw
LDcgQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0hUTUxOYW1lcy5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCBcCisJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yRnJvbnRlbmQuY3BwIFwKQEAgLTI3MjAsNiArMjcyMSw5
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMu
aCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwIFwK
KwlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCBcCiAJ
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmggXAogCVNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmlu
ZGV4IDU5ZWYzOTNkMTZmZDI3OGE1MWU5NzRjZGM1NmYyYjU4NmY5NzkxOGIuLjJhMGQwYjU2ZGM5
MWNmMDc1OTE4ZmFmNGY2ZWNjZWU0NGYxM2YxOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtOTI0LDYgKzky
NCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRleHRFZGl0
b3IuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgXAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuY3BwIFwKKyAgICBpbnNwZWN0b3IvSW5zcGVjdG9y
V2ViR0xBZ2VudC5jcHAgXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAg
XAogICAgIGluc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcCBcCiAgICAgaW5zcGVjdG9y
L05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcCBcCkBAIC0yMDY5LDYgKzIwNzAsOCBAQCBIRUFERVJT
ICs9IFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5oIFwKICAgICBpbnNwZWN0
b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmggXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAor
ICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKICAgICBpbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAgICAgaW5zcGVjdG9yL0luc3RydW1lbnRp
bmdBZ2VudHMuaCBcCiAgICAgaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA4MjU1ODg0NzliYjczNDg5ODI5
NjI5NDBkZjk1M2UwMmVmZDMwNjMwLi40ODc0M2QzZmZkMjQ4OTFjYWE4ZjZlMmVjMDc2NmU4YTI4
YjAyZjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtNDM1LDYg
KzQzNSwyOSBAQAogICAgICAgXQogICAgIH0sCiAgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzog
J2luamVjdGVkX3dlYmdsX3NjcmlwdF9zb3VyY2UnLAorICAgICAgJ3R5cGUnOiAnbm9uZScsCisg
ICAgICAnYWN0aW9ucyc6IFsKKyAgICAgICAgeworICAgICAgICAgICdhY3Rpb25fbmFtZSc6ICdn
ZW5lcmF0ZUluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UnLAorICAgICAgICAgICdpbnB1dHMnOiBb
CisgICAgICAgICAgICAnLi4vaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMn
LAorICAgICAgICAgIF0sCisgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAgICAgICAnPChT
SEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
aCcsCisgICAgICAgICAgXSwKKyAgICAgICAgICAnYWN0aW9uJzogWworICAgICAgICAgICAgJ3Bl
cmwnLAorICAgICAgICAgICAgJy4uL2luc3BlY3Rvci94eGQucGwnLAorICAgICAgICAgICAgJ0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMnLAorICAgICAgICAgICAgJzxAKF9pbnB1dHMpJywK
KyAgICAgICAgICAgICc8QChfb3V0cHV0cyknCisgICAgICAgICAgXSwKKyAgICAgICAgICAnbWVz
c2FnZSc6ICdHZW5lcmF0aW5nIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBmcm9tIEluamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UuanMnLAorICAgICAgICB9LAorICAgICAgXQorICAgIH0sCisg
ICAgewogICAgICAgJ3RhcmdldF9uYW1lJzogJ2RlYnVnZ2VyX3NjcmlwdF9zb3VyY2UnLAogICAg
ICAgJ3R5cGUnOiAnbm9uZScsCiAgICAgICAnYWN0aW9ucyc6IFsKQEAgLTEwNzUsNiArMTA5OCw3
IEBACiAgICAgICAgICd3ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnLAogICAgICAgICAnaW5zcGVj
dG9yX3Byb3RvY29sX3NvdXJjZXMnLAogICAgICAgICAnaW5qZWN0ZWRfc2NyaXB0X3NvdXJjZScs
CisgICAgICAgICdpbmplY3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2RlYnVn
Z2VyX3NjcmlwdF9zb3VyY2UnLAogICAgICAgICAnLi4vLi4vSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUuZ3lwL0phdmFTY3JpcHRDb3JlLmd5cDp5YXJyJywKICAgICAgICAgJy4uLy4uL1dU
Ri9XVEYuZ3lwL1dURi5neXA6d3RmJywKQEAgLTExOTgsNiArMTIyMiw3IEBACiAgICAgICAnZGVw
ZW5kZW5jaWVzJzogWwogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAg
ICdpbmplY3RlZF9zY3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dlYmdsX3Njcmlw
dF9zb3VyY2UnLAogICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMnLAogICAgICAg
ICAnd2ViY29yZV9iaW5kaW5nc19zb3VyY2VzJywKICAgICAgICAgJy4uLy4uL1RoaXJkUGFydHkv
Z2x1L2dsdS5neXA6bGlidGVzcycsCkBAIC0xNDczLDkgKzE0OTgsOSBAQAogICAgICAgJ2RlcGVu
ZGVuY2llcyc6IFsKICAgICAgICAgJ3dlYmNvcmVfcHJlcmVxdWlzaXRlcycsCiAgICAgICBdLAot
ICAgICAgJ2RlZmluZXMnOiBbIAotICAgICAgICAnV0VCS0lUX0lNUExFTUVOVEFUSU9OPTEnLCAK
LSAgICAgIF0sIAorICAgICAgJ2RlZmluZXMnOiBbCisgICAgICAgICdXRUJLSVRfSU1QTEVNRU5U
QVRJT049MScsCisgICAgICBdLAogICAgICAgIyBUaGlzIGlzIG5lZWRlZCBmb3IgbWFjIGJlY2F1
c2Ugb2Ygd2Via2l0X3N5c3RlbV9pbnRlcmZhY2UuIEl0J2QgYmUgbmljZQogICAgICAgIyBpZiB0
aGlzIGhhcmQgZGVwZW5kZW5jeSBjb3VsZCBiZSBzcGxpdCBvZmYgdGhlIHJlc3QuCiAgICAgICAn
aGFyZF9kZXBlbmRlbmN5JzogMSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA2MWVmYWIxYWQ0NDU3NGI2
MjI3Y2NmMDJlM2NmNDc4YjcyNWQ5MjE0Li5hZjdkNTYzZDE5N2M2Y2MzNDk5NzU1MjAzNWE4MjYw
YWQ3NTM3NGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yODE5LDYgKzI4MTksOSBAQAogICAgICAg
ICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3Iv
SW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3Bl
Y3RvcldlYkdMQWdlbnQuY3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2Vi
R0xBZ2VudC5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVt
ZW50YXRpb24uaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50
LmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgnLAog
ICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcCcsCkBAIC02NjQw
LDcgKzY2NDMsNyBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3Nl
YXJjaFNtYWxsR3JheS5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1h
Z2VzL3NlYXJjaFNtYWxsV2hpdGUucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQt
ZW5kL0ltYWdlcy9zZWFyY2hOZXh0LnBuZycsCi0gICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250
LWVuZC9JbWFnZXMvc2VhcmNoUHJldi5wbmcnLCAgICAgICAgICAgIAorICAgICAgICAgICAgJ2lu
c3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFByZXYucG5nJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWdtZW50LnBuZycsCiAgICAgICAgICAgICAnaW5z
cGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VnbWVudEVuZC5wbmcnLAogICAgICAgICAgICAgJ2lu
c3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlZ21lbnRIb3Zlci5wbmcnLApAQCAtNzIzOCw2ICs3
MjQxLDcgQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0hUTUxOYW1lcy5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSGVhZGVyRGV0ZWN0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVD
VF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCcsCisg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3Rl
ZFdlYkdMU2NyaXB0U291cmNlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVyLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzJywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5j
cHAKaW5kZXggZDVmYzNjZTk2MzYzZGM1MTI2ODRmMmY0MDcxYTQyNDg1ZWFjMDYxOC4uMTk0ZjAw
NWM1YWM3MjY3NTBkMzQxMDYxNWE3YjNiNTA4ZDVkYjA0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKQEAg
LTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5o
IgpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkhUTUxDYW52YXNFbGVtZW50LmgiCiAjaW5j
bHVkZSAiSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisj
aW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJKU1dl
YkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkdMQ29udGV4dEF0dHJpYnV0ZXMu
aCIKICNlbmRpZgpAQCAtNzUsNiArNzYsMTMgQEAgSlNWYWx1ZSBKU0hUTUxDYW52YXNFbGVtZW50
OjpnZXRDb250ZXh0KEV4ZWNTdGF0ZSogZXhlYykKICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0
KiBjb250ZXh0ID0gY2FudmFzLT5nZXRDb250ZXh0KHVzdHJpbmdUb1N0cmluZyhjb250ZXh0SWQp
LCBhdHRycy5nZXQoKSk7CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4ganNOdWxs
KCk7CisjaWYgRU5BQkxFKFdFQkdMKQorICAgIGlmIChjb250ZXh0LT5pczNkKCkgJiYgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjppc1dlYkdMSW5zcGVjdG9yRW5hYmxlZChjYW52YXMtPmRvY3Vt
ZW50KCkpKSB7CisgICAgICAgIFNjcmlwdE9iamVjdCB3cmFwcGVkID0gSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKHN0
YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5nQ29udGV4dCo+KGNvbnRleHQpKTsKKyAgICAgICAgaWYg
KHdyYXBwZWQuanNWYWx1ZSgpLmlzT2JqZWN0KCkpCisgICAgICAgICAgICByZXR1cm4gd3JhcHBl
ZC5qc1ZhbHVlKCk7CisgICAgfQorI2VuZGlmCiAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFs
T2JqZWN0KCksIFdURjo6Z2V0UHRyKGNvbnRleHQpKTsKIH0KIApAQCAtOTMsNyArMTAxLDcgQEAg
SlNWYWx1ZSBKU0hUTUxDYW52YXNFbGVtZW50Ojp0b0RhdGFVUkwoRXhlY1N0YXRlKiBleGVjKQog
ICAgICAgICAgICAgcXVhbGl0eVB0ciA9ICZxdWFsaXR5OwogICAgICAgICB9CiAgICAgfQotICAg
IAorCiAgICAgSlNWYWx1ZSByZXN1bHQgPSBqc1N0cmluZyhleGVjLCBjYW52YXMtPnRvRGF0YVVS
TCh0eXBlLCBxdWFsaXR5UHRyLCBlYykpOwogICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAppbmRleCAyNDk5OTNmMjc1Y2E1MjdhYzY5
ZWFkYmFmNWY0MGRlN2RlM2QyZmM2Li4xYjczZTMwOGEwNjNhN2ZkZTE5NTBhODk0Y2VhNmYwMDY4
MzgwZDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVk
U2NyaXB0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC00Miw2ICs0Miw5IEBACiAjaW5jbHVkZSAiSlNET01X
aW5kb3dDdXN0b20uaCIKICNpbmNsdWRlICJKU0luamVjdGVkU2NyaXB0SG9zdC5oIgogI2luY2x1
ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgorI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNsdWRl
ICJKU1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgorI2VuZGlmCiAjaW5jbHVkZSA8cGFyc2VyL1Nv
dXJjZUNvZGUuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgogCkBAIC03OCw2ICs4MSwy
MCBAQCBTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNj
cmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgUwogICAgIHJldHVybiBTY3JpcHRPYmplY3QoKTsK
IH0KIAorI2lmIEVOQUJMRShXRUJHTCkKK1NjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFn
ZXI6OmluamVjdFdlYkdMQ29udGV4dFdyYXBwZXJTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHRT
b3VyY2UsIFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTY3JpcHRTdGF0ZSkKK3sKKyAgICAvLyBGSVhN
RTogSW1wbGVtZW50IHRoaXMhCisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQorCitTY3Jp
cHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpleGVjdXRlSW5qZWN0ZWRXZWJHTENvbnRl
eHRXcmFwcGVyU2NyaXB0KFNjcmlwdE9iamVjdCogaW5qZWN0ZWRXZWJHTFNjcmlwdCwgU2NyaXB0
U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0YXRlLCBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGdsQ29u
dGV4dCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMhCisgICAgcmV0dXJuIFNjcmlw
dE9iamVjdCgpOworfQorI2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNj
YXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKQogewogICAgIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihz
Y3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAppbmRleCBjMTlmYjk4OTJiZGM4YTk3NjRkZjdlM2FiYmY3
OTliMTVkYmI2ODE0Li5lMjFjNmNhY2U3NTE3ZDk0MDRjOWI5YmM0YzAzZWQzODcxYzMyNDBmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwCkBAIC05MCw3ICs5
MCw3IEBAIFNjcmlwdFN0YXRlKiBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCh2ODo6TG9jYWw8djg6
OkNvbnRleHQ+IGNvbnRleHQpCiAKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFsID0g
Y29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94eSBv
YmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAgLy8g
YW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVj
dGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRlcyB3
aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpMb2Nh
bDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4OjpI
YW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OnNjcmlwdFN0YXRl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3Bl
cnR5TmFtZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5h
bWUuaAppbmRleCBlZjAyNWQzOWZkZjFkZjYxZjJjNWEwNjU3NzdlZGMwYjRjZGQ3NThjLi4xZTk5
YWY3MzlmYzE1NmIxMmIzZWMyOTMxMmNiZmI5MGE2YTM4MjRkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmgKQEAgLTEsMTAgKzEsMTAg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogICogbWV0Ogot
ICogCisgKgogICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKQEAgLTE0LDcgKzE0LDcg
QEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCisgKgogICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAtNDEsNiArNDEsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgVihhdHRyaWJ1dGVMaXN0ZW5lcikgXAogICAgIFYoc2NyaXB0U3RhdGUpIFwK
ICAgICBWKGRldnRvb2xzSW5qZWN0ZWRTY3JpcHQpIFwKKyAgICBWKGRldnRvb2xzV2ViR0xJbmpl
Y3RlZFNjcmlwdCkgXAogICAgIFYoc2xlZXBGdW5jdGlvbikgXAogICAgIFYodG9TdHJpbmdTdHJp
bmcpIFwKICAgICBWKGV2ZW50KSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXgg
NzM1MTFhODY3NWI3OWQwMjQ4OTA3NTA1MDc1YTg5OTVjMjdhNWZmZi4uNDQ1MzVmYzQyNzZmNmZh
YzI4YTU5NjA4OWU4MGMyZDZjMDI1MWJlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNw
cApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlY4Tm9kZS5oIgogI2luY2x1ZGUgIlY4UHJv
eHkuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVt
ZW50YXRpb24uaCIKICNpbmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlm
CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTg4LDggKzg5LDE0IEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0Q2FsbGJhY2soY29u
c3Qgdjg6OkFyZ3VtZW50CiAgICAgaWYgKHJlc3VsdC0+aXMyZCgpKQogICAgICAgICByZXR1cm4g
dG9WOChzdGF0aWNfY2FzdDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQqPihyZXN1bHQpLCBhcmdz
LkdldElzb2xhdGUoKSk7CiAjaWYgRU5BQkxFKFdFQkdMKQotICAgIGVsc2UgaWYgKHJlc3VsdC0+
aXMzZCgpKQorICAgIGVsc2UgaWYgKHJlc3VsdC0+aXMzZCgpKSB7CisgICAgICAgIGlmIChJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmlzV2ViR0xJbnNwZWN0b3JFbmFibGVkKGltcC0+ZG9jdW1l
bnQoKSkpIHsKKyAgICAgICAgICAgIFNjcmlwdE9iamVjdCB3cmFwcGVkID0gSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9u
KHN0YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5nQ29udGV4dCo+KHJlc3VsdCkpOworICAgICAgICAg
ICAgaWYgKCF3cmFwcGVkLnY4VmFsdWUoKS5Jc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgcmV0
dXJuIHdyYXBwZWQudjhWYWx1ZSgpOworICAgICAgICB9CiAgICAgICAgIHJldHVybiB0b1Y4KHN0
YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5nQ29udGV4dCo+KHJlc3VsdCksIGFyZ3MuR2V0SXNvbGF0
ZSgpKTsKKyAgICB9CiAjZW5kaWYKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1
cm4gdjg6Ok51bGwoYXJncy5HZXRJc29sYXRlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAK
aW5kZXggNDU1NTlmYzZlY2ViMTk5ZmU1ZWE5ZWEyY2FjOTE4M2MxNWY5ODA4MC4uZDhhODI5OTgy
NzZkMDdkYzU4MDZhOTNjNjk2YTZjMWYzNTQ1ZDdjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwCkBAIC00NCwyMCArNDQsMjQgQEAKICNpbmNsdWRlICJWOEluamVjdGVkU2NyaXB0SG9zdC5o
IgogI2luY2x1ZGUgIlY4UHJveHkuaCIKICNpbmNsdWRlICJWOFJlY3Vyc2lvblNjb3BlLmgiCisj
aWYgRU5BQkxFKFdFQkdMKQorI2luY2x1ZGUgIlY4V2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCisj
ZW5kaWYKKyNpbmNsdWRlICJXcmFwcGVyVHlwZUluZm8uaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIHZvaWQgV2Vha1JlZmVyZW5jZUNh
bGxiYWNrKHY4OjpQZXJzaXN0ZW50PHY4OjpWYWx1ZT4gb2JqZWN0LCB2b2lkKiBwYXJhbWV0ZXIp
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdGF0aWMgdm9pZCB3ZWFrUmVmZXJlbmNlQ2FsbGJhY2so
djg6OlBlcnNpc3RlbnQ8djg6OlZhbHVlPiBvYmplY3QsIHZvaWQqIHBhcmFtZXRlcikKIHsKLSAg
ICBJbmplY3RlZFNjcmlwdEhvc3QqIG5hdGl2ZU9iamVjdCA9IHN0YXRpY19jYXN0PEluamVjdGVk
U2NyaXB0SG9zdCo+KHBhcmFtZXRlcik7CisgICAgVCogbmF0aXZlT2JqZWN0ID0gc3RhdGljX2Nh
c3Q8VCo+KHBhcmFtZXRlcik7CiAgICAgbmF0aXZlT2JqZWN0LT5kZXJlZigpOwogICAgIG9iamVj
dC5EaXNwb3NlKCk7CiB9CiAKLXN0YXRpYyB2ODo6TG9jYWw8djg6Ok9iamVjdD4gY3JlYXRlSW5q
ZWN0ZWRTY3JpcHRIb3N0VjhXcmFwcGVyKEluamVjdGVkU2NyaXB0SG9zdCogaG9zdCkKK3RlbXBs
YXRlPHR5cGVuYW1lIFQ+IHN0YXRpYyB2ODo6TG9jYWw8djg6Ok9iamVjdD4gdG9WOEluTG9jYWxD
b250ZXh0KHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGZ1bmN0aW9uVGVtcGxhdGUs
IFdyYXBwZXJUeXBlSW5mbyogdHlwZSwgVCogY3B0cikKIHsKLSAgICB2ODo6TG9jYWw8djg6OkZ1
bmN0aW9uPiBmdW5jdGlvbiA9IFY4SW5qZWN0ZWRTY3JpcHRIb3N0OjpHZXRUZW1wbGF0ZSgpLT5H
ZXRGdW5jdGlvbigpOworICAgIHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPiBmdW5jdGlvbiA9IGZ1
bmN0aW9uVGVtcGxhdGUtPkdldEZ1bmN0aW9uKCk7CiAgICAgaWYgKGZ1bmN0aW9uLklzRW1wdHko
KSkgewogICAgICAgICAvLyBSZXR1cm4gaWYgYWxsb2NhdGlvbiBmYWlsZWQuCiAgICAgICAgIHJl
dHVybiB2ODo6TG9jYWw8djg6Ok9iamVjdD4oKTsKQEAgLTY3LDEyICs3MSwxMiBAQCBzdGF0aWMg
djg6OkxvY2FsPHY4OjpPYmplY3Q+IGNyZWF0ZUluamVjdGVkU2NyaXB0SG9zdFY4V3JhcHBlcihJ
bmplY3RlZFNjcmlwdEhvcwogICAgICAgICAvLyBBdm9pZCBzZXR0aW5nIHRoZSB3cmFwcGVyIGlm
IGFsbG9jYXRpb24gZmFpbGVkLgogICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpPYmplY3Q+
KCk7CiAgICAgfQotICAgIFY4RE9NV3JhcHBlcjo6c2V0RE9NV3JhcHBlcihpbnN0YW5jZSwgJlY4
SW5qZWN0ZWRTY3JpcHRIb3N0OjppbmZvLCBob3N0KTsKLSAgICAvLyBDcmVhdGUgYSB3ZWFrIHJl
ZmVyZW5jZSB0byB0aGUgdjggd3JhcHBlciBvZiBJbnNwZWN0b3JCYWNrZW5kIHRvIGRlcmVmCi0g
ICAgLy8gSW5zcGVjdG9yQmFja2VuZCB3aGVuIHRoZSB3cmFwcGVyIGlzIGdhcmJhZ2UgY29sbGVj
dGVkLgotICAgIGhvc3QtPnJlZigpOworICAgIFY4RE9NV3JhcHBlcjo6c2V0RE9NV3JhcHBlcihp
bnN0YW5jZSwgdHlwZSwgY3B0cik7CisgICAgLy8gQ3JlYXRlIGEgd2VhayByZWZlcmVuY2UgdG8g
dGhlIHY4IHdyYXBwZXIgdG8gZGVyZWYgdGhlIHdyYXBwZWQgb2JqZWN0CisgICAgLy8gd2hlbiB0
aGUgd3JhcHBlciBpcyBnYXJiYWdlIGNvbGxlY3RlZC4KKyAgICBjcHRyLT5yZWYoKTsKICAgICB2
ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiB3ZWFrSGFuZGxlID0gdjg6OlBlcnNpc3RlbnQ8djg6
Ok9iamVjdD46Ok5ldyhpbnN0YW5jZSk7Ci0gICAgd2Vha0hhbmRsZS5NYWtlV2Vhayhob3N0LCAm
V2Vha1JlZmVyZW5jZUNhbGxiYWNrKTsKKyAgICB3ZWFrSGFuZGxlLk1ha2VXZWFrKGNwdHIsICZ3
ZWFrUmVmZXJlbmNlQ2FsbGJhY2s8VD4pOwogICAgIHJldHVybiBpbnN0YW5jZTsKIH0KIApAQCAt
ODcsNyArOTEsNyBAQCBTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJ
bmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNvdQogICAgIC8vIGluc3RlYWQgb2Yg
Y2FsbGluZyB0b1Y4KCkgdGhhdCB3b3VsZCBjcmVhdGUgdGhlCiAgICAgLy8gd3JhcHBlciBpbiB0
aGUgY3VycmVudCBjb250ZXh0LgogICAgIC8vIEZJWE1FOiBtYWtlIGl0IHBvc3NpYmxlIHRvIHVz
ZSBnZW5lcmljIGJpbmRpbmdzIGZhY3RvcnkgZm9yIEluamVjdGVkU2NyaXB0SG9zdC4KLSAgICB2
ODo6TG9jYWw8djg6Ok9iamVjdD4gc2NyaXB0SG9zdFdyYXBwZXIgPSBjcmVhdGVJbmplY3RlZFNj
cmlwdEhvc3RWOFdyYXBwZXIobV9pbmplY3RlZFNjcmlwdEhvc3QuZ2V0KCkpOworICAgIHY4OjpM
b2NhbDx2ODo6T2JqZWN0PiBzY3JpcHRIb3N0V3JhcHBlciA9IHRvVjhJbkxvY2FsQ29udGV4dChW
OEluamVjdGVkU2NyaXB0SG9zdDo6R2V0VGVtcGxhdGUoKSwgJlY4SW5qZWN0ZWRTY3JpcHRIb3N0
OjppbmZvLCBtX2luamVjdGVkU2NyaXB0SG9zdC5nZXQoKSk7CiAgICAgaWYgKHNjcmlwdEhvc3RX
cmFwcGVyLklzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOwogCkBAIC0x
MTQsNiArMTE4LDYxIEBAIFNjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmNyZWF0
ZUluamVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc2NyaXB0U291CiAgICAgcmV0dXJuIFNjcmlw
dE9iamVjdChpbnNwZWN0ZWRTY3JpcHRTdGF0ZSwgaW5qZWN0ZWRTY3JpcHQpOwogfQogCisjaWYg
RU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0
V2ViR0xDb250ZXh0V3JhcHBlclNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNvdXJjZSwgU2Ny
aXB0U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0YXRlKQoreworICAgIHY4OjpIYW5kbGVTY29wZSBz
Y29wZTsKKworICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gaW5zcGVjdGVkQ29udGV4dCA9IGlu
c3BlY3RlZFNjcmlwdFN0YXRlLT5jb250ZXh0KCk7CisgICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNv
bnRleHRTY29wZShpbnNwZWN0ZWRDb250ZXh0KTsKKworICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0
PiB3aW5kb3dHbG9iYWwgPSBpbnNwZWN0ZWRDb250ZXh0LT5HbG9iYWwoKTsKKworICAgIHY4OjpI
YW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRldnRvb2xzV2Vi
R0xJbmplY3RlZFNjcmlwdCgpOworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbCA9IHdpbmRv
d0dsb2JhbC0+R2V0SGlkZGVuVmFsdWUoa2V5KTsKKyAgICBpZiAoIXZhbC5Jc0VtcHR5KCkgJiYg
dmFsLT5Jc0Z1bmN0aW9uKCkpCisgICAgICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5zcGVjdGVk
U2NyaXB0U3RhdGUsIHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdCh2YWwpKTsKKworICAgIHY4
OjpMb2NhbDx2ODo6U2NyaXB0PiBzY3JpcHQgPSB2ODo6U2NyaXB0OjpDb21waWxlKHY4U3RyaW5n
KHNjcmlwdFNvdXJjZSkpOworICAgIFY4UmVjdXJzaW9uU2NvcGU6Ok1pY3JvdGFza1N1cHByZXNz
aW9uIHJlY3Vyc2lvblNjb3BlOworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHYgPSBzY3JpcHQt
PlJ1bigpOworICAgIEFTU0VSVCghdi5Jc0VtcHR5KCkpOworICAgIEFTU0VSVCh2LT5Jc0Z1bmN0
aW9uKCkpOworCisgICAgd2luZG93R2xvYmFsLT5TZXRIaWRkZW5WYWx1ZShrZXksIHYpOworCisg
ICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGluamVjdGVkU2NyaXB0KHY4OjpPYmplY3Q6OkNhc3Qo
KnYpKTsKKyAgICByZXR1cm4gU2NyaXB0T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRlLCBpbmpl
Y3RlZFNjcmlwdCk7Cit9CisKK1NjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmV4
ZWN1dGVJbmplY3RlZFdlYkdMQ29udGV4dFdyYXBwZXJTY3JpcHQoU2NyaXB0T2JqZWN0KiBpbmpl
Y3RlZFdlYkdMU2NyaXB0LCBTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3RhdGUsIFdlYkdM
UmVuZGVyaW5nQ29udGV4dCogZ2xDb250ZXh0KQoreworICAgIEFTU0VSVChpbmplY3RlZFdlYkdM
U2NyaXB0KTsKKyAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CisKKyAgICB2ODo6TG9jYWw8djg6
OkNvbnRleHQ+IGluc3BlY3RlZENvbnRleHQgPSBpbnNwZWN0ZWRTY3JpcHRTdGF0ZS0+Y29udGV4
dCgpOworICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUoaW5zcGVjdGVkQ29udGV4
dCk7CisKKyAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gd2luZG93R2xvYmFsID0gaW5zcGVjdGVk
Q29udGV4dC0+R2xvYmFsKCk7CisKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdiA9IGluamVj
dGVkV2ViR0xTY3JpcHQtPnY4VmFsdWUoKTsKKyAgICBBU1NFUlQoIXYuSXNFbXB0eSgpKTsKKyAg
ICBBU1NFUlQodi0+SXNGdW5jdGlvbigpKTsKKworICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBn
bENvbnRleHRPYmplY3QgPSB0b1Y4SW5Mb2NhbENvbnRleHQoVjhXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OkdldFRlbXBsYXRlKCksICZWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aW5mbywgZ2xDb250
ZXh0KTsKKyAgICBpZiAoZ2xDb250ZXh0T2JqZWN0LklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJu
IFNjcmlwdE9iamVjdCgpOworCisgICAgVjhSZWN1cnNpb25TY29wZTo6TWljcm90YXNrU3VwcHJl
c3Npb24gcmVjdXJzaW9uU2NvcGU7CisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3NbXSA9
IHsKKyAgICAgICAgZ2xDb250ZXh0T2JqZWN0LAorICAgIH07CisgICAgdjg6OkxvY2FsPHY4OjpW
YWx1ZT4gaW5qZWN0ZWRTY3JpcHRWYWx1ZSA9IHY4OjpGdW5jdGlvbjo6Q2FzdCgqdiktPkNhbGwo
d2luZG93R2xvYmFsLCAxLCBhcmdzKTsKKyAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gaW5qZWN0
ZWRTY3JpcHRPYmplY3Qodjg6Ok9iamVjdDo6Q2FzdCgqaW5qZWN0ZWRTY3JpcHRWYWx1ZSkpOwor
ICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5zcGVjdGVkU2NyaXB0U3RhdGUsIGluamVjdGVkU2Ny
aXB0T2JqZWN0KTsKK30KKyNlbmRpZgorCiB2b2lkIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlz
Y2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTY3JpcHRTdGF0ZSkKIHsK
ICAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CkBAIC0xMjIsNyArMTgxLDcgQEAgdm9p
ZCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRpc2NhcmRJbmplY3RlZFNjcmlwdChTY3JpcHRTdGF0
ZSogaW5zcGVjdGVkU2NyaXB0U3QKIAogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBnbG9iYWwg
PSBjb250ZXh0LT5HbG9iYWwoKTsKICAgICAvLyBTa2lwIHByb3h5IG9iamVjdC4gVGhlIHByb3h5
IG9iamVjdCB3aWxsIHN1cnZpdmUgcGFnZSBuYXZpZ2F0aW9uIHdoaWxlIHdlIG5lZWQKLSAgICAv
LyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29uc2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNw
ZWN0ZWQgY29udGV4dC4KKyAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29pbmNpZGVz
IHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCiAgICAgZ2xvYmFsID0gdjg6Okxv
Y2FsPHY4OjpPYmplY3Q+OjpDYXN0KGdsb2JhbC0+R2V0UHJvdG90eXBlKCkpOwogCiAgICAgdjg6
OkhhbmRsZTx2ODo6U3RyaW5nPiBrZXkgPSBWOEhpZGRlblByb3BlcnR5TmFtZTo6ZGV2dG9vbHNJ
bmplY3RlZFNjcmlwdCgpOwpAQCAtMTM3LDcgKzE5Niw3IEBAIEluamVjdGVkU2NyaXB0IEluamVj
dGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRTY3JpcHRGb3IoU2NyaXB0U3RhdGUqIGluc3BlY3Rl
ZFNjCiAKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFs
KCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2
aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3Nl
IGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisg
ICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhl
IGluc3BlY3RlZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6
Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmlu
Zz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRldnRvb2xzSW5qZWN0ZWRTY3JpcHQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVj
dG9yLnB5IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3Iu
cHkKaW5kZXggZTlkMzczYjAxZTAzNWQ1YjQ0ZjYyNzYzYzA2NDg2MDcxNWZhMjc0Ni4uMzQ1MzEz
ZDQ0YzJlMzI5ZmQ4NGUwMmJiZDE1ZWU3NzNkNWRiNDdjNSAxMDA3NTUKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkKQEAgLTQ2LDYgKzQ2LDcg
QEAgRE9NQUlOX0RFRklORV9OQU1FX01BUCA9IHsKICAgICAiSW5kZXhlZERCIjogIklOREVYRURf
REFUQUJBU0UiLAogICAgICJQcm9maWxlciI6ICJKQVZBU0NSSVBUX0RFQlVHR0VSIiwKICAgICAi
V29ya2VyIjogIldPUktFUlMiLAorICAgICJXZWJHTCI6ICJXRUJHTCIsCiB9CiAKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAppbmRl
eCA4ZWU1YTk4Y2M3MzNjYTIzODAyOTUxM2FkZTU1M2VmODIyMjdmNjBiLi43NWVmYzI4MThhYzdk
YTkyYjM0NTMxNjBmZTIxODE1NzFmZmFkNWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcApAQCAtMzcsNiArMzcsOSBAQAogI2lu
Y2x1ZGUgIkluamVjdGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0Lmgi
CiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCIKKyNpZiBFTkFCTEUoV0VCR0wpCisj
aW5jbHVkZSAiSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAi
SW5zcGVjdG9yVmFsdWVzLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvU3RkTGliRXh0cmFzLmg+CkBAIC0xNzIsNiArMTc1LDE5IEBAIHBhaXI8bG9uZywgU2Ny
aXB0T2JqZWN0PiBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFNjcmlwdChjb25zdCBTdHJp
bmcmIHNvdXJjCiAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKGlkLCBjcmVhdGVJbmplY3RlZFNj
cmlwdChzb3VyY2UsIHNjcmlwdFN0YXRlLCBpZCkpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQor
U2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEZvckluc3RydW1lbnRhdGlvbihTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUsIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dCogZ2xDb250ZXh0KQoreworICAgIFNjcmlwdE9iamVjdCBpbmplY3RlZFdl
YkdMU2NyaXB0ID0gaW5qZWN0V2ViR0xDb250ZXh0V3JhcHBlclNjcmlwdChpbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlKCksIHNjcmlwdFN0YXRlKTsKKyAgICByZXR1cm4gZXhlY3V0ZUluamVjdGVk
V2ViR0xDb250ZXh0V3JhcHBlclNjcmlwdCgmaW5qZWN0ZWRXZWJHTFNjcmlwdCwgc2NyaXB0U3Rh
dGUsIGdsQ29udGV4dCk7Cit9CisKK1N0cmluZyBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UoKQoreworICAgIHJldHVybiBTdHJpbmcocmVpbnRlcnByZXRf
Y2FzdDxjb25zdCBjaGFyKj4oSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyksIHNpemVvZihJ
bmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzKSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaAppbmRleCA0ZGYzYmQ5ZTUx
ZGExNTdiMmUyMTYyM2RmNzlhODFiZDQxNDc5YTQ0Li5mNzZmZjBkYmM2MDZmN2M4NjRmMDM0YTBm
MDE2MzA3ODU5NTI1YWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0TWFuYWdlci5oCkBAIC03LDEzICs3LDEzIEBACiAgKiBhcmUgbWV0OgogICoKICAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CiAgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxl
Iikgbm9yIHRoZSBuYW1lcyBvZgogICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICog
ICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KICAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRApAQCAt
NDMsNiArNDMsNyBAQCBjbGFzcyBJbmplY3RlZFNjcmlwdDsKIGNsYXNzIEluamVjdGVkU2NyaXB0
SG9zdDsKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIFNjcmlwdE9iamVjdDsKK2NsYXNz
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDsKIAogY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyIHsK
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbmplY3RlZFNjcmlwdE1hbmFnZXIpOwpAQCAtNjQs
NiArNjUsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaXNjYXJkSW5qZWN0ZWRTY3JpcHRzRm9yKERP
TVdpbmRvdyopOwogICAgIHZvaWQgcmVsZWFzZU9iamVjdEdyb3VwKGNvbnN0IFN0cmluZyYgb2Jq
ZWN0R3JvdXApOwogCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIFNjcmlwdE9iamVjdCB3cmFwV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdFN0YXRlKiwgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0Kik7CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICB0eXBlZGVmIGJvb2wg
KCpJbnNwZWN0ZWRTdGF0ZUFjY2Vzc0NoZWNrKShTY3JpcHRTdGF0ZSopOwpAQCAtNzMsNiArNzcs
MTIgQEAgcHJpdmF0ZToKICAgICBTY3JpcHRPYmplY3QgY3JlYXRlSW5qZWN0ZWRTY3JpcHQoY29u
c3QgU3RyaW5nJiBzb3VyY2UsIFNjcmlwdFN0YXRlKiwgbG9uZyBpZCk7CiAgICAgdm9pZCBkaXNj
YXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqKTsKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAg
ICBTdHJpbmcgaW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpOworICAgIFNjcmlwdE9iamVjdCBp
bmplY3RXZWJHTENvbnRleHRXcmFwcGVyU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTY3Jp
cHRTdGF0ZSopOworICAgIFNjcmlwdE9iamVjdCBleGVjdXRlSW5qZWN0ZWRXZWJHTENvbnRleHRX
cmFwcGVyU2NyaXB0KFNjcmlwdE9iamVjdCosIFNjcmlwdFN0YXRlKiwgV2ViR0xSZW5kZXJpbmdD
b250ZXh0Kik7CisjZW5kaWYKKwogICAgIHN0YXRpYyBib29sIGNhbkFjY2Vzc0luc3BlY3RlZFdp
bmRvdyhTY3JpcHRTdGF0ZSopOwogICAgIHN0YXRpYyBib29sIGNhbkFjY2Vzc0luc3BlY3RlZFdv
cmtlckNvbnRleHQoU2NyaXB0U3RhdGUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTBlZTYz
NTAwYzllOTk4ZmY1MzllMDVhYTRkMDllOWRkNjhmMjBhCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMKQEAgLTAs
MCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuICBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUg
b2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAg
ICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyhmdW5jdGlvbihnbENvbnRleHQpIHsKKworLy8gRklYTUU6IFdyYXAgV2Vi
R0wgY29udGV4dCBmb3IgaW5zdHJ1bWVudGF0aW9uLgorcmV0dXJuIGdsQ29udGV4dDsKKworfSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCBjOTkxMTYwOGM0ZThj
ZGJhYWI2OTdlMDU3M2RlM2U3NGRlNDBiYjUxLi4wNDJiZThmNmYzZTAyZjNkYmEzNTM3YTg5YzZj
N2NlZjdlYmFhYjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBA
IC0yODExLDUgKzI4MTEsMjEgQEAKICAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNjb25uZWN0
ZWRGcm9tV29ya2VyIgogICAgICAgICAgICAgfQogICAgICAgICBdCisgICAgfSwKKyAgICB7Cisg
ICAgICAgICJkb21haW4iOiAiV2ViR0wiLAorICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKKyAgICAg
ICAgInR5cGVzIjogW10sCisgICAgICAgICJjb21tYW5kcyI6IFsKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAibmFtZSI6ICJlbmFibGUiLAorICAgICAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJFbmFibGVzIFdlYkdMIGluc3BlY3Rpb24uIgorICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNhYmxlIiwKKyAgICAgICAgICAg
ICAgICAiZGVzY3JpcHRpb24iOiAiRGlzYWJsZXMgV2ViR0wgaW5zcGVjdGlvbi4iCisgICAgICAg
ICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJldmVudHMiOiBbXQogICAgIH1dCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAppbmRleCBiMTIy
MzA0MzIzM2Y5ZDQ0N2E1ZDNhYjU1MTEwNjY5NTllZmJlNjIxLi5iZTkyYTEzZmM3YjNjZDg1NjEz
NjM4ZTYxODg3N2M4MmZiMmMzOWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBbGxJbk9uZS5jcHAKQEAgLTY1LDYgKzY1LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0
b3JTdHlsZVRleHRFZGl0b3IuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQu
Y3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5jcHAiCisjaW5jbHVkZSAiSW5zcGVjdG9y
V2ViR0xBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIgogI2lu
Y2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuY3BwIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJj
ZXNEYXRhLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcAppbmRleCA0NmUwYzJiOGM1NGY0YjQyMGMyMzY4NGM3YmUzYTc1M2E0NWJiNzY5
Li5hYzE5YzdkYjk1M2QyNDU4MzljYWRmYTMyODZlZjY4YjUyOTYyZWYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC02MSw2ICs2
MSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIgorI2lu
Y2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JXb3JrZXJB
Z2VudC5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKICNpbmNsdWRlICJQYWdl
Q29uc29sZUFnZW50LmgiCkBAIC0xNDQsNiArMTQ1LDEwIEBAIEluc3BlY3RvckNvbnRyb2xsZXI6
Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0
b3JDCiAgICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3RvcldvcmtlckFnZW50OjpjcmVhdGUobV9p
bnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpKSk7CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShXRUJHTCkKKyAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yV2ViR0xBZ2VudDo6
Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSwgbV9pbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKTsKKyNlbmRpZgorCiAgICAgQVNTRVJUX0FSRyhpbnNw
ZWN0b3JDbGllbnQsIGluc3BlY3RvckNsaWVudCk7CiAgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFn
ZXItPmluamVjdGVkU2NyaXB0SG9zdCgpLT5pbml0KG1faW5zcGVjdG9yQWdlbnQKICAgICAgICAg
LCBjb25zb2xlQWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBjYTk1MGJhZjcwZDE3Njg1NmMzY2U2ODczMGQyOWQ4
MWJjZGMxOGYyLi42ZDlkNzIzZDE1NzgyMWNjYzc2MTZlMzc0ODA0OWIzZDlhMWU0MzhlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oCkBAIC02OCw2ICs2OCw3IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBTY3Jp
cHRBcmd1bWVudHM7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OworY2xhc3MgU2NyaXB0T2JqZWN0OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIGNs
YXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU2hhZG93Um9vdDsKQEAgLTg5LDYgKzkwLDEwIEBA
IGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3Q7CiBjbGFzcyBXZWJTb2NrZXRIYW5kc2hh
a2VSZXNwb25zZTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQkdMKQorY2xhc3MgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0OworI2VuZGlmCisKICNkZWZpbmUgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRF
TkRTKHZhbHVlKSBpZiAoIWhhc0Zyb250ZW5kcygpKSByZXR1cm4gdmFsdWU7CiAKIHR5cGVkZWYg
cGFpcjxJbnN0cnVtZW50aW5nQWdlbnRzKiwgaW50PiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWU7CkBAIC0yMzYsNiArMjQxLDExIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaWRS
ZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcihEb2N1bWVudCosIHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
V0VCR0wpCisgICAgc3RhdGljIGJvb2wgaXNXZWJHTEluc3BlY3RvckVuYWJsZWQoRG9jdW1lbnQq
KTsKKyAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJ
bnN0cnVtZW50YXRpb24oV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CisjZW5kaWYKKwogICAgIHN0
YXRpYyB2b2lkIG5ldHdvcmtTdGF0ZUNoYW5nZWQoUGFnZSopOwogICAgIHN0YXRpYyB2b2lkIHVw
ZGF0ZUFwcGxpY2F0aW9uQ2FjaGVTdGF0dXMoRnJhbWUqKTsKIApAQCAtOTc1LDcgKzk4NSw3IEBA
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNo
ZWQoUGFnZSogcGFnZSwgdW5zaWduZWQKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlm
IChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGlu
Z0FnZW50c0ZvclBhZ2UocGFnZSkpCi0gICAgICAgIG1hcmtSZXNvdXJjZUFzQ2FjaGVkSW1wbChp
bnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyKTsgCisgICAgICAgIG1hcmtSZXNvdXJjZUFz
Q2FjaGVkSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyKTsKICNlbmRpZgogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2Vu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGI4MmY0ODliMjQwMjgzMGE1YzNhZDc4OTVlN2E3ZDc5M2M5ZGY2MgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFn
ZW50LmNwcApAQCAtMCwwICsxLDEwOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5l
aXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUg
bmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVO
QUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKKworI2luY2x1ZGUgIkluc3BlY3Rvcldl
YkdMQWdlbnQuaCIKKworI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgorI2luY2x1
ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yU3RhdGUuaCIKKyNp
bmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0Lmgi
CisjaW5jbHVkZSAiV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworbmFtZXNwYWNlIFdlYkdMQWdlbnRTdGF0ZSB7CitzdGF0aWMgY29uc3QgY2hhciB3ZWJH
TEFnZW50RW5hYmxlZFtdID0gIndlYkdMQWdlbnRFbmFibGVkIjsKK307CisKK0luc3BlY3Rvcldl
YkdMQWdlbnQ6Okluc3BlY3RvcldlYkdMQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbmplY3RlZFNjcmlwdE1hbmFn
ZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNw
ZWN0b3JXZWJHTEFnZW50PigiV2ViR0wiLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKKyAg
ICAsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICAs
IG1fZnJvbnRlbmQoMCkKKyAgICAsIG1fZW5hYmxlZChmYWxzZSkKK3sKKyAgICBtX2luc3RydW1l
bnRpbmdBZ2VudHMtPnNldEluc3BlY3RvcldlYkdMQWdlbnQodGhpcyk7Cit9CisKK0luc3BlY3Rv
cldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50KCkKK3sKKyAgICBtX2luc3RydW1lbnRp
bmdBZ2VudHMtPnNldEluc3BlY3RvcldlYkdMQWdlbnQoMCk7CisgICAgbV9pbnN0cnVtZW50aW5n
QWdlbnRzID0gMDsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpzZXRGcm9udGVuZChJ
bnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpCit7CisgICAgQVNTRVJUKGZyb250ZW5kKTsKKyAg
ICBtX2Zyb250ZW5kID0gZnJvbnRlbmQtPndlYmdsKCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2Vi
R0xBZ2VudDo6Y2xlYXJGcm9udGVuZCgpCit7CisgICAgbV9mcm9udGVuZCA9IDA7CisgICAgZGlz
YWJsZSgwKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpyZXN0b3JlKCkKK3sKKyAg
ICBtX2VuYWJsZWQgPSBtX3N0YXRlLT5nZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2ViR0xB
Z2VudEVuYWJsZWQpOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZShFcnJv
clN0cmluZyopCit7CisgICAgaWYgKG1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1f
ZW5hYmxlZCA9IHRydWU7CisgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihXZWJHTEFnZW50U3RhdGU6
OndlYkdMQWdlbnRFbmFibGVkLCBtX2VuYWJsZWQpOworfQorCit2b2lkIEluc3BlY3RvcldlYkdM
QWdlbnQ6OmRpc2FibGUoRXJyb3JTdHJpbmcqKQoreworICAgIGlmICghbV9lbmFibGVkKQorICAg
ICAgICByZXR1cm47CisgICAgbV9lbmFibGVkID0gZmFsc2U7CisgICAgbV9zdGF0ZS0+c2V0Qm9v
bGVhbihXZWJHTEFnZW50U3RhdGU6OndlYkdMQWdlbnRFbmFibGVkLCBtX2VuYWJsZWQpOworfQor
CitTY3JpcHRPYmplY3QgSW5zcGVjdG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEZvckluc3RydW1lbnRhdGlvbihXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGdsQ29udGV4dCkK
K3sKKyAgICBBU1NFUlQoZ2xDb250ZXh0KTsKKworICAgIFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0
ZSA9IG1haW5Xb3JsZFNjcmlwdFN0YXRlKGdsQ29udGV4dC0+Y2FudmFzKCktPmRvY3VtZW50KCkt
PmZyYW1lKCkpOworICAgIGlmIChzY3JpcHRTdGF0ZSkKKyAgICAgICAgcmV0dXJuIG1faW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLT53cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0
aW9uKHNjcmlwdFN0YXRlLCBnbENvbnRleHQpOworCisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVD
VE9SKSAmJiBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvcldlYkdMQWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NDRhODFjODg5MzY5ZWMxZWQyNmQzYmIwM2Qz
OTM5NjE1OWM1MzBhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMQWdlbnQuaApAQCAtMCwwICsxLDg2IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFw
cGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJbnNwZWN0
b3JXZWJHTEFnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9yV2ViR0xBZ2VudF9oCisKKyNpZiBFTkFC
TEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisKKyNpbmNsdWRlICJJbnNwZWN0b3JCYXNl
QWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEluamVjdGVkU2Ny
aXB0TWFuYWdlcjsKK2NsYXNzIEluc3BlY3RvclN0YXRlOworY2xhc3MgSW5zdHJ1bWVudGluZ0Fn
ZW50czsKK2NsYXNzIFNjcmlwdE9iamVjdDsKK2NsYXNzIFdlYkdMUmVuZGVyaW5nQ29udGV4dDsK
KwordHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CisKK2NsYXNzIEluc3BlY3RvcldlYkdMQWdl
bnQgOiBwdWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvcldlYkdMQWdlbnQ+LCBwdWJs
aWMgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OldlYkdMQ29tbWFuZEhhbmRsZXIgeworcHVi
bGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvcldlYkdMQWdlbnQ+IGNyZWF0ZShJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSog
c3RhdGUsIEluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JXZWJHTEFnZW50KGluc3Ry
dW1lbnRpbmdBZ2VudHMsIHN0YXRlLCBpbmplY3RlZFNjcmlwdE1hbmFnZXIpKTsKKyAgICB9Cisg
ICAgfkluc3BlY3RvcldlYkdMQWdlbnQoKTsKKworICAgIHZpcnR1YWwgdm9pZCBzZXRGcm9udGVu
ZChJbnNwZWN0b3JGcm9udGVuZCopOworICAgIHZpcnR1YWwgdm9pZCBjbGVhckZyb250ZW5kKCk7
CisgICAgdmlydHVhbCB2b2lkIHJlc3RvcmUoKTsKKworICAgIGJvb2wgZW5hYmxlZCgpIHsgcmV0
dXJuIG1fZW5hYmxlZDsgfQorCisgICAgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRGb3JJbnN0cnVtZW50YXRpb24oV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CisKKyAgICAv
LyBDYWxsZWQgZnJvbSB0aGUgZnJvbnQtZW5kLgorICAgIHZpcnR1YWwgdm9pZCBlbmFibGUoRXJy
b3JTdHJpbmcqKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyopOworCisg
ICAgLy8gQ2FsbGVkIGZyb20gdGhlIGluamVjdGVkIHNjcmlwdC4KKworICAgIC8vIENhbGxlZCBm
cm9tIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbgorCitwcml2YXRlOgorICAgIEluc3BlY3Rvcldl
YkdMQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0YXRlKiwgSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyKik7CisKKyAgICBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIG1faW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyOworICAgIEluc3BlY3RvckZyb250ZW5kOjpXZWJHTCogbV9mcm9udGVuZDsK
KyAgICBib29sIG1fZW5hYmxlZDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKKworI2VuZGlmIC8vICFk
ZWZpbmVkKEluc3BlY3RvcldlYkdMQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDc2OGE2OWRmNTgwZWEzMDNlOGEwZTYzMmYxZjQ3Yjk0MTliNmQ4MAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlv
bi5oCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9u
X2gKKyNkZWZpbmUgSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb25faAorCisjaW5jbHVkZSAi
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2Vu
dC5oIgorI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNsdWRlICJTY3JpcHRP
YmplY3QuaCIKKyNpbmNsdWRlICJXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCisjaWYgRU5BQkxFKFdFQkdMKQoraW5saW5lIGJvb2wgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjppc1dlYkdMSW5zcGVjdG9yRW5hYmxlZChEb2N1bWVudCogZG9jdW1lbnQp
Cit7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVO
RFMoZmFsc2UpOworICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzICogaW5zdHJ1bWVudGluZ0Fn
ZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpIHsKKyAgICAg
ICAgaWYgKEluc3BlY3RvcldlYkdMQWdlbnQgKiB3ZWJHTEFnZW50ID0gaW5zdHJ1bWVudGluZ0Fn
ZW50cy0+aW5zcGVjdG9yV2ViR0xBZ2VudCgpKQorICAgICAgICAgICAgcmV0dXJuIHdlYkdMQWdl
bnQtPmVuYWJsZWQoKTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK1Nj
cmlwdE9iamVjdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRGb3JJbnN0cnVtZW50YXRpb24oV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBnbENvbnRleHQp
Cit7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBBU1NFUlQoZ2xDb250ZXh0KTsKKyAgICBp
ZiAoSW5zdHJ1bWVudGluZ0FnZW50cyAqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50
aW5nQWdlbnRzRm9yRG9jdW1lbnQoZ2xDb250ZXh0LT5jYW52YXMoKS0+ZG9jdW1lbnQoKSkpIHsK
KyAgICAgICAgaWYgKEluc3BlY3RvcldlYkdMQWdlbnQgKiB3ZWJHTEFnZW50ID0gaW5zdHJ1bWVu
dGluZ0FnZW50cy0+aW5zcGVjdG9yV2ViR0xBZ2VudCgpKQorICAgICAgICAgICAgcmV0dXJuIHdl
YkdMQWdlbnQtPndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oZ2xD
b250ZXh0KTsKKyAgICB9CisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworI2VuZGlmCit9Cisj
ZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbl9oKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggMTk0ZWI4NjVl
Yzc1YTY2ZmVmYjRiNzI0NmYwMDhhODM4YTg4YWFiYy4uMTMzNGRjN2Q2ZGI3ZWRiMzkwODZiOTZl
M2M3ODY0Y2ExNzhmMzQxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1
bWVudGluZ0FnZW50cy5oCkBAIC01Miw2ICs1Miw3IEBAIGNsYXNzIEluc3BlY3RvclJlc291cmNl
QWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JSdW50aW1lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yV29ya2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JX
ZWJHTEFnZW50OwogY2xhc3MgUGFnZTsKIGNsYXNzIFBhZ2VSdW50aW1lQWdlbnQ7CiBjbGFzcyBX
b3JrZXJDb250ZXh0OwpAQCAtODYsNiArODcsOSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdPUktF
UlMpCiAgICAgICAgICwgbV9pbnNwZWN0b3JXb3JrZXJBZ2VudCgwKQogI2VuZGlmCisjaWYgRU5B
QkxFKFdFQkdMKQorICAgICAgICAsIG1faW5zcGVjdG9yV2ViR0xBZ2VudCgwKQorI2VuZGlmCiAg
ICAgeyB9CiAgICAgfkluc3RydW1lbnRpbmdBZ2VudHMoKSB7IH0KIApAQCAtMTQyLDExICsxNDYs
MTcgQEAgcHVibGljOgogICAgIEluc3BlY3RvclByb2ZpbGVyQWdlbnQqIGluc3BlY3RvclByb2Zp
bGVyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQ7IH0KICAg
ICB2b2lkIHNldEluc3BlY3RvclByb2ZpbGVyQWdlbnQoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCog
YWdlbnQpIHsgbV9pbnNwZWN0b3JQcm9maWxlckFnZW50ID0gYWdlbnQ7IH0KICNlbmRpZgorCiAj
aWYgRU5BQkxFKFdPUktFUlMpCiAgICAgSW5zcGVjdG9yV29ya2VyQWdlbnQqIGluc3BlY3Rvcldv
cmtlckFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JXb3JrZXJBZ2VudDsgfQogICAg
IHZvaWQgc2V0SW5zcGVjdG9yV29ya2VyQWdlbnQoSW5zcGVjdG9yV29ya2VyQWdlbnQqIGFnZW50
KSB7IG1faW5zcGVjdG9yV29ya2VyQWdlbnQgPSBhZ2VudDsgfQogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoV0VCR0wpCisgICAgSW5zcGVjdG9yV2ViR0xBZ2VudCogaW5zcGVjdG9yV2ViR0xBZ2VudCgp
IGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yV2ViR0xBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5z
cGVjdG9yV2ViR0xBZ2VudChJbnNwZWN0b3JXZWJHTEFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3Rv
cldlYkdMQWdlbnQgPSBhZ2VudDsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgSW5zcGVjdG9y
QWdlbnQqIG1faW5zcGVjdG9yQWdlbnQ7CiAgICAgSW5zcGVjdG9yUGFnZUFnZW50KiBtX2luc3Bl
Y3RvclBhZ2VBZ2VudDsKQEAgLTE3Myw2ICsxODMsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShX
T1JLRVJTKQogICAgIEluc3BlY3RvcldvcmtlckFnZW50KiBtX2luc3BlY3RvcldvcmtlckFnZW50
OwogI2VuZGlmCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIEluc3BlY3RvcldlYkdMQWdlbnQqIG1f
aW5zcGVjdG9yV2ViR0xBZ2VudDsKKyNlbmRpZgogfTsKIAogSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGF0aW9uRm9yUGFnZShQYWdlKik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145219</attachid>
            <date>2012-05-31 23:44:27 -0700</date>
            <delta_ts>2012-06-01 02:33:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120601104425.patch</filename>
            <type>text/plain</type>
            <size>54552</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg5YWE3Mzk0MjU5NTg5
OGIxMjA4YWU1NGQ4YWJiOGFjNDEwOGU1NS4uNDk4NGEzMmMyMTAzMjE1YTA2YzhiNGU0ODg5ZjI0
M2JmZmE3ZWYzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg4IEBACisyMDEyLTA1LTMxICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKQorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6CisgICAgICAg
ICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxDYW52YXNF
bGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6
OmdldENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MQ2FudmFzRWxlbWVudDo6dG9E
YXRhVVJMKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5j
cHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0
TWFuYWdlcjo6aW5qZWN0V2ViR0xDb250ZXh0V3JhcHBlclNjcmlwdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmV4ZWN1dGVJbmplY3RlZFdlYkdMQ29udGV4dFdy
YXBwZXJTY3JpcHQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdFN0YXRlOjpmb3JDb250ZXh0KToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VjhIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNr
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6d2Vha1JlZmVyZW5jZUNhbGxiYWNrKToKKyAgICAgICAg
KFdlYkNvcmU6OnRvVjhJbkxvY2FsQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3Rl
ZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUluamVjdGVkU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RXZWJHTENv
bnRleHRXcmFwcGVyU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFu
YWdlcjo6ZXhlY3V0ZUluamVjdGVkV2ViR0xDb250ZXh0V3JhcHBlclNjcmlwdCk6CisgICAgICAg
IChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRpc2NhcmRJbmplY3RlZFNjcmlwdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkU2NyaXB0
Rm9yKToKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjp3cmFwV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChJbmplY3RlZFNjcmlwdE1hbmFnZXIpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25l
LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1hcmtSZXNvdXJjZUFzQ2FjaGVk
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJHTEFnZW50U3RhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50Ojp+SW5zcGVjdG9yV2ViR0xBZ2VudCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpzZXRGcm9udGVuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjbGVhckZyb250ZW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnJlc3RvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvcldlYkdMQWdlbnQ6OmRpc2FibGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3BlY3RvcldlYkdMQWdlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmlzV2ViR0xJbnNwZWN0b3JF
bmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d3Jh
cFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbik6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6SW5zdHJ1bWVudGluZ0FnZW50cyk6Cisg
ICAgICAgIChJbnN0cnVtZW50aW5nQWdlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6Omluc3BlY3RvcldlYkdMQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
dHJ1bWVudGluZ0FnZW50czo6c2V0SW5zcGVjdG9yV2ViR0xBZ2VudCk6CisKIDIwMTItMDUtMzEg
IEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHIxMTkwNjIgYW5kIHIxMTkwNjQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IGVmMmQ5MzllNDk0NTNlOGI4OWE2YjU3MTU5N2EwNzYwZjczMzc2MTEuLjQxOTBhNWNiMzkwODdk
NGYzOTc4NzRkZGIxNTQ0MTQ2MTZmZTRjYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC05NTgs
NiArOTU4LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JT
dHlsZVRleHRFZGl0b3IuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
Y3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5jcHAKKyAgICBpbnNwZWN0b3IvSW5z
cGVjdG9yV2ViR0xBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQu
Y3BwCiAgICAgaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwCiAgICAgaW5zcGVjdG9y
L05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcApAQCAtMTY4Nyw3ICsxNjg4LDcgQEAgSUYgKEVOQUJM
RV9ORVRXT1JLX0lORk8pCiAgICAgICAgIE1vZHVsZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9D
b25uZWN0aW9uLmNwcAogICAgICAgICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29u
dHJvbGxlci5jcHAKICAgICApCi0gCisKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9GSUxF
UwogICAgICAgICBNb2R1bGVzL25ldHdvcmtpbmZvL05hdmlnYXRvck5ldHdvcmtJbmZvQ29ubmVj
dGlvbi5pZGwKICAgICAgICAgTW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0Nvbm5lY3Rp
b24uaWRsCkBAIC0yNTk3LDYgKzI1OTgsMTQgQEAgQUREX0NVU1RPTV9DT01NQU5EKAogICAgIFZF
UkJBVElNKQogTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTICR7REVSSVZFRF9TT1VSQ0VTX1dF
QkNPUkVfRElSfS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oKQogCisjIEdlbmVyYXRlIEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaAorQUREX0NVU1RPTV9DT01NQU5EKAorICAgIE9VVFBVVCAke0RF
UklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisg
ICAgTUFJTl9ERVBFTkRFTkNZIGluc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpz
CisgICAgQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJDT1JFX0RJUn0vaW5zcGVjdG9y
L3h4ZC5wbCBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzICR7V0VCQ09SRV9ESVJ9L2luc3Bl
Y3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNP
UkVfRElSfS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKKyAgICBWRVJCQVRJTSkKK0xJU1Qo
QVBQRU5EIFdlYkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5q
ZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oKQorCiAKIE1BS0VfSEFTSF9UT09MUygke1dFQkNPUkVf
RElSfS9wbGF0Zm9ybS9Db2xvckRhdGEpCiBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtE
RVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L0NvbG9yRGF0YS5jcHApCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQppbmRleCAxNDczMWRiNGM2MzFmODFhYzBlYjllNzA0MmU4OTBjYWM5MmM0
ZjMyLi4wOTBiYjk3MTE5ZTgxMjUwOTBmZjdkMDJlYzI1MTc1N2Q5NjAzMGZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNSArMSw1IEBACiAjIENvcHlyaWdodCAoQykgMjAw
NiwgMjAwNywgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jIENv
cHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4gCisj
IENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4K
ICMgQ29weXJpZ2h0IChDKSAyMDA5IENhbWVyb24gTWNDb3JtYWNrIDxjYW1AbWNjLmlkLmF1Pgog
IwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKQEAgLTcsMTMgKzcsMTMgQEAKICMgYXJlIG1ldDoKICMKICMgMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICMgICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICMgMy4gIE5laXRo
ZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFt
ZXMgb2YKICMgICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSMgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisjICAgICBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAjCiAjIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZCiAjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKQEAgLTc4MCwxMCArNzgwLDEwIEBAIFhQ
YXRoR3JhbW1hci5jcHAgOiB4bWwvWFBhdGhHcmFtbWFyLnkgJChQUk9KRUNUX0ZJTEUpCiAKICMg
dXNlciBhZ2VudCBzdHlsZSBzaGVldHMKIAotVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSAkKFdl
YkNvcmUpL2Nzcy9odG1sLmNzcyAkKFdlYkNvcmUpL2Nzcy9xdWlya3MuY3NzICQoV2ViQ29yZSkv
Y3NzL3ZpZXctc291cmNlLmNzcyAkKFdlYkNvcmUpL2Nzcy90aGVtZVdpbi5jc3MgJChXZWJDb3Jl
KS9jc3MvdGhlbWVXaW5RdWlya3MuY3NzIAorVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSAkKFdl
YkNvcmUpL2Nzcy9odG1sLmNzcyAkKFdlYkNvcmUpL2Nzcy9xdWlya3MuY3NzICQoV2ViQ29yZSkv
Y3NzL3ZpZXctc291cmNlLmNzcyAkKFdlYkNvcmUpL2Nzcy90aGVtZVdpbi5jc3MgJChXZWJDb3Jl
KS9jc3MvdGhlbWVXaW5RdWlya3MuY3NzCiAKIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfU1ZH
LCQoRkVBVFVSRV9ERUZJTkVTKSksIEVOQUJMRV9TVkcpCi0gICAgVVNFUl9BR0VOVF9TVFlMRV9T
SEVFVFMgOj0gJChVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNz
cyAKKyAgICBVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAkKFVTRVJfQUdFTlRfU1RZTEVfU0hF
RVRTKSAkKFdlYkNvcmUpL2Nzcy9zdmcuY3NzCiBlbmRpZgogCiBpZmVxICgkKGZpbmRzdHJpbmcg
RU5BQkxFX01BVEhNTCwkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfTUFUSE1MKQpAQCAtODky
LDcgKzg5Miw3IEBAIFhMaW5rTmFtZXMuY3BwIDogZG9tL21ha2VfbmFtZXMucGwgc3ZnL3hsaW5r
YXR0cnMuaW4KIAlwZXJsIC1JICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cyAkPCAtLWF0dHJz
ICQoV2ViQ29yZSkvc3ZnL3hsaW5rYXR0cnMuaW4KIAogIyAtLS0tLS0tLQotIAorCiAjIFJlZ2lz
dGVyIGV2ZW50IGNvbnN0cnVjdG9ycyBhbmQgdGFyZ2V0cwogCiBFdmVudEZhY3RvcnkuY3BwIEV2
ZW50SGVhZGVycy5oIEV2ZW50SW50ZXJmYWNlcy5oIDogZG9tL21ha2VfZXZlbnRfZmFjdG9yeS5w
bCBkb20vRXZlbnROYW1lcy5pbgpAQCAtOTA1LDcgKzkwNSw3IEBAIEV4Y2VwdGlvbkNvZGVEZXNj
cmlwdGlvbi5jcHAgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uLmggRXhjZXB0aW9uSGVhZGVycy5o
IEV4Y2VwCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMgJDwgLS1pbnB1dCAk
KFdlYkNvcmUpL2RvbS9ET01FeGNlcHRpb25zLmluCiAKICMgLS0tLS0tLS0KLSAKKwogIyBNYXRo
TUwgdGFnIGFuZCBhdHRyaWJ1dGUgbmFtZXMsIGFuZCBlbGVtZW50IGZhY3RvcnkKIAogTWF0aE1M
RWxlbWVudEZhY3RvcnkuY3BwIE1hdGhNTE5hbWVzLmNwcCA6IGRvbS9tYWtlX25hbWVzLnBsIG1h
dGhtbC9tYXRodGFncy5pbiBtYXRobWwvbWF0aGF0dHJzLmluCkBAIC05ODQsNiArOTg0LDExIEBA
IGFsbCA6IEluamVjdGVkU2NyaXB0U291cmNlLmgKIEluamVjdGVkU2NyaXB0U291cmNlLmggOiBJ
bmplY3RlZFNjcmlwdFNvdXJjZS5qcwogCXBlcmwgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBs
IEluamVjdGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0U291cmNlLmpzIEluamVjdGVkU2NyaXB0U291cmNlLmgKIAorYWxsIDogSW5qZWN0ZWRXZWJH
TFNjcmlwdFNvdXJjZS5oCisKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCA6IEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuanMKKwlwZXJsICQoV2ViQ29yZSkvaW5zcGVjdG9yL3h4ZC5wbCBJ
bmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuanMgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisKIC1pbmNs
dWRlICQoSlNfRE9NX0hFQURFUlM6Lmg9LmRlcCkKIAogaWZlcSAoJChmaW5kc3RyaW5nIEJVSUxE
SU5HX1dYLCQoRkVBVFVSRV9ERUZJTkVTKSksIEJVSUxESU5HX1dYKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMucHJpCmluZGV4IDIzODY3OTk4OTkyMmU1YTJlMTcwNmUwNzBmOWRlMWIyNzQxYzQzM2Eu
LmEwNzcxNjY5OGI1NTA3YjE5YWQ2NTZiMDRkZDgwMmE2ODU4Y2E2ZTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5wcmkKQEAgLTYxLDYgKzYxLDggQEAgSU5TUEVDVE9SX0JBQ0tFTkRfQ09NTUFO
RFNfUVJDID0gJCRQV0QvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JCYWNrZW5kQ29tbWEK
IAogSU5KRUNURURfU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dFNvdXJjZS5qcwogCitJTkpFQ1RFRF9XRUJHTF9TQ1JJUFRfU09VUkNFID0gJCRQV0QvaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMKKwogREVCVUdHRVJfU0NSSVBUX1NPVVJD
RSA9ICQkUFdEL2JpbmRpbmdzL3Y4L0RlYnVnZ2VyU2NyaXB0LmpzCiAKIEFSUkFZX0JVRkZFUl9W
SUVXX0NVU1RPTV9TQ1JJUFRfU09VUkNFID0gJCRQV0QvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJy
YXlCdWZmZXJWaWV3Q3VzdG9tU2NyaXB0LmpzCkBAIC03NjcsMTEgKzc2OSwxOCBAQCBHRU5FUkFU
T1JTICs9IGluc3BlY3RvckJhY2tlbmRDb21tYW5kcwogIyBHRU5FUkFUT1IgMi1hOiBpbnNwZWN0
b3IgaW5qZWN0ZWQgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogaW5qZWN0ZWRTY3JpcHRTb3VyY2Uu
b3V0cHV0ID0gSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaAogaW5qZWN0ZWRTY3JpcHRTb3VyY2UuaW5w
dXQgPSBJTkpFQ1RFRF9TQ1JJUFRfU09VUkNFCi1pbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5k
cyA9IHBlcmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAk
JFBXRC9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMgJHtRTUFLRV9GSUxFX09VVH0K
K2luamVjdGVkU2NyaXB0U291cmNlLmNvbW1hbmRzID0gcGVybCAkJFBXRC9pbnNwZWN0b3IveHhk
LnBsIEluamVjdGVkU2NyaXB0U291cmNlX2pzICR7UU1BS0VfRklMRV9JTn0gJHtRTUFLRV9GSUxF
X09VVH0KIGluamVjdGVkU2NyaXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNl
CiBHRU5FUkFUT1JTICs9IGluamVjdGVkU2NyaXB0U291cmNlCiAKLSMgR0VORVJBVE9SIDItYjog
aW5zcGVjdG9yIGRlYnVnZ2VyIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKKyMgR0VORVJBVE9SIDIt
YjogaW5zcGVjdG9yIHdlYmdsIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKK0luamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2Uub3V0cHV0ID0gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5o
CitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfV0VCR0xfU0NSSVBU
X1NPVVJDRQorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwgJCRQV0Qv
aW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzICR7UU1BS0VfRklM
RV9JTn0gJHtRTUFLRV9GSUxFX09VVH0KK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuYWRkX291
dHB1dF90b19zb3VyY2VzID0gZmFsc2UKK0dFTkVSQVRPUlMgKz0gSW5qZWN0ZWRXZWJHTFNjcmlw
dFNvdXJjZQorCisjIEdFTkVSQVRPUiAyLWM6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291
cmNlIGNvbXBpbGVyCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5vdXRwdXQgPSBEZWJ1Z2dlclNjcmlw
dFNvdXJjZS5oCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5pbnB1dCA9IERFQlVHR0VSX1NDUklQVF9T
T1VSQ0UKIGRlYnVnZ2VyU2NyaXB0U291cmNlLmNvbW1hbmRzID0gcGVybCAkJFBXRC9pbnNwZWN0
b3IveHhkLnBsIERlYnVnZ2VyU2NyaXB0U291cmNlX2pzICR7UU1BS0VfRklMRV9JTn0gJHtRTUFL
RV9GSUxFX09VVH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggYTk3ZDI0ZmI4ZWI3MzZhZGI5Mjgw
N2YxMzNhMTA4ZTZkMGY4ZDU3My4uYWNkNmI2OWViNjBhOTBhNGUxOWI2ZmU0YTk5NzI1NjY5YTk1
Y2JiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTgyMCw2ICs4MjAsOCBAQCBEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qczogRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9JbnNwZQogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kRGlz
cGF0Y2hlci5oOiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVyLmNwcAogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oOiAk
KFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcwogCSQoQU1fVl9HRU4p
JChQRVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRTY3JpcHRTb3VyY2Vf
anMgJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMgJChHRU5TT1VS
Q0VTX1dFQkNPUkUpL0luamVjdGVkU2NyaXB0U291cmNlLmgKK0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oOiAkKFdlYkNvcmUpL2luc3BlY3Rvci9Jbmpl
Y3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJJChBTV9WX0dFTikkKFBFUkwpICQoV2ViQ29yZSkv
aW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkv
aW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJChHRU5TT1VSQ0VTX1dFQkNP
UkUpL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAogCiBpZiBFTkFCTEVfV0VCX0FVRElPCiAj
IEluc3RhbGxpbmcgSFJURiBkYXRhYmFzZSB3YXYgZmlsZXMKQEAgLTEwNjksNiArMTA3MSw3IEBA
IEVYVFJBX0RJU1QgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2ljdS9MSUNFTlNFIFwKIAlTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weSBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcyBcCiAJU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yLTEuMC5qc29uIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZ2VuZXJhdGUt
aW5zcGVjdG9yLXByb3RvY29sLXZlcnNpb24gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
aW5kZXggMzc4NDJhZmYzNTE1YThkODQ2NGMzMDVlZWFiMDAzOGNmYzNjNzkzMi4uYzg2Y2MyNDFl
NzFiZWI5NDRmN2E4NzQxYmY0YzI4OWNkYTY0OWE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCkBAIC0yMCw2ICsyMCw3IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0hUTUxOYW1lcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkU2NyaXB0
U291cmNlLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVyLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckZyb250ZW5kLmNwcCBc
CkBAIC0yNzIwLDYgKzI3MjEsOSBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggXAogCVNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVmFsdWVzLmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JXZWJHTEFnZW50LmNwcCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcldl
YkdMQWdlbnQuaCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5z
dHJ1bWVudGF0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJB
Z2VudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyUmVzb3Vy
Y2UuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaQppbmRleCA1OWVmMzkzZDE2ZmQyNzhhNTFlOTc0Y2RjNTZmMmI1ODZm
OTc5MThiLi4yYTBkMGI1NmRjOTFjZjA3NTkxOGZhZjRmNmVjY2VlNDRmMTNmMTlhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKQEAgLTkyNCw2ICs5MjQsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBpbnNwZWN0b3IvSW5z
cGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCisgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zcGVj
dG9yV29ya2VyQWdlbnQuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5j
cHAgXAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAgXApAQCAtMjA2OSw2
ICsyMDcwLDggQEAgSEVBREVSUyArPSBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hl
ZXQuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5oIFwKICAgICBp
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIFwKKyAgICBpbnNwZWN0b3IvSW5zcGVj
dG9yV2ViR0xBZ2VudC5oIFwKKyAgICBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50
YXRpb24uaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmggXAogICAgIGlu
c3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmggXAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVz
b3VyY2VzRGF0YS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKaW5kZXgg
ODI1NTg4NDc5YmI3MzQ4OTgyOTYyOTQwZGY5NTNlMDJlZmQzMDYzMC4uNDg3NDNkM2ZmZDI0ODkx
Y2FhOGY2ZTJlYzA3NjZlOGEyOGIwMmYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXAKQEAgLTQzNSw2ICs0MzUsMjkgQEAKICAgICAgIF0KICAgICB9LAogICAgIHsKKyAg
ICAgICd0YXJnZXRfbmFtZSc6ICdpbmplY3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKKyAgICAg
ICd0eXBlJzogJ25vbmUnLAorICAgICAgJ2FjdGlvbnMnOiBbCisgICAgICAgIHsKKyAgICAgICAg
ICAnYWN0aW9uX25hbWUnOiAnZ2VuZXJhdGVJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlJywKKyAg
ICAgICAgICAnaW5wdXRzJzogWworICAgICAgICAgICAgJy4uL2luc3BlY3Rvci9JbmplY3RlZFdl
YkdMU2NyaXB0U291cmNlLmpzJywKKyAgICAgICAgICBdLAorICAgICAgICAgICdvdXRwdXRzJzog
WworICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdC9JbmplY3Rl
ZFdlYkdMU2NyaXB0U291cmNlLmgnLAorICAgICAgICAgIF0sCisgICAgICAgICAgJ2FjdGlvbic6
IFsKKyAgICAgICAgICAgICdwZXJsJywKKyAgICAgICAgICAgICcuLi9pbnNwZWN0b3IveHhkLnBs
JywKKyAgICAgICAgICAgICdJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzJywKKyAgICAgICAg
ICAgICc8QChfaW5wdXRzKScsCisgICAgICAgICAgICAnPEAoX291dHB1dHMpJworICAgICAgICAg
IF0sCisgICAgICAgICAgJ21lc3NhZ2UnOiAnR2VuZXJhdGluZyBJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmggZnJvbSBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzJywKKyAgICAgICAgfSwK
KyAgICAgIF0KKyAgICB9LAorICAgIHsKICAgICAgICd0YXJnZXRfbmFtZSc6ICdkZWJ1Z2dlcl9z
Y3JpcHRfc291cmNlJywKICAgICAgICd0eXBlJzogJ25vbmUnLAogICAgICAgJ2FjdGlvbnMnOiBb
CkBAIC0xMDc1LDYgKzEwOTgsNyBAQAogICAgICAgICAnd2ViY29yZV9iaW5kaW5nc19zb3VyY2Vz
JywKICAgICAgICAgJ2luc3BlY3Rvcl9wcm90b2NvbF9zb3VyY2VzJywKICAgICAgICAgJ2luamVj
dGVkX3NjcmlwdF9zb3VyY2UnLAorICAgICAgICAnaW5qZWN0ZWRfd2ViZ2xfc2NyaXB0X3NvdXJj
ZScsCiAgICAgICAgICdkZWJ1Z2dlcl9zY3JpcHRfc291cmNlJywKICAgICAgICAgJy4uLy4uL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cC9KYXZhU2NyaXB0Q29yZS5neXA6eWFycics
CiAgICAgICAgICcuLi8uLi9XVEYvV1RGLmd5cC9XVEYuZ3lwOnd0ZicsCkBAIC0xMTk4LDYgKzEy
MjIsNyBAQAogICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKICAgICAgICAgJ2RlYnVnZ2VyX3Njcmlw
dF9zb3VyY2UnLAogICAgICAgICAnaW5qZWN0ZWRfc2NyaXB0X3NvdXJjZScsCisgICAgICAgICdp
bmplY3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2luc3BlY3Rvcl9wcm90b2Nv
bF9zb3VyY2VzJywKICAgICAgICAgJ3dlYmNvcmVfYmluZGluZ3Nfc291cmNlcycsCiAgICAgICAg
ICcuLi8uLi9UaGlyZFBhcnR5L2dsdS9nbHUuZ3lwOmxpYnRlc3MnLApAQCAtMTQ3Myw5ICsxNDk4
LDkgQEAKICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAgICAgICd3ZWJjb3JlX3ByZXJlcXVp
c2l0ZXMnLAogICAgICAgXSwKLSAgICAgICdkZWZpbmVzJzogWyAKLSAgICAgICAgJ1dFQktJVF9J
TVBMRU1FTlRBVElPTj0xJywgCi0gICAgICBdLCAKKyAgICAgICdkZWZpbmVzJzogWworICAgICAg
ICAnV0VCS0lUX0lNUExFTUVOVEFUSU9OPTEnLAorICAgICAgXSwKICAgICAgICMgVGhpcyBpcyBu
ZWVkZWQgZm9yIG1hYyBiZWNhdXNlIG9mIHdlYmtpdF9zeXN0ZW1faW50ZXJmYWNlLiBJdCdkIGJl
IG5pY2UKICAgICAgICMgaWYgdGhpcyBoYXJkIGRlcGVuZGVuY3kgY291bGQgYmUgc3BsaXQgb2Zm
IHRoZSByZXN0LgogICAgICAgJ2hhcmRfZGVwZW5kZW5jeSc6IDEsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5k
ZXggNjFlZmFiMWFkNDQ1NzRiNjIyN2NjZjAyZTNjZjQ3OGI3MjVkOTIxNC4uYWY3ZDU2M2QxOTdj
NmNjMzQ5OTc1NTIwMzVhODI2MGFkNzUzNzRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjgxOSw2
ICsyODE5LDkgQEAKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCcsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlclJlc291cmNlLmgnLAorICAgICAgICAg
ICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCcsCisgICAgICAgICAgICAnaW5z
cGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0lu
c3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9J
bnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0
b3JXb3JrZXJBZ2VudC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0Fn
ZW50cy5jcHAnLApAQCAtNjY0MCw3ICs2NjQzLDcgQEAKICAgICAgICAgICAgICdpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hTbWFsbEdyYXkucG5nJywKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hTbWFsbFdoaXRlLnBuZycsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoTmV4dC5wbmcnLAotICAgICAgICAg
ICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFByZXYucG5nJywgICAgICAgICAg
ICAKKyAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hQcmV2LnBu
ZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VnbWVudC5wbmcn
LAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlZ21lbnRFbmQucG5n
JywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWdtZW50SG92ZXIu
cG5nJywKQEAgLTcyMzgsNiArNzI0MSw3IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuY3BwJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0hlYWRlckRldGVjdGlvbi5oJywKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVk
U2NyaXB0U291cmNlLmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oJywKICAgICAgICAgICAgICc8
KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNw
YXRjaGVyLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmRDb21tYW5k
cy5qcycsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxDYW52
YXNFbGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENh
bnZhc0VsZW1lbnRDdXN0b20uY3BwCmluZGV4IGQ1ZmMzY2U5NjM2M2RjNTEyNjg0ZjJmNDA3MWE0
MjQ4NWVhYzA2MTguLmRmYjkyZTMyNjA2ODhjZTAyZjM5YmZlODc5MTY3MmJmM2ZmMzM0ZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRD
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0Vs
ZW1lbnRDdXN0b20uY3BwCkBAIC0yMSw3ICsyMSw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
ICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAK
ICNpbmNsdWRlICJjb25maWcuaCIKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJIVE1MQ2Fu
dmFzRWxlbWVudC5oIgogI2luY2x1ZGUgIkpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgiCiAj
aWYgRU5BQkxFKFdFQkdMKQorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9u
LmgiCiAjaW5jbHVkZSAiSlNXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJXZWJH
TENvbnRleHRBdHRyaWJ1dGVzLmgiCiAjZW5kaWYKQEAgLTc1LDYgKzc2LDEzIEBAIEpTVmFsdWUg
SlNIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCA9IGNhbnZhcy0+Z2V0Q29udGV4dCh1c3RyaW5n
VG9TdHJpbmcoY29udGV4dElkKSwgYXR0cnMuZ2V0KCkpOwogICAgIGlmICghY29udGV4dCkKICAg
ICAgICAgcmV0dXJuIGpzTnVsbCgpOworI2lmIEVOQUJMRShXRUJHTCkKKyAgICBpZiAoY29udGV4
dC0+aXMzZCgpKSB7CisgICAgICAgIFNjcmlwdE9iamVjdCB3cmFwcGVkID0gSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9u
KHN0YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5nQ29udGV4dCo+KGNvbnRleHQpKTsKKyAgICAgICAg
aWYgKHdyYXBwZWQuanNWYWx1ZSgpLmlzT2JqZWN0KCkpCisgICAgICAgICAgICByZXR1cm4gd3Jh
cHBlZC5qc1ZhbHVlKCk7CisgICAgfQorI2VuZGlmCiAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xv
YmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGNvbnRleHQpKTsKIH0KIApAQCAtOTMsNyArMTAxLDcg
QEAgSlNWYWx1ZSBKU0hUTUxDYW52YXNFbGVtZW50Ojp0b0RhdGFVUkwoRXhlY1N0YXRlKiBleGVj
KQogICAgICAgICAgICAgcXVhbGl0eVB0ciA9ICZxdWFsaXR5OwogICAgICAgICB9CiAgICAgfQot
ICAgIAorCiAgICAgSlNWYWx1ZSByZXN1bHQgPSBqc1N0cmluZyhleGVjLCBjYW52YXMtPnRvRGF0
YVVSTCh0eXBlLCBxdWFsaXR5UHRyLCBlYykpOwogICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBl
Yyk7CiAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAppbmRleCAyNDk5OTNmMjc1Y2E1Mjdh
YzY5ZWFkYmFmNWY0MGRlN2RlM2QyZmM2Li5kZjUxYWE3NjFjMTQ2NzZmNmQyZWNiOGYzNGM4MTNh
YTNlZWI0NjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVj
dGVkU2NyaXB0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJ
bmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC00Miw2ICs0Miw5IEBACiAjaW5jbHVkZSAiSlNE
T01XaW5kb3dDdXN0b20uaCIKICNpbmNsdWRlICJKU0luamVjdGVkU2NyaXB0SG9zdC5oIgogI2lu
Y2x1ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgorI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNs
dWRlICJKU1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgorI2VuZGlmCiAjaW5jbHVkZSA8cGFyc2Vy
L1NvdXJjZUNvZGUuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgogCkBAIC03OCw2ICs4
MSwxNCBAQCBTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3Rl
ZFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgUwogICAgIHJldHVybiBTY3JpcHRPYmplY3Qo
KTsKIH0KIAorI2lmIEVOQUJMRShXRUJHTCkKK1NjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1h
bmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KGNvbnN0IFN0cmluZyYgc2NyaXB0U291cmNlLCBTY3Jp
cHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3RhdGUsIFdlYkdMUmVuZGVyaW5nQ29udGV4dCogZ2xD
b250ZXh0KQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcyEKKyAgICByZXR1cm4gU2Ny
aXB0T2JqZWN0KCk7Cit9CisjZW5kaWYKKwogdm9pZCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRp
c2NhcmRJbmplY3RlZFNjcmlwdChTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUpCiB7CiAgICAgSlNE
T01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+
KHNjcmlwdFN0YXRlLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwCmluZGV4IGMxOWZiOTg5MmJkYzhhOTc2NGRmN2UzYWJi
Zjc5OWIxNWRiYjY4MTQuLmUyMWM2Y2FjZTc1MTdkOTQwNGM5YjliYzRjMDNlZDM4NzFjMzI0MGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAKQEAgLTkwLDcg
KzkwLDcgQEAgU2NyaXB0U3RhdGUqIFNjcmlwdFN0YXRlOjpmb3JDb250ZXh0KHY4OjpMb2NhbDx2
ODo6Q29udGV4dD4gY29udGV4dCkKIAogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBnbG9iYWwg
PSBjb250ZXh0LT5HbG9iYWwoKTsKICAgICAvLyBTa2lwIHByb3h5IG9iamVjdC4gVGhlIHByb3h5
IG9iamVjdCB3aWxsIHN1cnZpdmUgcGFnZSBuYXZpZ2F0aW9uIHdoaWxlIHdlIG5lZWQKLSAgICAv
LyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29uc2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNw
ZWN0ZWQgY29udGV4dC4KKyAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29pbmNpZGVz
IHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCiAgICAgZ2xvYmFsID0gdjg6Okxv
Y2FsPHY4OjpPYmplY3Q+OjpDYXN0KGdsb2JhbC0+R2V0UHJvdG90eXBlKCkpOwogCiAgICAgdjg6
OkhhbmRsZTx2ODo6U3RyaW5nPiBrZXkgPSBWOEhpZGRlblByb3BlcnR5TmFtZTo6c2NyaXB0U3Rh
dGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJv
cGVydHlOYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5
TmFtZS5oCmluZGV4IGVmMDI1ZDM5ZmRmMWRmNjFmMmM1YTA2NTc3N2VkYzBiNGNkZDc1OGMuLjFl
OTlhZjczOWZjMTU2YjEyYjNlYzI5MzEyY2JmYjkwYTZhMzgyNGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaApAQCAtMSwxMCArMSwx
MCBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICogCisgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiAgKiBtZXQ6
Ci0gKiAKKyAqCiAgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQpAQCAtMTQsNyArMTQs
NyBAQAogICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cwogICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KICAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKiAKKyAqCiAgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAogICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCkBAIC00MSw2ICs0MSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBWKGF0dHJpYnV0ZUxpc3RlbmVyKSBcCiAgICAgVihzY3JpcHRTdGF0ZSkg
XAogICAgIFYoZGV2dG9vbHNJbmplY3RlZFNjcmlwdCkgXAorICAgIFYoZGV2dG9vbHNXZWJHTElu
amVjdGVkU2NyaXB0KSBcCiAgICAgVihzbGVlcEZ1bmN0aW9uKSBcCiAgICAgVih0b1N0cmluZ1N0
cmluZykgXAogICAgIFYoZXZlbnQpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAppbmRl
eCA3MzUxMWE4Njc1Yjc5ZDAyNDg5MDc1MDUwNzVhODk5NWMyN2E1ZmZmLi45ZTRiYTlhYTI5NWJk
OGQ1NGUwNGNiNmFkN2RhZTE3ZGI2ZmE0YTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20u
Y3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiVjhOb2RlLmgiCiAjaW5jbHVkZSAiVjhQ
cm94eS5oIgogI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEluc3Ry
dW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlY4V2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCiAjZW5k
aWYKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgpAQCAtODgsOCArODksMTIgQEAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4SFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHRDYWxsYmFjayhj
b25zdCB2ODo6QXJndW1lbnQKICAgICBpZiAocmVzdWx0LT5pczJkKCkpCiAgICAgICAgIHJldHVy
biB0b1Y4KHN0YXRpY19jYXN0PENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCo+KHJlc3VsdCksIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKICNpZiBFTkFCTEUoV0VCR0wpCi0gICAgZWxzZSBpZiAocmVzdWx0
LT5pczNkKCkpCisgICAgZWxzZSBpZiAocmVzdWx0LT5pczNkKCkpIHsKKyAgICAgICAgU2NyaXB0
T2JqZWN0IHdyYXBwZWQgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRl
cmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oc3RhdGljX2Nhc3Q8V2ViR0xSZW5kZXJpbmdD
b250ZXh0Kj4ocmVzdWx0KSk7CisgICAgICAgIGlmICghd3JhcHBlZC52OFZhbHVlKCkuSXNFbXB0
eSgpKQorICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudjhWYWx1ZSgpOwogICAgICAgICByZXR1
cm4gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBhcmdz
LkdldElzb2xhdGUoKSk7CisgICAgfQogI2VuZGlmCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAgICAgcmV0dXJuIHY4OjpOdWxsKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1h
bmFnZXIuY3BwCmluZGV4IDQ1NTU5ZmM2ZWNlYjE5OWZlNWVhOWVhMmNhYzkxODNjMTVmOTgwODAu
LmVjOTljZmJiZjE5MjBjODE5YTQ0NzBkYWZiZjAzNjJkYmRkMjMxMjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLmNwcApAQCAtNDQsMjAgKzQ0LDI0IEBACiAjaW5jbHVkZSAiVjhJbmplY3RlZFNj
cmlwdEhvc3QuaCIKICNpbmNsdWRlICJWOFByb3h5LmgiCiAjaW5jbHVkZSAiVjhSZWN1cnNpb25T
Y29wZS5oIgorI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29u
dGV4dC5oIgorI2VuZGlmCisjaW5jbHVkZSAiV3JhcHBlclR5cGVJbmZvLmgiCiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyB2b2lkIFdlYWtS
ZWZlcmVuY2VDYWxsYmFjayh2ODo6UGVyc2lzdGVudDx2ODo6VmFsdWU+IG9iamVjdCwgdm9pZCog
cGFyYW1ldGVyKQordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RhdGljIHZvaWQgd2Vha1JlZmVyZW5j
ZUNhbGxiYWNrKHY4OjpQZXJzaXN0ZW50PHY4OjpWYWx1ZT4gb2JqZWN0LCB2b2lkKiBwYXJhbWV0
ZXIpCiB7Ci0gICAgSW5qZWN0ZWRTY3JpcHRIb3N0KiBuYXRpdmVPYmplY3QgPSBzdGF0aWNfY2Fz
dDxJbmplY3RlZFNjcmlwdEhvc3QqPihwYXJhbWV0ZXIpOworICAgIFQqIG5hdGl2ZU9iamVjdCA9
IHN0YXRpY19jYXN0PFQqPihwYXJhbWV0ZXIpOwogICAgIG5hdGl2ZU9iamVjdC0+ZGVyZWYoKTsK
ICAgICBvYmplY3QuRGlzcG9zZSgpOwogfQogCi1zdGF0aWMgdjg6OkxvY2FsPHY4OjpPYmplY3Q+
IGNyZWF0ZUluamVjdGVkU2NyaXB0SG9zdFY4V3JhcHBlcihJbmplY3RlZFNjcmlwdEhvc3QqIGhv
c3QpCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdGF0aWMgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IHRv
VjhJbkxvY2FsQ29udGV4dCh2ODo6SGFuZGxlPHY4OjpGdW5jdGlvblRlbXBsYXRlPiBmdW5jdGlv
blRlbXBsYXRlLCBXcmFwcGVyVHlwZUluZm8qIHR5cGUsIFQqIG5hdGl2ZU9iamVjdCkKIHsKLSAg
ICB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiBmdW5jdGlvbiA9IFY4SW5qZWN0ZWRTY3JpcHRIb3N0
OjpHZXRUZW1wbGF0ZSgpLT5HZXRGdW5jdGlvbigpOworICAgIHY4OjpIYW5kbGU8djg6OkZ1bmN0
aW9uPiBmdW5jdGlvbiA9IGZ1bmN0aW9uVGVtcGxhdGUtPkdldEZ1bmN0aW9uKCk7CiAgICAgaWYg
KGZ1bmN0aW9uLklzRW1wdHkoKSkgewogICAgICAgICAvLyBSZXR1cm4gaWYgYWxsb2NhdGlvbiBm
YWlsZWQuCiAgICAgICAgIHJldHVybiB2ODo6TG9jYWw8djg6Ok9iamVjdD4oKTsKQEAgLTY3LDEy
ICs3MSwxMiBAQCBzdGF0aWMgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGNyZWF0ZUluamVjdGVkU2Ny
aXB0SG9zdFY4V3JhcHBlcihJbmplY3RlZFNjcmlwdEhvcwogICAgICAgICAvLyBBdm9pZCBzZXR0
aW5nIHRoZSB3cmFwcGVyIGlmIGFsbG9jYXRpb24gZmFpbGVkLgogICAgICAgICByZXR1cm4gdjg6
OkxvY2FsPHY4OjpPYmplY3Q+KCk7CiAgICAgfQotICAgIFY4RE9NV3JhcHBlcjo6c2V0RE9NV3Jh
cHBlcihpbnN0YW5jZSwgJlY4SW5qZWN0ZWRTY3JpcHRIb3N0OjppbmZvLCBob3N0KTsKLSAgICAv
LyBDcmVhdGUgYSB3ZWFrIHJlZmVyZW5jZSB0byB0aGUgdjggd3JhcHBlciBvZiBJbnNwZWN0b3JC
YWNrZW5kIHRvIGRlcmVmCi0gICAgLy8gSW5zcGVjdG9yQmFja2VuZCB3aGVuIHRoZSB3cmFwcGVy
IGlzIGdhcmJhZ2UgY29sbGVjdGVkLgotICAgIGhvc3QtPnJlZigpOworICAgIFY4RE9NV3JhcHBl
cjo6c2V0RE9NV3JhcHBlcihpbnN0YW5jZSwgdHlwZSwgbmF0aXZlT2JqZWN0KTsKKyAgICAvLyBD
cmVhdGUgYSB3ZWFrIHJlZmVyZW5jZSB0byB0aGUgdjggd3JhcHBlciB0byBkZXJlZiB0aGUgd3Jh
cHBlZCBvYmplY3QKKyAgICAvLyB3aGVuIHRoZSB3cmFwcGVyIGlzIGdhcmJhZ2UgY29sbGVjdGVk
LgorICAgIG5hdGl2ZU9iamVjdC0+cmVmKCk7CiAgICAgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVj
dD4gd2Vha0hhbmRsZSA9IHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+OjpOZXcoaW5zdGFuY2Up
OwotICAgIHdlYWtIYW5kbGUuTWFrZVdlYWsoaG9zdCwgJldlYWtSZWZlcmVuY2VDYWxsYmFjayk7
CisgICAgd2Vha0hhbmRsZS5NYWtlV2VhayhuYXRpdmVPYmplY3QsICZ3ZWFrUmVmZXJlbmNlQ2Fs
bGJhY2s8VD4pOwogICAgIHJldHVybiBpbnN0YW5jZTsKIH0KIApAQCAtODcsNyArOTEsNyBAQCBT
Y3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdChj
b25zdCBTdHJpbmcmIHNjcmlwdFNvdQogICAgIC8vIGluc3RlYWQgb2YgY2FsbGluZyB0b1Y4KCkg
dGhhdCB3b3VsZCBjcmVhdGUgdGhlCiAgICAgLy8gd3JhcHBlciBpbiB0aGUgY3VycmVudCBjb250
ZXh0LgogICAgIC8vIEZJWE1FOiBtYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSBnZW5lcmljIGJpbmRp
bmdzIGZhY3RvcnkgZm9yIEluamVjdGVkU2NyaXB0SG9zdC4KLSAgICB2ODo6TG9jYWw8djg6Ok9i
amVjdD4gc2NyaXB0SG9zdFdyYXBwZXIgPSBjcmVhdGVJbmplY3RlZFNjcmlwdEhvc3RWOFdyYXBw
ZXIobV9pbmplY3RlZFNjcmlwdEhvc3QuZ2V0KCkpOworICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0
PiBzY3JpcHRIb3N0V3JhcHBlciA9IHRvVjhJbkxvY2FsQ29udGV4dChWOEluamVjdGVkU2NyaXB0
SG9zdDo6R2V0VGVtcGxhdGUoKSwgJlY4SW5qZWN0ZWRTY3JpcHRIb3N0OjppbmZvLCBtX2luamVj
dGVkU2NyaXB0SG9zdC5nZXQoKSk7CiAgICAgaWYgKHNjcmlwdEhvc3RXcmFwcGVyLklzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOwogCkBAIC0xMTQsNiArMTE4LDUxIEBA
IFNjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUluamVjdGVkU2NyaXB0
KGNvbnN0IFN0cmluZyYgc2NyaXB0U291CiAgICAgcmV0dXJuIFNjcmlwdE9iamVjdChpbnNwZWN0
ZWRTY3JpcHRTdGF0ZSwgaW5qZWN0ZWRTY3JpcHQpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQor
c3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBpbmplY3RXZWJHTFdyYXBwZXJGdW5jdGlvbihj
b25zdCBTdHJpbmcmIHNjcmlwdFNvdXJjZSwgU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0
YXRlKQoreworICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gaW5zcGVjdGVkQ29udGV4dCA9IGlu
c3BlY3RlZFNjcmlwdFN0YXRlLT5jb250ZXh0KCk7CisgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+
IHdpbmRvd0dsb2JhbCA9IGluc3BlY3RlZENvbnRleHQtPkdsb2JhbCgpOworCisgICAgdjg6Okhh
bmRsZTx2ODo6U3RyaW5nPiBrZXkgPSBWOEhpZGRlblByb3BlcnR5TmFtZTo6ZGV2dG9vbHNXZWJH
TEluamVjdGVkU2NyaXB0KCk7CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsID0gd2luZG93
R2xvYmFsLT5HZXRIaWRkZW5WYWx1ZShrZXkpOworICAgIGlmICghdmFsLklzRW1wdHkoKSAmJiB2
YWwtPklzRnVuY3Rpb24oKSkKKyAgICAgICAgcmV0dXJuIHZhbDsKKworICAgIHY4OjpMb2NhbDx2
ODo6U2NyaXB0PiBzY3JpcHQgPSB2ODo6U2NyaXB0OjpDb21waWxlKHY4U3RyaW5nKHNjcmlwdFNv
dXJjZSkpOworICAgIFY4UmVjdXJzaW9uU2NvcGU6Ok1pY3JvdGFza1N1cHByZXNzaW9uIHJlY3Vy
c2lvblNjb3BlOworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHYgPSBzY3JpcHQtPlJ1bigpOwor
ICAgIEFTU0VSVCghdi5Jc0VtcHR5KCkpOworICAgIEFTU0VSVCh2LT5Jc0Z1bmN0aW9uKCkpOwor
CisgICAgd2luZG93R2xvYmFsLT5TZXRIaWRkZW5WYWx1ZShrZXksIHYpOworICAgIHJldHVybiB2
OworfQorCitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RXZWJHTFNj
cmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNvdXJjZSwgU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNj
cmlwdFN0YXRlLCBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGdsQ29udGV4dCkKK3sKKyAgICB2ODo6
SGFuZGxlU2NvcGUgc2NvcGU7CisKKyAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGluc3BlY3Rl
ZENvbnRleHQgPSBpbnNwZWN0ZWRTY3JpcHRTdGF0ZS0+Y29udGV4dCgpOworICAgIHY4OjpDb250
ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUoaW5zcGVjdGVkQ29udGV4dCk7CisKKyAgICB2ODo6TG9j
YWw8djg6Ok9iamVjdD4gd2luZG93R2xvYmFsID0gaW5zcGVjdGVkQ29udGV4dC0+R2xvYmFsKCk7
CisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHdyYXBwZXJGdW5jdGlvbiA9IGluamVjdFdlYkdM
V3JhcHBlckZ1bmN0aW9uKHNjcmlwdFNvdXJjZSwgaW5zcGVjdGVkU2NyaXB0U3RhdGUpOworCisg
ICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGdsQ29udGV4dE9iamVjdCA9IHRvVjhJbkxvY2FsQ29u
dGV4dChWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6R2V0VGVtcGxhdGUoKSwgJlY4V2ViR0xSZW5k
ZXJpbmdDb250ZXh0OjppbmZvLCBnbENvbnRleHQpOworICAgIGlmIChnbENvbnRleHRPYmplY3Qu
SXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7CisKKyAgICBWOFJlY3Vy
c2lvblNjb3BlOjpNaWNyb3Rhc2tTdXBwcmVzc2lvbiByZWN1cnNpb25TY29wZTsKKyAgICB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gYXJnc1tdID0geworICAgICAgICBnbENvbnRleHRPYmplY3QsCisg
ICAgfTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBpbmplY3RlZFNjcmlwdFZhbHVlID0gdjg6
OkZ1bmN0aW9uOjpDYXN0KCp3cmFwcGVyRnVuY3Rpb24pLT5DYWxsKHdpbmRvd0dsb2JhbCwgMSwg
YXJncyk7CisgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGluamVjdGVkU2NyaXB0T2JqZWN0KHY4
OjpPYmplY3Q6OkNhc3QoKmluamVjdGVkU2NyaXB0VmFsdWUpKTsKKyAgICByZXR1cm4gU2NyaXB0
T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRlLCBpbmplY3RlZFNjcmlwdE9iamVjdCk7Cit9Cisj
ZW5kaWYKKwogdm9pZCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRpc2NhcmRJbmplY3RlZFNjcmlw
dChTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3RhdGUpCiB7CiAgICAgdjg6OkhhbmRsZVNj
b3BlIGhhbmRsZVNjb3BlOwpAQCAtMTIyLDcgKzE3MSw3IEBAIHZvaWQgSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjcmlw
dFN0CiAKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFs
KCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2
aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3Nl
IGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisg
ICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhl
IGluc3BlY3RlZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6
Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmlu
Zz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRldnRvb2xzSW5qZWN0ZWRTY3JpcHQoKTsK
QEAgLTEzNyw3ICsxODYsNyBAQCBJbmplY3RlZFNjcmlwdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6
OmluamVjdGVkU2NyaXB0Rm9yKFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTYwogCiAgICAgdjg6Okxv
Y2FsPHY4OjpPYmplY3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2JhbCgpOwogICAgIC8vIFNraXAg
cHJveHkgb2JqZWN0LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vydml2ZSBwYWdlIG5hdmlnYXRp
b24gd2hpbGUgd2UgbmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb25zaWRl
cyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgorICAgIC8vIGFuIG9iamVjdCB3
aG9zZSBsaWZldGltZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4
dC4KICAgICBnbG9iYWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46OkNhc3QoZ2xvYmFsLT5HZXRQ
cm90b3R5cGUoKSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGtleSA9IFY4SGlkZGVu
UHJvcGVydHlOYW1lOjpkZXZ0b29sc0luamVjdGVkU2NyaXB0KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weSBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5CmluZGV4IGU5ZDM3M2Iw
MWUwMzVkNWI0NGY2Mjc2M2MwNjQ4NjA3MTVmYTI3NDYuLjM0NTMxM2Q0NGMyZTMyOWZkODRlMDJi
YmQxNWVlNzczZDVkYjQ3YzUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5CkBAIC00Niw2ICs0Niw3IEBAIERPTUFJTl9ERUZJTkVf
TkFNRV9NQVAgPSB7CiAgICAgIkluZGV4ZWREQiI6ICJJTkRFWEVEX0RBVEFCQVNFIiwKICAgICAi
UHJvZmlsZXIiOiAiSkFWQVNDUklQVF9ERUJVR0dFUiIsCiAgICAgIldvcmtlciI6ICJXT1JLRVJT
IiwKKyAgICAiV2ViR0wiOiAiV0VCR0wiLAogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5kZXggOGVlNWE5OGNjNzMzY2Ey
MzgwMjk1MTNhZGU1NTNlZjgyMjI3ZjYwYi4uZTI0MWMwZjdjOTQxYThjZGY5MWZkZGQwMjI3ZmMx
YTZhNzA1ZmU4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVk
U2NyaXB0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVk
U2NyaXB0TWFuYWdlci5jcHAKQEAgLTM3LDYgKzM3LDkgQEAKICNpbmNsdWRlICJJbmplY3RlZFNj
cmlwdC5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0SG9zdC5oIgogI2luY2x1ZGUgIkluamVj
dGVkU2NyaXB0U291cmNlLmgiCisjaWYgRU5BQkxFKFdFQkdMKQorI2luY2x1ZGUgIkluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaCIKKyNlbmRpZgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5o
IgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgpAQCAtMTcyLDYgKzE3NSwxOCBAQCBwYWlyPGxvbmcsIFNjcmlwdE9iamVjdD4gSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyYwogICAgIHJl
dHVybiBzdGQ6Om1ha2VfcGFpcihpZCwgY3JlYXRlSW5qZWN0ZWRTY3JpcHQoc291cmNlLCBzY3Jp
cHRTdGF0ZSwgaWQpKTsKIH0KIAorI2lmIEVOQUJMRShXRUJHTCkKK1NjcmlwdE9iamVjdCBJbmpl
Y3RlZFNjcmlwdE1hbmFnZXI6OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50
YXRpb24oU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlLCBXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGds
Q29udGV4dCkKK3sKKyAgICByZXR1cm4gaW5qZWN0V2ViR0xTY3JpcHQoaW5qZWN0ZWRXZWJHTFNj
cmlwdFNvdXJjZSgpLCBzY3JpcHRTdGF0ZSwgZ2xDb250ZXh0KTsKK30KKworU3RyaW5nIEluamVj
dGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpCit7CisgICAgcmV0
dXJuIFN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihJbmplY3RlZFdlYkdMU2Ny
aXB0U291cmNlX2pzKSwgc2l6ZW9mKEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMpKTsKK30K
KyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0TWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5oCmluZGV4IDRkZjNiZDllNTFkYTE1N2IyZTIxNjIzZGY3OWE4MWJkNDE0NzlhNDQuLjVl
MTRjNjE4Y2I1Y2EyZTQyOTgxY2U3ZDFkMDgwODdhNmM0YjNmZTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKQEAgLTcsMTMgKzcsMTMg
QEAKICAqIGFyZSBtZXQ6CiAgKgogICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCiAgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxl
IENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAgKiAgICAgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4gCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgogICoKICAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCiAg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECkBAIC00Myw2ICs0Myw3IEBAIGNsYXNzIEluamVjdGVkU2NyaXB0
OwogY2xhc3MgSW5qZWN0ZWRTY3JpcHRIb3N0OwogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xh
c3MgU2NyaXB0T2JqZWN0OworY2xhc3MgV2ViR0xSZW5kZXJpbmdDb250ZXh0OwogCiBjbGFzcyBJ
bmplY3RlZFNjcmlwdE1hbmFnZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluamVjdGVk
U2NyaXB0TWFuYWdlcik7CkBAIC02NCw2ICs2NSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2Nh
cmRJbmplY3RlZFNjcmlwdHNGb3IoRE9NV2luZG93Kik7CiAgICAgdm9pZCByZWxlYXNlT2JqZWN0
R3JvdXAoY29uc3QgU3RyaW5nJiBvYmplY3RHcm91cCk7CiAKKyNpZiBFTkFCTEUoV0VCR0wpCisg
ICAgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRp
b24oU2NyaXB0U3RhdGUqLCBXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKKyNlbmRpZgogCiBwcml2
YXRlOgogICAgIHR5cGVkZWYgYm9vbCAoKkluc3BlY3RlZFN0YXRlQWNjZXNzQ2hlY2spKFNjcmlw
dFN0YXRlKik7CkBAIC03Myw2ICs3NywxMSBAQCBwcml2YXRlOgogICAgIFNjcmlwdE9iamVjdCBj
cmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgU2NyaXB0U3RhdGUqLCBs
b25nIGlkKTsKICAgICB2b2lkIGRpc2NhcmRJbmplY3RlZFNjcmlwdChTY3JpcHRTdGF0ZSopOwog
CisjaWYgRU5BQkxFKFdFQkdMKQorICAgIFN0cmluZyBpbmplY3RlZFdlYkdMU2NyaXB0U291cmNl
KCk7CisgICAgU2NyaXB0T2JqZWN0IGluamVjdFdlYkdMU2NyaXB0KGNvbnN0IFN0cmluZyYgc291
cmNlLCBTY3JpcHRTdGF0ZSosIFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworI2VuZGlmCisKICAg
ICBzdGF0aWMgYm9vbCBjYW5BY2Nlc3NJbnNwZWN0ZWRXaW5kb3coU2NyaXB0U3RhdGUqKTsKICAg
ICBzdGF0aWMgYm9vbCBjYW5BY2Nlc3NJbnNwZWN0ZWRXb3JrZXJDb250ZXh0KFNjcmlwdFN0YXRl
Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xT
Y3JpcHRTb3VyY2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODA5ZjVhZmI0MGIwNTQ5MTg2OTBhYjUxZmRjYjIy
ZjgzYmM5ZmJmOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMu
ICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisoZnVuY3Rpb24o
Z2xDb250ZXh0KSB7CisKKy8vIEZJWE1FOiBXcmFwIFdlYkdMIGNvbnRleHQgZm9yIGluc3RydW1l
bnRhdGlvbi4KK3JldHVybiBnbENvbnRleHQ7CisKK30pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yLmpzb24KaW5kZXggYzk5MTE2MDhjNGU4Y2RiYWFiNjk3ZTA1NzNkZTNlNzRkZTQw
YmI1MS4uMDQyYmU4ZjZmM2UwMmYzZGJhMzUzN2E4OWM2YzdjZWY3ZWJhYWI0YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMjgxMSw1ICsyODExLDIxIEBACiAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAiZGlzY29ubmVjdGVkRnJvbVdvcmtlciIKICAgICAgICAg
ICAgIH0KICAgICAgICAgXQorICAgIH0sCisgICAgeworICAgICAgICAiZG9tYWluIjogIldlYkdM
IiwKKyAgICAgICAgImhpZGRlbiI6IHRydWUsCisgICAgICAgICJ0eXBlcyI6IFtdLAorICAgICAg
ICAiY29tbWFuZHMiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAi
ZW5hYmxlIiwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlcyBXZWJHTCBp
bnNwZWN0aW9uLiIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgIm5hbWUiOiAiZGlzYWJsZSIsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRp
c2FibGVzIFdlYkdMIGluc3BlY3Rpb24uIgorICAgICAgICAgICAgfQorICAgICAgICBdLAorICAg
ICAgICAiZXZlbnRzIjogW10KICAgICB9XQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKaW5kZXggYjEyMjMwNDMyMzNmOWQ0NDdhNWQzYWI1NTEx
MDY2OTU5ZWZiZTYyMS4uYmU5MmExM2ZjN2IzY2Q4NTYxMzYzOGU2MTg4NzdjODJmYjJjMzlhYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCkBA
IC02NSw2ICs2NSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0
b3JWYWx1ZXMuY3BwIgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuY3BwIgogI2luY2x1
ZGUgIkluc3BlY3RvcldvcmtlckFnZW50LmNwcCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdl
bnRzLmNwcCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggNDZlMGMy
YjhjNTRmNGI0MjBjMjM2ODRjN2JlM2E3NTNhNDViYjc2OS4uYWMxOWM3ZGI5NTNkMjQ1ODM5Y2Fk
ZmEzMjg2ZWY2OGI1Mjk2MmVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtNjEsNiArNjEsNyBAQAogI2luY2x1ZGUgIkluc3Bl
Y3RvclJlc291cmNlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JTdGF0ZS5oIgogI2luY2x1
ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFn
ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyQWdlbnQuaCIKICNpbmNsdWRlICJJbnN0
cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiUGFnZUNvbnNvbGVBZ2VudC5oIgpAQCAtMTQ0
LDYgKzE0NSwxMCBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBh
Z2UqIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwogICAgIG1fYWdlbnRzLmFwcGVu
ZChJbnNwZWN0b3JXb3JrZXJBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQo
KSwgbV9zdGF0ZS5nZXQoKSkpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgbV9h
Z2VudHMuYXBwZW5kKEluc3BlY3RvcldlYkdMQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdB
Z2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCksIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgp
KSk7CisjZW5kaWYKKwogICAgIEFTU0VSVF9BUkcoaW5zcGVjdG9yQ2xpZW50LCBpbnNwZWN0b3JD
bGllbnQpOwogICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3RlZFNjcmlwdEhvc3Qo
KS0+aW5pdChtX2luc3BlY3RvckFnZW50CiAgICAgICAgICwgY29uc29sZUFnZW50CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5k
ZXggY2E5NTBiYWY3MGQxNzY4NTZjM2NlNjg3MzBkMjlkODFiY2RjMThmMi4uYmE1YzQ1NWQ4MDU4
MzcxZmQxNGQzMGQ1OGNkNTI1ZmY1NWQ4NDBkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtNjgsNiArNjgsNyBAQCBj
bGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgU2NyaXB0QXJndW1lbnRzOwogY2xhc3MgU2Ny
aXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIFNjcmlw
dE9iamVjdDsKIGNsYXNzIFNjcmlwdFByb2ZpbGU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNs
YXNzIFNoYWRvd1Jvb3Q7CkBAIC04OSw2ICs5MCwxMCBAQCBjbGFzcyBXZWJTb2NrZXRIYW5kc2hh
a2VSZXF1ZXN0OwogY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2U7CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShXRUJHTCkKK2NsYXNzIFdlYkdMUmVuZGVyaW5nQ29udGV4dDsKKyNlbmRpZgor
CiAjZGVmaW5lIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2YWx1ZSkgaWYgKCFoYXNGcm9u
dGVuZHMoKSkgcmV0dXJuIHZhbHVlOwogCiB0eXBlZGVmIHBhaXI8SW5zdHJ1bWVudGluZ0FnZW50
cyosIGludD4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llOwpAQCAtMjM2LDYgKzI0MSwx
MCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJy
b3IoRG9jdW1lbnQqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZXJy
b3JNZXNzYWdlKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIHN0YXRpYyBTY3Jp
cHRPYmplY3Qgd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihXZWJH
TFJlbmRlcmluZ0NvbnRleHQqKTsKKyNlbmRpZgorCiAgICAgc3RhdGljIHZvaWQgbmV0d29ya1N0
YXRlQ2hhbmdlZChQYWdlKik7CiAgICAgc3RhdGljIHZvaWQgdXBkYXRlQXBwbGljYXRpb25DYWNo
ZVN0YXR1cyhGcmFtZSopOwogCkBAIC05NzUsNyArOTg0LDcgQEAgaW5saW5lIHZvaWQgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjptYXJrUmVzb3VyY2VBc0NhY2hlZChQYWdlKiBwYWdlLCB1bnNp
Z25lZAogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdl
KSkKLSAgICAgICAgbWFya1Jlc291cmNlQXNDYWNoZWRJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMs
IGlkZW50aWZpZXIpOyAKKyAgICAgICAgbWFya1Jlc291cmNlQXNDYWNoZWRJbXBsKGluc3RydW1l
bnRpbmdBZ2VudHMsIGlkZW50aWZpZXIpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YjgyZjQ4
OWIyNDAyODMwYTVjM2FkNzg5NWU3YTdkNzkzYzlkZjYyCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCkBAIC0wLDAgKzEs
MTA5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBB
cHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYg
RU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5oIgorCisjaW5j
bHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRl
bmQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JTdGF0ZS5oIgorI2luY2x1ZGUgIkluc3RydW1lbnRp
bmdBZ2VudHMuaCIKKyNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKKyNpbmNsdWRlICJXZWJHTFJl
bmRlcmluZ0NvbnRleHQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgV2Vi
R0xBZ2VudFN0YXRlIHsKK3N0YXRpYyBjb25zdCBjaGFyIHdlYkdMQWdlbnRFbmFibGVkW10gPSAi
d2ViR0xBZ2VudEVuYWJsZWQiOworfTsKKworSW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5zcGVjdG9y
V2ViR0xBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNw
ZWN0b3JTdGF0ZSogc3RhdGUsIEluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyKQorICAgIDogSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvcldlYkdMQWdlbnQ+KCJX
ZWJHTCIsIGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlKQorICAgICwgbV9pbmplY3RlZFNjcmlw
dE1hbmFnZXIoaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgICwgbV9mcm9udGVuZCgwKQorICAg
ICwgbV9lbmFibGVkKGZhbHNlKQoreworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5z
cGVjdG9yV2ViR0xBZ2VudCh0aGlzKTsKK30KKworSW5zcGVjdG9yV2ViR0xBZ2VudDo6fkluc3Bl
Y3RvcldlYkdMQWdlbnQoKQoreworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVj
dG9yV2ViR0xBZ2VudCgwKTsKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMgPSAwOworfQorCit2
b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKiBm
cm9udGVuZCkKK3sKKyAgICBBU1NFUlQoZnJvbnRlbmQpOworICAgIG1fZnJvbnRlbmQgPSBmcm9u
dGVuZC0+d2ViZ2woKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpjbGVhckZyb250
ZW5kKCkKK3sKKyAgICBtX2Zyb250ZW5kID0gMDsKKyAgICBkaXNhYmxlKDApOworfQorCit2b2lk
IEluc3BlY3RvcldlYkdMQWdlbnQ6OnJlc3RvcmUoKQoreworICAgIG1fZW5hYmxlZCA9IG1fc3Rh
dGUtPmdldEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCk7Cit9CisK
K3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlKEVycm9yU3RyaW5nKikKK3sKKyAgICBp
ZiAobV9lbmFibGVkKQorICAgICAgICByZXR1cm47CisgICAgbV9lbmFibGVkID0gdHJ1ZTsKKyAg
ICBtX3N0YXRlLT5zZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2ViR0xBZ2VudEVuYWJsZWQs
IG1fZW5hYmxlZCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZShFcnJv
clN0cmluZyopCit7CisgICAgaWYgKCFtX2VuYWJsZWQpCisgICAgICAgIHJldHVybjsKKyAgICBt
X2VuYWJsZWQgPSBmYWxzZTsKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0
ZTo6d2ViR0xBZ2VudEVuYWJsZWQsIG1fZW5hYmxlZCk7Cit9CisKK1NjcmlwdE9iamVjdCBJbnNw
ZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0
aW9uKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogZ2xDb250ZXh0KQoreworICAgIEFTU0VSVChnbENv
bnRleHQpOworCisgICAgU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlID0gbWFpbldvcmxkU2NyaXB0
U3RhdGUoZ2xDb250ZXh0LT5jYW52YXMoKS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSk7CisgICAgaWYg
KHNjcmlwdFN0YXRlKQorICAgICAgICByZXR1cm4gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPndy
YXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oc2NyaXB0U3RhdGUsIGds
Q29udGV4dCk7CisKKyAgICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJH
TCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFn
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU0NGE4MWM4ODkzNjllYzFlZDI2ZDNiYjAzZDM5Mzk2MTU5YzUzMGEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2Vu
dC5oCkBAIC0wLDAgKzEsODYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVy
IHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVz
IG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3BlY3RvcldlYkdMQWdlbnRfaAorI2Rl
ZmluZSBJbnNwZWN0b3JXZWJHTEFnZW50X2gKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVO
QUJMRShXRUJHTCkKKworI2luY2x1ZGUgIkluc3BlY3RvckJhc2VBZ2VudC5oIgorI2luY2x1ZGUg
Ikluc3BlY3RvckZyb250ZW5kLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOworY2xhc3Mg
SW5zcGVjdG9yU3RhdGU7CitjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOworY2xhc3MgU2NyaXB0
T2JqZWN0OworY2xhc3MgV2ViR0xSZW5kZXJpbmdDb250ZXh0OworCit0eXBlZGVmIFN0cmluZyBF
cnJvclN0cmluZzsKKworY2xhc3MgSW5zcGVjdG9yV2ViR0xBZ2VudCA6IHB1YmxpYyBJbnNwZWN0
b3JCYXNlQWdlbnQ8SW5zcGVjdG9yV2ViR0xBZ2VudD4sIHB1YmxpYyBJbnNwZWN0b3JCYWNrZW5k
RGlzcGF0Y2hlcjo6V2ViR0xDb21tYW5kSGFuZGxlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NPd25QdHI8SW5zcGVjdG9yV2ViR0xBZ2VudD4gY3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRQdHIobmV3IEluc3BlY3RvcldlYkdMQWdlbnQoaW5zdHJ1bWVudGluZ0FnZW50cywgc3Rh
dGUsIGluamVjdGVkU2NyaXB0TWFuYWdlcikpOworICAgIH0KKyAgICB+SW5zcGVjdG9yV2ViR0xB
Z2VudCgpOworCisgICAgdmlydHVhbCB2b2lkIHNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5k
Kik7CisgICAgdmlydHVhbCB2b2lkIGNsZWFyRnJvbnRlbmQoKTsKKyAgICB2aXJ0dWFsIHZvaWQg
cmVzdG9yZSgpOworCisgICAgYm9vbCBlbmFibGVkKCkgeyByZXR1cm4gbV9lbmFibGVkOyB9CisK
KyAgICBTY3JpcHRPYmplY3Qgd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRh
dGlvbihXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKKworICAgIC8vIENhbGxlZCBmcm9tIHRoZSBm
cm9udC1lbmQuCisgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopOworICAgIHZp
cnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKik7CisKKyAgICAvLyBDYWxsZWQgZnJvbSB0
aGUgaW5qZWN0ZWQgc2NyaXB0LgorCisgICAgLy8gQ2FsbGVkIGZyb20gSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uCisKK3ByaXZhdGU6CisgICAgSW5zcGVjdG9yV2ViR0xBZ2VudChJbnN0cnVtZW50
aW5nQWdlbnRzKiwgSW5zcGVjdG9yU3RhdGUqLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKKwor
ICAgIEluamVjdGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlwdE1hbmFnZXI7CisgICAg
SW5zcGVjdG9yRnJvbnRlbmQ6OldlYkdMKiBtX2Zyb250ZW5kOworICAgIGJvb2wgbV9lbmFibGVk
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BF
Q1RPUikgJiYgRU5BQkxFKFdFQkdMKQorCisjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yV2Vi
R0xBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MDk5ZWUyYTlkMDFkMmNmN2Ux
MmI0MGI4NjUwNWFhMTQ3ZWQ3MDRmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgKQEAgLTAsMCArMSw1OSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb25faAorI2RlZmluZSBJbnNwZWN0
b3JXZWJHTEluc3RydW1lbnRhdGlvbl9oCisKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50LmgiCisjaW5jbHVkZSAiSW5z
dHJ1bWVudGluZ0FnZW50cy5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgorI2luY2x1ZGUg
IldlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiBF
TkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFw
V2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFdlYkdMUmVuZGVyaW5nQ29u
dGV4dCogZ2xDb250ZXh0KQoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgRkFTVF9SRVRV
Uk5fSUZfTk9fRlJPTlRFTkRTKFNjcmlwdE9iamVjdCgpKTsKKyAgICBpZiAoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1
bWVudChnbENvbnRleHQtPmNhbnZhcygpLT5kb2N1bWVudCgpKSkgeworICAgICAgICBJbnNwZWN0
b3JXZWJHTEFnZW50KiB3ZWJHTEFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9y
V2ViR0xBZ2VudCgpOworICAgICAgICBpZiAod2ViR0xBZ2VudCAmJiB3ZWJHTEFnZW50LT5lbmFi
bGVkKCkpCisgICAgICAgICAgICByZXR1cm4gd2ViR0xBZ2VudC0+d3JhcFdlYkdMUmVuZGVyaW5n
Q29udGV4dEZvckluc3RydW1lbnRhdGlvbihnbENvbnRleHQpOworICAgIH0KKyNlbmRpZgorICAg
IHJldHVybiBTY3JpcHRPYmplY3QoKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvcldlYkdM
SW5zdHJ1bWVudGF0aW9uX2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zdHJ1bWVudGluZ0FnZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1l
bnRpbmdBZ2VudHMuaAppbmRleCAxOTRlYjg2NWVjNzVhNjZmZWZiNGI3MjQ2ZjAwOGE4MzhhODhh
YWJjLi4xMzM0ZGM3ZDZkYjdlZGIzOTA4NmI5NmUzYzc4NjRjYTE3OGYzNDFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTUyLDYgKzUy
LDcgQEAgY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJ1bnRp
bWVBZ2VudDsKIGNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JX
b3JrZXJBZ2VudDsKK2NsYXNzIEluc3BlY3RvcldlYkdMQWdlbnQ7CiBjbGFzcyBQYWdlOwogY2xh
c3MgUGFnZVJ1bnRpbWVBZ2VudDsKIGNsYXNzIFdvcmtlckNvbnRleHQ7CkBAIC04Niw2ICs4Nyw5
IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICAgICAgLCBtX2luc3BlY3Rvcldv
cmtlckFnZW50KDApCiAjZW5kaWYKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgICAgICwgbV9pbnNw
ZWN0b3JXZWJHTEFnZW50KDApCisjZW5kaWYKICAgICB7IH0KICAgICB+SW5zdHJ1bWVudGluZ0Fn
ZW50cygpIHsgfQogCkBAIC0xNDIsMTEgKzE0NiwxNyBAQCBwdWJsaWM6CiAgICAgSW5zcGVjdG9y
UHJvZmlsZXJBZ2VudCogaW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1f
aW5zcGVjdG9yUHJvZmlsZXJBZ2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yUHJvZmlsZXJB
Z2VudChJbnNwZWN0b3JQcm9maWxlckFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclByb2ZpbGVy
QWdlbnQgPSBhZ2VudDsgfQogI2VuZGlmCisKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICBJbnNw
ZWN0b3JXb3JrZXJBZ2VudCogaW5zcGVjdG9yV29ya2VyQWdlbnQoKSBjb25zdCB7IHJldHVybiBt
X2luc3BlY3RvcldvcmtlckFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JXb3JrZXJBZ2Vu
dChJbnNwZWN0b3JXb3JrZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JXb3JrZXJBZ2VudCA9
IGFnZW50OyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBJbnNwZWN0b3JXZWJH
TEFnZW50KiBpbnNwZWN0b3JXZWJHTEFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JX
ZWJHTEFnZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JXZWJHTEFnZW50KEluc3BlY3Rvcldl
YkdMQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yV2ViR0xBZ2VudCA9IGFnZW50OyB9CisjZW5k
aWYKKwogcHJpdmF0ZToKICAgICBJbnNwZWN0b3JBZ2VudCogbV9pbnNwZWN0b3JBZ2VudDsKICAg
ICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1faW5zcGVjdG9yUGFnZUFnZW50OwpAQCAtMTczLDYgKzE4
Myw5IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgSW5zcGVjdG9yV29ya2Vy
QWdlbnQqIG1faW5zcGVjdG9yV29ya2VyQWdlbnQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoV0VCR0wp
CisgICAgSW5zcGVjdG9yV2ViR0xBZ2VudCogbV9pbnNwZWN0b3JXZWJHTEFnZW50OworI2VuZGlm
CiB9OwogCiBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50YXRpb25Gb3JQYWdlKFBhZ2Uq
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145233</attachid>
            <date>2012-06-01 00:52:42 -0700</date>
            <delta_ts>2012-06-01 02:53:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120601115240.patch</filename>
            <type>text/plain</type>
            <size>54508</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg5YWE3Mzk0MjU5NTg5
OGIxMjA4YWU1NGQ4YWJiOGFjNDEwOGU1NS4uNDk4NGEzMmMyMTAzMjE1YTA2YzhiNGU0ODg5ZjI0
M2JmZmE3ZWYzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg4IEBACisyMDEyLTA1LTMxICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKQorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6CisgICAgICAg
ICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxDYW52YXNF
bGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6
OmdldENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MQ2FudmFzRWxlbWVudDo6dG9E
YXRhVVJMKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5j
cHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0
TWFuYWdlcjo6aW5qZWN0V2ViR0xDb250ZXh0V3JhcHBlclNjcmlwdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmV4ZWN1dGVJbmplY3RlZFdlYkdMQ29udGV4dFdy
YXBwZXJTY3JpcHQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdFN0YXRlOjpmb3JDb250ZXh0KToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VjhIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNr
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6d2Vha1JlZmVyZW5jZUNhbGxiYWNrKToKKyAgICAgICAg
KFdlYkNvcmU6OnRvVjhJbkxvY2FsQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3Rl
ZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUluamVjdGVkU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RXZWJHTENv
bnRleHRXcmFwcGVyU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFu
YWdlcjo6ZXhlY3V0ZUluamVjdGVkV2ViR0xDb250ZXh0V3JhcHBlclNjcmlwdCk6CisgICAgICAg
IChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRpc2NhcmRJbmplY3RlZFNjcmlwdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkU2NyaXB0
Rm9yKToKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjp3cmFwV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChJbmplY3RlZFNjcmlwdE1hbmFnZXIpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25l
LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1hcmtSZXNvdXJjZUFzQ2FjaGVk
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJHTEFnZW50U3RhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50Ojp+SW5zcGVjdG9yV2ViR0xBZ2VudCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpzZXRGcm9udGVuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjbGVhckZyb250ZW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnJlc3RvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvcldlYkdMQWdlbnQ6OmRpc2FibGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3BlY3RvcldlYkdMQWdlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmlzV2ViR0xJbnNwZWN0b3JF
bmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d3Jh
cFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbik6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6SW5zdHJ1bWVudGluZ0FnZW50cyk6Cisg
ICAgICAgIChJbnN0cnVtZW50aW5nQWdlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6Omluc3BlY3RvcldlYkdMQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
dHJ1bWVudGluZ0FnZW50czo6c2V0SW5zcGVjdG9yV2ViR0xBZ2VudCk6CisKIDIwMTItMDUtMzEg
IEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHIxMTkwNjIgYW5kIHIxMTkwNjQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IGVmMmQ5MzllNDk0NTNlOGI4OWE2YjU3MTU5N2EwNzYwZjczMzc2MTEuLjQxOTBhNWNiMzkwODdk
NGYzOTc4NzRkZGIxNTQ0MTQ2MTZmZTRjYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC05NTgs
NiArOTU4LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JT
dHlsZVRleHRFZGl0b3IuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
Y3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5jcHAKKyAgICBpbnNwZWN0b3IvSW5z
cGVjdG9yV2ViR0xBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQu
Y3BwCiAgICAgaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwCiAgICAgaW5zcGVjdG9y
L05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcApAQCAtMTY4Nyw3ICsxNjg4LDcgQEAgSUYgKEVOQUJM
RV9ORVRXT1JLX0lORk8pCiAgICAgICAgIE1vZHVsZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9D
b25uZWN0aW9uLmNwcAogICAgICAgICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29u
dHJvbGxlci5jcHAKICAgICApCi0gCisKICAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9GSUxF
UwogICAgICAgICBNb2R1bGVzL25ldHdvcmtpbmZvL05hdmlnYXRvck5ldHdvcmtJbmZvQ29ubmVj
dGlvbi5pZGwKICAgICAgICAgTW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0Nvbm5lY3Rp
b24uaWRsCkBAIC0yNTk3LDYgKzI1OTgsMTQgQEAgQUREX0NVU1RPTV9DT01NQU5EKAogICAgIFZF
UkJBVElNKQogTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTICR7REVSSVZFRF9TT1VSQ0VTX1dF
QkNPUkVfRElSfS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oKQogCisjIEdlbmVyYXRlIEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaAorQUREX0NVU1RPTV9DT01NQU5EKAorICAgIE9VVFBVVCAke0RF
UklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisg
ICAgTUFJTl9ERVBFTkRFTkNZIGluc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpz
CisgICAgQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJDT1JFX0RJUn0vaW5zcGVjdG9y
L3h4ZC5wbCBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzICR7V0VCQ09SRV9ESVJ9L2luc3Bl
Y3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNP
UkVfRElSfS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKKyAgICBWRVJCQVRJTSkKK0xJU1Qo
QVBQRU5EIFdlYkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5q
ZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oKQorCiAKIE1BS0VfSEFTSF9UT09MUygke1dFQkNPUkVf
RElSfS9wbGF0Zm9ybS9Db2xvckRhdGEpCiBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtE
RVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L0NvbG9yRGF0YS5jcHApCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQppbmRleCAxNDczMWRiNGM2MzFmODFhYzBlYjllNzA0MmU4OTBjYWM5MmM0
ZjMyLi4wOTBiYjk3MTE5ZTgxMjUwOTBmZjdkMDJlYzI1MTc1N2Q5NjAzMGZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNSArMSw1IEBACiAjIENvcHlyaWdodCAoQykgMjAw
NiwgMjAwNywgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jIENv
cHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4gCisj
IENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4K
ICMgQ29weXJpZ2h0IChDKSAyMDA5IENhbWVyb24gTWNDb3JtYWNrIDxjYW1AbWNjLmlkLmF1Pgog
IwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKQEAgLTcsMTMgKzcsMTMgQEAKICMgYXJlIG1ldDoKICMKICMgMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICMgICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICMgMy4gIE5laXRo
ZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFt
ZXMgb2YKICMgICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSMgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisjICAgICBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAjCiAjIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZCiAjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKQEAgLTc4MCwxMCArNzgwLDEwIEBAIFhQ
YXRoR3JhbW1hci5jcHAgOiB4bWwvWFBhdGhHcmFtbWFyLnkgJChQUk9KRUNUX0ZJTEUpCiAKICMg
dXNlciBhZ2VudCBzdHlsZSBzaGVldHMKIAotVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSAkKFdl
YkNvcmUpL2Nzcy9odG1sLmNzcyAkKFdlYkNvcmUpL2Nzcy9xdWlya3MuY3NzICQoV2ViQ29yZSkv
Y3NzL3ZpZXctc291cmNlLmNzcyAkKFdlYkNvcmUpL2Nzcy90aGVtZVdpbi5jc3MgJChXZWJDb3Jl
KS9jc3MvdGhlbWVXaW5RdWlya3MuY3NzIAorVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSAkKFdl
YkNvcmUpL2Nzcy9odG1sLmNzcyAkKFdlYkNvcmUpL2Nzcy9xdWlya3MuY3NzICQoV2ViQ29yZSkv
Y3NzL3ZpZXctc291cmNlLmNzcyAkKFdlYkNvcmUpL2Nzcy90aGVtZVdpbi5jc3MgJChXZWJDb3Jl
KS9jc3MvdGhlbWVXaW5RdWlya3MuY3NzCiAKIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfU1ZH
LCQoRkVBVFVSRV9ERUZJTkVTKSksIEVOQUJMRV9TVkcpCi0gICAgVVNFUl9BR0VOVF9TVFlMRV9T
SEVFVFMgOj0gJChVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNz
cyAKKyAgICBVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAkKFVTRVJfQUdFTlRfU1RZTEVfU0hF
RVRTKSAkKFdlYkNvcmUpL2Nzcy9zdmcuY3NzCiBlbmRpZgogCiBpZmVxICgkKGZpbmRzdHJpbmcg
RU5BQkxFX01BVEhNTCwkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfTUFUSE1MKQpAQCAtODky
LDcgKzg5Miw3IEBAIFhMaW5rTmFtZXMuY3BwIDogZG9tL21ha2VfbmFtZXMucGwgc3ZnL3hsaW5r
YXR0cnMuaW4KIAlwZXJsIC1JICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cyAkPCAtLWF0dHJz
ICQoV2ViQ29yZSkvc3ZnL3hsaW5rYXR0cnMuaW4KIAogIyAtLS0tLS0tLQotIAorCiAjIFJlZ2lz
dGVyIGV2ZW50IGNvbnN0cnVjdG9ycyBhbmQgdGFyZ2V0cwogCiBFdmVudEZhY3RvcnkuY3BwIEV2
ZW50SGVhZGVycy5oIEV2ZW50SW50ZXJmYWNlcy5oIDogZG9tL21ha2VfZXZlbnRfZmFjdG9yeS5w
bCBkb20vRXZlbnROYW1lcy5pbgpAQCAtOTA1LDcgKzkwNSw3IEBAIEV4Y2VwdGlvbkNvZGVEZXNj
cmlwdGlvbi5jcHAgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uLmggRXhjZXB0aW9uSGVhZGVycy5o
IEV4Y2VwCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMgJDwgLS1pbnB1dCAk
KFdlYkNvcmUpL2RvbS9ET01FeGNlcHRpb25zLmluCiAKICMgLS0tLS0tLS0KLSAKKwogIyBNYXRo
TUwgdGFnIGFuZCBhdHRyaWJ1dGUgbmFtZXMsIGFuZCBlbGVtZW50IGZhY3RvcnkKIAogTWF0aE1M
RWxlbWVudEZhY3RvcnkuY3BwIE1hdGhNTE5hbWVzLmNwcCA6IGRvbS9tYWtlX25hbWVzLnBsIG1h
dGhtbC9tYXRodGFncy5pbiBtYXRobWwvbWF0aGF0dHJzLmluCkBAIC05ODQsNiArOTg0LDExIEBA
IGFsbCA6IEluamVjdGVkU2NyaXB0U291cmNlLmgKIEluamVjdGVkU2NyaXB0U291cmNlLmggOiBJ
bmplY3RlZFNjcmlwdFNvdXJjZS5qcwogCXBlcmwgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBs
IEluamVjdGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0U291cmNlLmpzIEluamVjdGVkU2NyaXB0U291cmNlLmgKIAorYWxsIDogSW5qZWN0ZWRXZWJH
TFNjcmlwdFNvdXJjZS5oCisKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCA6IEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuanMKKwlwZXJsICQoV2ViQ29yZSkvaW5zcGVjdG9yL3h4ZC5wbCBJ
bmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuanMgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisKIC1pbmNs
dWRlICQoSlNfRE9NX0hFQURFUlM6Lmg9LmRlcCkKIAogaWZlcSAoJChmaW5kc3RyaW5nIEJVSUxE
SU5HX1dYLCQoRkVBVFVSRV9ERUZJTkVTKSksIEJVSUxESU5HX1dYKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMucHJpCmluZGV4IDIzODY3OTk4OTkyMmU1YTJlMTcwNmUwNzBmOWRlMWIyNzQxYzQzM2Eu
LmEwNzcxNjY5OGI1NTA3YjE5YWQ2NTZiMDRkZDgwMmE2ODU4Y2E2ZTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5wcmkKQEAgLTYxLDYgKzYxLDggQEAgSU5TUEVDVE9SX0JBQ0tFTkRfQ09NTUFO
RFNfUVJDID0gJCRQV0QvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JCYWNrZW5kQ29tbWEK
IAogSU5KRUNURURfU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dFNvdXJjZS5qcwogCitJTkpFQ1RFRF9XRUJHTF9TQ1JJUFRfU09VUkNFID0gJCRQV0QvaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMKKwogREVCVUdHRVJfU0NSSVBUX1NPVVJD
RSA9ICQkUFdEL2JpbmRpbmdzL3Y4L0RlYnVnZ2VyU2NyaXB0LmpzCiAKIEFSUkFZX0JVRkZFUl9W
SUVXX0NVU1RPTV9TQ1JJUFRfU09VUkNFID0gJCRQV0QvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJy
YXlCdWZmZXJWaWV3Q3VzdG9tU2NyaXB0LmpzCkBAIC03NjcsMTEgKzc2OSwxOCBAQCBHRU5FUkFU
T1JTICs9IGluc3BlY3RvckJhY2tlbmRDb21tYW5kcwogIyBHRU5FUkFUT1IgMi1hOiBpbnNwZWN0
b3IgaW5qZWN0ZWQgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogaW5qZWN0ZWRTY3JpcHRTb3VyY2Uu
b3V0cHV0ID0gSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaAogaW5qZWN0ZWRTY3JpcHRTb3VyY2UuaW5w
dXQgPSBJTkpFQ1RFRF9TQ1JJUFRfU09VUkNFCi1pbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5k
cyA9IHBlcmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAk
JFBXRC9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMgJHtRTUFLRV9GSUxFX09VVH0K
K2luamVjdGVkU2NyaXB0U291cmNlLmNvbW1hbmRzID0gcGVybCAkJFBXRC9pbnNwZWN0b3IveHhk
LnBsIEluamVjdGVkU2NyaXB0U291cmNlX2pzICR7UU1BS0VfRklMRV9JTn0gJHtRTUFLRV9GSUxF
X09VVH0KIGluamVjdGVkU2NyaXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNl
CiBHRU5FUkFUT1JTICs9IGluamVjdGVkU2NyaXB0U291cmNlCiAKLSMgR0VORVJBVE9SIDItYjog
aW5zcGVjdG9yIGRlYnVnZ2VyIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKKyMgR0VORVJBVE9SIDIt
YjogaW5zcGVjdG9yIHdlYmdsIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKK0luamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2Uub3V0cHV0ID0gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5o
CitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfV0VCR0xfU0NSSVBU
X1NPVVJDRQorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwgJCRQV0Qv
aW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzICR7UU1BS0VfRklM
RV9JTn0gJHtRTUFLRV9GSUxFX09VVH0KK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuYWRkX291
dHB1dF90b19zb3VyY2VzID0gZmFsc2UKK0dFTkVSQVRPUlMgKz0gSW5qZWN0ZWRXZWJHTFNjcmlw
dFNvdXJjZQorCisjIEdFTkVSQVRPUiAyLWM6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291
cmNlIGNvbXBpbGVyCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5vdXRwdXQgPSBEZWJ1Z2dlclNjcmlw
dFNvdXJjZS5oCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5pbnB1dCA9IERFQlVHR0VSX1NDUklQVF9T
T1VSQ0UKIGRlYnVnZ2VyU2NyaXB0U291cmNlLmNvbW1hbmRzID0gcGVybCAkJFBXRC9pbnNwZWN0
b3IveHhkLnBsIERlYnVnZ2VyU2NyaXB0U291cmNlX2pzICR7UU1BS0VfRklMRV9JTn0gJHtRTUFL
RV9GSUxFX09VVH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggYTk3ZDI0ZmI4ZWI3MzZhZGI5Mjgw
N2YxMzNhMTA4ZTZkMGY4ZDU3My4uYWNkNmI2OWViNjBhOTBhNGUxOWI2ZmU0YTk5NzI1NjY5YTk1
Y2JiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTgyMCw2ICs4MjAsOCBAQCBEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qczogRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9JbnNwZQogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kRGlz
cGF0Y2hlci5oOiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVyLmNwcAogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oOiAk
KFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcwogCSQoQU1fVl9HRU4p
JChQRVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRTY3JpcHRTb3VyY2Vf
anMgJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMgJChHRU5TT1VS
Q0VTX1dFQkNPUkUpL0luamVjdGVkU2NyaXB0U291cmNlLmgKK0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oOiAkKFdlYkNvcmUpL2luc3BlY3Rvci9Jbmpl
Y3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJJChBTV9WX0dFTikkKFBFUkwpICQoV2ViQ29yZSkv
aW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkv
aW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJChHRU5TT1VSQ0VTX1dFQkNP
UkUpL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAogCiBpZiBFTkFCTEVfV0VCX0FVRElPCiAj
IEluc3RhbGxpbmcgSFJURiBkYXRhYmFzZSB3YXYgZmlsZXMKQEAgLTEwNjksNiArMTA3MSw3IEBA
IEVYVFJBX0RJU1QgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2ljdS9MSUNFTlNFIFwKIAlTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weSBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcyBcCiAJU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yLTEuMC5qc29uIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZ2VuZXJhdGUt
aW5zcGVjdG9yLXByb3RvY29sLXZlcnNpb24gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
aW5kZXggMzc4NDJhZmYzNTE1YThkODQ2NGMzMDVlZWFiMDAzOGNmYzNjNzkzMi4uYzg2Y2MyNDFl
NzFiZWI5NDRmN2E4NzQxYmY0YzI4OWNkYTY0OWE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCkBAIC0yMCw2ICsyMCw3IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0hUTUxOYW1lcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkU2NyaXB0
U291cmNlLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVyLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckZyb250ZW5kLmNwcCBc
CkBAIC0yNzIwLDYgKzI3MjEsOSBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggXAogCVNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVmFsdWVzLmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JXZWJHTEFnZW50LmNwcCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcldl
YkdMQWdlbnQuaCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5z
dHJ1bWVudGF0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJB
Z2VudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyUmVzb3Vy
Y2UuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaQppbmRleCA1OWVmMzkzZDE2ZmQyNzhhNTFlOTc0Y2RjNTZmMmI1ODZm
OTc5MThiLi4yYTBkMGI1NmRjOTFjZjA3NTkxOGZhZjRmNmVjY2VlNDRmMTNmMTlhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKQEAgLTkyNCw2ICs5MjQsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBpbnNwZWN0b3IvSW5z
cGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCisgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zcGVj
dG9yV29ya2VyQWdlbnQuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5j
cHAgXAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAgXApAQCAtMjA2OSw2
ICsyMDcwLDggQEAgSEVBREVSUyArPSBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hl
ZXQuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5oIFwKICAgICBp
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIFwKKyAgICBpbnNwZWN0b3IvSW5zcGVj
dG9yV2ViR0xBZ2VudC5oIFwKKyAgICBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50
YXRpb24uaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmggXAogICAgIGlu
c3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmggXAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVz
b3VyY2VzRGF0YS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKaW5kZXgg
ODI1NTg4NDc5YmI3MzQ4OTgyOTYyOTQwZGY5NTNlMDJlZmQzMDYzMC4uNDg3NDNkM2ZmZDI0ODkx
Y2FhOGY2ZTJlYzA3NjZlOGEyOGIwMmYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXAKQEAgLTQzNSw2ICs0MzUsMjkgQEAKICAgICAgIF0KICAgICB9LAogICAgIHsKKyAg
ICAgICd0YXJnZXRfbmFtZSc6ICdpbmplY3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKKyAgICAg
ICd0eXBlJzogJ25vbmUnLAorICAgICAgJ2FjdGlvbnMnOiBbCisgICAgICAgIHsKKyAgICAgICAg
ICAnYWN0aW9uX25hbWUnOiAnZ2VuZXJhdGVJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlJywKKyAg
ICAgICAgICAnaW5wdXRzJzogWworICAgICAgICAgICAgJy4uL2luc3BlY3Rvci9JbmplY3RlZFdl
YkdMU2NyaXB0U291cmNlLmpzJywKKyAgICAgICAgICBdLAorICAgICAgICAgICdvdXRwdXRzJzog
WworICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdC9JbmplY3Rl
ZFdlYkdMU2NyaXB0U291cmNlLmgnLAorICAgICAgICAgIF0sCisgICAgICAgICAgJ2FjdGlvbic6
IFsKKyAgICAgICAgICAgICdwZXJsJywKKyAgICAgICAgICAgICcuLi9pbnNwZWN0b3IveHhkLnBs
JywKKyAgICAgICAgICAgICdJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzJywKKyAgICAgICAg
ICAgICc8QChfaW5wdXRzKScsCisgICAgICAgICAgICAnPEAoX291dHB1dHMpJworICAgICAgICAg
IF0sCisgICAgICAgICAgJ21lc3NhZ2UnOiAnR2VuZXJhdGluZyBJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmggZnJvbSBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzJywKKyAgICAgICAgfSwK
KyAgICAgIF0KKyAgICB9LAorICAgIHsKICAgICAgICd0YXJnZXRfbmFtZSc6ICdkZWJ1Z2dlcl9z
Y3JpcHRfc291cmNlJywKICAgICAgICd0eXBlJzogJ25vbmUnLAogICAgICAgJ2FjdGlvbnMnOiBb
CkBAIC0xMDc1LDYgKzEwOTgsNyBAQAogICAgICAgICAnd2ViY29yZV9iaW5kaW5nc19zb3VyY2Vz
JywKICAgICAgICAgJ2luc3BlY3Rvcl9wcm90b2NvbF9zb3VyY2VzJywKICAgICAgICAgJ2luamVj
dGVkX3NjcmlwdF9zb3VyY2UnLAorICAgICAgICAnaW5qZWN0ZWRfd2ViZ2xfc2NyaXB0X3NvdXJj
ZScsCiAgICAgICAgICdkZWJ1Z2dlcl9zY3JpcHRfc291cmNlJywKICAgICAgICAgJy4uLy4uL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cC9KYXZhU2NyaXB0Q29yZS5neXA6eWFycics
CiAgICAgICAgICcuLi8uLi9XVEYvV1RGLmd5cC9XVEYuZ3lwOnd0ZicsCkBAIC0xMTk4LDYgKzEy
MjIsNyBAQAogICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKICAgICAgICAgJ2RlYnVnZ2VyX3Njcmlw
dF9zb3VyY2UnLAogICAgICAgICAnaW5qZWN0ZWRfc2NyaXB0X3NvdXJjZScsCisgICAgICAgICdp
bmplY3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2luc3BlY3Rvcl9wcm90b2Nv
bF9zb3VyY2VzJywKICAgICAgICAgJ3dlYmNvcmVfYmluZGluZ3Nfc291cmNlcycsCiAgICAgICAg
ICcuLi8uLi9UaGlyZFBhcnR5L2dsdS9nbHUuZ3lwOmxpYnRlc3MnLApAQCAtMTQ3Myw5ICsxNDk4
LDkgQEAKICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAgICAgICd3ZWJjb3JlX3ByZXJlcXVp
c2l0ZXMnLAogICAgICAgXSwKLSAgICAgICdkZWZpbmVzJzogWyAKLSAgICAgICAgJ1dFQktJVF9J
TVBMRU1FTlRBVElPTj0xJywgCi0gICAgICBdLCAKKyAgICAgICdkZWZpbmVzJzogWworICAgICAg
ICAnV0VCS0lUX0lNUExFTUVOVEFUSU9OPTEnLAorICAgICAgXSwKICAgICAgICMgVGhpcyBpcyBu
ZWVkZWQgZm9yIG1hYyBiZWNhdXNlIG9mIHdlYmtpdF9zeXN0ZW1faW50ZXJmYWNlLiBJdCdkIGJl
IG5pY2UKICAgICAgICMgaWYgdGhpcyBoYXJkIGRlcGVuZGVuY3kgY291bGQgYmUgc3BsaXQgb2Zm
IHRoZSByZXN0LgogICAgICAgJ2hhcmRfZGVwZW5kZW5jeSc6IDEsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5k
ZXggNjFlZmFiMWFkNDQ1NzRiNjIyN2NjZjAyZTNjZjQ3OGI3MjVkOTIxNC4uYWY3ZDU2M2QxOTdj
NmNjMzQ5OTc1NTIwMzVhODI2MGFkNzUzNzRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjgxOSw2
ICsyODE5LDkgQEAKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCcsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlclJlc291cmNlLmgnLAorICAgICAgICAg
ICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCcsCisgICAgICAgICAgICAnaW5z
cGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0lu
c3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9J
bnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0
b3JXb3JrZXJBZ2VudC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0Fn
ZW50cy5jcHAnLApAQCAtNjY0MCw3ICs2NjQzLDcgQEAKICAgICAgICAgICAgICdpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hTbWFsbEdyYXkucG5nJywKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hTbWFsbFdoaXRlLnBuZycsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoTmV4dC5wbmcnLAotICAgICAgICAg
ICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFByZXYucG5nJywgICAgICAgICAg
ICAKKyAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hQcmV2LnBu
ZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VnbWVudC5wbmcn
LAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlZ21lbnRFbmQucG5n
JywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWdtZW50SG92ZXIu
cG5nJywKQEAgLTcyMzgsNiArNzI0MSw3IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuY3BwJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0hlYWRlckRldGVjdGlvbi5oJywKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVk
U2NyaXB0U291cmNlLmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oJywKICAgICAgICAgICAgICc8
KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNw
YXRjaGVyLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmRDb21tYW5k
cy5qcycsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxDYW52
YXNFbGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENh
bnZhc0VsZW1lbnRDdXN0b20uY3BwCmluZGV4IGQ1ZmMzY2U5NjM2M2RjNTEyNjg0ZjJmNDA3MWE0
MjQ4NWVhYzA2MTguLmRmYjkyZTMyNjA2ODhjZTAyZjM5YmZlODc5MTY3MmJmM2ZmMzM0ZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRD
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0Vs
ZW1lbnRDdXN0b20uY3BwCkBAIC0yMSw3ICsyMSw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
ICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAK
ICNpbmNsdWRlICJjb25maWcuaCIKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJIVE1MQ2Fu
dmFzRWxlbWVudC5oIgogI2luY2x1ZGUgIkpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgiCiAj
aWYgRU5BQkxFKFdFQkdMKQorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9u
LmgiCiAjaW5jbHVkZSAiSlNXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJXZWJH
TENvbnRleHRBdHRyaWJ1dGVzLmgiCiAjZW5kaWYKQEAgLTc1LDYgKzc2LDEzIEBAIEpTVmFsdWUg
SlNIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCA9IGNhbnZhcy0+Z2V0Q29udGV4dCh1c3RyaW5n
VG9TdHJpbmcoY29udGV4dElkKSwgYXR0cnMuZ2V0KCkpOwogICAgIGlmICghY29udGV4dCkKICAg
ICAgICAgcmV0dXJuIGpzTnVsbCgpOworI2lmIEVOQUJMRShXRUJHTCkKKyAgICBpZiAoY29udGV4
dC0+aXMzZCgpKSB7CisgICAgICAgIFNjcmlwdE9iamVjdCB3cmFwcGVkID0gSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9u
KHN0YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5nQ29udGV4dCo+KGNvbnRleHQpKTsKKyAgICAgICAg
aWYgKHdyYXBwZWQuanNWYWx1ZSgpLmlzT2JqZWN0KCkpCisgICAgICAgICAgICByZXR1cm4gd3Jh
cHBlZC5qc1ZhbHVlKCk7CisgICAgfQorI2VuZGlmCiAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xv
YmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGNvbnRleHQpKTsKIH0KIApAQCAtOTMsNyArMTAxLDcg
QEAgSlNWYWx1ZSBKU0hUTUxDYW52YXNFbGVtZW50Ojp0b0RhdGFVUkwoRXhlY1N0YXRlKiBleGVj
KQogICAgICAgICAgICAgcXVhbGl0eVB0ciA9ICZxdWFsaXR5OwogICAgICAgICB9CiAgICAgfQot
ICAgIAorCiAgICAgSlNWYWx1ZSByZXN1bHQgPSBqc1N0cmluZyhleGVjLCBjYW52YXMtPnRvRGF0
YVVSTCh0eXBlLCBxdWFsaXR5UHRyLCBlYykpOwogICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBl
Yyk7CiAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAppbmRleCAyNDk5OTNmMjc1Y2E1Mjdh
YzY5ZWFkYmFmNWY0MGRlN2RlM2QyZmM2Li44MTE5ZDA5MjMzODM4N2ZmMDQ1MzI3ZDZiMmYyOTUw
ODhjYzU3ZDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVj
dGVkU2NyaXB0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJ
bmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC00Miw2ICs0Miw5IEBACiAjaW5jbHVkZSAiSlNE
T01XaW5kb3dDdXN0b20uaCIKICNpbmNsdWRlICJKU0luamVjdGVkU2NyaXB0SG9zdC5oIgogI2lu
Y2x1ZGUgIkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgorI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNs
dWRlICJKU1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgorI2VuZGlmCiAjaW5jbHVkZSA8cGFyc2Vy
L1NvdXJjZUNvZGUuaD4KICNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgogCkBAIC03OCw2ICs4
MSwxNCBAQCBTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3Rl
ZFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgUwogICAgIHJldHVybiBTY3JpcHRPYmplY3Qo
KTsKIH0KIAorI2lmIEVOQUJMRShXRUJHTCkKK1NjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1h
bmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KGNvbnN0IFN0cmluZyYsIFNjcmlwdFN0YXRlKiwgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0KikKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMhCisg
ICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQorI2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRl
KQogewogICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBqc0Nhc3Q8SlNET01H
bG9iYWxPYmplY3QqPihzY3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAppbmRleCBjMTlmYjk4OTJiZGM4
YTk3NjRkZjdlM2FiYmY3OTliMTVkYmI2ODE0Li5lMjFjNmNhY2U3NTE3ZDk0MDRjOWI5YmM0YzAz
ZWQzODcxYzMyNDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3Jp
cHRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUu
Y3BwCkBAIC05MCw3ICs5MCw3IEBAIFNjcmlwdFN0YXRlKiBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4
dCh2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQpCiAKICAgICB2ODo6TG9jYWw8djg6Ok9i
amVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmpl
Y3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3
ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhh
dCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0
aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgogICAgIGds
b2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgp
KTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5h
bWU6OnNjcmlwdFN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhI
aWRkZW5Qcm9wZXJ0eU5hbWUuaAppbmRleCBlZjAyNWQzOWZkZjFkZjYxZjJjNWEwNjU3NzdlZGMw
YjRjZGQ3NThjLi4xZTk5YWY3MzlmYzE1NmIxMmIzZWMyOTMxMmNiZmI5MGE2YTM4MjRkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmgK
QEAgLTEsMTAgKzEsMTAgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAorICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQogICogbWV0OgotICogCisgKgogICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
QEAgLTE0LDcgKzE0LDcgQEAKICAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKICAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiAgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCisgKgogICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUwogICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgpAQCAtNDEsNiArNDEsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgVihhdHRyaWJ1dGVMaXN0ZW5lcikgXAogICAgIFYo
c2NyaXB0U3RhdGUpIFwKICAgICBWKGRldnRvb2xzSW5qZWN0ZWRTY3JpcHQpIFwKKyAgICBWKGRl
dnRvb2xzV2ViR0xJbmplY3RlZFNjcmlwdCkgXAogICAgIFYoc2xlZXBGdW5jdGlvbikgXAogICAg
IFYodG9TdHJpbmdTdHJpbmcpIFwKICAgICBWKGV2ZW50KSBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1
c3RvbS5jcHAKaW5kZXggNzM1MTFhODY3NWI3OWQwMjQ4OTA3NTA1MDc1YTg5OTVjMjdhNWZmZi4u
OWU0YmE5YWEyOTViZDhkNTRlMDRjYjZhZDdkYWUxN2RiNmZhNGE5NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNF
bGVtZW50Q3VzdG9tLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlY4Tm9kZS5oIgog
I2luY2x1ZGUgIlY4UHJveHkuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVj
dG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29u
dGV4dC5oIgogI2VuZGlmCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTg4LDggKzg5
LDEyIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250
ZXh0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50CiAgICAgaWYgKHJlc3VsdC0+aXMyZCgpKQog
ICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQq
PihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CiAjaWYgRU5BQkxFKFdFQkdMKQotICAgIGVs
c2UgaWYgKHJlc3VsdC0+aXMzZCgpKQorICAgIGVsc2UgaWYgKHJlc3VsdC0+aXMzZCgpKSB7Cisg
ICAgICAgIFNjcmlwdE9iamVjdCB3cmFwcGVkID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3
cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKHN0YXRpY19jYXN0PFdl
YkdMUmVuZGVyaW5nQ29udGV4dCo+KHJlc3VsdCkpOworICAgICAgICBpZiAoIXdyYXBwZWQudjhW
YWx1ZSgpLklzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnY4VmFsdWUoKTsK
ICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8V2ViR0xSZW5kZXJpbmdDb250ZXh0Kj4o
cmVzdWx0KSwgYXJncy5HZXRJc29sYXRlKCkpOworICAgIH0KICNlbmRpZgogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiB2ODo6TnVsbChhcmdzLkdldElzb2xhdGUoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNj
cmlwdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAppbmRleCA0NTU1OWZjNmVjZWIxOTlmZTVlYTllYTJjYWM5
MTgzYzE1Zjk4MDgwLi5lYzk5Y2ZiYmYxOTIwYzgxOWE0NDcwZGFmYmYwMzYyZGJkZDIzMTI3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNj
cmlwdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKQEAgLTQ0LDIwICs0NCwyNCBAQAogI2luY2x1ZGUg
IlY4SW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiVjhQcm94eS5oIgogI2luY2x1ZGUg
IlY4UmVjdXJzaW9uU2NvcGUuaCIKKyNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiVjhXZWJH
TFJlbmRlcmluZ0NvbnRleHQuaCIKKyNlbmRpZgorI2luY2x1ZGUgIldyYXBwZXJUeXBlSW5mby5o
IgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0
aWMgdm9pZCBXZWFrUmVmZXJlbmNlQ2FsbGJhY2sodjg6OlBlcnNpc3RlbnQ8djg6OlZhbHVlPiBv
YmplY3QsIHZvaWQqIHBhcmFtZXRlcikKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0YXRpYyB2b2lk
IHdlYWtSZWZlcmVuY2VDYWxsYmFjayh2ODo6UGVyc2lzdGVudDx2ODo6VmFsdWU+IG9iamVjdCwg
dm9pZCogcGFyYW1ldGVyKQogewotICAgIEluamVjdGVkU2NyaXB0SG9zdCogbmF0aXZlT2JqZWN0
ID0gc3RhdGljX2Nhc3Q8SW5qZWN0ZWRTY3JpcHRIb3N0Kj4ocGFyYW1ldGVyKTsKKyAgICBUKiBu
YXRpdmVPYmplY3QgPSBzdGF0aWNfY2FzdDxUKj4ocGFyYW1ldGVyKTsKICAgICBuYXRpdmVPYmpl
Y3QtPmRlcmVmKCk7CiAgICAgb2JqZWN0LkRpc3Bvc2UoKTsKIH0KIAotc3RhdGljIHY4OjpMb2Nh
bDx2ODo6T2JqZWN0PiBjcmVhdGVJbmplY3RlZFNjcmlwdEhvc3RWOFdyYXBwZXIoSW5qZWN0ZWRT
Y3JpcHRIb3N0KiBob3N0KQordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RhdGljIHY4OjpMb2NhbDx2
ODo6T2JqZWN0PiB0b1Y4SW5Mb2NhbENvbnRleHQodjg6OkhhbmRsZTx2ODo6RnVuY3Rpb25UZW1w
bGF0ZT4gZnVuY3Rpb25UZW1wbGF0ZSwgV3JhcHBlclR5cGVJbmZvKiB0eXBlLCBUKiBuYXRpdmVP
YmplY3QpCiB7Ci0gICAgdjg6OkxvY2FsPHY4OjpGdW5jdGlvbj4gZnVuY3Rpb24gPSBWOEluamVj
dGVkU2NyaXB0SG9zdDo6R2V0VGVtcGxhdGUoKS0+R2V0RnVuY3Rpb24oKTsKKyAgICB2ODo6SGFu
ZGxlPHY4OjpGdW5jdGlvbj4gZnVuY3Rpb24gPSBmdW5jdGlvblRlbXBsYXRlLT5HZXRGdW5jdGlv
bigpOwogICAgIGlmIChmdW5jdGlvbi5Jc0VtcHR5KCkpIHsKICAgICAgICAgLy8gUmV0dXJuIGlm
IGFsbG9jYXRpb24gZmFpbGVkLgogICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpPYmplY3Q+
KCk7CkBAIC02NywxMiArNzEsMTIgQEAgc3RhdGljIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBjcmVh
dGVJbmplY3RlZFNjcmlwdEhvc3RWOFdyYXBwZXIoSW5qZWN0ZWRTY3JpcHRIb3MKICAgICAgICAg
Ly8gQXZvaWQgc2V0dGluZyB0aGUgd3JhcHBlciBpZiBhbGxvY2F0aW9uIGZhaWxlZC4KICAgICAg
ICAgcmV0dXJuIHY4OjpMb2NhbDx2ODo6T2JqZWN0PigpOwogICAgIH0KLSAgICBWOERPTVdyYXBw
ZXI6OnNldERPTVdyYXBwZXIoaW5zdGFuY2UsICZWOEluamVjdGVkU2NyaXB0SG9zdDo6aW5mbywg
aG9zdCk7Ci0gICAgLy8gQ3JlYXRlIGEgd2VhayByZWZlcmVuY2UgdG8gdGhlIHY4IHdyYXBwZXIg
b2YgSW5zcGVjdG9yQmFja2VuZCB0byBkZXJlZgotICAgIC8vIEluc3BlY3RvckJhY2tlbmQgd2hl
biB0aGUgd3JhcHBlciBpcyBnYXJiYWdlIGNvbGxlY3RlZC4KLSAgICBob3N0LT5yZWYoKTsKKyAg
ICBWOERPTVdyYXBwZXI6OnNldERPTVdyYXBwZXIoaW5zdGFuY2UsIHR5cGUsIG5hdGl2ZU9iamVj
dCk7CisgICAgLy8gQ3JlYXRlIGEgd2VhayByZWZlcmVuY2UgdG8gdGhlIHY4IHdyYXBwZXIgdG8g
ZGVyZWYgdGhlIHdyYXBwZWQgb2JqZWN0CisgICAgLy8gd2hlbiB0aGUgd3JhcHBlciBpcyBnYXJi
YWdlIGNvbGxlY3RlZC4KKyAgICBuYXRpdmVPYmplY3QtPnJlZigpOwogICAgIHY4OjpQZXJzaXN0
ZW50PHY4OjpPYmplY3Q+IHdlYWtIYW5kbGUgPSB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pjo6
TmV3KGluc3RhbmNlKTsKLSAgICB3ZWFrSGFuZGxlLk1ha2VXZWFrKGhvc3QsICZXZWFrUmVmZXJl
bmNlQ2FsbGJhY2spOworICAgIHdlYWtIYW5kbGUuTWFrZVdlYWsobmF0aXZlT2JqZWN0LCAmd2Vh
a1JlZmVyZW5jZUNhbGxiYWNrPFQ+KTsKICAgICByZXR1cm4gaW5zdGFuY2U7CiB9CiAKQEAgLTg3
LDcgKzkxLDcgQEAgU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6Y3JlYXRlSW5q
ZWN0ZWRTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHRTb3UKICAgICAvLyBpbnN0ZWFkIG9mIGNh
bGxpbmcgdG9WOCgpIHRoYXQgd291bGQgY3JlYXRlIHRoZQogICAgIC8vIHdyYXBwZXIgaW4gdGhl
IGN1cnJlbnQgY29udGV4dC4KICAgICAvLyBGSVhNRTogbWFrZSBpdCBwb3NzaWJsZSB0byB1c2Ug
Z2VuZXJpYyBiaW5kaW5ncyBmYWN0b3J5IGZvciBJbmplY3RlZFNjcmlwdEhvc3QuCi0gICAgdjg6
OkxvY2FsPHY4OjpPYmplY3Q+IHNjcmlwdEhvc3RXcmFwcGVyID0gY3JlYXRlSW5qZWN0ZWRTY3Jp
cHRIb3N0VjhXcmFwcGVyKG1faW5qZWN0ZWRTY3JpcHRIb3N0LmdldCgpKTsKKyAgICB2ODo6TG9j
YWw8djg6Ok9iamVjdD4gc2NyaXB0SG9zdFdyYXBwZXIgPSB0b1Y4SW5Mb2NhbENvbnRleHQoVjhJ
bmplY3RlZFNjcmlwdEhvc3Q6OkdldFRlbXBsYXRlKCksICZWOEluamVjdGVkU2NyaXB0SG9zdDo6
aW5mbywgbV9pbmplY3RlZFNjcmlwdEhvc3QuZ2V0KCkpOwogICAgIGlmIChzY3JpcHRIb3N0V3Jh
cHBlci5Jc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBTY3JpcHRPYmplY3QoKTsKIApAQCAtMTE0
LDYgKzExOCw1MSBAQCBTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJ
bmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNvdQogICAgIHJldHVybiBTY3JpcHRP
YmplY3QoaW5zcGVjdGVkU2NyaXB0U3RhdGUsIGluamVjdGVkU2NyaXB0KTsKIH0KIAorI2lmIEVO
QUJMRShXRUJHTCkKK3N0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gaW5qZWN0V2ViR0xXcmFw
cGVyRnVuY3Rpb24oY29uc3QgU3RyaW5nJiBzY3JpcHRTb3VyY2UsIFNjcmlwdFN0YXRlKiBpbnNw
ZWN0ZWRTY3JpcHRTdGF0ZSkKK3sKKyAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGluc3BlY3Rl
ZENvbnRleHQgPSBpbnNwZWN0ZWRTY3JpcHRTdGF0ZS0+Y29udGV4dCgpOworICAgIHY4OjpMb2Nh
bDx2ODo6T2JqZWN0PiB3aW5kb3dHbG9iYWwgPSBpbnNwZWN0ZWRDb250ZXh0LT5HbG9iYWwoKTsK
KworICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6
OmRldnRvb2xzV2ViR0xJbmplY3RlZFNjcmlwdCgpOworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+
IHZhbCA9IHdpbmRvd0dsb2JhbC0+R2V0SGlkZGVuVmFsdWUoa2V5KTsKKyAgICBpZiAoIXZhbC5J
c0VtcHR5KCkgJiYgdmFsLT5Jc0Z1bmN0aW9uKCkpCisgICAgICAgIHJldHVybiB2YWw7CisKKyAg
ICB2ODo6TG9jYWw8djg6OlNjcmlwdD4gc2NyaXB0ID0gdjg6OlNjcmlwdDo6Q29tcGlsZSh2OFN0
cmluZyhzY3JpcHRTb3VyY2UpKTsKKyAgICBWOFJlY3Vyc2lvblNjb3BlOjpNaWNyb3Rhc2tTdXBw
cmVzc2lvbiByZWN1cnNpb25TY29wZTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2ID0gc2Ny
aXB0LT5SdW4oKTsKKyAgICBBU1NFUlQoIXYuSXNFbXB0eSgpKTsKKyAgICBBU1NFUlQodi0+SXNG
dW5jdGlvbigpKTsKKworICAgIHdpbmRvd0dsb2JhbC0+U2V0SGlkZGVuVmFsdWUoa2V5LCB2KTsK
KyAgICByZXR1cm4gdjsKK30KKworU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6
aW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHRTb3VyY2UsIFNjcmlwdFN0YXRl
KiBpbnNwZWN0ZWRTY3JpcHRTdGF0ZSwgV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBnbENvbnRleHQp
Cit7CisgICAgdjg6OkhhbmRsZVNjb3BlIHNjb3BlOworCisgICAgdjg6OkxvY2FsPHY4OjpDb250
ZXh0PiBpbnNwZWN0ZWRDb250ZXh0ID0gaW5zcGVjdGVkU2NyaXB0U3RhdGUtPmNvbnRleHQoKTsK
KyAgICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKGluc3BlY3RlZENvbnRleHQpOwor
CisgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IHdpbmRvd0dsb2JhbCA9IGluc3BlY3RlZENvbnRl
eHQtPkdsb2JhbCgpOworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB3cmFwcGVyRnVuY3Rpb24g
PSBpbmplY3RXZWJHTFdyYXBwZXJGdW5jdGlvbihzY3JpcHRTb3VyY2UsIGluc3BlY3RlZFNjcmlw
dFN0YXRlKTsKKworICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBnbENvbnRleHRPYmplY3QgPSB0
b1Y4SW5Mb2NhbENvbnRleHQoVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OkdldFRlbXBsYXRlKCks
ICZWOFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aW5mbywgZ2xDb250ZXh0KTsKKyAgICBpZiAoZ2xD
b250ZXh0T2JqZWN0LklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOwor
CisgICAgVjhSZWN1cnNpb25TY29wZTo6TWljcm90YXNrU3VwcHJlc3Npb24gcmVjdXJzaW9uU2Nv
cGU7CisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3NbXSA9IHsKKyAgICAgICAgZ2xDb250
ZXh0T2JqZWN0LAorICAgIH07CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gaW5qZWN0ZWRTY3Jp
cHRWYWx1ZSA9IHY4OjpGdW5jdGlvbjo6Q2FzdCgqd3JhcHBlckZ1bmN0aW9uKS0+Q2FsbCh3aW5k
b3dHbG9iYWwsIDEsIGFyZ3MpOworICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBpbmplY3RlZFNj
cmlwdE9iamVjdCh2ODo6T2JqZWN0OjpDYXN0KCppbmplY3RlZFNjcmlwdFZhbHVlKSk7CisgICAg
cmV0dXJuIFNjcmlwdE9iamVjdChpbnNwZWN0ZWRTY3JpcHRTdGF0ZSwgaW5qZWN0ZWRTY3JpcHRP
YmplY3QpOworfQorI2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJk
SW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0YXRlKQogewogICAg
IHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKQEAgLTEyMiw3ICsxNzEsNyBAQCB2b2lkIElu
amVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKiBp
bnNwZWN0ZWRTY3JpcHRTdAogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGdsb2JhbCA9IGNv
bnRleHQtPkdsb2JhbCgpOwogICAgIC8vIFNraXAgcHJveHkgb2JqZWN0LiBUaGUgcHJveHkgb2Jq
ZWN0IHdpbGwgc3Vydml2ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUgd2UgbmVlZAotICAgIC8vIGFu
IG9iamVjdCB3aG9zZSBsaWZldGltZSBjb25zaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3Rl
ZCBjb250ZXh0LgorICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb2luY2lkZXMgd2l0
aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KICAgICBnbG9iYWwgPSB2ODo6TG9jYWw8
djg6Ok9iamVjdD46OkNhc3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUoKSk7CiAKICAgICB2ODo6SGFu
ZGxlPHY4OjpTdHJpbmc+IGtleSA9IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkZXZ0b29sc0luamVj
dGVkU2NyaXB0KCk7CkBAIC0xMzcsNyArMTg2LDcgQEAgSW5qZWN0ZWRTY3JpcHQgSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcihTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2MK
IAogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBjb250ZXh0LT5HbG9iYWwoKTsK
ICAgICAvLyBTa2lwIHByb3h5IG9iamVjdC4gVGhlIHByb3h5IG9iamVjdCB3aWxsIHN1cnZpdmUg
cGFnZSBuYXZpZ2F0aW9uIHdoaWxlIHdlIG5lZWQKLSAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlm
ZXRpbWUgY29uc2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KKyAgICAv
LyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29pbmNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5z
cGVjdGVkIGNvbnRleHQuCiAgICAgZ2xvYmFsID0gdjg6OkxvY2FsPHY4OjpPYmplY3Q+OjpDYXN0
KGdsb2JhbC0+R2V0UHJvdG90eXBlKCkpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBr
ZXkgPSBWOEhpZGRlblByb3BlcnR5TmFtZTo6ZGV2dG9vbHNJbmplY3RlZFNjcmlwdCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3Iu
cHkgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQpp
bmRleCBlOWQzNzNiMDFlMDM1ZDViNDRmNjI3NjNjMDY0ODYwNzE1ZmEyNzQ2Li4zNDUzMTNkNDRj
MmUzMjlmZDg0ZTAyYmJkMTVlZTc3M2Q1ZGI0N2M1IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQpAQCAtNDYsNiArNDYsNyBAQCBE
T01BSU5fREVGSU5FX05BTUVfTUFQID0gewogICAgICJJbmRleGVkREIiOiAiSU5ERVhFRF9EQVRB
QkFTRSIsCiAgICAgIlByb2ZpbGVyIjogIkpBVkFTQ1JJUFRfREVCVUdHRVIiLAogICAgICJXb3Jr
ZXIiOiAiV09SS0VSUyIsCisgICAgIldlYkdMIjogIldFQkdMIiwKIH0KIAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDhl
ZTVhOThjYzczM2NhMjM4MDI5NTEzYWRlNTUzZWY4MjIyN2Y2MGIuLmUyNDFjMGY3Yzk0MWE4Y2Rm
OTFmZGRkMDIyN2ZjMWE2YTcwNWZlOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0zNyw2ICszNyw5IEBACiAjaW5jbHVk
ZSAiSW5qZWN0ZWRTY3JpcHQuaCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNp
bmNsdWRlICJJbmplY3RlZFNjcmlwdFNvdXJjZS5oIgorI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNs
dWRlICJJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgiCisjZW5kaWYKICNpbmNsdWRlICJJbnNw
ZWN0b3JWYWx1ZXMuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9TdGRMaWJFeHRyYXMuaD4KQEAgLTE3Miw2ICsxNzUsMTggQEAgcGFpcjxsb25nLCBTY3JpcHRP
YmplY3Q+IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0U2NyaXB0KGNvbnN0IFN0cmluZyYg
c291cmMKICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoaWQsIGNyZWF0ZUluamVjdGVkU2NyaXB0
KHNvdXJjZSwgc2NyaXB0U3RhdGUsIGlkKSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3Jp
cHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0
Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSwgV2ViR0xSZW5kZXJp
bmdDb250ZXh0KiBnbENvbnRleHQpCit7CisgICAgcmV0dXJuIGluamVjdFdlYkdMU2NyaXB0KGlu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UoKSwgc2NyaXB0U3RhdGUsIGdsQ29udGV4dCk7Cit9CisK
K1N0cmluZyBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uo
KQoreworICAgIHJldHVybiBTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oSW5q
ZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyksIHNpemVvZihJbmplY3RlZFdlYkdMU2NyaXB0U291
cmNlX2pzKSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Jbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuaAppbmRleCA0ZGYzYmQ5ZTUxZGExNTdiMmUyMTYyM2RmNzlhODFi
ZDQxNDc5YTQ0Li41ZTE0YzYxOGNiNWNhMmU0Mjk4MWNlN2QxZDA4MDg3YTZjNGIzZmUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oCkBA
IC03LDEzICs3LDEzIEBACiAgKiBhcmUgbWV0OgogICoKICAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgogICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uIAorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKiAzLiAgTmVpdGhlciB0aGUg
bmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgog
ICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICogICAgIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICAqCiAgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQogICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRApAQCAtNDMsNiArNDMsNyBAQCBjbGFzcyBJ
bmplY3RlZFNjcmlwdDsKIGNsYXNzIEluamVjdGVkU2NyaXB0SG9zdDsKIGNsYXNzIEluc3BlY3Rv
ck9iamVjdDsKIGNsYXNzIFNjcmlwdE9iamVjdDsKK2NsYXNzIFdlYkdMUmVuZGVyaW5nQ29udGV4
dDsKIAogY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShJbmplY3RlZFNjcmlwdE1hbmFnZXIpOwpAQCAtNjQsNiArNjUsOSBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBkaXNjYXJkSW5qZWN0ZWRTY3JpcHRzRm9yKERPTVdpbmRvdyopOwogICAgIHZvaWQg
cmVsZWFzZU9iamVjdEdyb3VwKGNvbnN0IFN0cmluZyYgb2JqZWN0R3JvdXApOwogCisjaWYgRU5B
QkxFKFdFQkdMKQorICAgIFNjcmlwdE9iamVjdCB3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9y
SW5zdHJ1bWVudGF0aW9uKFNjcmlwdFN0YXRlKiwgV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7Cisj
ZW5kaWYKIAogcHJpdmF0ZToKICAgICB0eXBlZGVmIGJvb2wgKCpJbnNwZWN0ZWRTdGF0ZUFjY2Vz
c0NoZWNrKShTY3JpcHRTdGF0ZSopOwpAQCAtNzMsNiArNzcsMTEgQEAgcHJpdmF0ZToKICAgICBT
Y3JpcHRPYmplY3QgY3JlYXRlSW5qZWN0ZWRTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFNj
cmlwdFN0YXRlKiwgbG9uZyBpZCk7CiAgICAgdm9pZCBkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2Ny
aXB0U3RhdGUqKTsKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBTdHJpbmcgaW5qZWN0ZWRXZWJH
TFNjcmlwdFNvdXJjZSgpOworICAgIFNjcmlwdE9iamVjdCBpbmplY3RXZWJHTFNjcmlwdChjb25z
dCBTdHJpbmcmIHNvdXJjZSwgU2NyaXB0U3RhdGUqLCBXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsK
KyNlbmRpZgorCiAgICAgc3RhdGljIGJvb2wgY2FuQWNjZXNzSW5zcGVjdGVkV2luZG93KFNjcmlw
dFN0YXRlKik7CiAgICAgc3RhdGljIGJvb2wgY2FuQWNjZXNzSW5zcGVjdGVkV29ya2VyQ29udGV4
dChTY3JpcHRTdGF0ZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwOWY1YWZiNDBiMDU0OTE4
NjkwYWI1MWZkY2IyMmY4M2JjOWZiZjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcwpAQCAtMCwwICsxLDM0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBD
b21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAq
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworKGZ1bmN0aW9uKGdsQ29udGV4dCkgeworCisvLyBGSVhNRTogV3JhcCBXZWJHTCBjb250ZXh0
IGZvciBpbnN0cnVtZW50YXRpb24uCityZXR1cm4gZ2xDb250ZXh0OworCit9KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IGM5OTExNjA4YzRlOGNkYmFhYjY5N2Uw
NTczZGUzZTc0ZGU0MGJiNTEuLjA0MmJlOGY2ZjNlMDJmM2RiYTM1MzdhODljNmM3Y2VmN2ViYWFi
NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTI4MTEsNSAr
MjgxMSwyMSBAQAogICAgICAgICAgICAgICAgICJuYW1lIjogImRpc2Nvbm5lY3RlZEZyb21Xb3Jr
ZXIiCiAgICAgICAgICAgICB9CiAgICAgICAgIF0KKyAgICB9LAorICAgIHsKKyAgICAgICAgImRv
bWFpbiI6ICJXZWJHTCIsCisgICAgICAgICJoaWRkZW4iOiB0cnVlLAorICAgICAgICAidHlwZXMi
OiBbXSwKKyAgICAgICAgImNvbW1hbmRzIjogWworICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICJuYW1lIjogImVuYWJsZSIsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVu
YWJsZXMgV2ViR0wgaW5zcGVjdGlvbi4iCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICJuYW1lIjogImRpc2FibGUiLAorICAgICAgICAgICAgICAgICJkZXNj
cmlwdGlvbiI6ICJEaXNhYmxlcyBXZWJHTCBpbnNwZWN0aW9uLiIKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgXSwKKyAgICAgICAgImV2ZW50cyI6IFtdCiAgICAgfV0KIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCmluZGV4IGIxMjIzMDQzMjMzZjlk
NDQ3YTVkM2FiNTUxMTA2Njk1OWVmYmU2MjEuLmJlOTJhMTNmYzdiM2NkODU2MTM2MzhlNjE4ODc3
YzgyZmIyYzM5YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFs
bEluT25lLmNwcApAQCAtNjUsNiArNjUsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvclN0eWxlVGV4
dEVkaXRvci5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yVmFsdWVzLmNwcCIKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50
LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5z
dHJ1bWVudGluZ0FnZW50cy5jcHAiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlc0RhdGEuY3Bw
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
CmluZGV4IDQ2ZTBjMmI4YzU0ZjRiNDIwYzIzNjg0YzdiZTNhNzUzYTQ1YmI3NjkuLmFjMTljN2Ri
OTUzZDI0NTgzOWNhZGZhMzI4NmVmNjhiNTI5NjJlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTYxLDYgKzYxLDcgQEAKICNp
bmNsdWRlICJJbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yU3Rh
dGUuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmgiCisjaW5jbHVkZSAiSW5z
cGVjdG9yV2ViR0xBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvcldvcmtlckFnZW50LmgiCiAj
aW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgogI2luY2x1ZGUgIlBhZ2VDb25zb2xlQWdl
bnQuaCIKQEAgLTE0NCw2ICsxNDUsMTAgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9y
Q29udHJvbGxlcihQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMKICAgICBt
X2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yV29ya2VyQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRp
bmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFdF
QkdMKQorICAgIG1fYWdlbnRzLmFwcGVuZChJbnNwZWN0b3JXZWJHTEFnZW50OjpjcmVhdGUobV9p
bnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpLCBtX2luamVjdGVkU2NyaXB0
TWFuYWdlci5nZXQoKSkpOworI2VuZGlmCisKICAgICBBU1NFUlRfQVJHKGluc3BlY3RvckNsaWVu
dCwgaW5zcGVjdG9yQ2xpZW50KTsKICAgICBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+aW5qZWN0
ZWRTY3JpcHRIb3N0KCktPmluaXQobV9pbnNwZWN0b3JBZ2VudAogICAgICAgICAsIGNvbnNvbGVB
Z2VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oCmluZGV4IGNhOTUwYmFmNzBkMTc2ODU2YzNjZTY4NzMwZDI5ZDgxYmNkYzE4ZjIu
LmJhNWM0NTVkODA1ODM3MWZkMTRkMzBkNThjZDUyNWZmNTVkODQwZDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTY4
LDYgKzY4LDcgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFNjcmlwdEFyZ3VtZW50
czsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CitjbGFzcyBTY3JpcHRPYmplY3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogY2xhc3MgU2VjdXJp
dHlPcmlnaW47CiBjbGFzcyBTaGFkb3dSb290OwpAQCAtODksNiArOTAsMTAgQEAgY2xhc3MgV2Vi
U29ja2V0SGFuZHNoYWtlUmVxdWVzdDsKIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNl
OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wpCitjbGFzcyBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ7CisjZW5kaWYKKwogI2RlZmluZSBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModmFsdWUp
IGlmICghaGFzRnJvbnRlbmRzKCkpIHJldHVybiB2YWx1ZTsKIAogdHlwZWRlZiBwYWlyPEluc3Ry
dW1lbnRpbmdBZ2VudHMqLCBpbnQ+IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZTsKQEAg
LTIzNiw2ICsyNDEsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVXZWJT
b2NrZXRGcmFtZUVycm9yKERvY3VtZW50KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAg
ICBzdGF0aWMgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVt
ZW50YXRpb24oV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CisjZW5kaWYKKwogICAgIHN0YXRpYyB2
b2lkIG5ldHdvcmtTdGF0ZUNoYW5nZWQoUGFnZSopOwogICAgIHN0YXRpYyB2b2lkIHVwZGF0ZUFw
cGxpY2F0aW9uQ2FjaGVTdGF0dXMoRnJhbWUqKTsKIApAQCAtOTc1LDcgKzk4NCw3IEBAIGlubGlu
ZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNoZWQoUGFn
ZSogcGFnZSwgdW5zaWduZWQKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50
c0ZvclBhZ2UocGFnZSkpCi0gICAgICAgIG1hcmtSZXNvdXJjZUFzQ2FjaGVkSW1wbChpbnN0cnVt
ZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyKTsgCisgICAgICAgIG1hcmtSZXNvdXJjZUFzQ2FjaGVk
SW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyKTsKICNlbmRpZgogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNGI4MmY0ODliMjQwMjgzMGE1YzNhZDc4OTVlN2E3ZDc5M2M5ZGY2MgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNw
cApAQCAtMCwwICsxLDEwOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIg
dGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMg
b2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
CisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShJ
TlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKKworI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdl
bnQuaCIKKworI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgorI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yU3RhdGUuaCIKKyNpbmNsdWRl
ICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCisjaW5j
bHVkZSAiV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
bmFtZXNwYWNlIFdlYkdMQWdlbnRTdGF0ZSB7CitzdGF0aWMgY29uc3QgY2hhciB3ZWJHTEFnZW50
RW5hYmxlZFtdID0gIndlYkdMQWdlbnRFbmFibGVkIjsKK307CisKK0luc3BlY3RvcldlYkdMQWdl
bnQ6Okluc3BlY3RvcldlYkdMQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGlu
Z0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGlu
amVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JX
ZWJHTEFnZW50PigiV2ViR0wiLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKKyAgICAsIG1f
aW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICAsIG1fZnJv
bnRlbmQoMCkKKyAgICAsIG1fZW5hYmxlZChmYWxzZSkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdB
Z2VudHMtPnNldEluc3BlY3RvcldlYkdMQWdlbnQodGhpcyk7Cit9CisKK0luc3BlY3RvcldlYkdM
QWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50KCkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2Vu
dHMtPnNldEluc3BlY3RvcldlYkdMQWdlbnQoMCk7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRz
ID0gMDsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpzZXRGcm9udGVuZChJbnNwZWN0
b3JGcm9udGVuZCogZnJvbnRlbmQpCit7CisgICAgQVNTRVJUKGZyb250ZW5kKTsKKyAgICBtX2Zy
b250ZW5kID0gZnJvbnRlbmQtPndlYmdsKCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2Vu
dDo6Y2xlYXJGcm9udGVuZCgpCit7CisgICAgbV9mcm9udGVuZCA9IDA7CisgICAgZGlzYWJsZSgw
KTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpyZXN0b3JlKCkKK3sKKyAgICBtX2Vu
YWJsZWQgPSBtX3N0YXRlLT5nZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2ViR0xBZ2VudEVu
YWJsZWQpOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZShFcnJvclN0cmlu
ZyopCit7CisgICAgaWYgKG1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fZW5hYmxl
ZCA9IHRydWU7CisgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihXZWJHTEFnZW50U3RhdGU6OndlYkdM
QWdlbnRFbmFibGVkLCBtX2VuYWJsZWQpOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6
OmRpc2FibGUoRXJyb3JTdHJpbmcqKQoreworICAgIGlmICghbV9lbmFibGVkKQorICAgICAgICBy
ZXR1cm47CisgICAgbV9lbmFibGVkID0gZmFsc2U7CisgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihX
ZWJHTEFnZW50U3RhdGU6OndlYkdMQWdlbnRFbmFibGVkLCBtX2VuYWJsZWQpOworfQorCitTY3Jp
cHRPYmplY3QgSW5zcGVjdG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZv
ckluc3RydW1lbnRhdGlvbihXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGdsQ29udGV4dCkKK3sKKyAg
ICBBU1NFUlQoZ2xDb250ZXh0KTsKKworICAgIFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSA9IG1h
aW5Xb3JsZFNjcmlwdFN0YXRlKGdsQ29udGV4dC0+Y2FudmFzKCktPmRvY3VtZW50KCktPmZyYW1l
KCkpOworICAgIGlmIChzY3JpcHRTdGF0ZSkKKyAgICAgICAgcmV0dXJuIG1faW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLT53cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKHNj
cmlwdFN0YXRlLCBnbENvbnRleHQpOworCisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKSAm
JiBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yV2ViR0xBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcldl
YkdMQWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NDRhODFjODg5MzY5ZWMxZWQyNmQzYmIwM2QzOTM5NjE1
OWM1MzBhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvcldlYkdMQWdlbnQuaApAQCAtMCwwICsxLDg2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikg
bm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJbnNwZWN0b3JXZWJH
TEFnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9yV2ViR0xBZ2VudF9oCisKKyNpZiBFTkFCTEUoSU5T
UEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisKKyNpbmNsdWRlICJJbnNwZWN0b3JCYXNlQWdlbnQu
aCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEluamVjdGVkU2NyaXB0TWFu
YWdlcjsKK2NsYXNzIEluc3BlY3RvclN0YXRlOworY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsK
K2NsYXNzIFNjcmlwdE9iamVjdDsKK2NsYXNzIFdlYkdMUmVuZGVyaW5nQ29udGV4dDsKKwordHlw
ZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CisKK2NsYXNzIEluc3BlY3RvcldlYkdMQWdlbnQgOiBw
dWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvcldlYkdMQWdlbnQ+LCBwdWJsaWMgSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OldlYkdMQ29tbWFuZEhhbmRsZXIgeworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvcldlYkdMQWdlbnQ+IGNyZWF0ZShJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUs
IEluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JXZWJHTEFnZW50KGluc3RydW1lbnRp
bmdBZ2VudHMsIHN0YXRlLCBpbmplY3RlZFNjcmlwdE1hbmFnZXIpKTsKKyAgICB9CisgICAgfklu
c3BlY3RvcldlYkdMQWdlbnQoKTsKKworICAgIHZpcnR1YWwgdm9pZCBzZXRGcm9udGVuZChJbnNw
ZWN0b3JGcm9udGVuZCopOworICAgIHZpcnR1YWwgdm9pZCBjbGVhckZyb250ZW5kKCk7CisgICAg
dmlydHVhbCB2b2lkIHJlc3RvcmUoKTsKKworICAgIGJvb2wgZW5hYmxlZCgpIHsgcmV0dXJuIG1f
ZW5hYmxlZDsgfQorCisgICAgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRG
b3JJbnN0cnVtZW50YXRpb24oV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CisKKyAgICAvLyBDYWxs
ZWQgZnJvbSB0aGUgZnJvbnQtZW5kLgorICAgIHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JTdHJp
bmcqKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyopOworCisgICAgLy8g
Q2FsbGVkIGZyb20gdGhlIGluamVjdGVkIHNjcmlwdC4KKworICAgIC8vIENhbGxlZCBmcm9tIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbgorCitwcml2YXRlOgorICAgIEluc3BlY3RvcldlYkdMQWdl
bnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0YXRlKiwgSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyKik7CisKKyAgICBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIG1faW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOworICAgIEluc3BlY3RvckZyb250ZW5kOjpXZWJHTCogbV9mcm9udGVuZDsKKyAgICBi
b29sIG1fZW5hYmxlZDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKKworI2VuZGlmIC8vICFkZWZpbmVk
KEluc3BlY3RvcldlYkdMQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTA5OWVl
MmE5ZDAxZDJjZjdlMTJiNDBiODY1MDVhYTE0N2VkNzA0ZgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oCkBA
IC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gKKyNk
ZWZpbmUgSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb25faAorCisjaW5jbHVkZSAiSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5oIgor
I2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNsdWRlICJTY3JpcHRPYmplY3Qu
aCIKKyNpbmNsdWRlICJXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihXZWJH
TFJlbmRlcmluZ0NvbnRleHQqIGdsQ29udGV4dCkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQor
ICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhTY3JpcHRPYmplY3QoKSk7CisgICAgaWYg
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yRG9jdW1lbnQoZ2xDb250ZXh0LT5jYW52YXMoKS0+ZG9jdW1lbnQoKSkpIHsKKyAg
ICAgICAgSW5zcGVjdG9yV2ViR0xBZ2VudCogd2ViR0xBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2Vu
dHMtPmluc3BlY3RvcldlYkdMQWdlbnQoKTsKKyAgICAgICAgaWYgKHdlYkdMQWdlbnQgJiYgd2Vi
R0xBZ2VudC0+ZW5hYmxlZCgpKQorICAgICAgICAgICAgcmV0dXJuIHdlYkdMQWdlbnQtPndyYXBX
ZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oZ2xDb250ZXh0KTsKKyAgICB9
CisjZW5kaWYKKyAgICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7Cit9CisjZW5kaWYgLy8gRU5BQkxF
KFdFQkdMKQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyAhZGVmaW5lZChJ
bnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbl9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggMTk0ZWI4NjVlYzc1YTY2ZmVmYjRiNzI0
NmYwMDhhODM4YTg4YWFiYy4uMTMzNGRjN2Q2ZGI3ZWRiMzkwODZiOTZlM2M3ODY0Y2ExNzhmMzQx
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2Vu
dHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5o
CkBAIC01Miw2ICs1Miw3IEBAIGNsYXNzIEluc3BlY3RvclJlc291cmNlQWdlbnQ7CiBjbGFzcyBJ
bnNwZWN0b3JSdW50aW1lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50OwogY2xh
c3MgSW5zcGVjdG9yV29ya2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JXZWJHTEFnZW50OwogY2xh
c3MgUGFnZTsKIGNsYXNzIFBhZ2VSdW50aW1lQWdlbnQ7CiBjbGFzcyBXb3JrZXJDb250ZXh0OwpA
QCAtODYsNiArODcsOSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgICAgICwg
bV9pbnNwZWN0b3JXb3JrZXJBZ2VudCgwKQogI2VuZGlmCisjaWYgRU5BQkxFKFdFQkdMKQorICAg
ICAgICAsIG1faW5zcGVjdG9yV2ViR0xBZ2VudCgwKQorI2VuZGlmCiAgICAgeyB9CiAgICAgfklu
c3RydW1lbnRpbmdBZ2VudHMoKSB7IH0KIApAQCAtMTQyLDExICsxNDYsMTcgQEAgcHVibGljOgog
ICAgIEluc3BlY3RvclByb2ZpbGVyQWdlbnQqIGluc3BlY3RvclByb2ZpbGVyQWdlbnQoKSBjb25z
dCB7IHJldHVybiBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQ7IH0KICAgICB2b2lkIHNldEluc3Bl
Y3RvclByb2ZpbGVyQWdlbnQoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNw
ZWN0b3JQcm9maWxlckFnZW50ID0gYWdlbnQ7IH0KICNlbmRpZgorCiAjaWYgRU5BQkxFKFdPUktF
UlMpCiAgICAgSW5zcGVjdG9yV29ya2VyQWdlbnQqIGluc3BlY3RvcldvcmtlckFnZW50KCkgY29u
c3QgeyByZXR1cm4gbV9pbnNwZWN0b3JXb3JrZXJBZ2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVj
dG9yV29ya2VyQWdlbnQoSW5zcGVjdG9yV29ya2VyQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9y
V29ya2VyQWdlbnQgPSBhZ2VudDsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAg
SW5zcGVjdG9yV2ViR0xBZ2VudCogaW5zcGVjdG9yV2ViR0xBZ2VudCgpIGNvbnN0IHsgcmV0dXJu
IG1faW5zcGVjdG9yV2ViR0xBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yV2ViR0xBZ2Vu
dChJbnNwZWN0b3JXZWJHTEFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvcldlYkdMQWdlbnQgPSBh
Z2VudDsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yQWdlbnQqIG1faW5zcGVj
dG9yQWdlbnQ7CiAgICAgSW5zcGVjdG9yUGFnZUFnZW50KiBtX2luc3BlY3RvclBhZ2VBZ2VudDsK
QEAgLTE3Myw2ICsxODMsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgIElu
c3BlY3RvcldvcmtlckFnZW50KiBtX2luc3BlY3RvcldvcmtlckFnZW50OwogI2VuZGlmCisjaWYg
RU5BQkxFKFdFQkdMKQorICAgIEluc3BlY3RvcldlYkdMQWdlbnQqIG1faW5zcGVjdG9yV2ViR0xB
Z2VudDsKKyNlbmRpZgogfTsKIAogSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGF0aW9u
Rm9yUGFnZShQYWdlKik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145251</attachid>
            <date>2012-06-01 02:53:32 -0700</date>
            <delta_ts>2012-06-01 05:44:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120601135329.patch</filename>
            <type>text/plain</type>
            <size>52394</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg5YWE3Mzk0MjU5NTg5
OGIxMjA4YWU1NGQ4YWJiOGFjNDEwOGU1NS4uOWI4MmQ0NzdhODk3Yjg5ZDc4YTBjOWY0ODMwZDIw
ZGM0NDZhM2Q2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg2IEBACisyMDEyLTA1LTMxICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKQorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6CisgICAgICAg
ICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAg
ICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxDYW52YXNF
bGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6
OmdldENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MQ2FudmFzRWxlbWVudDo6dG9E
YXRhVVJMKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5j
cHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0
TWFuYWdlcjo6aW5qZWN0V2ViR0xDb250ZXh0V3JhcHBlclNjcmlwdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmV4ZWN1dGVJbmplY3RlZFdlYkdMQ29udGV4dFdy
YXBwZXJTY3JpcHQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdFN0YXRlOjpmb3JDb250ZXh0KToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpWOEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0Q2FsbGJhY2spOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjp3ZWFrUmVmZXJlbmNlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6
dG9WOEluTG9jYWxDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFu
YWdlcjo6Y3JlYXRlSW5qZWN0ZWRTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMQ29udGV4dFdyYXBw
ZXJTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpleGVj
dXRlSW5qZWN0ZWRXZWJHTENvbnRleHRXcmFwcGVyU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6
OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KToKKyAgICAgICAg
KFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRTY3JpcHRGb3IpOgorICAg
ICAgICAqIGluc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5OgorICAgICAgICAqIGlu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OndyYXBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyOjppbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKEluamVjdGVkU2NyaXB0TWFuYWdlcik6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNoZWQpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkdMQWdlbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JXZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50KToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50KToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
V2ViR0xBZ2VudDo6ZGlzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFn
ZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yV2ViR0xBZ2VudDo6ZW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvcldl
YkdMSW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aXNXZWJHTEluc3BlY3RvckVuYWJsZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
dHJ1bWVudGluZ0FnZW50cy5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnN0cnVtZW50aW5nQWdlbnRzOjpJbnN0cnVtZW50aW5nQWdlbnRzKToKKyAgICAgICAgKElu
c3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50
czo6aW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5n
QWdlbnRzOjpzZXRJbnNwZWN0b3JXZWJHTEFnZW50KToKKwogMjAxMi0wNS0zMSAgS2VudCBUYW11
cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjExOTA2MiBhbmQgcjExOTA2NC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZWYyZDkzOWU0
OTQ1M2U4Yjg5YTZiNTcxNTk3YTA3NjBmNzMzNzYxMS4uNDE5MGE1Y2IzOTA4N2Q0ZjM5Nzg3NGRk
YjE1NDQxNDYxNmZlNGNhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTk1OCw2ICs5NTgsNyBA
QCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVk
aXRvci5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKICAgICBp
bnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJH
TEFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAKICAgICBp
bnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jl
c291cmNlc0RhdGEuY3BwCkBAIC0xNjg3LDcgKzE2ODgsNyBAQCBJRiAoRU5BQkxFX05FVFdPUktf
SU5GTykKICAgICAgICAgTW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0Nvbm5lY3Rpb24u
Y3BwCiAgICAgICAgIE1vZHVsZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db250cm9sbGVyLmNw
cAogICAgICkKLSAKKwogICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgICAg
IE1vZHVsZXMvbmV0d29ya2luZm8vTmF2aWdhdG9yTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbAog
ICAgICAgICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5pZGwKQEAg
LTI1OTcsNiArMjU5OCwxNCBAQCBBRERfQ1VTVE9NX0NPTU1BTkQoCiAgICAgVkVSQkFUSU0pCiBM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9
L0luamVjdGVkU2NyaXB0U291cmNlLmgpCiAKKyMgR2VuZXJhdGUgSW5qZWN0ZWRXZWJHTFNjcmlw
dFNvdXJjZS5oCitBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgT1VUUFVUICR7REVSSVZFRF9TT1VS
Q0VTX1dFQkNPUkVfRElSfS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKKyAgICBNQUlOX0RF
UEVOREVOQ1kgaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMKKyAgICBDT01N
QU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3IveHhkLnBsIElu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVjdG9yL0luamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgIFZFUkJBVElNKQorTElTVChBUFBFTkQgV2Vi
Q29yZV9TT1VSQ0VTICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVfRElSfS9JbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlLmgpCisKIAogTUFLRV9IQVNIX1RPT0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRm
b3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAke0RFUklWRURfU09V
UkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNwcCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCmluZGV4IDE0NzMxZGI0YzYzMWY4MWFjMGViOWU3MDQyZTg5MGNhYzkyYzRmMzIuLjA5MGJi
OTcxMTllODEyNTA5MGZmN2QwMmVjMjUxNzU3ZDk2MDMwZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQpAQCAtMSw1ICsxLDUgQEAKICMgQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAy
MDA4LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMgQ29weXJpZ2h0IChD
KSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPiAKKyMgQ29weXJpZ2h0
IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogIyBDb3B5cmln
aHQgKEMpIDIwMDkgQ2FtZXJvbiBNY0Nvcm1hY2sgPGNhbUBtY2MuaWQuYXU+CiAjCiAjIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dApAQCAtNywxMyArNywxMyBAQAogIyBhcmUgbWV0OgogIwogIyAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4gCisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCiAjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogIyAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotIyAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogIyAzLiAgTmVpdGhlciB0aGUgbmFt
ZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgogIyAg
ICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZAotIyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyMgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICMKICMgVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkKICMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRApAQCAtNzgwLDEwICs3ODAsMTAgQEAgWFBhdGhHcmFtbWFy
LmNwcCA6IHhtbC9YUGF0aEdyYW1tYXIueSAkKFBST0pFQ1RfRklMRSkKIAogIyB1c2VyIGFnZW50
IHN0eWxlIHNoZWV0cwogCi1VU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA9ICQoV2ViQ29yZSkvY3Nz
L2h0bWwuY3NzICQoV2ViQ29yZSkvY3NzL3F1aXJrcy5jc3MgJChXZWJDb3JlKS9jc3Mvdmlldy1z
b3VyY2UuY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luLmNzcyAkKFdlYkNvcmUpL2Nzcy90aGVt
ZVdpblF1aXJrcy5jc3MgCitVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA9ICQoV2ViQ29yZSkvY3Nz
L2h0bWwuY3NzICQoV2ViQ29yZSkvY3NzL3F1aXJrcy5jc3MgJChXZWJDb3JlKS9jc3Mvdmlldy1z
b3VyY2UuY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luLmNzcyAkKFdlYkNvcmUpL2Nzcy90aGVt
ZVdpblF1aXJrcy5jc3MKIAogaWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9TVkcsJChGRUFUVVJF
X0RFRklORVMpKSwgRU5BQkxFX1NWRykKLSAgICBVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAk
KFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTKSAkKFdlYkNvcmUpL2Nzcy9zdmcuY3NzIAorICAgIFVT
RVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2Vi
Q29yZSkvY3NzL3N2Zy5jc3MKIGVuZGlmCiAKIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfTUFU
SE1MLCQoRkVBVFVSRV9ERUZJTkVTKSksIEVOQUJMRV9NQVRITUwpCkBAIC04OTIsNyArODkyLDcg
QEAgWExpbmtOYW1lcy5jcHAgOiBkb20vbWFrZV9uYW1lcy5wbCBzdmcveGxpbmthdHRycy5pbgog
CXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzICQ8IC0tYXR0cnMgJChXZWJDb3Jl
KS9zdmcveGxpbmthdHRycy5pbgogCiAjIC0tLS0tLS0tCi0gCisKICMgUmVnaXN0ZXIgZXZlbnQg
Y29uc3RydWN0b3JzIGFuZCB0YXJnZXRzCiAKIEV2ZW50RmFjdG9yeS5jcHAgRXZlbnRIZWFkZXJz
LmggRXZlbnRJbnRlcmZhY2VzLmggOiBkb20vbWFrZV9ldmVudF9mYWN0b3J5LnBsIGRvbS9FdmVu
dE5hbWVzLmluCkBAIC05MDUsNyArOTA1LDcgQEAgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uLmNw
cCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24uaCBFeGNlcHRpb25IZWFkZXJzLmggRXhjZXAKIAlw
ZXJsIC1JICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cyAkPCAtLWlucHV0ICQoV2ViQ29yZSkv
ZG9tL0RPTUV4Y2VwdGlvbnMuaW4KIAogIyAtLS0tLS0tLQotIAorCiAjIE1hdGhNTCB0YWcgYW5k
IGF0dHJpYnV0ZSBuYW1lcywgYW5kIGVsZW1lbnQgZmFjdG9yeQogCiBNYXRoTUxFbGVtZW50RmFj
dG9yeS5jcHAgTWF0aE1MTmFtZXMuY3BwIDogZG9tL21ha2VfbmFtZXMucGwgbWF0aG1sL21hdGh0
YWdzLmluIG1hdGhtbC9tYXRoYXR0cnMuaW4KQEAgLTk4NCw2ICs5ODQsMTEgQEAgYWxsIDogSW5q
ZWN0ZWRTY3JpcHRTb3VyY2UuaAogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCA6IEluamVjdGVkU2Ny
aXB0U291cmNlLmpzCiAJcGVybCAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRT
Y3JpcHRTb3VyY2VfanMgJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2Uu
anMgSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaAogCithbGwgOiBJbmplY3RlZFdlYkdMU2NyaXB0U291
cmNlLmgKKworSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRXZWJHTFNjcmlw
dFNvdXJjZS5qcworCXBlcmwgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIEluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2VfanMgJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlw
dFNvdXJjZS5qcyBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKKwogLWluY2x1ZGUgJChKU19E
T01fSEVBREVSUzouaD0uZGVwKQogCiBpZmVxICgkKGZpbmRzdHJpbmcgQlVJTERJTkdfV1gsJChG
RUFUVVJFX0RFRklORVMpKSwgQlVJTERJTkdfV1gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkK
aW5kZXggMjM4Njc5OTg5OTIyZTVhMmUxNzA2ZTA3MGY5ZGUxYjI3NDFjNDMzYS4uYTA3NzE2Njk4
YjU1MDdiMTlhZDY1NmIwNGRkODAyYTY4NThjYTZlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LnByaQpAQCAtNjEsNiArNjEsOCBAQCBJTlNQRUNUT1JfQkFDS0VORF9DT01NQU5EU19RUkMgPSAk
JFBXRC9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckJhY2tlbmRDb21tYQogCiBJTkpFQ1RF
RF9TQ1JJUFRfU09VUkNFID0gJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
CiAKK0lOSkVDVEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNwZWN0b3IvSW5qZWN0
ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCiBERUJVR0dFUl9TQ1JJUFRfU09VUkNFID0gJCRQV0Qv
YmluZGluZ3MvdjgvRGVidWdnZXJTY3JpcHQuanMKIAogQVJSQVlfQlVGRkVSX1ZJRVdfQ1VTVE9N
X1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZp
ZXdDdXN0b21TY3JpcHQuanMKQEAgLTc2NywxMSArNzY5LDE4IEBAIEdFTkVSQVRPUlMgKz0gaW5z
cGVjdG9yQmFja2VuZENvbW1hbmRzCiAjIEdFTkVSQVRPUiAyLWE6IGluc3BlY3RvciBpbmplY3Rl
ZCBzY3JpcHQgc291cmNlIGNvbXBpbGVyCiBpbmplY3RlZFNjcmlwdFNvdXJjZS5vdXRwdXQgPSBJ
bmplY3RlZFNjcmlwdFNvdXJjZS5oCiBpbmplY3RlZFNjcmlwdFNvdXJjZS5pbnB1dCA9IElOSkVD
VEVEX1NDUklQVF9TT1VSQ0UKLWluamVjdGVkU2NyaXB0U291cmNlLmNvbW1hbmRzID0gcGVybCAk
JFBXRC9pbnNwZWN0b3IveHhkLnBsIEluamVjdGVkU2NyaXB0U291cmNlX2pzICQkUFdEL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyAke1FNQUtFX0ZJTEVfT1VUfQoraW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0
ZWRTY3JpcHRTb3VyY2VfanMgJHtRTUFLRV9GSUxFX0lOfSAke1FNQUtFX0ZJTEVfT1VUfQogaW5q
ZWN0ZWRTY3JpcHRTb3VyY2UuYWRkX291dHB1dF90b19zb3VyY2VzID0gZmFsc2UKIEdFTkVSQVRP
UlMgKz0gaW5qZWN0ZWRTY3JpcHRTb3VyY2UKIAotIyBHRU5FUkFUT1IgMi1iOiBpbnNwZWN0b3Ig
ZGVidWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgorIyBHRU5FUkFUT1IgMi1iOiBpbnNwZWN0
b3Igd2ViZ2wgaW5qZWN0ZWQgc2NyaXB0IHNvdXJjZSBjb21waWxlcgorSW5qZWN0ZWRXZWJHTFNj
cmlwdFNvdXJjZS5vdXRwdXQgPSBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKK0luamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaW5wdXQgPSBJTkpFQ1RFRF9XRUJHTF9TQ1JJUFRfU09VUkNFCitJ
bmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmNvbW1hbmRzID0gcGVybCAkJFBXRC9pbnNwZWN0b3Iv
eHhkLnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtRTUFLRV9GSUxFX0lOfSAke1FN
QUtFX0ZJTEVfT1VUfQorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0X3RvX3Nv
dXJjZXMgPSBmYWxzZQorR0VORVJBVE9SUyArPSBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlCisK
KyMgR0VORVJBVE9SIDItYzogaW5zcGVjdG9yIGRlYnVnZ2VyIHNjcmlwdCBzb3VyY2UgY29tcGls
ZXIKIGRlYnVnZ2VyU2NyaXB0U291cmNlLm91dHB1dCA9IERlYnVnZ2VyU2NyaXB0U291cmNlLmgK
IGRlYnVnZ2VyU2NyaXB0U291cmNlLmlucHV0ID0gREVCVUdHRVJfU0NSSVBUX1NPVVJDRQogZGVi
dWdnZXJTY3JpcHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwg
RGVidWdnZXJTY3JpcHRTb3VyY2VfanMgJHtRTUFLRV9GSUxFX0lOfSAke1FNQUtFX0ZJTEVfT1VU
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBhOTdkMjRmYjhlYjczNmFkYjkyODA3ZjEzM2ExMDhl
NmQwZjhkNTczLi5hY2Q2YjY5ZWI2MGE5MGE0ZTE5YjZmZTRhOTk3MjU2NjlhOTVjYmI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQpAQCAtODIwLDYgKzgyMCw4IEBAIERlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzOiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0lu
c3BlCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmg6
IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwCiBE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkU2NyaXB0U291cmNlLmg6ICQoV2ViQ29yZSkv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzCiAJJChBTV9WX0dFTikkKFBFUkwpICQo
V2ViQ29yZSkvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNv
cmUpL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyAkKEdFTlNPVVJDRVNfV0VCQ09S
RSkvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaAorRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3Rl
ZFdlYkdMU2NyaXB0U291cmNlLmg6ICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xT
Y3JpcHRTb3VyY2UuanMKKwkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3Iv
eHhkLnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJChXZWJDb3JlKS9pbnNwZWN0b3Iv
SW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcyAkKEdFTlNPVVJDRVNfV0VCQ09SRSkvSW5qZWN0
ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCiAKIGlmIEVOQUJMRV9XRUJfQVVESU8KICMgSW5zdGFsbGlu
ZyBIUlRGIGRhdGFiYXNlIHdhdiBmaWxlcwpAQCAtMTA2OSw2ICsxMDcxLDcgQEAgRVhUUkFfRElT
VCArPSBcCiAJU291cmNlL1dlYkNvcmUvaWN1L0xJQ0VOU0UgXAogCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMgXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yLmpzb24gXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3It
MS4wLmpzb24gXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9nZW5lcmF0ZS1pbnNwZWN0b3It
cHJvdG9jb2wtdmVyc2lvbiBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAzNzg0
MmFmZjM1MTVhOGQ4NDY0YzMwNWVlYWIwMDM4Y2ZjM2M3OTMyLi5jODZjYzI0MWU3MWJlYjk0NGY3
YTg3NDFiZjRjMjg5Y2RhNjQ5YTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAg
LTIwLDYgKzIwLDcgQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0hUTUxOYW1lcy5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5h
bWVzLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCBc
CisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yRnJvbnRlbmQuY3BwIFwKQEAgLTI3MjAs
NiArMjcyMSw5IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclZhbHVlcy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JWYWx1ZXMuaCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdl
bnQuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5o
IFwKKwlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRp
b24uaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmggXAog
CVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpCmluZGV4IDU5ZWYzOTNkMTZmZDI3OGE1MWU5NzRjZGM1NmYyYjU4NmY5NzkxOGIuLjJh
MGQwYjU2ZGM5MWNmMDc1OTE4ZmFmNGY2ZWNjZWU0NGYxM2YxOWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAt
OTI0LDYgKzkyNCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHls
ZVRleHRFZGl0b3IuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5j
cHAgXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuY3BwIFwKKyAgICBpbnNwZWN0b3Iv
SW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJB
Z2VudC5jcHAgXAogICAgIGluc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcCBcCiAgICAg
aW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcCBcCkBAIC0yMDY5LDYgKzIwNzAsOCBA
QCBIRUFERVJTICs9IFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5oIFwKICAg
ICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmggXAogICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JUaW1lbGluZUFnZW50LmggXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFn
ZW50LmggXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwK
ICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAgICAgaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuaCBcCiAgICAgaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRh
LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA4MjU1ODg0Nzli
YjczNDg5ODI5NjI5NDBkZjk1M2UwMmVmZDMwNjMwLi40ODc0M2QzZmZkMjQ4OTFjYWE4ZjZlMmVj
MDc2NmU4YTI4YjAyZjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9X
ZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApA
QCAtNDM1LDYgKzQzNSwyOSBAQAogICAgICAgXQogICAgIH0sCiAgICAgeworICAgICAgJ3Rhcmdl
dF9uYW1lJzogJ2luamVjdGVkX3dlYmdsX3NjcmlwdF9zb3VyY2UnLAorICAgICAgJ3R5cGUnOiAn
bm9uZScsCisgICAgICAnYWN0aW9ucyc6IFsKKyAgICAgICAgeworICAgICAgICAgICdhY3Rpb25f
bmFtZSc6ICdnZW5lcmF0ZUluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UnLAorICAgICAgICAgICdp
bnB1dHMnOiBbCisgICAgICAgICAgICAnLi4vaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UuanMnLAorICAgICAgICAgIF0sCisgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAg
ICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0L0luamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuaCcsCisgICAgICAgICAgXSwKKyAgICAgICAgICAnYWN0aW9uJzogWworICAgICAg
ICAgICAgJ3BlcmwnLAorICAgICAgICAgICAgJy4uL2luc3BlY3Rvci94eGQucGwnLAorICAgICAg
ICAgICAgJ0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMnLAorICAgICAgICAgICAgJzxAKF9p
bnB1dHMpJywKKyAgICAgICAgICAgICc8QChfb3V0cHV0cyknCisgICAgICAgICAgXSwKKyAgICAg
ICAgICAnbWVzc2FnZSc6ICdHZW5lcmF0aW5nIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBm
cm9tIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMnLAorICAgICAgICB9LAorICAgICAgXQor
ICAgIH0sCisgICAgewogICAgICAgJ3RhcmdldF9uYW1lJzogJ2RlYnVnZ2VyX3NjcmlwdF9zb3Vy
Y2UnLAogICAgICAgJ3R5cGUnOiAnbm9uZScsCiAgICAgICAnYWN0aW9ucyc6IFsKQEAgLTEwNzUs
NiArMTA5OCw3IEBACiAgICAgICAgICd3ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnLAogICAgICAg
ICAnaW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMnLAogICAgICAgICAnaW5qZWN0ZWRfc2NyaXB0
X3NvdXJjZScsCisgICAgICAgICdpbmplY3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKICAgICAg
ICAgJ2RlYnVnZ2VyX3NjcmlwdF9zb3VyY2UnLAogICAgICAgICAnLi4vLi4vSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwL0phdmFTY3JpcHRDb3JlLmd5cDp5YXJyJywKICAgICAgICAg
Jy4uLy4uL1dURi9XVEYuZ3lwL1dURi5neXA6d3RmJywKQEAgLTExOTgsNiArMTIyMiw3IEBACiAg
ICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScs
CiAgICAgICAgICdpbmplY3RlZF9zY3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dl
YmdsX3NjcmlwdF9zb3VyY2UnLAogICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMn
LAogICAgICAgICAnd2ViY29yZV9iaW5kaW5nc19zb3VyY2VzJywKICAgICAgICAgJy4uLy4uL1Ro
aXJkUGFydHkvZ2x1L2dsdS5neXA6bGlidGVzcycsCkBAIC0xNDczLDkgKzE0OTgsOSBAQAogICAg
ICAgJ2RlcGVuZGVuY2llcyc6IFsKICAgICAgICAgJ3dlYmNvcmVfcHJlcmVxdWlzaXRlcycsCiAg
ICAgICBdLAotICAgICAgJ2RlZmluZXMnOiBbIAotICAgICAgICAnV0VCS0lUX0lNUExFTUVOVEFU
SU9OPTEnLCAKLSAgICAgIF0sIAorICAgICAgJ2RlZmluZXMnOiBbCisgICAgICAgICdXRUJLSVRf
SU1QTEVNRU5UQVRJT049MScsCisgICAgICBdLAogICAgICAgIyBUaGlzIGlzIG5lZWRlZCBmb3Ig
bWFjIGJlY2F1c2Ugb2Ygd2Via2l0X3N5c3RlbV9pbnRlcmZhY2UuIEl0J2QgYmUgbmljZQogICAg
ICAgIyBpZiB0aGlzIGhhcmQgZGVwZW5kZW5jeSBjb3VsZCBiZSBzcGxpdCBvZmYgdGhlIHJlc3Qu
CiAgICAgICAnaGFyZF9kZXBlbmRlbmN5JzogMSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA2MWVmYWIx
YWQ0NDU3NGI2MjI3Y2NmMDJlM2NmNDc4YjcyNWQ5MjE0Li5hZjdkNTYzZDE5N2M2Y2MzNDk5NzU1
MjAzNWE4MjYwYWQ3NTM3NGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yODE5LDYgKzI4MTksOSBA
QAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgnLAogICAg
ICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuY3BwJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaCcsCisgICAgICAgICAgICAnaW5zcGVj
dG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5z
cGVjdG9yV2ViR0xBZ2VudC5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2Vi
R0xJbnN0cnVtZW50YXRpb24uaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3Rvcldv
cmtlckFnZW50LmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFn
ZW50LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcCcs
CkBAIC02NjQwLDcgKzY2NDMsNyBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQv
SW1hZ2VzL3NlYXJjaFNtYWxsR3JheS5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzL3NlYXJjaFNtYWxsV2hpdGUucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hOZXh0LnBuZycsCi0gICAgICAgICAgICAnaW5zcGVj
dG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoUHJldi5wbmcnLCAgICAgICAgICAgIAorICAgICAg
ICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFByZXYucG5nJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWdtZW50LnBuZycsCiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VnbWVudEVuZC5wbmcnLAogICAgICAg
ICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlZ21lbnRIb3Zlci5wbmcnLApAQCAt
NzIzOCw2ICs3MjQxLDcgQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0hUTUxOYW1lcy5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSGVhZGVyRGV0ZWN0aW9uLmgnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3Bw
JywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0lu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzJywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVu
dEN1c3RvbS5jcHAKaW5kZXggZDVmYzNjZTk2MzYzZGM1MTI2ODRmMmY0MDcxYTQyNDg1ZWFjMDYx
OC4uY2NmZmRiMDVjMTNmYTZmYzQxN2M1NjM0MWQwMmE5NjY0OTY2YzQzZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3Rv
bS5jcHAKQEAgLTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkhUTUxDYW52YXNFbGVtZW50
LmgiCiAjaW5jbHVkZSAiSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCIKICNpZiBFTkFCTEUo
V0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNs
dWRlICJKU1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkdMQ29udGV4dEF0
dHJpYnV0ZXMuaCIKICNlbmRpZgpAQCAtNzUsNiArNzYsMTMgQEAgSlNWYWx1ZSBKU0hUTUxDYW52
YXNFbGVtZW50OjpnZXRDb250ZXh0KEV4ZWNTdGF0ZSogZXhlYykKICAgICBDYW52YXNSZW5kZXJp
bmdDb250ZXh0KiBjb250ZXh0ID0gY2FudmFzLT5nZXRDb250ZXh0KHVzdHJpbmdUb1N0cmluZyhj
b250ZXh0SWQpLCBhdHRycy5nZXQoKSk7CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1
cm4ganNOdWxsKCk7CisjaWYgRU5BQkxFKFdFQkdMKQorICAgIGlmIChjb250ZXh0LT5pczNkKCkp
IHsKKyAgICAgICAgU2NyaXB0T2JqZWN0IHdyYXBwZWQgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oZXhlYywgc3Rh
dGljX2Nhc3Q8V2ViR0xSZW5kZXJpbmdDb250ZXh0Kj4oY29udGV4dCkpOworICAgICAgICBpZiAo
d3JhcHBlZC5qc1ZhbHVlKCkuaXNPYmplY3QoKSkKKyAgICAgICAgICAgIHJldHVybiB3cmFwcGVk
LmpzVmFsdWUoKTsKKyAgICB9CisjZW5kaWYKICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxP
YmplY3QoKSwgV1RGOjpnZXRQdHIoY29udGV4dCkpOwogfQogCkBAIC05Myw3ICsxMDEsNyBAQCBK
U1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCiAg
ICAgICAgICAgICBxdWFsaXR5UHRyID0gJnF1YWxpdHk7CiAgICAgICAgIH0KICAgICB9Ci0gICAg
CisKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzU3RyaW5nKGV4ZWMsIGNhbnZhcy0+dG9EYXRhVVJM
KHR5cGUsIHF1YWxpdHlQdHIsIGVjKSk7CiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsK
ICAgICByZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDI0OTk5M2YyNzVjYTUyN2FjNjll
YWRiYWY1ZjQwZGU3ZGUzZDJmYzYuLjM5YWY4MmQ5YjExYWQ1YjJhMTY3NmRhOWYyZTc5ZTE1MWNm
NTc3MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVj
dGVkU2NyaXB0TWFuYWdlci5jcHAKQEAgLTQyLDYgKzQyLDkgQEAKICNpbmNsdWRlICJKU0RPTVdp
bmRvd0N1c3RvbS5oIgogI2luY2x1ZGUgIkpTSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVk
ZSAiSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgiCisjaWYgRU5BQkxFKFdFQkdMKQorI2luY2x1ZGUg
IkpTV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCisjZW5kaWYKICNpbmNsdWRlIDxwYXJzZXIvU291
cmNlQ29kZS5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CiAKQEAgLTc4LDYgKzgxLDE0
IEBAIFNjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUluamVjdGVkU2Ny
aXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTCiAgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOwog
fQogCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdl
cjo6aW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5nJiwgU2NyaXB0U3RhdGUqLCBXZWJHTFJl
bmRlcmluZ0NvbnRleHQqKQoreworICAgIC8vIEZJWE1FKDg3OTc1KTogSW1wbGVtZW50IHRoaXMh
CisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQorI2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIHNjcmlwdFN0
YXRlKQogewogICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBqc0Nhc3Q8SlNE
T01HbG9iYWxPYmplY3QqPihzY3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAppbmRleCBjMTlmYjk4OTJi
ZGM4YTk3NjRkZjdlM2FiYmY3OTliMTVkYmI2ODE0Li5lMjFjNmNhY2U3NTE3ZDk0MDRjOWI5YmM0
YzAzZWQzODcxYzMyNDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3Rh
dGUuY3BwCkBAIC05MCw3ICs5MCw3IEBAIFNjcmlwdFN0YXRlKiBTY3JpcHRTdGF0ZTo6Zm9yQ29u
dGV4dCh2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQpCiAKICAgICB2ODo6TG9jYWw8djg6
Ok9iamVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94eSBv
YmplY3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGls
ZSB3ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdpdGgg
dGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3NlIGxp
ZmV0aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgogICAg
IGdsb2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3RvdHlw
ZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0
eU5hbWU6OnNjcmlwdFN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXgg
NzM1MTFhODY3NWI3OWQwMjQ4OTA3NTA1MDc1YTg5OTVjMjdhNWZmZi4uOTc3ZGUwZjNiZjNjZTkz
ODIwMWQ1YTRhMmM5Mzg4NTZiM2U4YWM2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNw
cApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlY4Tm9kZS5oIgogI2luY2x1ZGUgIlY4UHJv
eHkuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVt
ZW50YXRpb24uaCIKICNpbmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlm
CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTg4LDggKzg5LDEyIEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0Q2FsbGJhY2soY29u
c3Qgdjg6OkFyZ3VtZW50CiAgICAgaWYgKHJlc3VsdC0+aXMyZCgpKQogICAgICAgICByZXR1cm4g
dG9WOChzdGF0aWNfY2FzdDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQqPihyZXN1bHQpLCBhcmdz
LkdldElzb2xhdGUoKSk7CiAjaWYgRU5BQkxFKFdFQkdMKQotICAgIGVsc2UgaWYgKHJlc3VsdC0+
aXMzZCgpKQorICAgIGVsc2UgaWYgKHJlc3VsdC0+aXMzZCgpKSB7CisgICAgICAgIFNjcmlwdE9i
amVjdCB3cmFwcGVkID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJp
bmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdFN0YXRlOjpmb3JDb250ZXh0KHY4OjpD
b250ZXh0OjpHZXRDdXJyZW50KCkpLCBzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQq
PihyZXN1bHQpKTsKKyAgICAgICAgaWYgKCF3cmFwcGVkLnY4VmFsdWUoKS5Jc0VtcHR5KCkpCisg
ICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52OFZhbHVlKCk7CiAgICAgICAgIHJldHVybiB0b1Y4
KHN0YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5nQ29udGV4dCo+KHJlc3VsdCksIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKKyAgICB9CiAjZW5kaWYKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICBy
ZXR1cm4gdjg6Ok51bGwoYXJncy5HZXRJc29sYXRlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5j
cHAKaW5kZXggNDU1NTlmYzZlY2ViMTk5ZmU1ZWE5ZWEyY2FjOTE4M2MxNWY5ODA4MC4uNWE0NTg1
M2NjNDJiYzFlODIxOTRiNmQ4NTUyNjFjOTQxYTI4NTk0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFn
ZXIuY3BwCkBAIC00NCwyMCArNDQsMjQgQEAKICNpbmNsdWRlICJWOEluamVjdGVkU2NyaXB0SG9z
dC5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIKICNpbmNsdWRlICJWOFJlY3Vyc2lvblNjb3BlLmgi
CisjaWYgRU5BQkxFKFdFQkdMKQorI2luY2x1ZGUgIlY4V2ViR0xSZW5kZXJpbmdDb250ZXh0Lmgi
CisjZW5kaWYKKyNpbmNsdWRlICJXcmFwcGVyVHlwZUluZm8uaCIKICNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIHZvaWQgV2Vha1JlZmVyZW5j
ZUNhbGxiYWNrKHY4OjpQZXJzaXN0ZW50PHY4OjpWYWx1ZT4gb2JqZWN0LCB2b2lkKiBwYXJhbWV0
ZXIpCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdGF0aWMgdm9pZCB3ZWFrUmVmZXJlbmNlQ2FsbGJh
Y2sodjg6OlBlcnNpc3RlbnQ8djg6OlZhbHVlPiBvYmplY3QsIHZvaWQqIHBhcmFtZXRlcikKIHsK
LSAgICBJbmplY3RlZFNjcmlwdEhvc3QqIG5hdGl2ZU9iamVjdCA9IHN0YXRpY19jYXN0PEluamVj
dGVkU2NyaXB0SG9zdCo+KHBhcmFtZXRlcik7CisgICAgVCogbmF0aXZlT2JqZWN0ID0gc3RhdGlj
X2Nhc3Q8VCo+KHBhcmFtZXRlcik7CiAgICAgbmF0aXZlT2JqZWN0LT5kZXJlZigpOwogICAgIG9i
amVjdC5EaXNwb3NlKCk7CiB9CiAKLXN0YXRpYyB2ODo6TG9jYWw8djg6Ok9iamVjdD4gY3JlYXRl
SW5qZWN0ZWRTY3JpcHRIb3N0VjhXcmFwcGVyKEluamVjdGVkU2NyaXB0SG9zdCogaG9zdCkKK3Rl
bXBsYXRlPHR5cGVuYW1lIFQ+IHN0YXRpYyB2ODo6TG9jYWw8djg6Ok9iamVjdD4gdG9WOEluTG9j
YWxDb250ZXh0KHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGZ1bmN0aW9uVGVtcGxh
dGUsIFdyYXBwZXJUeXBlSW5mbyogdHlwZSwgVCogbmF0aXZlT2JqZWN0KQogewotICAgIHY4OjpM
b2NhbDx2ODo6RnVuY3Rpb24+IGZ1bmN0aW9uID0gVjhJbmplY3RlZFNjcmlwdEhvc3Q6OkdldFRl
bXBsYXRlKCktPkdldEZ1bmN0aW9uKCk7CisgICAgdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+IGZ1
bmN0aW9uID0gZnVuY3Rpb25UZW1wbGF0ZS0+R2V0RnVuY3Rpb24oKTsKICAgICBpZiAoZnVuY3Rp
b24uSXNFbXB0eSgpKSB7CiAgICAgICAgIC8vIFJldHVybiBpZiBhbGxvY2F0aW9uIGZhaWxlZC4K
ICAgICAgICAgcmV0dXJuIHY4OjpMb2NhbDx2ODo6T2JqZWN0PigpOwpAQCAtNjcsMTIgKzcxLDEy
IEBAIHN0YXRpYyB2ODo6TG9jYWw8djg6Ok9iamVjdD4gY3JlYXRlSW5qZWN0ZWRTY3JpcHRIb3N0
VjhXcmFwcGVyKEluamVjdGVkU2NyaXB0SG9zCiAgICAgICAgIC8vIEF2b2lkIHNldHRpbmcgdGhl
IHdyYXBwZXIgaWYgYWxsb2NhdGlvbiBmYWlsZWQuCiAgICAgICAgIHJldHVybiB2ODo6TG9jYWw8
djg6Ok9iamVjdD4oKTsKICAgICB9Ci0gICAgVjhET01XcmFwcGVyOjpzZXRET01XcmFwcGVyKGlu
c3RhbmNlLCAmVjhJbmplY3RlZFNjcmlwdEhvc3Q6OmluZm8sIGhvc3QpOwotICAgIC8vIENyZWF0
ZSBhIHdlYWsgcmVmZXJlbmNlIHRvIHRoZSB2OCB3cmFwcGVyIG9mIEluc3BlY3RvckJhY2tlbmQg
dG8gZGVyZWYKLSAgICAvLyBJbnNwZWN0b3JCYWNrZW5kIHdoZW4gdGhlIHdyYXBwZXIgaXMgZ2Fy
YmFnZSBjb2xsZWN0ZWQuCi0gICAgaG9zdC0+cmVmKCk7CisgICAgVjhET01XcmFwcGVyOjpzZXRE
T01XcmFwcGVyKGluc3RhbmNlLCB0eXBlLCBuYXRpdmVPYmplY3QpOworICAgIC8vIENyZWF0ZSBh
IHdlYWsgcmVmZXJlbmNlIHRvIHRoZSB2OCB3cmFwcGVyIHRvIGRlcmVmIHRoZSB3cmFwcGVkIG9i
amVjdAorICAgIC8vIHdoZW4gdGhlIHdyYXBwZXIgaXMgZ2FyYmFnZSBjb2xsZWN0ZWQuCisgICAg
bmF0aXZlT2JqZWN0LT5yZWYoKTsKICAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiB3ZWFr
SGFuZGxlID0gdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyhpbnN0YW5jZSk7Ci0gICAg
d2Vha0hhbmRsZS5NYWtlV2Vhayhob3N0LCAmV2Vha1JlZmVyZW5jZUNhbGxiYWNrKTsKKyAgICB3
ZWFrSGFuZGxlLk1ha2VXZWFrKG5hdGl2ZU9iamVjdCwgJndlYWtSZWZlcmVuY2VDYWxsYmFjazxU
Pik7CiAgICAgcmV0dXJuIGluc3RhbmNlOwogfQogCkBAIC04Nyw3ICs5MSw3IEBAIFNjcmlwdE9i
amVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUluamVjdGVkU2NyaXB0KGNvbnN0IFN0
cmluZyYgc2NyaXB0U291CiAgICAgLy8gaW5zdGVhZCBvZiBjYWxsaW5nIHRvVjgoKSB0aGF0IHdv
dWxkIGNyZWF0ZSB0aGUKICAgICAvLyB3cmFwcGVyIGluIHRoZSBjdXJyZW50IGNvbnRleHQuCiAg
ICAgLy8gRklYTUU6IG1ha2UgaXQgcG9zc2libGUgdG8gdXNlIGdlbmVyaWMgYmluZGluZ3MgZmFj
dG9yeSBmb3IgSW5qZWN0ZWRTY3JpcHRIb3N0LgotICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBz
Y3JpcHRIb3N0V3JhcHBlciA9IGNyZWF0ZUluamVjdGVkU2NyaXB0SG9zdFY4V3JhcHBlcihtX2lu
amVjdGVkU2NyaXB0SG9zdC5nZXQoKSk7CisgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IHNjcmlw
dEhvc3RXcmFwcGVyID0gdG9WOEluTG9jYWxDb250ZXh0KFY4SW5qZWN0ZWRTY3JpcHRIb3N0OjpH
ZXRUZW1wbGF0ZSgpLCAmVjhJbmplY3RlZFNjcmlwdEhvc3Q6OmluZm8sIG1faW5qZWN0ZWRTY3Jp
cHRIb3N0LmdldCgpKTsKICAgICBpZiAoc2NyaXB0SG9zdFdyYXBwZXIuSXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7CiAKQEAgLTExNCw2ICsxMTgsMzUgQEAgU2NyaXB0
T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6Y3JlYXRlSW5qZWN0ZWRTY3JpcHQoY29uc3Qg
U3RyaW5nJiBzY3JpcHRTb3UKICAgICByZXR1cm4gU2NyaXB0T2JqZWN0KGluc3BlY3RlZFNjcmlw
dFN0YXRlLCBpbmplY3RlZFNjcmlwdCk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRP
YmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RXZWJHTFNjcmlwdChjb25zdCBTdHJp
bmcmIHNjcmlwdFNvdXJjZSwgU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0YXRlLCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQqIGdsQ29udGV4dCkKK3sKKyAgICB2ODo6SGFuZGxlU2NvcGUgc2Nv
cGU7CisKKyAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGluc3BlY3RlZENvbnRleHQgPSBpbnNw
ZWN0ZWRTY3JpcHRTdGF0ZS0+Y29udGV4dCgpOworICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250
ZXh0U2NvcGUoaW5zcGVjdGVkQ29udGV4dCk7CisKKyAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4g
Z2xDb250ZXh0T2JqZWN0ID0gdG9WOEluTG9jYWxDb250ZXh0KFY4V2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpHZXRUZW1wbGF0ZSgpLCAmVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmluZm8sIGdsQ29u
dGV4dCk7CisgICAgaWYgKGdsQ29udGV4dE9iamVjdC5Jc0VtcHR5KCkpCisgICAgICAgIHJldHVy
biBTY3JpcHRPYmplY3QoKTsKKworICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiB3aW5kb3dHbG9i
YWwgPSBpbnNwZWN0ZWRDb250ZXh0LT5HbG9iYWwoKTsKKworICAgIHY4OjpMb2NhbDx2ODo6U2Ny
aXB0PiBzY3JpcHQgPSB2ODo6U2NyaXB0OjpDb21waWxlKHY4U3RyaW5nKHNjcmlwdFNvdXJjZSkp
OworICAgIFY4UmVjdXJzaW9uU2NvcGU6Ok1pY3JvdGFza1N1cHByZXNzaW9uIHJlY3Vyc2lvblNj
b3BlOworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHYgPSBzY3JpcHQtPlJ1bigpOworICAgIEFT
U0VSVCghdi5Jc0VtcHR5KCkpOworICAgIEFTU0VSVCh2LT5Jc0Z1bmN0aW9uKCkpOworCisgICAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3NbXSA9IHsKKyAgICAgICAgZ2xDb250ZXh0T2JqZWN0
LAorICAgIH07CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gaW5qZWN0ZWRTY3JpcHRWYWx1ZSA9
IHY4OjpGdW5jdGlvbjo6Q2FzdCgqdiktPkNhbGwod2luZG93R2xvYmFsLCAxLCBhcmdzKTsKKyAg
ICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gaW5qZWN0ZWRTY3JpcHRPYmplY3Qodjg6Ok9iamVjdDo6
Q2FzdCgqaW5qZWN0ZWRTY3JpcHRWYWx1ZSkpOworICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5z
cGVjdGVkU2NyaXB0U3RhdGUsIGluamVjdGVkU2NyaXB0T2JqZWN0KTsKK30KKyNlbmRpZgorCiB2
b2lkIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0
YXRlKiBpbnNwZWN0ZWRTY3JpcHRTdGF0ZSkKIHsKICAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxl
U2NvcGU7CkBAIC0xMjIsNyArMTU1LDcgQEAgdm9pZCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRp
c2NhcmRJbmplY3RlZFNjcmlwdChTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3QKIAogICAg
IHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBjb250ZXh0LT5HbG9iYWwoKTsKICAgICAv
LyBTa2lwIHByb3h5IG9iamVjdC4gVGhlIHByb3h5IG9iamVjdCB3aWxsIHN1cnZpdmUgcGFnZSBu
YXZpZ2F0aW9uIHdoaWxlIHdlIG5lZWQKLSAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUg
Y29uc2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KKyAgICAvLyBhbiBv
YmplY3Qgd2hvc2UgbGlmZXRpbWUgY29pbmNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVk
IGNvbnRleHQuCiAgICAgZ2xvYmFsID0gdjg6OkxvY2FsPHY4OjpPYmplY3Q+OjpDYXN0KGdsb2Jh
bC0+R2V0UHJvdG90eXBlKCkpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBrZXkgPSBW
OEhpZGRlblByb3BlcnR5TmFtZTo6ZGV2dG9vbHNJbmplY3RlZFNjcmlwdCgpOwpAQCAtMTM3LDcg
KzE3MCw3IEBAIEluamVjdGVkU2NyaXB0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRT
Y3JpcHRGb3IoU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjCiAKICAgICB2ODo6TG9jYWw8djg6Ok9i
amVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmpl
Y3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3
ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhh
dCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0
aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgogICAgIGds
b2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgp
KTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5h
bWU6OmRldnRvb2xzSW5qZWN0ZWRTY3JpcHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5IGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkKaW5kZXggZTlkMzczYjAxZTAzNWQ1YjQ0
ZjYyNzYzYzA2NDg2MDcxNWZhMjc0Ni4uMzQ1MzEzZDQ0YzJlMzI5ZmQ4NGUwMmJiZDE1ZWU3NzNk
NWRiNDdjNSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0
b3JJbnNwZWN0b3IucHkKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0
b3JJbnNwZWN0b3IucHkKQEAgLTQ2LDYgKzQ2LDcgQEAgRE9NQUlOX0RFRklORV9OQU1FX01BUCA9
IHsKICAgICAiSW5kZXhlZERCIjogIklOREVYRURfREFUQUJBU0UiLAogICAgICJQcm9maWxlciI6
ICJKQVZBU0NSSVBUX0RFQlVHR0VSIiwKICAgICAiV29ya2VyIjogIldPUktFUlMiLAorICAgICJX
ZWJHTCI6ICJXRUJHTCIsCiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAppbmRleCA4ZWU1YTk4Y2M3MzNjYTIzODAyOTUxM2Fk
ZTU1M2VmODIyMjdmNjBiLi5lMjQxYzBmN2M5NDFhOGNkZjkxZmRkZDAyMjdmYzFhNmE3MDVmZThl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLmNwcApAQCAtMzcsNiArMzcsOSBAQAogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0LmgiCiAj
aW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRT
b3VyY2UuaCIKKyNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5qZWN0ZWRXZWJHTFNjcmlw
dFNvdXJjZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgiCiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CkBAIC0x
NzIsNiArMTc1LDE4IEBAIHBhaXI8bG9uZywgU2NyaXB0T2JqZWN0PiBJbmplY3RlZFNjcmlwdE1h
bmFnZXI6OmluamVjdFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjCiAgICAgcmV0dXJuIHN0ZDo6
bWFrZV9wYWlyKGlkLCBjcmVhdGVJbmplY3RlZFNjcmlwdChzb3VyY2UsIHNjcmlwdFN0YXRlLCBp
ZCkpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0
TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihTY3Jp
cHRTdGF0ZSogc2NyaXB0U3RhdGUsIFdlYkdMUmVuZGVyaW5nQ29udGV4dCogZ2xDb250ZXh0KQor
eworICAgIHJldHVybiBpbmplY3RXZWJHTFNjcmlwdChpbmplY3RlZFdlYkdMU2NyaXB0U291cmNl
KCksIHNjcmlwdFN0YXRlLCBnbENvbnRleHQpOworfQorCitTdHJpbmcgSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjppbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKCkKK3sKKyAgICByZXR1cm4gU3RyaW5n
KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Vf
anMpLCBzaXplb2YoSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcykpOworfQorI2VuZGlmCisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKaW5k
ZXggNGRmM2JkOWU1MWRhMTU3YjJlMjE2MjNkZjc5YTgxYmQ0MTQ3OWE0NC4uNWUxNGM2MThjYjVj
YTJlNDI5ODFjZTdkMWQwODA4N2E2YzRiM2ZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaApAQCAtNywxMyArNywxMyBAQAogICogYXJl
IG1ldDoKICAqCiAgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAogICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgogICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIs
IEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKICAqICAgICBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAg
ICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLiAKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCiAgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKICAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKQEAgLTQzLDYgKzQzLDcgQEAgY2xhc3MgSW5qZWN0ZWRTY3JpcHQ7CiBjbGFzcyBJ
bmplY3RlZFNjcmlwdEhvc3Q7CiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBTY3JpcHRP
YmplY3Q7CitjbGFzcyBXZWJHTFJlbmRlcmluZ0NvbnRleHQ7CiAKIGNsYXNzIEluamVjdGVkU2Ny
aXB0TWFuYWdlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKTsKQEAgLTY0LDYgKzY1LDkgQEAgcHVibGljOgogICAgIHZvaWQgZGlzY2FyZEluamVjdGVk
U2NyaXB0c0ZvcihET01XaW5kb3cqKTsKICAgICB2b2lkIHJlbGVhc2VPYmplY3RHcm91cChjb25z
dCBTdHJpbmcmIG9iamVjdEdyb3VwKTsKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBTY3JpcHRP
YmplY3Qgd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihTY3JpcHRT
dGF0ZSosIFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworI2VuZGlmCiAKIHByaXZhdGU6CiAgICAg
dHlwZWRlZiBib29sICgqSW5zcGVjdGVkU3RhdGVBY2Nlc3NDaGVjaykoU2NyaXB0U3RhdGUqKTsK
QEAgLTczLDYgKzc3LDExIEBAIHByaXZhdGU6CiAgICAgU2NyaXB0T2JqZWN0IGNyZWF0ZUluamVj
dGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTY3JpcHRTdGF0ZSosIGxvbmcgaWQpOwog
ICAgIHZvaWQgZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKik7CiAKKyNpZiBFTkFC
TEUoV0VCR0wpCisgICAgU3RyaW5nIGluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UoKTsKKyAgICBT
Y3JpcHRPYmplY3QgaW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFNjcmlw
dFN0YXRlKiwgV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CisjZW5kaWYKKwogICAgIHN0YXRpYyBi
b29sIGNhbkFjY2Vzc0luc3BlY3RlZFdpbmRvdyhTY3JpcHRTdGF0ZSopOwogICAgIHN0YXRpYyBi
b29sIGNhbkFjY2Vzc0luc3BlY3RlZFdvcmtlckNvbnRleHQoU2NyaXB0U3RhdGUqKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3Vy
Y2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42YTU1NTRkMzEyYTBlZjBhMzEyMmY1OGVjNTFlYzJkZGFkN2RiMDJi
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UuanMKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyhmdW5jdGlvbihnbENvbnRleHQpIHsK
KworLy8gRklYTUU6IFdyYXAgV2ViR0wgY29udGV4dCBmb3IgaW5zdHJ1bWVudGF0aW9uLgorcmV0
dXJuIGdsQ29udGV4dDsKKworfSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNv
bgppbmRleCBjOTkxMTYwOGM0ZThjZGJhYWI2OTdlMDU3M2RlM2U3NGRlNDBiYjUxLi4wNDJiZThm
NmYzZTAyZjNkYmEzNTM3YTg5YzZjN2NlZjdlYmFhYjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvci5qc29uCkBAIC0yODExLDUgKzI4MTEsMjEgQEAKICAgICAgICAgICAgICAg
ICAibmFtZSI6ICJkaXNjb25uZWN0ZWRGcm9tV29ya2VyIgogICAgICAgICAgICAgfQogICAgICAg
ICBdCisgICAgfSwKKyAgICB7CisgICAgICAgICJkb21haW4iOiAiV2ViR0wiLAorICAgICAgICAi
aGlkZGVuIjogdHJ1ZSwKKyAgICAgICAgInR5cGVzIjogW10sCisgICAgICAgICJjb21tYW5kcyI6
IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJlbmFibGUiLAorICAg
ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGVzIFdlYkdMIGluc3BlY3Rpb24uIgor
ICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJk
aXNhYmxlIiwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGlzYWJsZXMgV2ViR0wg
aW5zcGVjdGlvbi4iCisgICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJldmVudHMi
OiBbXQogICAgIH1dCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFs
bEluT25lLmNwcAppbmRleCBiMTIyMzA0MzIzM2Y5ZDQ0N2E1ZDNhYjU1MTEwNjY5NTllZmJlNjIx
Li5iZTkyYTEzZmM3YjNjZDg1NjEzNjM4ZTYxODg3N2M4MmZiMmMzOWFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKQEAgLTY1LDYgKzY1LDcg
QEAKICNpbmNsdWRlICJJbnNwZWN0b3JTdHlsZVRleHRFZGl0b3IuY3BwIgogI2luY2x1ZGUgIklu
c3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5jcHAi
CisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
V29ya2VyQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuY3BwIgogI2lu
Y2x1ZGUgIk5ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA0NmUwYzJiOGM1NGY0YjQyMGMy
MzY4NGM3YmUzYTc1M2E0NWJiNzY5Li5hYzE5YzdkYjk1M2QyNDU4MzljYWRmYTMyODZlZjY4YjUy
OTYyZWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29u
dHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwCkBAIC02MSw2ICs2MSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JXb3JrZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2Vu
dHMuaCIKICNpbmNsdWRlICJQYWdlQ29uc29sZUFnZW50LmgiCkBAIC0xNDQsNiArMTQ1LDEwIEBA
IEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5z
cGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAgICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3Rvcldv
cmtlckFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdl
dCgpKSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBtX2FnZW50cy5hcHBlbmQo
SW5zcGVjdG9yV2ViR0xBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwg
bV9zdGF0ZS5nZXQoKSwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKTsKKyNlbmRpZgor
CiAgICAgQVNTRVJUX0FSRyhpbnNwZWN0b3JDbGllbnQsIGluc3BlY3RvckNsaWVudCk7CiAgICAg
bV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0SG9zdCgpLT5pbml0KG1faW5z
cGVjdG9yQWdlbnQKICAgICAgICAgLCBjb25zb2xlQWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBjYTk1MGJhZjcw
ZDE3Njg1NmMzY2U2ODczMGQyOWQ4MWJjZGMxOGYyLi4wMDUwMDZhMjY0Mzg4MjE5Mjg0YjQ3MjIz
NDcwMGZiOGUxNzE0MjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC02OCw2ICs2OCw3IEBAIGNsYXNzIFJlc291cmNl
UmVzcG9uc2U7CiBjbGFzcyBTY3JpcHRBcmd1bWVudHM7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworY2xhc3MgU2NyaXB0T2JqZWN0OwogY2xh
c3MgU2NyaXB0UHJvZmlsZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU2hhZG93Um9v
dDsKQEAgLTg5LDYgKzkwLDEwIEBAIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3Q7CiBj
bGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFdF
QkdMKQorY2xhc3MgV2ViR0xSZW5kZXJpbmdDb250ZXh0OworI2VuZGlmCisKICNkZWZpbmUgRkFT
VF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZhbHVlKSBpZiAoIWhhc0Zyb250ZW5kcygpKSByZXR1
cm4gdmFsdWU7CiAKIHR5cGVkZWYgcGFpcjxJbnN0cnVtZW50aW5nQWdlbnRzKiwgaW50PiBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWU7CkBAIC0yMzYsNiArMjQxLDEwIEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcihEb2N1bWVudCos
IHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpOwog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgc3RhdGljIFNjcmlwdE9iamVjdCB3cmFw
V2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdFN0YXRlKiwgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Kik7CisjZW5kaWYKKwogICAgIHN0YXRpYyB2b2lkIG5ldHdvcmtT
dGF0ZUNoYW5nZWQoUGFnZSopOwogICAgIHN0YXRpYyB2b2lkIHVwZGF0ZUFwcGxpY2F0aW9uQ2Fj
aGVTdGF0dXMoRnJhbWUqKTsKIApAQCAtOTc1LDcgKzk4NCw3IEBAIGlubGluZSB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNoZWQoUGFnZSogcGFnZSwgdW5z
aWduZWQKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFn
ZSkpCi0gICAgICAgIG1hcmtSZXNvdXJjZUFzQ2FjaGVkSW1wbChpbnN0cnVtZW50aW5nQWdlbnRz
LCBpZGVudGlmaWVyKTsgCisgICAgICAgIG1hcmtSZXNvdXJjZUFzQ2FjaGVkSW1wbChpbnN0cnVt
ZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWUyYzY1
ZmI2NmZkNGJkYmQyODg2MmMyYWRlMzhkMmQ4MGNiNzlkMwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcApAQCAtMCwwICsx
LDExMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVO
QUJMRShXRUJHTCkKKworI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKKworI2luY2x1
ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5k
LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yU3RhdGUuaCIKKyNpbmNsdWRlICJJbnN0cnVtZW50aW5n
QWdlbnRzLmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCisjaW5jbHVkZSAiU2NyaXB0U3Rh
dGUuaCIKKyNpbmNsdWRlICJXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCituYW1lc3BhY2UgV2ViR0xBZ2VudFN0YXRlIHsKK3N0YXRpYyBjb25zdCBjaGFy
IHdlYkdMQWdlbnRFbmFibGVkW10gPSAid2ViR0xBZ2VudEVuYWJsZWQiOworfTsKKworSW5zcGVj
dG9yV2ViR0xBZ2VudDo6SW5zcGVjdG9yV2ViR0xBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIEluamVjdGVkU2NyaXB0
TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgIDogSW5zcGVjdG9yQmFzZUFnZW50
PEluc3BlY3RvcldlYkdMQWdlbnQ+KCJXZWJHTCIsIGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRl
KQorICAgICwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIoaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQor
ICAgICwgbV9mcm9udGVuZCgwKQorICAgICwgbV9lbmFibGVkKGZhbHNlKQoreworICAgIG1faW5z
dHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yV2ViR0xBZ2VudCh0aGlzKTsKK30KKworSW5z
cGVjdG9yV2ViR0xBZ2VudDo6fkluc3BlY3RvcldlYkdMQWdlbnQoKQoreworICAgIG1faW5zdHJ1
bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yV2ViR0xBZ2VudCgwKTsKKyAgICBtX2luc3RydW1l
bnRpbmdBZ2VudHMgPSAwOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250
ZW5kKEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCkKK3sKKyAgICBBU1NFUlQoZnJvbnRlbmQp
OworICAgIG1fZnJvbnRlbmQgPSBmcm9udGVuZC0+d2ViZ2woKTsKK30KKwordm9pZCBJbnNwZWN0
b3JXZWJHTEFnZW50OjpjbGVhckZyb250ZW5kKCkKK3sKKyAgICBtX2Zyb250ZW5kID0gMDsKKyAg
ICBkaXNhYmxlKDApOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OnJlc3RvcmUoKQor
eworICAgIG1fZW5hYmxlZCA9IG1fc3RhdGUtPmdldEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRlOjp3
ZWJHTEFnZW50RW5hYmxlZCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxl
KEVycm9yU3RyaW5nKikKK3sKKyAgICBpZiAobV9lbmFibGVkKQorICAgICAgICByZXR1cm47Cisg
ICAgbV9lbmFibGVkID0gdHJ1ZTsKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFuKFdlYkdMQWdlbnRT
dGF0ZTo6d2ViR0xBZ2VudEVuYWJsZWQsIG1fZW5hYmxlZCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9y
V2ViR0xBZ2VudDo6ZGlzYWJsZShFcnJvclN0cmluZyopCit7CisgICAgaWYgKCFtX2VuYWJsZWQp
CisgICAgICAgIHJldHVybjsKKyAgICBtX2VuYWJsZWQgPSBmYWxzZTsKKyAgICBtX3N0YXRlLT5z
ZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2ViR0xBZ2VudEVuYWJsZWQsIG1fZW5hYmxlZCk7
Cit9CisKK1NjcmlwdE9iamVjdCBJbnNwZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJp
bmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSwgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0KiBnbENvbnRleHQpCit7CisgICAgQVNTRVJUKHNjcmlwdFN0YXRl
KTsKKyAgICBBU1NFUlQoZ2xDb250ZXh0KTsKKyAgICBpZiAoc2NyaXB0U3RhdGUgJiYgZ2xDb250
ZXh0KQorICAgICAgICByZXR1cm4gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPndyYXBXZWJHTFJl
bmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oc2NyaXB0U3RhdGUsIGdsQ29udGV4dCk7
CisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NGVmYzEwYTE0OTVlMjMxN2RlNGVmZDE0Y2RiYTFkOTUxZGE5OTgzCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaApAQCAtMCww
ICsxLDg5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBJbnNwZWN0b3JXZWJHTEFnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9y
V2ViR0xBZ2VudF9oCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisK
KyNpbmNsdWRlICJJbnNwZWN0b3JCYXNlQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9u
dGVuZC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSAiU2NyaXB0U3Rh
dGUuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyOworY2xhc3MgSW5zcGVjdG9yU3RhdGU7CitjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOwor
Y2xhc3MgU2NyaXB0T2JqZWN0OworY2xhc3MgV2ViR0xSZW5kZXJpbmdDb250ZXh0OworCit0eXBl
ZGVmIFN0cmluZyBFcnJvclN0cmluZzsKKworY2xhc3MgSW5zcGVjdG9yV2ViR0xBZ2VudCA6IHB1
YmxpYyBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yV2ViR0xBZ2VudD4sIHB1YmxpYyBJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6V2ViR0xDb21tYW5kSGFuZGxlciB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yV2ViR0xBZ2VudD4gY3JlYXRlKEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwg
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgeworICAg
ICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEluc3BlY3RvcldlYkdMQWdlbnQoaW5zdHJ1bWVudGlu
Z0FnZW50cywgc3RhdGUsIGluamVjdGVkU2NyaXB0TWFuYWdlcikpOworICAgIH0KKyAgICB+SW5z
cGVjdG9yV2ViR0xBZ2VudCgpOworCisgICAgdmlydHVhbCB2b2lkIHNldEZyb250ZW5kKEluc3Bl
Y3RvckZyb250ZW5kKik7CisgICAgdmlydHVhbCB2b2lkIGNsZWFyRnJvbnRlbmQoKTsKKyAgICB2
aXJ0dWFsIHZvaWQgcmVzdG9yZSgpOworCisgICAgYm9vbCBlbmFibGVkKCkgeyByZXR1cm4gbV9l
bmFibGVkOyB9CisKKyAgICBTY3JpcHRPYmplY3Qgd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZv
ckluc3RydW1lbnRhdGlvbihTY3JpcHRTdGF0ZSosIFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOwor
CisgICAgLy8gQ2FsbGVkIGZyb20gdGhlIGZyb250LWVuZC4KKyAgICB2aXJ0dWFsIHZvaWQgZW5h
YmxlKEVycm9yU3RyaW5nKik7CisgICAgdmlydHVhbCB2b2lkIGRpc2FibGUoRXJyb3JTdHJpbmcq
KTsKKworICAgIC8vIENhbGxlZCBmcm9tIHRoZSBpbmplY3RlZCBzY3JpcHQuCisKKyAgICAvLyBD
YWxsZWQgZnJvbSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24KKworcHJpdmF0ZToKKyAgICBJbnNw
ZWN0b3JXZWJHTEFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JTdGF0ZSosIElu
amVjdGVkU2NyaXB0TWFuYWdlciopOworCisgICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2lu
amVjdGVkU2NyaXB0TWFuYWdlcjsKKyAgICBJbnNwZWN0b3JGcm9udGVuZDo6V2ViR0wqIG1fZnJv
bnRlbmQ7CisgICAgYm9vbCBtX2VuYWJsZWQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisKKyNlbmRp
ZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JXZWJHTEFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBkMTM5ZTJhMWFhZmNkZjQ2NDY3MTgyZGZjNmEyMWNkOTNiZDRhNjQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVt
ZW50YXRpb24uaApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJbnNwZWN0b3JXZWJHTEluc3RydW1l
bnRhdGlvbl9oCisjZGVmaW5lIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gKKworI2lu
Y2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgIkluc3BlY3Rvcldl
YkdMQWdlbnQuaCIKKyNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisjaW5jbHVkZSAi
U2NyaXB0T2JqZWN0LmgiCisjaW5jbHVkZSAiV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworI2lmIEVOQUJMRShXRUJHTCkKK1NjcmlwdE9iamVjdCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVt
ZW50YXRpb24oU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlLCBXZWJHTFJlbmRlcmluZ0NvbnRleHQq
IGdsQ29udGV4dCkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIEZBU1RfUkVUVVJOX0lG
X05PX0ZST05URU5EUyhTY3JpcHRPYmplY3QoKSk7CisgICAgaWYgKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQo
Z2xDb250ZXh0LT5jYW52YXMoKS0+ZG9jdW1lbnQoKSkpIHsKKyAgICAgICAgSW5zcGVjdG9yV2Vi
R0xBZ2VudCogd2ViR0xBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvcldlYkdM
QWdlbnQoKTsKKyAgICAgICAgaWYgKHdlYkdMQWdlbnQgJiYgd2ViR0xBZ2VudC0+ZW5hYmxlZCgp
KQorICAgICAgICAgICAgcmV0dXJuIHdlYkdMQWdlbnQtPndyYXBXZWJHTFJlbmRlcmluZ0NvbnRl
eHRGb3JJbnN0cnVtZW50YXRpb24oc2NyaXB0U3RhdGUsIGdsQ29udGV4dCk7CisgICAgfQorI2Vu
ZGlmCisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQorI2VuZGlmIC8vIEVOQUJMRShXRUJH
TCkKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVj
dG9yV2ViR0xJbnN0cnVtZW50YXRpb25faCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zdHJ1bWVudGluZ0FnZW50cy5oCmluZGV4IDE5NGViODY1ZWM3NWE2NmZlZmI0YjcyNDZmMDA4
YTgzOGE4OGFhYmMuLjEzMzRkYzdkNmRiN2VkYjM5MDg2Yjk2ZTNjNzg2NGNhMTc4ZjM0MWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaApAQCAt
NTIsNiArNTIsNyBAQCBjbGFzcyBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OwogY2xhc3MgSW5zcGVj
dG9yUnVudGltZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDsKIGNsYXNzIElu
c3BlY3RvcldvcmtlckFnZW50OworY2xhc3MgSW5zcGVjdG9yV2ViR0xBZ2VudDsKIGNsYXNzIFBh
Z2U7CiBjbGFzcyBQYWdlUnVudGltZUFnZW50OwogY2xhc3MgV29ya2VyQ29udGV4dDsKQEAgLTg2
LDYgKzg3LDkgQEAgcHVibGljOgogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgICAgICAsIG1faW5z
cGVjdG9yV29ya2VyQWdlbnQoMCkKICNlbmRpZgorI2lmIEVOQUJMRShXRUJHTCkKKyAgICAgICAg
LCBtX2luc3BlY3RvcldlYkdMQWdlbnQoMCkKKyNlbmRpZgogICAgIHsgfQogICAgIH5JbnN0cnVt
ZW50aW5nQWdlbnRzKCkgeyB9CiAKQEAgLTE0MiwxMSArMTQ2LDE3IEBAIHB1YmxpYzoKICAgICBJ
bnNwZWN0b3JQcm9maWxlckFnZW50KiBpbnNwZWN0b3JQcm9maWxlckFnZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9pbnNwZWN0b3JQcm9maWxlckFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JQ
cm9maWxlckFnZW50KEluc3BlY3RvclByb2ZpbGVyQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9y
UHJvZmlsZXJBZ2VudCA9IGFnZW50OyB9CiAjZW5kaWYKKwogI2lmIEVOQUJMRShXT1JLRVJTKQog
ICAgIEluc3BlY3RvcldvcmtlckFnZW50KiBpbnNwZWN0b3JXb3JrZXJBZ2VudCgpIGNvbnN0IHsg
cmV0dXJuIG1faW5zcGVjdG9yV29ya2VyQWdlbnQ7IH0KICAgICB2b2lkIHNldEluc3BlY3Rvcldv
cmtlckFnZW50KEluc3BlY3RvcldvcmtlckFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3Rvcldvcmtl
ckFnZW50ID0gYWdlbnQ7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIEluc3Bl
Y3RvcldlYkdMQWdlbnQqIGluc3BlY3RvcldlYkdMQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2lu
c3BlY3RvcldlYkdMQWdlbnQ7IH0KKyAgICB2b2lkIHNldEluc3BlY3RvcldlYkdMQWdlbnQoSW5z
cGVjdG9yV2ViR0xBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JXZWJHTEFnZW50ID0gYWdlbnQ7
IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIEluc3BlY3RvckFnZW50KiBtX2luc3BlY3RvckFn
ZW50OwogICAgIEluc3BlY3RvclBhZ2VBZ2VudCogbV9pbnNwZWN0b3JQYWdlQWdlbnQ7CkBAIC0x
NzMsNiArMTgzLDkgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICBJbnNwZWN0
b3JXb3JrZXJBZ2VudCogbV9pbnNwZWN0b3JXb3JrZXJBZ2VudDsKICNlbmRpZgorI2lmIEVOQUJM
RShXRUJHTCkKKyAgICBJbnNwZWN0b3JXZWJHTEFnZW50KiBtX2luc3BlY3RvcldlYkdMQWdlbnQ7
CisjZW5kaWYKIH07CiAKIEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRhdGlvbkZvclBh
Z2UoUGFnZSopOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145277</attachid>
            <date>2012-06-01 05:45:08 -0700</date>
            <delta_ts>2012-06-01 06:14:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120601164506.patch</filename>
            <type>text/plain</type>
            <size>49005</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg5YWE3Mzk0MjU5NTg5
OGIxMjA4YWU1NGQ4YWJiOGFjNDEwOGU1NS4uNDUyMDUwODQyZGE5NjQyZTUxZGFlYjIwZjk0Njhj
MjQ0Zjk0MDA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDEyLTA2LTAxICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFz
RWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50
OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRv
RGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlw
dE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3Jp
cHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENh
bGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1h
bmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3Rl
ZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
amVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KToKKyAgICAgICAgKFdl
YkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRTY3JpcHRGb3IpOgorICAgICAg
ICAqIGluc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5OgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OndyYXBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyOjppbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmg6CisgICAgICAgIChJbmplY3RlZFNjcmlwdE1hbmFn
ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVy
OjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
V2ViR0xBZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJH
TEFnZW50U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5z
cGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50
Ojp+SW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJH
TEFnZW50OjpzZXRGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFn
ZW50OjpjbGVhckZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdl
bnQ6OnJlc3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5h
YmxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmRpc2FibGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5n
Q29udGV4dEZvckluc3RydW1lbnRhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMQWdlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3Bl
Y3RvcldlYkdMQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZWQp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjppc1dlYkdMSW5zcGVjdG9yRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJ
bnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRz
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdB
Z2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoSW5zdHJ1bWVudGluZ0FnZW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjppbnNwZWN0b3JXZWJH
TEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3Bl
Y3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTE5MDYyIGFuZCBy
MTE5MDY0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlZjJkOTM5ZTQ5NDUzZThiODlhNmI1NzE1
OTdhMDc2MGY3MzM3NjExLi5hMjc2ODM4MTU3ODNjY2U5YzlmNDEyNmQ2NGZiZGJlNjcwMzBhZTFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTU4LDYgKzk1OCw3IEBAIFNFVChXZWJDb3JlX1NP
VVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAgIGlu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0cnVt
ZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAK
QEAgLTE2ODcsNyArMTY4OCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAgICBN
b2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAgTW9k
dWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAorCiAg
ICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3b3Jr
aW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVsZXMv
bmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjU5OCw2ICsyNTk5LDE3
IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAke0RF
UklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAogCisj
IEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJHTCkK
KyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNF
U19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1BSU5f
REVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAgICAg
ICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3IveHhk
LnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVjdG9y
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAgICBM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNIX1RP
T0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNwcCkK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTQ3MzFkYjRjNjMxZjgxYWMwZWI5
ZTcwNDJlODkwY2FjOTJjNGYzMi4uMDkwYmI5NzExOWU4MTI1MDkwZmY3ZDAyZWMyNTE3NTdkOTYw
MzBmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAogIyBD
b3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5p
Z0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8
Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFyZSBt
ZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBw
bGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorIyAg
ICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03ODAs
MTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQoUFJP
SkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtz
LmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVX
aW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtz
LmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVX
aW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZpbmRz
dHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAgIFVT
RVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2Vi
Q29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChVU0VS
X0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAogaWZl
cSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxF
X01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtlX25h
bWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdzL3Nj
cmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0tLS0t
LS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAogRXZl
bnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9tYWtl
X2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBAQCBF
eGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5oIEV4
Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3Jp
cHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0tLS0t
LS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVudCBm
YWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBkb20v
bWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpAQCAt
OTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3RlZFNj
cmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29yZSkv
aW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAKK2Fs
bCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0U291
cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUpL2lu
c3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEgKCQo
ZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19XWCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCAyMzg2Nzk5ODk5MjJlNWEyZTE3MDZlMDcw
ZjlkZTFiMjc0MWM0MzNhLi5hMDc3MTY2OThiNTUwN2IxOWFkNjU2YjA0ZGQ4MDJhNjg1OGNhNmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BFQ1RP
Ul9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVj
dG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NPVVJD
RSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERFQlVH
R0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5qcwog
CiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDExICs3
NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VORVJB
VE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGluamVj
dGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVjdGVk
U2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRTY3Jp
cHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRT
Y3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzICR7
UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwgJCRQ
V0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJTEVf
SU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0X3Rv
X3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQogCi0j
IEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBpbGVy
CisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291cmNl
IGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElOSkVD
VEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29tbWFu
ZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdMU2Ny
aXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9IElu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3IgZGVi
dWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0cHV0
ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQgPSBE
RUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBl
cmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FNQUtF
X0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGE5N2Qy
NGZiOGViNzM2YWRiOTI4MDdmMTMzYTEwOGU2ZDBmOGQ1NzMuLmFjZDZiNjllYjYwYTkwYTRlMTli
NmZlNGE5OTcyNTY2OWE5NWNiYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjAsNiArODIw
LDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanM6
IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2Uu
anMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIEluamVj
dGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291
cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJDb3Jl
KS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4pJChQ
RVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzICQo
R0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYgRU5B
QkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBAIC0x
MDY5LDYgKzEwNzEsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3UvTElD
RU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3Iu
cHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBc
CisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMg
XAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDM3ODQyYWZmMzUxNWE4ZDg0NjRjMzA1ZWVhYjAwMzhjZmMz
Yzc5MzIuLmM4NmNjMjQxZTcxYmViOTQ0ZjdhODc0MWJmNGMyODljZGE2NDlhNzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0X3Nv
dXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMCw2ICsyNzIxLDkgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggNTllZjM5M2QxNmZkMjc4YTUx
ZTk3NGNkYzU2ZjJiNTg2Zjk3OTE4Yi4uMmEwZDBiNTZkYzkxY2YwNzU5MThmYWY0ZjZlY2NlZTQ0
ZjEzZjE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZh
bHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3Ry
dW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEu
Y3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRleHRF
ZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJB
Z2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBpbnNw
ZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwCmluZGV4IDgyNTU4ODQ3OWJiNzM0ODk4Mjk2Mjk0MGRmOTUzZTAyZWZkMzA2MzAu
LjQ4NzQzZDNmZmQyNDg5MWNhYThmNmUyZWMwNzY2ZThhMjhiMDJmMzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC00MzUsNiArNDM1LDI5IEBACiAgICAgICBdCiAg
ICAgfSwKICAgICB7CisgICAgICAndGFyZ2V0X25hbWUnOiAnaW5qZWN0ZWRfd2ViZ2xfc2NyaXB0
X3NvdXJjZScsCisgICAgICAndHlwZSc6ICdub25lJywKKyAgICAgICdhY3Rpb25zJzogWworICAg
ICAgICB7CisgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ2dlbmVyYXRlSW5qZWN0ZWRXZWJHTFNj
cmlwdFNvdXJjZScsCisgICAgICAgICAgJ2lucHV0cyc6IFsKKyAgICAgICAgICAgICcuLi9pbnNw
ZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcycsCisgICAgICAgICAgXSwKKyAgICAg
ICAgICAnb3V0cHV0cyc6IFsKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElS
KS93ZWJraXQvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICBdLAorICAg
ICAgICAgICdhY3Rpb24nOiBbCisgICAgICAgICAgICAncGVybCcsCisgICAgICAgICAgICAnLi4v
aW5zcGVjdG9yL3h4ZC5wbCcsCisgICAgICAgICAgICAnSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcycsCisgICAgICAgICAgICAnPEAoX2lucHV0cyknLAorICAgICAgICAgICAgJzxAKF9vdXRw
dXRzKScKKyAgICAgICAgICBdLAorICAgICAgICAgICdtZXNzYWdlJzogJ0dlbmVyYXRpbmcgSW5q
ZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIGZyb20gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5q
cycsCisgICAgICAgIH0sCisgICAgICBdCisgICAgfSwKKyAgICB7CiAgICAgICAndGFyZ2V0X25h
bWUnOiAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAndHlwZSc6ICdub25lJywKICAg
ICAgICdhY3Rpb25zJzogWwpAQCAtMTA3NSw2ICsxMDk4LDcgQEAKICAgICAgICAgJ3dlYmNvcmVf
YmluZGluZ3Nfc291cmNlcycsCiAgICAgICAgICdpbnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycs
CiAgICAgICAgICdpbmplY3RlZF9zY3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dl
YmdsX3NjcmlwdF9zb3VyY2UnLAogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAg
ICAgICAgICcuLi8uLi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXAvSmF2YVNjcmlw
dENvcmUuZ3lwOnlhcnInLAogICAgICAgICAnLi4vLi4vV1RGL1dURi5neXAvV1RGLmd5cDp3dGYn
LApAQCAtMTE5OCw2ICsxMjIyLDcgQEAKICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAgICAg
ICdkZWJ1Z2dlcl9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2luamVjdGVkX3NjcmlwdF9zb3Vy
Y2UnLAorICAgICAgICAnaW5qZWN0ZWRfd2ViZ2xfc2NyaXB0X3NvdXJjZScsCiAgICAgICAgICdp
bnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycsCiAgICAgICAgICd3ZWJjb3JlX2JpbmRpbmdzX3Nv
dXJjZXMnLAogICAgICAgICAnLi4vLi4vVGhpcmRQYXJ0eS9nbHUvZ2x1Lmd5cDpsaWJ0ZXNzJywK
QEAgLTE0NzMsOSArMTQ5OCw5IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAn
d2ViY29yZV9wcmVyZXF1aXNpdGVzJywKICAgICAgIF0sCi0gICAgICAnZGVmaW5lcyc6IFsgCi0g
ICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsIAotICAgICAgXSwgCisgICAgICAnZGVm
aW5lcyc6IFsKKyAgICAgICAgJ1dFQktJVF9JTVBMRU1FTlRBVElPTj0xJywKKyAgICAgIF0sCiAg
ICAgICAjIFRoaXMgaXMgbmVlZGVkIGZvciBtYWMgYmVjYXVzZSBvZiB3ZWJraXRfc3lzdGVtX2lu
dGVyZmFjZS4gSXQnZCBiZSBuaWNlCiAgICAgICAjIGlmIHRoaXMgaGFyZCBkZXBlbmRlbmN5IGNv
dWxkIGJlIHNwbGl0IG9mZiB0aGUgcmVzdC4KICAgICAgICdoYXJkX2RlcGVuZGVuY3knOiAxLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCmluZGV4IDYxZWZhYjFhZDQ0NTc0YjYyMjdjY2YwMmUzY2Y0NzhiNzI1ZDky
MTQuLmFmN2Q1NjNkMTk3YzZjYzM0OTk3NTUyMDM1YTgyNjBhZDc1Mzc0YzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKQEAgLTI4MTksNiArMjgxOSw5IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvclZh
bHVlcy5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNvdXJj
ZS5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAnLAor
ICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgnLAorICAgICAgICAg
ICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oJywKICAgICAgICAg
ICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9y
L0luc3RydW1lbnRpbmdBZ2VudHMuY3BwJywKQEAgLTY2NDAsNyArNjY0Myw3IEBACiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxHcmF5LnBuZycsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxXaGl0ZS5w
bmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaE5leHQu
cG5nJywKLSAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hQcmV2
LnBuZycsICAgICAgICAgICAgCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFn
ZXMvc2VhcmNoUHJldi5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1h
Z2VzL3NlZ21lbnQucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdl
cy9zZWdtZW50RW5kLnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFn
ZXMvc2VnbWVudEhvdmVyLnBuZycsCkBAIC03MjM4LDYgKzcyNDEsNyBAQAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IZWFkZXJE
ZXRlY3Rpb24uaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kQ29tbWFuZHMuanMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0hUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAppbmRleCBkNWZjM2NlOTYzNjNk
YzUxMjY4NGYyZjQwNzFhNDI0ODVlYWMwNjE4Li4yNTQ1YmIzZGM3MTlhOWRjYzZlYjNkNDEyZjk5
Mjk0ZGVlNjY3NWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hU
TUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcApAQCAtMjEsNyArMjEsNyBAQAogICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0zMSw2ICszMSw3IEBACiAj
aW5jbHVkZSAiSFRNTENhbnZhc0VsZW1lbnQuaCIKICNpbmNsdWRlICJKU0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRC5oIgogI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJH
TEluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkpTV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmgi
CiAjaW5jbHVkZSAiV2ViR0xDb250ZXh0QXR0cmlidXRlcy5oIgogI2VuZGlmCkBAIC03NSw3ICs3
NiwxNiBAQCBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHQoRXhlY1N0YXRl
KiBleGVjKQogICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQgPSBjYW52YXMtPmdl
dENvbnRleHQodXN0cmluZ1RvU3RyaW5nKGNvbnRleHRJZCksIGF0dHJzLmdldCgpKTsKICAgICBp
ZiAoIWNvbnRleHQpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsKLSAgICByZXR1cm4gdG9KUyhl
eGVjLCBnbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoY29udGV4dCkpOworICAgIEpTVmFsdWUg
anNWYWx1ZSA9IHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGNvbnRleHQp
KTsKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgaWYgKGNvbnRleHQtPmlzM2QoKSAmJiBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmlzV2ViR0xJbnNwZWN0b3JFbmFibGVkKGNhbnZhcy0+ZG9jdW1l
bnQoKSkpIHsKKyAgICAgICAgU2NyaXB0T2JqZWN0IGdsQ29udGV4dChleGVjLCBqc1ZhbHVlLmdl
dE9iamVjdCgpKTsKKyAgICAgICAgU2NyaXB0T2JqZWN0IHdyYXBwZWQgPSBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24o
Y2FudmFzLT5kb2N1bWVudCgpLCBnbENvbnRleHQpOworICAgICAgICBpZiAoIXdyYXBwZWQuaGFz
Tm9WYWx1ZSgpKQorICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQuanNWYWx1ZSgpOworICAgIH0K
KyNlbmRpZgorICAgIHJldHVybiBqc1ZhbHVlOwogfQogCiBKU1ZhbHVlIEpTSFRNTENhbnZhc0Vs
ZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCkBAIC05Myw3ICsxMDMsNyBAQCBKU1Zh
bHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCiAgICAg
ICAgICAgICBxdWFsaXR5UHRyID0gJnF1YWxpdHk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisK
ICAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzU3RyaW5nKGV4ZWMsIGNhbnZhcy0+dG9EYXRhVVJMKHR5
cGUsIHF1YWxpdHlQdHIsIGVjKSk7CiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKICAg
ICByZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDI0OTk5M2YyNzVjYTUyN2FjNjllYWRi
YWY1ZjQwZGU3ZGUzZDJmYzYuLjQ4NGNkNWUzZDc0NmY3ZDRlNDliZGI4MTdjMDk5ZjRiYTBkNWI4
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVk
U2NyaXB0TWFuYWdlci5jcHAKQEAgLTc4LDYgKzc4LDE0IEBAIFNjcmlwdE9iamVjdCBJbmplY3Rl
ZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUluamVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNl
LCBTCiAgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQor
U2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0V2ViR0xTY3JpcHQoY29u
c3QgU3RyaW5nJiwgU2NyaXB0T2JqZWN0KQoreworICAgIC8vIEZJWE1FKDg3OTc1KTogSW1wbGVt
ZW50IHRoaXMhCisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQorI2VuZGlmCisKIHZvaWQg
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUq
IHNjcmlwdFN0YXRlKQogewogICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBq
c0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihzY3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAppbmRleCBj
MTlmYjk4OTJiZGM4YTk3NjRkZjdlM2FiYmY3OTliMTVkYmI2ODE0Li5lMjFjNmNhY2U3NTE3ZDk0
MDRjOWI5YmM0YzAzZWQzODcxYzMyNDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0U3RhdGUuY3BwCkBAIC05MCw3ICs5MCw3IEBAIFNjcmlwdFN0YXRlKiBTY3JpcHRTdGF0
ZTo6Zm9yQ29udGV4dCh2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQpCiAKICAgICB2ODo6
TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tp
cCBwcm94eSBvYmplY3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdh
dGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNp
ZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0
IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250
ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdl
dFByb3RvdHlwZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRk
ZW5Qcm9wZXJ0eU5hbWU6OnNjcmlwdFN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5j
cHAKaW5kZXggNzM1MTFhODY3NWI3OWQwMjQ4OTA3NTA1MDc1YTg5OTVjMjdhNWZmZi4uMjFhY2Q2
NjNlOGQyMDgwODc5Y2UxNDI3NTg5MTNkMDQ0Zjg5YThlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50
Q3VzdG9tLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlY4Tm9kZS5oIgogI2luY2x1
ZGUgIlY4UHJveHkuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2Vi
R0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29udGV4dC5o
IgogI2VuZGlmCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTg4LDggKzg5LDE4IEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0Q2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50CiAgICAgaWYgKHJlc3VsdC0+aXMyZCgpKQogICAgICAg
ICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQqPihyZXN1
bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CiAjaWYgRU5BQkxFKFdFQkdMKQotICAgIGVsc2UgaWYg
KHJlc3VsdC0+aXMzZCgpKQotICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJl
bmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgZWxzZSBp
ZiAocmVzdWx0LT5pczNkKCkpIHsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHY4UmVz
dWx0ID0gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBh
cmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIGlmIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmlzV2ViR0xJbnNwZWN0b3JFbmFibGVkKGltcC0+ZG9jdW1lbnQoKSkpIHsKKyAgICAgICAgICAg
IFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSA9IFNjcmlwdFN0YXRlOjpmb3JDb250ZXh0KHY4OjpD
b250ZXh0OjpHZXRDdXJyZW50KCkpOworICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+
IHY4UmVzdWx0T2JqZWN0KHY4OjpPYmplY3Q6OkNhc3QoKnY4UmVzdWx0KSk7CisgICAgICAgICAg
ICBTY3JpcHRPYmplY3QgZ2xDb250ZXh0KHNjcmlwdFN0YXRlLCB2OFJlc3VsdE9iamVjdCk7Cisg
ICAgICAgICAgICBTY3JpcHRPYmplY3Qgd3JhcHBlZCA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihpbXAtPmRvY3Vt
ZW50KCksIGdsQ29udGV4dCk7CisgICAgICAgICAgICBpZiAoIXdyYXBwZWQuaGFzTm9WYWx1ZSgp
KQorICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnY4VmFsdWUoKTsKKyAgICAgICAgfQor
ICAgICAgICByZXR1cm4gdjhSZXN1bHQ7CisgICAgfQogI2VuZGlmCiAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiAgICAgcmV0dXJuIHY4OjpOdWxsKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0
TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDQ1NTU5ZmM2ZWNlYjE5OWZlNWVhOWVhMmNhYzkxODNj
MTVmOTgwODAuLjQzZDc0ODAxOGIyNjYxMDcwZGRlNWZkYmY2MTkzOWE0ZTE2ZDJiMzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0
TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcApAQCAtMTE0LDYgKzExNCwzMiBAQCBTY3JpcHRPYmplY3Qg
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcm
IHNjcmlwdFNvdQogICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5zcGVjdGVkU2NyaXB0U3RhdGUs
IGluamVjdGVkU2NyaXB0KTsKIH0KIAorI2lmIEVOQUJMRShXRUJHTCkKK1NjcmlwdE9iamVjdCBJ
bmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KGNvbnN0IFN0cmluZyYgc2Ny
aXB0U291cmNlLCBTY3JpcHRPYmplY3QgZ2xDb250ZXh0KQoreworICAgIHY4OjpIYW5kbGVTY29w
ZSBzY29wZTsKKworICAgIFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTY3JpcHRTdGF0ZSA9IGdsQ29u
dGV4dC5zY3JpcHRTdGF0ZSgpOworICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gaW5zcGVjdGVk
Q29udGV4dCA9IGluc3BlY3RlZFNjcmlwdFN0YXRlLT5jb250ZXh0KCk7CisgICAgdjg6OkNvbnRl
eHQ6OlNjb3BlIGNvbnRleHRTY29wZShpbnNwZWN0ZWRDb250ZXh0KTsKKworICAgIHY4OjpMb2Nh
bDx2ODo6T2JqZWN0PiB3aW5kb3dHbG9iYWwgPSBpbnNwZWN0ZWRDb250ZXh0LT5HbG9iYWwoKTsK
KworICAgIHY4OjpMb2NhbDx2ODo6U2NyaXB0PiBzY3JpcHQgPSB2ODo6U2NyaXB0OjpDb21waWxl
KHY4U3RyaW5nKHNjcmlwdFNvdXJjZSkpOworICAgIFY4UmVjdXJzaW9uU2NvcGU6Ok1pY3JvdGFz
a1N1cHByZXNzaW9uIHJlY3Vyc2lvblNjb3BlOworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHYg
PSBzY3JpcHQtPlJ1bigpOworICAgIEFTU0VSVCghdi5Jc0VtcHR5KCkpOworICAgIEFTU0VSVCh2
LT5Jc0Z1bmN0aW9uKCkpOworCisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3NbXSA9IHsK
KyAgICAgICAgZ2xDb250ZXh0LnY4VmFsdWUoKSwKKyAgICB9OworICAgIHY4OjpMb2NhbDx2ODo6
VmFsdWU+IGluamVjdGVkU2NyaXB0VmFsdWUgPSB2ODo6RnVuY3Rpb246OkNhc3QoKnYpLT5DYWxs
KHdpbmRvd0dsb2JhbCwgMSwgYXJncyk7CisgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGluamVj
dGVkU2NyaXB0T2JqZWN0KHY4OjpPYmplY3Q6OkNhc3QoKmluamVjdGVkU2NyaXB0VmFsdWUpKTsK
KyAgICByZXR1cm4gU2NyaXB0T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRlLCBpbmplY3RlZFNj
cmlwdE9iamVjdCk7Cit9CisjZW5kaWYKKwogdm9pZCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRp
c2NhcmRJbmplY3RlZFNjcmlwdChTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3RhdGUpCiB7
CiAgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOwpAQCAtMTIyLDcgKzE0OCw3IEBAIHZv
aWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3Rh
dGUqIGluc3BlY3RlZFNjcmlwdFN0CiAKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFs
ID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94
eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAg
Ly8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5z
cGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRl
cyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpM
b2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4
OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRldnRvb2xz
SW5qZWN0ZWRTY3JpcHQoKTsKQEAgLTEzNyw3ICsxNjMsNyBAQCBJbmplY3RlZFNjcmlwdCBJbmpl
Y3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkU2NyaXB0Rm9yKFNjcmlwdFN0YXRlKiBpbnNwZWN0
ZWRTYwogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2Jh
bCgpOwogICAgIC8vIFNraXAgcHJveHkgb2JqZWN0LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vy
dml2ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUgd2UgbmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9z
ZSBsaWZldGltZSBjb25zaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0Lgor
ICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRo
ZSBpbnNwZWN0ZWQgY29udGV4dC4KICAgICBnbG9iYWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46
OkNhc3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUoKSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJp
bmc+IGtleSA9IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkZXZ0b29sc0luamVjdGVkU2NyaXB0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3Bl
Y3Rvci5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9y
LnB5CmluZGV4IGU5ZDM3M2IwMWUwMzVkNWI0NGY2Mjc2M2MwNjQ4NjA3MTVmYTI3NDYuLjM0NTMx
M2Q0NGMyZTMyOWZkODRlMDJiYmQxNWVlNzczZDVkYjQ3YzUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5CkBAIC00Niw2ICs0Niw3
IEBAIERPTUFJTl9ERUZJTkVfTkFNRV9NQVAgPSB7CiAgICAgIkluZGV4ZWREQiI6ICJJTkRFWEVE
X0RBVEFCQVNFIiwKICAgICAiUHJvZmlsZXIiOiAiSkFWQVNDUklQVF9ERUJVR0dFUiIsCiAgICAg
IldvcmtlciI6ICJXT1JLRVJTIiwKKyAgICAiV2ViR0wiOiAiV0VCR0wiLAogfQogCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5k
ZXggOGVlNWE5OGNjNzMzY2EyMzgwMjk1MTNhZGU1NTNlZjgyMjI3ZjYwYi4uNWY1NTFjZTYxMTNm
YzQxYzM1ZmFkYTk3YjcxZWFlNmY2ZDNiYzRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKQEAgLTM3LDYgKzM3LDkgQEAKICNp
bmNsdWRlICJJbmplY3RlZFNjcmlwdC5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0SG9zdC5o
IgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0U291cmNlLmgiCisjaWYgRU5BQkxFKFdFQkdMKQor
I2luY2x1ZGUgIkluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCIKKyNlbmRpZgogI2luY2x1ZGUg
Ikluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgpAQCAtMTcyLDYgKzE3NSwxOCBAQCBwYWlyPGxvbmcsIFNj
cmlwdE9iamVjdD4gSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RTY3JpcHQoY29uc3QgU3Ry
aW5nJiBzb3VyYwogICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihpZCwgY3JlYXRlSW5qZWN0ZWRT
Y3JpcHQoc291cmNlLCBzY3JpcHRTdGF0ZSwgaWQpKTsKIH0KIAorI2lmIEVOQUJMRShXRUJHTCkK
K1NjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OndyYXBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAgICBy
ZXR1cm4gaW5qZWN0V2ViR0xTY3JpcHQoaW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpLCBnbENv
bnRleHQpOworfQorCitTdHJpbmcgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlKCkKK3sKKyAgICByZXR1cm4gU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgY2hhcio+KEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMpLCBzaXplb2YoSW5qZWN0ZWRX
ZWJHTFNjcmlwdFNvdXJjZV9qcykpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKaW5kZXggNGRmM2JkOWU1MWRhMTU3YjJl
MjE2MjNkZjc5YTgxYmQ0MTQ3OWE0NC4uZmQyMmYzNTg3OTY4ZGQwY2Q1YzY3OGU0YTE1MTMzNzM1
OGNiMTRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dE1hbmFnZXIuaApAQCAtNywxMyArNywxMyBAQAogICogYXJlIG1ldDoKICAqCiAgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICogMy4g
IE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0
aGUgbmFtZXMgb2YKICAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqICAgICBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CiAgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKICAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKQEAgLTY0LDYgKzY0
LDkgQEAgcHVibGljOgogICAgIHZvaWQgZGlzY2FyZEluamVjdGVkU2NyaXB0c0ZvcihET01XaW5k
b3cqKTsKICAgICB2b2lkIHJlbGVhc2VPYmplY3RHcm91cChjb25zdCBTdHJpbmcmIG9iamVjdEdy
b3VwKTsKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBTY3JpcHRPYmplY3Qgd3JhcFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihTY3JpcHRPYmplY3QpOworI2VuZGlmCiAK
IHByaXZhdGU6CiAgICAgdHlwZWRlZiBib29sICgqSW5zcGVjdGVkU3RhdGVBY2Nlc3NDaGVjayko
U2NyaXB0U3RhdGUqKTsKQEAgLTczLDYgKzc2LDExIEBAIHByaXZhdGU6CiAgICAgU2NyaXB0T2Jq
ZWN0IGNyZWF0ZUluamVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTY3JpcHRTdGF0
ZSosIGxvbmcgaWQpOwogICAgIHZvaWQgZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRl
Kik7CiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgU3RyaW5nIGluamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UoKTsKKyAgICBTY3JpcHRPYmplY3QgaW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5n
JiBzb3VyY2UsIFNjcmlwdE9iamVjdCk7CisjZW5kaWYKKwogICAgIHN0YXRpYyBib29sIGNhbkFj
Y2Vzc0luc3BlY3RlZFdpbmRvdyhTY3JpcHRTdGF0ZSopOwogICAgIHN0YXRpYyBib29sIGNhbkFj
Y2Vzc0luc3BlY3RlZFdvcmtlckNvbnRleHQoU2NyaXB0U3RhdGUqKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42YTU1NTRkMzEyYTBlZjBhMzEyMmY1OGVjNTFlYzJkZGFkN2RiMDJiCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UuanMKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyhmdW5jdGlvbihnbENvbnRleHQpIHsKKworLy8gRklY
TUU6IFdyYXAgV2ViR0wgY29udGV4dCBmb3IgaW5zdHJ1bWVudGF0aW9uLgorcmV0dXJuIGdsQ29u
dGV4dDsKKworfSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCBj
OTkxMTYwOGM0ZThjZGJhYWI2OTdlMDU3M2RlM2U3NGRlNDBiYjUxLi4wNDJiZThmNmYzZTAyZjNk
YmEzNTM3YTg5YzZjN2NlZjdlYmFhYjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvci5qc29uCkBAIC0yODExLDUgKzI4MTEsMjEgQEAKICAgICAgICAgICAgICAgICAibmFtZSI6
ICJkaXNjb25uZWN0ZWRGcm9tV29ya2VyIgogICAgICAgICAgICAgfQogICAgICAgICBdCisgICAg
fSwKKyAgICB7CisgICAgICAgICJkb21haW4iOiAiV2ViR0wiLAorICAgICAgICAiaGlkZGVuIjog
dHJ1ZSwKKyAgICAgICAgInR5cGVzIjogW10sCisgICAgICAgICJjb21tYW5kcyI6IFsKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJlbmFibGUiLAorICAgICAgICAgICAg
ICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGVzIFdlYkdMIGluc3BlY3Rpb24uIgorICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNhYmxlIiwK
KyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGlzYWJsZXMgV2ViR0wgaW5zcGVjdGlv
bi4iCisgICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJldmVudHMiOiBbXQogICAg
IH1dCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxs
SW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNw
cAppbmRleCBiMTIyMzA0MzIzM2Y5ZDQ0N2E1ZDNhYjU1MTEwNjY5NTllZmJlNjIxLi5iZTkyYTEz
ZmM3YjNjZDg1NjEzNjM4ZTYxODg3N2M4MmZiMmMzOWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKQEAgLTY1LDYgKzY1LDcgQEAKICNpbmNs
dWRlICJJbnNwZWN0b3JTdHlsZVRleHRFZGl0b3IuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclRp
bWVsaW5lQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5jcHAiCisjaW5jbHVk
ZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyQWdl
bnQuY3BwIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuY3BwIgogI2luY2x1ZGUgIk5l
dHdvcmtSZXNvdXJjZXNEYXRhLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA0NmUwYzJiOGM1NGY0YjQyMGMyMzY4NGM3YmUz
YTc1M2E0NWJiNzY5Li5hYzE5YzdkYjk1M2QyNDU4MzljYWRmYTMyODZlZjY4YjUyOTYyZWYwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
CkBAIC02MSw2ICs2MSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIgog
I2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JXb3JrZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKICNp
bmNsdWRlICJQYWdlQ29uc29sZUFnZW50LmgiCkBAIC0xNDQsNiArMTQ1LDEwIEBAIEluc3BlY3Rv
ckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xp
ZW50KiBpbnNwZWN0b3JDCiAgICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3RvcldvcmtlckFnZW50
OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpKSk7CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9y
V2ViR0xBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5n
ZXQoKSwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKTsKKyNlbmRpZgorCiAgICAgQVNT
RVJUX0FSRyhpbnNwZWN0b3JDbGllbnQsIGluc3BlY3RvckNsaWVudCk7CiAgICAgbV9pbmplY3Rl
ZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0SG9zdCgpLT5pbml0KG1faW5zcGVjdG9yQWdl
bnQKICAgICAgICAgLCBjb25zb2xlQWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBjYTk1MGJhZjcwZDE3Njg1NmMz
Y2U2ODczMGQyOWQ4MWJjZGMxOGYyLi5jNzYxZDY1NjFjODgwMDBmNDhhYTU0MDlkMjA0OGRmNThk
ZDI5MDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oCkBAIC02OCw2ICs2OCw3IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7
CiBjbGFzcyBTY3JpcHRBcmd1bWVudHM7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OworY2xhc3MgU2NyaXB0T2JqZWN0OwogY2xhc3MgU2NyaXB0
UHJvZmlsZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU2hhZG93Um9vdDsKQEAgLTIz
Niw2ICsyMzcsMTEgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVXZWJTb2Nr
ZXRGcmFtZUVycm9yKERvY3VtZW50KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIGVycm9yTWVzc2FnZSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBz
dGF0aWMgYm9vbCBpc1dlYkdMSW5zcGVjdG9yRW5hYmxlZChEb2N1bWVudCopOworICAgIHN0YXRp
YyBTY3JpcHRPYmplY3Qgd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bihEb2N1bWVudCosIFNjcmlwdE9iamVjdCk7CisjZW5kaWYKKwogICAgIHN0YXRpYyB2b2lkIG5l
dHdvcmtTdGF0ZUNoYW5nZWQoUGFnZSopOwogICAgIHN0YXRpYyB2b2lkIHVwZGF0ZUFwcGxpY2F0
aW9uQ2FjaGVTdGF0dXMoRnJhbWUqKTsKIApAQCAtOTc1LDcgKzk4MSw3IEBAIGlubGluZSB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNoZWQoUGFnZSogcGFn
ZSwgdW5zaWduZWQKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBh
Z2UocGFnZSkpCi0gICAgICAgIG1hcmtSZXNvdXJjZUFzQ2FjaGVkSW1wbChpbnN0cnVtZW50aW5n
QWdlbnRzLCBpZGVudGlmaWVyKTsgCisgICAgICAgIG1hcmtSZXNvdXJjZUFzQ2FjaGVkSW1wbChp
bnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTgxMjQ4YjRlNmJlZTc4OGFiN2E2YjdiMTYwNGFkYTcxZDU1NTdmNwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcApAQCAt
MCwwICsxLDEwNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShJTlNQRUNUT1Ip
ICYmIEVOQUJMRShXRUJHTCkKKworI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKKwor
I2luY2x1ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZy
b250ZW5kLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yU3RhdGUuaCIKKyNpbmNsdWRlICJJbnN0cnVt
ZW50aW5nQWdlbnRzLmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCisjaW5jbHVkZSAiU2Ny
aXB0U3RhdGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgV2ViR0xBZ2Vu
dFN0YXRlIHsKK3N0YXRpYyBjb25zdCBjaGFyIHdlYkdMQWdlbnRFbmFibGVkW10gPSAid2ViR0xB
Z2VudEVuYWJsZWQiOworfTsKKworSW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5zcGVjdG9yV2ViR0xB
Z2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JT
dGF0ZSogc3RhdGUsIEluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
KQorICAgIDogSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvcldlYkdMQWdlbnQ+KCJXZWJHTCIs
IGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlKQorICAgICwgbV9pbmplY3RlZFNjcmlwdE1hbmFn
ZXIoaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgICwgbV9mcm9udGVuZCgwKQorICAgICwgbV9l
bmFibGVkKGZhbHNlKQoreworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9y
V2ViR0xBZ2VudCh0aGlzKTsKK30KKworSW5zcGVjdG9yV2ViR0xBZ2VudDo6fkluc3BlY3Rvcldl
YkdMQWdlbnQoKQoreworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yV2Vi
R0xBZ2VudCgwKTsKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMgPSAwOworfQorCit2b2lkIElu
c3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVu
ZCkKK3sKKyAgICBBU1NFUlQoZnJvbnRlbmQpOworICAgIG1fZnJvbnRlbmQgPSBmcm9udGVuZC0+
d2ViZ2woKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpjbGVhckZyb250ZW5kKCkK
K3sKKyAgICBtX2Zyb250ZW5kID0gMDsKKyAgICBkaXNhYmxlKDApOworfQorCit2b2lkIEluc3Bl
Y3RvcldlYkdMQWdlbnQ6OnJlc3RvcmUoKQoreworICAgIG1fZW5hYmxlZCA9IG1fc3RhdGUtPmdl
dEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCk7Cit9CisKK3ZvaWQg
SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlKEVycm9yU3RyaW5nKikKK3sKKyAgICBpZiAobV9l
bmFibGVkKQorICAgICAgICByZXR1cm47CisgICAgbV9lbmFibGVkID0gdHJ1ZTsKKyAgICBtX3N0
YXRlLT5zZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2ViR0xBZ2VudEVuYWJsZWQsIG1fZW5h
YmxlZCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZShFcnJvclN0cmlu
ZyopCit7CisgICAgaWYgKCFtX2VuYWJsZWQpCisgICAgICAgIHJldHVybjsKKyAgICBtX2VuYWJs
ZWQgPSBmYWxzZTsKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2Vi
R0xBZ2VudEVuYWJsZWQsIG1fZW5hYmxlZCk7Cit9CisKK1NjcmlwdE9iamVjdCBJbnNwZWN0b3JX
ZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNj
cmlwdE9iamVjdCBnbENvbnRleHQpCit7CisgICAgcmV0dXJuIG1faW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLT53cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGdsQ29udGV4
dCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQ
RUNUT1IpICYmIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yV2ViR0xBZ2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwZDA4Y2EyY2Q3ZTAwMjJkOTYwOTNmMjBk
NmZjYjRjYWRmODM3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3BlY3Rv
cldlYkdMQWdlbnRfaAorI2RlZmluZSBJbnNwZWN0b3JXZWJHTEFnZW50X2gKKworI2lmIEVOQUJM
RShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKKworI2luY2x1ZGUgIkluc3BlY3RvckJhc2VB
Z2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisjaW5jbHVkZSAiUGxhdGZv
cm1TdHJpbmcuaCIKKyNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBJbmplY3RlZFNjcmlwdE1hbmFnZXI7CitjbGFzcyBJbnNwZWN0b3JTdGF0
ZTsKK2NsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CitjbGFzcyBTY3JpcHRPYmplY3Q7CisKK3R5
cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOworCitjbGFzcyBJbnNwZWN0b3JXZWJHTEFnZW50IDog
cHVibGljIEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JXZWJHTEFnZW50PiwgcHVibGljIElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVyOjpXZWJHTENvbW1hbmRIYW5kbGVyIHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JXZWJHTEFnZW50PiBjcmVhdGUoSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRl
LCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICB7Cisg
ICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgSW5zcGVjdG9yV2ViR0xBZ2VudChpbnN0cnVtZW50
aW5nQWdlbnRzLCBzdGF0ZSwgaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKSk7CisgICAgfQorICAgIH5J
bnNwZWN0b3JXZWJHTEFnZW50KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RnJvbnRlbmQoSW5z
cGVjdG9yRnJvbnRlbmQqKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xlYXJGcm9udGVuZCgpOworICAg
IHZpcnR1YWwgdm9pZCByZXN0b3JlKCk7CisKKyAgICBib29sIGVuYWJsZWQoKSB7IHJldHVybiBt
X2VuYWJsZWQ7IH0KKworICAgIFNjcmlwdE9iamVjdCB3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0
Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9iamVjdCk7CisKKyAgICAvLyBDYWxsZWQgZnJvbSB0
aGUgZnJvbnQtZW5kLgorICAgIHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JTdHJpbmcqKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyopOworCisgICAgLy8gQ2FsbGVkIGZy
b20gdGhlIGluamVjdGVkIHNjcmlwdC4KKworICAgIC8vIENhbGxlZCBmcm9tIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbgorCitwcml2YXRlOgorICAgIEluc3BlY3RvcldlYkdMQWdlbnQoSW5zdHJ1
bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0YXRlKiwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7
CisKKyAgICBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOwor
ICAgIEluc3BlY3RvckZyb250ZW5kOjpXZWJHTCogbV9mcm9udGVuZDsKKyAgICBib29sIG1fZW5h
YmxlZDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3Rv
cldlYkdMQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGRkNTJjMjdiMDdmMmE0
MDgxZjk0ZmI0ODcyMmQ0NDM4MGRkNWZlNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oCkBAIC0wLDAgKzEs
NjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gKKyNkZWZpbmUgSW5z
cGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb25faAorCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5oIgorI2luY2x1ZGUg
Ikluc3RydW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCisjaWYgRU5BQkxFKFdFQkdMKQoraW5saW5lIGJvb2wgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjppc1dlYkdMSW5zcGVjdG9yRW5hYmxlZChEb2N1bWVudCogZG9j
dW1lbnQpCit7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBGQVNUX1JFVFVSTl9JRl9OT19G
Uk9OVEVORFMoZmFsc2UpOworICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkgewor
ICAgICAgICBpZiAoSW5zcGVjdG9yV2ViR0xBZ2VudCogd2ViR0xBZ2VudCA9IGluc3RydW1lbnRp
bmdBZ2VudHMtPmluc3BlY3RvcldlYkdMQWdlbnQoKSkKKyAgICAgICAgICAgIHJldHVybiB3ZWJH
TEFnZW50LT5lbmFibGVkKCk7CisgICAgfQorI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOworfQor
CitTY3JpcHRPYmplY3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJp
bmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKERvY3VtZW50KiBkb2N1bWVudCwgU2NyaXB0T2Jq
ZWN0IGdsQ29udGV4dCkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIGlmIChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0Zv
ckRvY3VtZW50KGRvY3VtZW50KSkgeworICAgICAgICBJbnNwZWN0b3JXZWJHTEFnZW50KiB3ZWJH
TEFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yV2ViR0xBZ2VudCgpOworICAg
ICAgICBpZiAod2ViR0xBZ2VudCAmJiB3ZWJHTEFnZW50LT5lbmFibGVkKCkpCisgICAgICAgICAg
ICByZXR1cm4gd2ViR0xBZ2VudC0+d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1l
bnRhdGlvbihnbENvbnRleHQpOworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBTY3JpcHRPYmpl
Y3QoKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50
cy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAppbmRl
eCAxOTRlYjg2NWVjNzVhNjZmZWZiNGI3MjQ2ZjAwOGE4MzhhODhhYWJjLi4xMzM0ZGM3ZDZkYjdl
ZGIzOTA4NmI5NmUzYzc4NjRjYTE3OGYzNDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTUyLDYgKzUyLDcgQEAgY2xhc3MgSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudDsKIGNsYXNzIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JXb3JrZXJBZ2VudDsKK2NsYXNz
IEluc3BlY3RvcldlYkdMQWdlbnQ7CiBjbGFzcyBQYWdlOwogY2xhc3MgUGFnZVJ1bnRpbWVBZ2Vu
dDsKIGNsYXNzIFdvcmtlckNvbnRleHQ7CkBAIC04Niw2ICs4Nyw5IEBAIHB1YmxpYzoKICNpZiBF
TkFCTEUoV09SS0VSUykKICAgICAgICAgLCBtX2luc3BlY3RvcldvcmtlckFnZW50KDApCiAjZW5k
aWYKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgICAgICwgbV9pbnNwZWN0b3JXZWJHTEFnZW50KDAp
CisjZW5kaWYKICAgICB7IH0KICAgICB+SW5zdHJ1bWVudGluZ0FnZW50cygpIHsgfQogCkBAIC0x
NDIsMTEgKzE0NiwxNyBAQCBwdWJsaWM6CiAgICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogaW5z
cGVjdG9yUHJvZmlsZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yUHJvZmlsZXJB
Z2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJbnNwZWN0b3JQcm9m
aWxlckFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQgPSBhZ2VudDsgfQog
I2VuZGlmCisKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICBJbnNwZWN0b3JXb3JrZXJBZ2VudCog
aW5zcGVjdG9yV29ya2VyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvcldvcmtlckFn
ZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JXb3JrZXJBZ2VudChJbnNwZWN0b3JXb3JrZXJB
Z2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JXb3JrZXJBZ2VudCA9IGFnZW50OyB9CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBJbnNwZWN0b3JXZWJHTEFnZW50KiBpbnNwZWN0b3JX
ZWJHTEFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JXZWJHTEFnZW50OyB9CisgICAg
dm9pZCBzZXRJbnNwZWN0b3JXZWJHTEFnZW50KEluc3BlY3RvcldlYkdMQWdlbnQqIGFnZW50KSB7
IG1faW5zcGVjdG9yV2ViR0xBZ2VudCA9IGFnZW50OyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAg
ICBJbnNwZWN0b3JBZ2VudCogbV9pbnNwZWN0b3JBZ2VudDsKICAgICBJbnNwZWN0b3JQYWdlQWdl
bnQqIG1faW5zcGVjdG9yUGFnZUFnZW50OwpAQCAtMTczLDYgKzE4Myw5IEBAIHByaXZhdGU6CiAj
aWYgRU5BQkxFKFdPUktFUlMpCiAgICAgSW5zcGVjdG9yV29ya2VyQWdlbnQqIG1faW5zcGVjdG9y
V29ya2VyQWdlbnQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgSW5zcGVjdG9yV2Vi
R0xBZ2VudCogbV9pbnNwZWN0b3JXZWJHTEFnZW50OworI2VuZGlmCiB9OwogCiBJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZW50YXRpb25Gb3JQYWdlKFBhZ2UqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145282</attachid>
            <date>2012-06-01 06:01:05 -0700</date>
            <delta_ts>2012-06-01 06:13:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120601170103.patch</filename>
            <type>text/plain</type>
            <size>48973</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg5YWE3Mzk0MjU5NTg5
OGIxMjA4YWU1NGQ4YWJiOGFjNDEwOGU1NS4uNDUyMDUwODQyZGE5NjQyZTUxZGFlYjIwZjk0Njhj
MjQ0Zjk0MDA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDEyLTA2LTAxICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFz
RWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50
OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRv
RGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlw
dE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3Jp
cHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENh
bGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1h
bmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3Rl
ZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
amVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KToKKyAgICAgICAgKFdl
YkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRTY3JpcHRGb3IpOgorICAgICAg
ICAqIGluc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5OgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OndyYXBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyOjppbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmg6CisgICAgICAgIChJbmplY3RlZFNjcmlwdE1hbmFn
ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVy
OjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
V2ViR0xBZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJH
TEFnZW50U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5z
cGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50
Ojp+SW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJH
TEFnZW50OjpzZXRGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFn
ZW50OjpjbGVhckZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdl
bnQ6OnJlc3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5h
YmxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmRpc2FibGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5n
Q29udGV4dEZvckluc3RydW1lbnRhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMQWdlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3Bl
Y3RvcldlYkdMQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZWQp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjppc1dlYkdMSW5zcGVjdG9yRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJ
bnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRz
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdB
Z2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoSW5zdHJ1bWVudGluZ0FnZW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjppbnNwZWN0b3JXZWJH
TEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3Bl
Y3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTE5MDYyIGFuZCBy
MTE5MDY0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlZjJkOTM5ZTQ5NDUzZThiODlhNmI1NzE1
OTdhMDc2MGY3MzM3NjExLi5hMjc2ODM4MTU3ODNjY2U5YzlmNDEyNmQ2NGZiZGJlNjcwMzBhZTFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTU4LDYgKzk1OCw3IEBAIFNFVChXZWJDb3JlX1NP
VVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAgIGlu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0cnVt
ZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAK
QEAgLTE2ODcsNyArMTY4OCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAgICBN
b2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAgTW9k
dWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAorCiAg
ICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3b3Jr
aW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVsZXMv
bmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjU5OCw2ICsyNTk5LDE3
IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAke0RF
UklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAogCisj
IEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJHTCkK
KyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNF
U19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1BSU5f
REVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAgICAg
ICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3IveHhk
LnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVjdG9y
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAgICBM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNIX1RP
T0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNwcCkK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTQ3MzFkYjRjNjMxZjgxYWMwZWI5
ZTcwNDJlODkwY2FjOTJjNGYzMi4uMDkwYmI5NzExOWU4MTI1MDkwZmY3ZDAyZWMyNTE3NTdkOTYw
MzBmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAogIyBD
b3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5p
Z0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8
Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFyZSBt
ZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBw
bGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorIyAg
ICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03ODAs
MTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQoUFJP
SkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtz
LmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVX
aW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtz
LmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVX
aW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZpbmRz
dHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAgIFVT
RVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2Vi
Q29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChVU0VS
X0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAogaWZl
cSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxF
X01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtlX25h
bWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdzL3Nj
cmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0tLS0t
LS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAogRXZl
bnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9tYWtl
X2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBAQCBF
eGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5oIEV4
Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3Jp
cHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0tLS0t
LS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVudCBm
YWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBkb20v
bWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpAQCAt
OTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3RlZFNj
cmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29yZSkv
aW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAKK2Fs
bCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0U291
cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUpL2lu
c3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEgKCQo
ZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19XWCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCAyMzg2Nzk5ODk5MjJlNWEyZTE3MDZlMDcw
ZjlkZTFiMjc0MWM0MzNhLi5hMDc3MTY2OThiNTUwN2IxOWFkNjU2YjA0ZGQ4MDJhNjg1OGNhNmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BFQ1RP
Ul9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVj
dG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NPVVJD
RSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERFQlVH
R0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5qcwog
CiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDExICs3
NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VORVJB
VE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGluamVj
dGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVjdGVk
U2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRTY3Jp
cHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRT
Y3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzICR7
UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwgJCRQ
V0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJTEVf
SU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0X3Rv
X3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQogCi0j
IEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBpbGVy
CisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291cmNl
IGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElOSkVD
VEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29tbWFu
ZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdMU2Ny
aXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9IElu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3IgZGVi
dWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0cHV0
ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQgPSBE
RUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBl
cmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FNQUtF
X0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGE5N2Qy
NGZiOGViNzM2YWRiOTI4MDdmMTMzYTEwOGU2ZDBmOGQ1NzMuLmFjZDZiNjllYjYwYTkwYTRlMTli
NmZlNGE5OTcyNTY2OWE5NWNiYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjAsNiArODIw
LDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanM6
IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2Uu
anMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIEluamVj
dGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291
cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJDb3Jl
KS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4pJChQ
RVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzICQo
R0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYgRU5B
QkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBAIC0x
MDY5LDYgKzEwNzEsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3UvTElD
RU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3Iu
cHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBc
CisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMg
XAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDM3ODQyYWZmMzUxNWE4ZDg0NjRjMzA1ZWVhYjAwMzhjZmMz
Yzc5MzIuLmM4NmNjMjQxZTcxYmViOTQ0ZjdhODc0MWJmNGMyODljZGE2NDlhNzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0X3Nv
dXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMCw2ICsyNzIxLDkgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggNTllZjM5M2QxNmZkMjc4YTUx
ZTk3NGNkYzU2ZjJiNTg2Zjk3OTE4Yi4uMmEwZDBiNTZkYzkxY2YwNzU5MThmYWY0ZjZlY2NlZTQ0
ZjEzZjE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZh
bHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3Ry
dW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEu
Y3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRleHRF
ZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJB
Z2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBpbnNw
ZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwCmluZGV4IDgyNTU4ODQ3OWJiNzM0ODk4Mjk2Mjk0MGRmOTUzZTAyZWZkMzA2MzAu
LjQ4NzQzZDNmZmQyNDg5MWNhYThmNmUyZWMwNzY2ZThhMjhiMDJmMzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC00MzUsNiArNDM1LDI5IEBACiAgICAgICBdCiAg
ICAgfSwKICAgICB7CisgICAgICAndGFyZ2V0X25hbWUnOiAnaW5qZWN0ZWRfd2ViZ2xfc2NyaXB0
X3NvdXJjZScsCisgICAgICAndHlwZSc6ICdub25lJywKKyAgICAgICdhY3Rpb25zJzogWworICAg
ICAgICB7CisgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ2dlbmVyYXRlSW5qZWN0ZWRXZWJHTFNj
cmlwdFNvdXJjZScsCisgICAgICAgICAgJ2lucHV0cyc6IFsKKyAgICAgICAgICAgICcuLi9pbnNw
ZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcycsCisgICAgICAgICAgXSwKKyAgICAg
ICAgICAnb3V0cHV0cyc6IFsKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElS
KS93ZWJraXQvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICBdLAorICAg
ICAgICAgICdhY3Rpb24nOiBbCisgICAgICAgICAgICAncGVybCcsCisgICAgICAgICAgICAnLi4v
aW5zcGVjdG9yL3h4ZC5wbCcsCisgICAgICAgICAgICAnSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcycsCisgICAgICAgICAgICAnPEAoX2lucHV0cyknLAorICAgICAgICAgICAgJzxAKF9vdXRw
dXRzKScKKyAgICAgICAgICBdLAorICAgICAgICAgICdtZXNzYWdlJzogJ0dlbmVyYXRpbmcgSW5q
ZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIGZyb20gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5q
cycsCisgICAgICAgIH0sCisgICAgICBdCisgICAgfSwKKyAgICB7CiAgICAgICAndGFyZ2V0X25h
bWUnOiAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAndHlwZSc6ICdub25lJywKICAg
ICAgICdhY3Rpb25zJzogWwpAQCAtMTA3NSw2ICsxMDk4LDcgQEAKICAgICAgICAgJ3dlYmNvcmVf
YmluZGluZ3Nfc291cmNlcycsCiAgICAgICAgICdpbnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycs
CiAgICAgICAgICdpbmplY3RlZF9zY3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dl
YmdsX3NjcmlwdF9zb3VyY2UnLAogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAg
ICAgICAgICcuLi8uLi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXAvSmF2YVNjcmlw
dENvcmUuZ3lwOnlhcnInLAogICAgICAgICAnLi4vLi4vV1RGL1dURi5neXAvV1RGLmd5cDp3dGYn
LApAQCAtMTE5OCw2ICsxMjIyLDcgQEAKICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAgICAg
ICdkZWJ1Z2dlcl9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2luamVjdGVkX3NjcmlwdF9zb3Vy
Y2UnLAorICAgICAgICAnaW5qZWN0ZWRfd2ViZ2xfc2NyaXB0X3NvdXJjZScsCiAgICAgICAgICdp
bnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycsCiAgICAgICAgICd3ZWJjb3JlX2JpbmRpbmdzX3Nv
dXJjZXMnLAogICAgICAgICAnLi4vLi4vVGhpcmRQYXJ0eS9nbHUvZ2x1Lmd5cDpsaWJ0ZXNzJywK
QEAgLTE0NzMsOSArMTQ5OCw5IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAn
d2ViY29yZV9wcmVyZXF1aXNpdGVzJywKICAgICAgIF0sCi0gICAgICAnZGVmaW5lcyc6IFsgCi0g
ICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsIAotICAgICAgXSwgCisgICAgICAnZGVm
aW5lcyc6IFsKKyAgICAgICAgJ1dFQktJVF9JTVBMRU1FTlRBVElPTj0xJywKKyAgICAgIF0sCiAg
ICAgICAjIFRoaXMgaXMgbmVlZGVkIGZvciBtYWMgYmVjYXVzZSBvZiB3ZWJraXRfc3lzdGVtX2lu
dGVyZmFjZS4gSXQnZCBiZSBuaWNlCiAgICAgICAjIGlmIHRoaXMgaGFyZCBkZXBlbmRlbmN5IGNv
dWxkIGJlIHNwbGl0IG9mZiB0aGUgcmVzdC4KICAgICAgICdoYXJkX2RlcGVuZGVuY3knOiAxLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCmluZGV4IDYxZWZhYjFhZDQ0NTc0YjYyMjdjY2YwMmUzY2Y0NzhiNzI1ZDky
MTQuLmFmN2Q1NjNkMTk3YzZjYzM0OTk3NTUyMDM1YTgyNjBhZDc1Mzc0YzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKQEAgLTI4MTksNiArMjgxOSw5IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvclZh
bHVlcy5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNvdXJj
ZS5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAnLAor
ICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgnLAorICAgICAgICAg
ICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oJywKICAgICAgICAg
ICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9y
L0luc3RydW1lbnRpbmdBZ2VudHMuY3BwJywKQEAgLTY2NDAsNyArNjY0Myw3IEBACiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxHcmF5LnBuZycsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxXaGl0ZS5w
bmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaE5leHQu
cG5nJywKLSAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hQcmV2
LnBuZycsICAgICAgICAgICAgCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFn
ZXMvc2VhcmNoUHJldi5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1h
Z2VzL3NlZ21lbnQucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdl
cy9zZWdtZW50RW5kLnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFn
ZXMvc2VnbWVudEhvdmVyLnBuZycsCkBAIC03MjM4LDYgKzcyNDEsNyBAQAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IZWFkZXJE
ZXRlY3Rpb24uaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kQ29tbWFuZHMuanMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0hUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAppbmRleCBkNWZjM2NlOTYzNjNk
YzUxMjY4NGYyZjQwNzFhNDI0ODVlYWMwNjE4Li4yNTQ1YmIzZGM3MTlhOWRjYzZlYjNkNDEyZjk5
Mjk0ZGVlNjY3NWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hU
TUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcApAQCAtMjEsNyArMjEsNyBAQAogICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0zMSw2ICszMSw3IEBACiAj
aW5jbHVkZSAiSFRNTENhbnZhc0VsZW1lbnQuaCIKICNpbmNsdWRlICJKU0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRC5oIgogI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJH
TEluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkpTV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmgi
CiAjaW5jbHVkZSAiV2ViR0xDb250ZXh0QXR0cmlidXRlcy5oIgogI2VuZGlmCkBAIC03NSw3ICs3
NiwxNiBAQCBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHQoRXhlY1N0YXRl
KiBleGVjKQogICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQgPSBjYW52YXMtPmdl
dENvbnRleHQodXN0cmluZ1RvU3RyaW5nKGNvbnRleHRJZCksIGF0dHJzLmdldCgpKTsKICAgICBp
ZiAoIWNvbnRleHQpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsKLSAgICByZXR1cm4gdG9KUyhl
eGVjLCBnbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoY29udGV4dCkpOworICAgIEpTVmFsdWUg
anNWYWx1ZSA9IHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGNvbnRleHQp
KTsKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgaWYgKGNvbnRleHQtPmlzM2QoKSAmJiBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmlzV2ViR0xJbnNwZWN0b3JFbmFibGVkKGNhbnZhcy0+ZG9jdW1l
bnQoKSkpIHsKKyAgICAgICAgU2NyaXB0T2JqZWN0IGdsQ29udGV4dChleGVjLCBqc1ZhbHVlLmdl
dE9iamVjdCgpKTsKKyAgICAgICAgU2NyaXB0T2JqZWN0IHdyYXBwZWQgPSBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24o
Y2FudmFzLT5kb2N1bWVudCgpLCBnbENvbnRleHQpOworICAgICAgICBpZiAoIXdyYXBwZWQuaGFz
Tm9WYWx1ZSgpKQorICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQuanNWYWx1ZSgpOworICAgIH0K
KyNlbmRpZgorICAgIHJldHVybiBqc1ZhbHVlOwogfQogCiBKU1ZhbHVlIEpTSFRNTENhbnZhc0Vs
ZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCkBAIC05Myw3ICsxMDMsNyBAQCBKU1Zh
bHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCiAgICAg
ICAgICAgICBxdWFsaXR5UHRyID0gJnF1YWxpdHk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisK
ICAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzU3RyaW5nKGV4ZWMsIGNhbnZhcy0+dG9EYXRhVVJMKHR5
cGUsIHF1YWxpdHlQdHIsIGVjKSk7CiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKICAg
ICByZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDI0OTk5M2YyNzVjYTUyN2FjNjllYWRi
YWY1ZjQwZGU3ZGUzZDJmYzYuLjQ4NGNkNWUzZDc0NmY3ZDRlNDliZGI4MTdjMDk5ZjRiYTBkNWI4
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVk
U2NyaXB0TWFuYWdlci5jcHAKQEAgLTc4LDYgKzc4LDE0IEBAIFNjcmlwdE9iamVjdCBJbmplY3Rl
ZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUluamVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNl
LCBTCiAgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQor
U2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0V2ViR0xTY3JpcHQoY29u
c3QgU3RyaW5nJiwgU2NyaXB0T2JqZWN0KQoreworICAgIC8vIEZJWE1FKDg3OTc1KTogSW1wbGVt
ZW50IHRoaXMhCisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQorI2VuZGlmCisKIHZvaWQg
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUq
IHNjcmlwdFN0YXRlKQogewogICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBq
c0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihzY3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAppbmRleCBj
MTlmYjk4OTJiZGM4YTk3NjRkZjdlM2FiYmY3OTliMTVkYmI2ODE0Li5lMjFjNmNhY2U3NTE3ZDk0
MDRjOWI5YmM0YzAzZWQzODcxYzMyNDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0U3RhdGUuY3BwCkBAIC05MCw3ICs5MCw3IEBAIFNjcmlwdFN0YXRlKiBTY3JpcHRTdGF0
ZTo6Zm9yQ29udGV4dCh2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQpCiAKICAgICB2ODo6
TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tp
cCBwcm94eSBvYmplY3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdh
dGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNp
ZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0
IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250
ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdl
dFByb3RvdHlwZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRk
ZW5Qcm9wZXJ0eU5hbWU6OnNjcmlwdFN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5j
cHAKaW5kZXggNzM1MTFhODY3NWI3OWQwMjQ4OTA3NTA1MDc1YTg5OTVjMjdhNWZmZi4uMjFhY2Q2
NjNlOGQyMDgwODc5Y2UxNDI3NTg5MTNkMDQ0Zjg5YThlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50
Q3VzdG9tLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlY4Tm9kZS5oIgogI2luY2x1
ZGUgIlY4UHJveHkuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2Vi
R0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29udGV4dC5o
IgogI2VuZGlmCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTg4LDggKzg5LDE4IEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0Q2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50CiAgICAgaWYgKHJlc3VsdC0+aXMyZCgpKQogICAgICAg
ICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQqPihyZXN1
bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CiAjaWYgRU5BQkxFKFdFQkdMKQotICAgIGVsc2UgaWYg
KHJlc3VsdC0+aXMzZCgpKQotICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJl
bmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgZWxzZSBp
ZiAocmVzdWx0LT5pczNkKCkpIHsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHY4UmVz
dWx0ID0gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBh
cmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIGlmIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmlzV2ViR0xJbnNwZWN0b3JFbmFibGVkKGltcC0+ZG9jdW1lbnQoKSkpIHsKKyAgICAgICAgICAg
IFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSA9IFNjcmlwdFN0YXRlOjpmb3JDb250ZXh0KHY4OjpD
b250ZXh0OjpHZXRDdXJyZW50KCkpOworICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+
IHY4UmVzdWx0T2JqZWN0KHY4OjpPYmplY3Q6OkNhc3QoKnY4UmVzdWx0KSk7CisgICAgICAgICAg
ICBTY3JpcHRPYmplY3QgZ2xDb250ZXh0KHNjcmlwdFN0YXRlLCB2OFJlc3VsdE9iamVjdCk7Cisg
ICAgICAgICAgICBTY3JpcHRPYmplY3Qgd3JhcHBlZCA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihpbXAtPmRvY3Vt
ZW50KCksIGdsQ29udGV4dCk7CisgICAgICAgICAgICBpZiAoIXdyYXBwZWQuaGFzTm9WYWx1ZSgp
KQorICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnY4VmFsdWUoKTsKKyAgICAgICAgfQor
ICAgICAgICByZXR1cm4gdjhSZXN1bHQ7CisgICAgfQogI2VuZGlmCiAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiAgICAgcmV0dXJuIHY4OjpOdWxsKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0
TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDQ1NTU5ZmM2ZWNlYjE5OWZlNWVhOWVhMmNhYzkxODNj
MTVmOTgwODAuLjQzZDc0ODAxOGIyNjYxMDcwZGRlNWZkYmY2MTkzOWE0ZTE2ZDJiMzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0
TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcApAQCAtMTE0LDYgKzExNCwzMiBAQCBTY3JpcHRPYmplY3Qg
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcm
IHNjcmlwdFNvdQogICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5zcGVjdGVkU2NyaXB0U3RhdGUs
IGluamVjdGVkU2NyaXB0KTsKIH0KIAorI2lmIEVOQUJMRShXRUJHTCkKK1NjcmlwdE9iamVjdCBJ
bmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KGNvbnN0IFN0cmluZyYgc2Ny
aXB0U291cmNlLCBTY3JpcHRPYmplY3QgZ2xDb250ZXh0KQoreworICAgIHY4OjpIYW5kbGVTY29w
ZSBzY29wZTsKKworICAgIFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTY3JpcHRTdGF0ZSA9IGdsQ29u
dGV4dC5zY3JpcHRTdGF0ZSgpOworICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gaW5zcGVjdGVk
Q29udGV4dCA9IGluc3BlY3RlZFNjcmlwdFN0YXRlLT5jb250ZXh0KCk7CisgICAgdjg6OkNvbnRl
eHQ6OlNjb3BlIGNvbnRleHRTY29wZShpbnNwZWN0ZWRDb250ZXh0KTsKKworICAgIHY4OjpMb2Nh
bDx2ODo6T2JqZWN0PiB3aW5kb3dHbG9iYWwgPSBpbnNwZWN0ZWRDb250ZXh0LT5HbG9iYWwoKTsK
KworICAgIHY4OjpMb2NhbDx2ODo6U2NyaXB0PiBzY3JpcHQgPSB2ODo6U2NyaXB0OjpDb21waWxl
KHY4U3RyaW5nKHNjcmlwdFNvdXJjZSkpOworICAgIFY4UmVjdXJzaW9uU2NvcGU6Ok1pY3JvdGFz
a1N1cHByZXNzaW9uIHJlY3Vyc2lvblNjb3BlOworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHYg
PSBzY3JpcHQtPlJ1bigpOworICAgIEFTU0VSVCghdi5Jc0VtcHR5KCkpOworICAgIEFTU0VSVCh2
LT5Jc0Z1bmN0aW9uKCkpOworCisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3NbXSA9IHsK
KyAgICAgICAgZ2xDb250ZXh0LnY4VmFsdWUoKSwKKyAgICB9OworICAgIHY4OjpMb2NhbDx2ODo6
VmFsdWU+IGluamVjdGVkU2NyaXB0VmFsdWUgPSB2ODo6RnVuY3Rpb246OkNhc3QoKnYpLT5DYWxs
KHdpbmRvd0dsb2JhbCwgMSwgYXJncyk7CisgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGluamVj
dGVkU2NyaXB0T2JqZWN0KHY4OjpPYmplY3Q6OkNhc3QoKmluamVjdGVkU2NyaXB0VmFsdWUpKTsK
KyAgICByZXR1cm4gU2NyaXB0T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRlLCBpbmplY3RlZFNj
cmlwdE9iamVjdCk7Cit9CisjZW5kaWYKKwogdm9pZCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRp
c2NhcmRJbmplY3RlZFNjcmlwdChTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3RhdGUpCiB7
CiAgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOwpAQCAtMTIyLDcgKzE0OCw3IEBAIHZv
aWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3Rh
dGUqIGluc3BlY3RlZFNjcmlwdFN0CiAKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFs
ID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94
eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAg
Ly8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5z
cGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRl
cyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpM
b2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4
OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRldnRvb2xz
SW5qZWN0ZWRTY3JpcHQoKTsKQEAgLTEzNyw3ICsxNjMsNyBAQCBJbmplY3RlZFNjcmlwdCBJbmpl
Y3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkU2NyaXB0Rm9yKFNjcmlwdFN0YXRlKiBpbnNwZWN0
ZWRTYwogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2Jh
bCgpOwogICAgIC8vIFNraXAgcHJveHkgb2JqZWN0LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vy
dml2ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUgd2UgbmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9z
ZSBsaWZldGltZSBjb25zaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0Lgor
ICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRo
ZSBpbnNwZWN0ZWQgY29udGV4dC4KICAgICBnbG9iYWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46
OkNhc3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUoKSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJp
bmc+IGtleSA9IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkZXZ0b29sc0luamVjdGVkU2NyaXB0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3Bl
Y3Rvci5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9y
LnB5CmluZGV4IGU5ZDM3M2IwMWUwMzVkNWI0NGY2Mjc2M2MwNjQ4NjA3MTVmYTI3NDYuLjM0NTMx
M2Q0NGMyZTMyOWZkODRlMDJiYmQxNWVlNzczZDVkYjQ3YzUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5CkBAIC00Niw2ICs0Niw3
IEBAIERPTUFJTl9ERUZJTkVfTkFNRV9NQVAgPSB7CiAgICAgIkluZGV4ZWREQiI6ICJJTkRFWEVE
X0RBVEFCQVNFIiwKICAgICAiUHJvZmlsZXIiOiAiSkFWQVNDUklQVF9ERUJVR0dFUiIsCiAgICAg
IldvcmtlciI6ICJXT1JLRVJTIiwKKyAgICAiV2ViR0wiOiAiV0VCR0wiLAogfQogCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5k
ZXggOGVlNWE5OGNjNzMzY2EyMzgwMjk1MTNhZGU1NTNlZjgyMjI3ZjYwYi4uNWY1NTFjZTYxMTNm
YzQxYzM1ZmFkYTk3YjcxZWFlNmY2ZDNiYzRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKQEAgLTM3LDYgKzM3LDkgQEAKICNp
bmNsdWRlICJJbmplY3RlZFNjcmlwdC5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0SG9zdC5o
IgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0U291cmNlLmgiCisjaWYgRU5BQkxFKFdFQkdMKQor
I2luY2x1ZGUgIkluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCIKKyNlbmRpZgogI2luY2x1ZGUg
Ikluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgpAQCAtMTcyLDYgKzE3NSwxOCBAQCBwYWlyPGxvbmcsIFNj
cmlwdE9iamVjdD4gSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RTY3JpcHQoY29uc3QgU3Ry
aW5nJiBzb3VyYwogICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihpZCwgY3JlYXRlSW5qZWN0ZWRT
Y3JpcHQoc291cmNlLCBzY3JpcHRTdGF0ZSwgaWQpKTsKIH0KIAorI2lmIEVOQUJMRShXRUJHTCkK
K1NjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OndyYXBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAgICBy
ZXR1cm4gaW5qZWN0V2ViR0xTY3JpcHQoaW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpLCBnbENv
bnRleHQpOworfQorCitTdHJpbmcgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlKCkKK3sKKyAgICByZXR1cm4gU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgY2hhcio+KEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMpLCBzaXplb2YoSW5qZWN0ZWRX
ZWJHTFNjcmlwdFNvdXJjZV9qcykpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKaW5kZXggNGRmM2JkOWU1MWRhMTU3YjJl
MjE2MjNkZjc5YTgxYmQ0MTQ3OWE0NC4uZmQyMmYzNTg3OTY4ZGQwY2Q1YzY3OGU0YTE1MTMzNzM1
OGNiMTRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dE1hbmFnZXIuaApAQCAtNywxMyArNywxMyBAQAogICogYXJlIG1ldDoKICAqCiAgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICogMy4g
IE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0
aGUgbmFtZXMgb2YKICAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqICAgICBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CiAgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKICAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKQEAgLTY0LDYgKzY0
LDkgQEAgcHVibGljOgogICAgIHZvaWQgZGlzY2FyZEluamVjdGVkU2NyaXB0c0ZvcihET01XaW5k
b3cqKTsKICAgICB2b2lkIHJlbGVhc2VPYmplY3RHcm91cChjb25zdCBTdHJpbmcmIG9iamVjdEdy
b3VwKTsKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBTY3JpcHRPYmplY3Qgd3JhcFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihTY3JpcHRPYmplY3QpOworI2VuZGlmCiAK
IHByaXZhdGU6CiAgICAgdHlwZWRlZiBib29sICgqSW5zcGVjdGVkU3RhdGVBY2Nlc3NDaGVjayko
U2NyaXB0U3RhdGUqKTsKQEAgLTczLDYgKzc2LDExIEBAIHByaXZhdGU6CiAgICAgU2NyaXB0T2Jq
ZWN0IGNyZWF0ZUluamVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTY3JpcHRTdGF0
ZSosIGxvbmcgaWQpOwogICAgIHZvaWQgZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRl
Kik7CiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgU3RyaW5nIGluamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UoKTsKKyAgICBTY3JpcHRPYmplY3QgaW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5n
JiBzb3VyY2UsIFNjcmlwdE9iamVjdCk7CisjZW5kaWYKKwogICAgIHN0YXRpYyBib29sIGNhbkFj
Y2Vzc0luc3BlY3RlZFdpbmRvdyhTY3JpcHRTdGF0ZSopOwogICAgIHN0YXRpYyBib29sIGNhbkFj
Y2Vzc0luc3BlY3RlZFdvcmtlckNvbnRleHQoU2NyaXB0U3RhdGUqKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42YTU1NTRkMzEyYTBlZjBhMzEyMmY1OGVjNTFlYzJkZGFkN2RiMDJiCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UuanMKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyhmdW5jdGlvbihnbENvbnRleHQpIHsKKworLy8gRklY
TUU6IFdyYXAgV2ViR0wgY29udGV4dCBmb3IgaW5zdHJ1bWVudGF0aW9uLgorcmV0dXJuIGdsQ29u
dGV4dDsKKworfSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCBj
OTkxMTYwOGM0ZThjZGJhYWI2OTdlMDU3M2RlM2U3NGRlNDBiYjUxLi4wNDJiZThmNmYzZTAyZjNk
YmEzNTM3YTg5YzZjN2NlZjdlYmFhYjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvci5qc29uCkBAIC0yODExLDUgKzI4MTEsMjEgQEAKICAgICAgICAgICAgICAgICAibmFtZSI6
ICJkaXNjb25uZWN0ZWRGcm9tV29ya2VyIgogICAgICAgICAgICAgfQogICAgICAgICBdCisgICAg
fSwKKyAgICB7CisgICAgICAgICJkb21haW4iOiAiV2ViR0wiLAorICAgICAgICAiaGlkZGVuIjog
dHJ1ZSwKKyAgICAgICAgInR5cGVzIjogW10sCisgICAgICAgICJjb21tYW5kcyI6IFsKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJlbmFibGUiLAorICAgICAgICAgICAg
ICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGVzIFdlYkdMIGluc3BlY3Rpb24uIgorICAgICAgICAg
ICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNhYmxlIiwK
KyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGlzYWJsZXMgV2ViR0wgaW5zcGVjdGlv
bi4iCisgICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJldmVudHMiOiBbXQogICAg
IH1dCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxs
SW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNw
cAppbmRleCBiMTIyMzA0MzIzM2Y5ZDQ0N2E1ZDNhYjU1MTEwNjY5NTllZmJlNjIxLi5iZTkyYTEz
ZmM3YjNjZDg1NjEzNjM4ZTYxODg3N2M4MmZiMmMzOWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKQEAgLTY1LDYgKzY1LDcgQEAKICNpbmNs
dWRlICJJbnNwZWN0b3JTdHlsZVRleHRFZGl0b3IuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclRp
bWVsaW5lQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5jcHAiCisjaW5jbHVk
ZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyQWdl
bnQuY3BwIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuY3BwIgogI2luY2x1ZGUgIk5l
dHdvcmtSZXNvdXJjZXNEYXRhLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA0NmUwYzJiOGM1NGY0YjQyMGMyMzY4NGM3YmUz
YTc1M2E0NWJiNzY5Li5hYzE5YzdkYjk1M2QyNDU4MzljYWRmYTMyODZlZjY4YjUyOTYyZWYwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
CkBAIC02MSw2ICs2MSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIgog
I2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JXb3JrZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKICNp
bmNsdWRlICJQYWdlQ29uc29sZUFnZW50LmgiCkBAIC0xNDQsNiArMTQ1LDEwIEBAIEluc3BlY3Rv
ckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xp
ZW50KiBpbnNwZWN0b3JDCiAgICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3RvcldvcmtlckFnZW50
OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpKSk7CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9y
V2ViR0xBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5n
ZXQoKSwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKTsKKyNlbmRpZgorCiAgICAgQVNT
RVJUX0FSRyhpbnNwZWN0b3JDbGllbnQsIGluc3BlY3RvckNsaWVudCk7CiAgICAgbV9pbmplY3Rl
ZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0SG9zdCgpLT5pbml0KG1faW5zcGVjdG9yQWdl
bnQKICAgICAgICAgLCBjb25zb2xlQWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBjYTk1MGJhZjcwZDE3Njg1NmMz
Y2U2ODczMGQyOWQ4MWJjZGMxOGYyLi5jNzYxZDY1NjFjODgwMDBmNDhhYTU0MDlkMjA0OGRmNThk
ZDI5MDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oCkBAIC02OCw2ICs2OCw3IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7
CiBjbGFzcyBTY3JpcHRBcmd1bWVudHM7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OworY2xhc3MgU2NyaXB0T2JqZWN0OwogY2xhc3MgU2NyaXB0
UHJvZmlsZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU2hhZG93Um9vdDsKQEAgLTIz
Niw2ICsyMzcsMTEgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVXZWJTb2Nr
ZXRGcmFtZUVycm9yKERvY3VtZW50KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIGVycm9yTWVzc2FnZSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBz
dGF0aWMgYm9vbCBpc1dlYkdMSW5zcGVjdG9yRW5hYmxlZChEb2N1bWVudCopOworICAgIHN0YXRp
YyBTY3JpcHRPYmplY3Qgd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bihEb2N1bWVudCosIFNjcmlwdE9iamVjdCk7CisjZW5kaWYKKwogICAgIHN0YXRpYyB2b2lkIG5l
dHdvcmtTdGF0ZUNoYW5nZWQoUGFnZSopOwogICAgIHN0YXRpYyB2b2lkIHVwZGF0ZUFwcGxpY2F0
aW9uQ2FjaGVTdGF0dXMoRnJhbWUqKTsKIApAQCAtOTc1LDcgKzk4MSw3IEBAIGlubGluZSB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNoZWQoUGFnZSogcGFn
ZSwgdW5zaWduZWQKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBh
Z2UocGFnZSkpCi0gICAgICAgIG1hcmtSZXNvdXJjZUFzQ2FjaGVkSW1wbChpbnN0cnVtZW50aW5n
QWdlbnRzLCBpZGVudGlmaWVyKTsgCisgICAgICAgIG1hcmtSZXNvdXJjZUFzQ2FjaGVkSW1wbChp
bnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NmFlYTBhYTM4N2NkYjc4NGM1Y2JkMjZhNGY5OGI2OGEyY2IzZTMwYwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcApAQCAt
MCwwICsxLDEwNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShJTlNQRUNUT1Ip
ICYmIEVOQUJMRShXRUJHTCkKKworI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKKwor
I2luY2x1ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZy
b250ZW5kLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yU3RhdGUuaCIKKyNpbmNsdWRlICJJbnN0cnVt
ZW50aW5nQWdlbnRzLmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCisjaW5jbHVkZSAiU2Ny
aXB0U3RhdGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgV2ViR0xBZ2Vu
dFN0YXRlIHsKK3N0YXRpYyBjb25zdCBjaGFyIHdlYkdMQWdlbnRFbmFibGVkW10gPSAid2ViR0xB
Z2VudEVuYWJsZWQiOworfTsKKworSW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5zcGVjdG9yV2ViR0xB
Z2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JT
dGF0ZSogc3RhdGUsIEluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
KQorICAgIDogSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvcldlYkdMQWdlbnQ+KCJXZWJHTCIs
IGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlKQorICAgICwgbV9pbmplY3RlZFNjcmlwdE1hbmFn
ZXIoaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgICwgbV9mcm9udGVuZCgwKQorICAgICwgbV9l
bmFibGVkKGZhbHNlKQoreworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9y
V2ViR0xBZ2VudCh0aGlzKTsKK30KKworSW5zcGVjdG9yV2ViR0xBZ2VudDo6fkluc3BlY3Rvcldl
YkdMQWdlbnQoKQoreworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yV2Vi
R0xBZ2VudCgwKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpzZXRGcm9udGVuZChJ
bnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpCit7CisgICAgQVNTRVJUKGZyb250ZW5kKTsKKyAg
ICBtX2Zyb250ZW5kID0gZnJvbnRlbmQtPndlYmdsKCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2Vi
R0xBZ2VudDo6Y2xlYXJGcm9udGVuZCgpCit7CisgICAgbV9mcm9udGVuZCA9IDA7CisgICAgZGlz
YWJsZSgwKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpyZXN0b3JlKCkKK3sKKyAg
ICBtX2VuYWJsZWQgPSBtX3N0YXRlLT5nZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2ViR0xB
Z2VudEVuYWJsZWQpOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZShFcnJv
clN0cmluZyopCit7CisgICAgaWYgKG1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1f
ZW5hYmxlZCA9IHRydWU7CisgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihXZWJHTEFnZW50U3RhdGU6
OndlYkdMQWdlbnRFbmFibGVkLCBtX2VuYWJsZWQpOworfQorCit2b2lkIEluc3BlY3RvcldlYkdM
QWdlbnQ6OmRpc2FibGUoRXJyb3JTdHJpbmcqKQoreworICAgIGlmICghbV9lbmFibGVkKQorICAg
ICAgICByZXR1cm47CisgICAgbV9lbmFibGVkID0gZmFsc2U7CisgICAgbV9zdGF0ZS0+c2V0Qm9v
bGVhbihXZWJHTEFnZW50U3RhdGU6OndlYkdMQWdlbnRFbmFibGVkLCBtX2VuYWJsZWQpOworfQor
CitTY3JpcHRPYmplY3QgSW5zcGVjdG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEZvckluc3RydW1lbnRhdGlvbihTY3JpcHRPYmplY3QgZ2xDb250ZXh0KQoreworICAgIHJl
dHVybiBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZv
ckluc3RydW1lbnRhdGlvbihnbENvbnRleHQpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
MGQwOGNhMmNkN2UwMDIyZDk2MDkzZjIwZDZmY2I0Y2FkZjgzN2Q2Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaApAQCAtMCww
ICsxLDg4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBJbnNwZWN0b3JXZWJHTEFnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9y
V2ViR0xBZ2VudF9oCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisK
KyNpbmNsdWRlICJJbnNwZWN0b3JCYXNlQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9u
dGVuZC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSAiU2NyaXB0U3Rh
dGUuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyOworY2xhc3MgSW5zcGVjdG9yU3RhdGU7CitjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOwor
Y2xhc3MgU2NyaXB0T2JqZWN0OworCit0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKKworY2xh
c3MgSW5zcGVjdG9yV2ViR0xBZ2VudCA6IHB1YmxpYyBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVj
dG9yV2ViR0xBZ2VudD4sIHB1YmxpYyBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6V2ViR0xD
b21tYW5kSGFuZGxlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9y
V2ViR0xBZ2VudD4gY3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3Rl
ZFNjcmlwdE1hbmFnZXIpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEluc3Bl
Y3RvcldlYkdMQWdlbnQoaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUsIGluamVjdGVkU2NyaXB0
TWFuYWdlcikpOworICAgIH0KKyAgICB+SW5zcGVjdG9yV2ViR0xBZ2VudCgpOworCisgICAgdmly
dHVhbCB2b2lkIHNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKik7CisgICAgdmlydHVhbCB2
b2lkIGNsZWFyRnJvbnRlbmQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzdG9yZSgpOworCisgICAg
Ym9vbCBlbmFibGVkKCkgeyByZXR1cm4gbV9lbmFibGVkOyB9CisKKyAgICBTY3JpcHRPYmplY3Qg
d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihTY3JpcHRPYmplY3Qp
OworCisgICAgLy8gQ2FsbGVkIGZyb20gdGhlIGZyb250LWVuZC4KKyAgICB2aXJ0dWFsIHZvaWQg
ZW5hYmxlKEVycm9yU3RyaW5nKik7CisgICAgdmlydHVhbCB2b2lkIGRpc2FibGUoRXJyb3JTdHJp
bmcqKTsKKworICAgIC8vIENhbGxlZCBmcm9tIHRoZSBpbmplY3RlZCBzY3JpcHQuCisKKyAgICAv
LyBDYWxsZWQgZnJvbSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24KKworcHJpdmF0ZToKKyAgICBJ
bnNwZWN0b3JXZWJHTEFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JTdGF0ZSos
IEluamVjdGVkU2NyaXB0TWFuYWdlciopOworCisgICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBt
X2luamVjdGVkU2NyaXB0TWFuYWdlcjsKKyAgICBJbnNwZWN0b3JGcm9udGVuZDo6V2ViR0wqIG1f
ZnJvbnRlbmQ7CisgICAgYm9vbCBtX2VuYWJsZWQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisKKyNl
bmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JXZWJHTEFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjRkZDUyYzI3YjA3ZjJhNDA4MWY5NGZiNDg3MjJkNDQzODBkZDVmZTUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0
cnVtZW50YXRpb24uaApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEy
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJbnNwZWN0b3JXZWJHTEluc3Ry
dW1lbnRhdGlvbl9oCisjZGVmaW5lIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gKKwor
I2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgIkluc3BlY3Rv
cldlYkdMQWdlbnQuaCIKKyNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisjaW5jbHVk
ZSAiU2NyaXB0T2JqZWN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworI2lmIEVOQUJMRShX
RUJHTCkKK2lubGluZSBib29sIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aXNXZWJHTEluc3Bl
Y3RvckVuYWJsZWQoRG9jdW1lbnQqIGRvY3VtZW50KQoreworI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CisgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKGZhbHNlKTsKKyAgICBpZiAoSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNG
b3JEb2N1bWVudChkb2N1bWVudCkpIHsKKyAgICAgICAgaWYgKEluc3BlY3RvcldlYkdMQWdlbnQq
IHdlYkdMQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JXZWJHTEFnZW50KCkp
CisgICAgICAgICAgICByZXR1cm4gd2ViR0xBZ2VudC0+ZW5hYmxlZCgpOworICAgIH0KKyNlbmRp
ZgorICAgIHJldHVybiBmYWxzZTsKK30KKworU2NyaXB0T2JqZWN0IEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihEb2N1
bWVudCogZG9jdW1lbnQsIFNjcmlwdE9iamVjdCBnbENvbnRleHQpCit7CisjaWYgRU5BQkxFKElO
U1BFQ1RPUikKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50
cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpIHsKKyAgICAgICAg
SW5zcGVjdG9yV2ViR0xBZ2VudCogd2ViR0xBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmlu
c3BlY3RvcldlYkdMQWdlbnQoKTsKKyAgICAgICAgaWYgKHdlYkdMQWdlbnQgJiYgd2ViR0xBZ2Vu
dC0+ZW5hYmxlZCgpKQorICAgICAgICAgICAgcmV0dXJuIHdlYkdMQWdlbnQtPndyYXBXZWJHTFJl
bmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oZ2xDb250ZXh0KTsKKyAgICB9CisjZW5k
aWYKKyAgICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7Cit9CisjZW5kaWYgLy8gRU5BQkxFKFdFQkdM
KQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0
b3JXZWJHTEluc3RydW1lbnRhdGlvbl9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggMTk0ZWI4NjVlYzc1YTY2ZmVmYjRiNzI0NmYwMDhh
ODM4YTg4YWFiYy4uMTMzNGRjN2Q2ZGI3ZWRiMzkwODZiOTZlM2M3ODY0Y2ExNzhmMzQxZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCkBAIC01
Miw2ICs1Miw3IEBAIGNsYXNzIEluc3BlY3RvclJlc291cmNlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0
b3JSdW50aW1lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50OwogY2xhc3MgSW5z
cGVjdG9yV29ya2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JXZWJHTEFnZW50OwogY2xhc3MgUGFn
ZTsKIGNsYXNzIFBhZ2VSdW50aW1lQWdlbnQ7CiBjbGFzcyBXb3JrZXJDb250ZXh0OwpAQCAtODYs
NiArODcsOSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgICAgICwgbV9pbnNw
ZWN0b3JXb3JrZXJBZ2VudCgwKQogI2VuZGlmCisjaWYgRU5BQkxFKFdFQkdMKQorICAgICAgICAs
IG1faW5zcGVjdG9yV2ViR0xBZ2VudCgwKQorI2VuZGlmCiAgICAgeyB9CiAgICAgfkluc3RydW1l
bnRpbmdBZ2VudHMoKSB7IH0KIApAQCAtMTQyLDExICsxNDYsMTcgQEAgcHVibGljOgogICAgIElu
c3BlY3RvclByb2ZpbGVyQWdlbnQqIGluc3BlY3RvclByb2ZpbGVyQWdlbnQoKSBjb25zdCB7IHJl
dHVybiBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQ7IH0KICAgICB2b2lkIHNldEluc3BlY3RvclBy
b2ZpbGVyQWdlbnQoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JQ
cm9maWxlckFnZW50ID0gYWdlbnQ7IH0KICNlbmRpZgorCiAjaWYgRU5BQkxFKFdPUktFUlMpCiAg
ICAgSW5zcGVjdG9yV29ya2VyQWdlbnQqIGluc3BlY3RvcldvcmtlckFnZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9pbnNwZWN0b3JXb3JrZXJBZ2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yV29y
a2VyQWdlbnQoSW5zcGVjdG9yV29ya2VyQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yV29ya2Vy
QWdlbnQgPSBhZ2VudDsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgSW5zcGVj
dG9yV2ViR0xBZ2VudCogaW5zcGVjdG9yV2ViR0xBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5z
cGVjdG9yV2ViR0xBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yV2ViR0xBZ2VudChJbnNw
ZWN0b3JXZWJHTEFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvcldlYkdMQWdlbnQgPSBhZ2VudDsg
fQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdl
bnQ7CiAgICAgSW5zcGVjdG9yUGFnZUFnZW50KiBtX2luc3BlY3RvclBhZ2VBZ2VudDsKQEAgLTE3
Myw2ICsxODMsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgIEluc3BlY3Rv
cldvcmtlckFnZW50KiBtX2luc3BlY3RvcldvcmtlckFnZW50OwogI2VuZGlmCisjaWYgRU5BQkxF
KFdFQkdMKQorICAgIEluc3BlY3RvcldlYkdMQWdlbnQqIG1faW5zcGVjdG9yV2ViR0xBZ2VudDsK
KyNlbmRpZgogfTsKIAogSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGF0aW9uRm9yUGFn
ZShQYWdlKik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145287</attachid>
            <date>2012-06-01 06:13:24 -0700</date>
            <delta_ts>2012-06-01 08:05:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120601171321.patch</filename>
            <type>text/plain</type>
            <size>48650</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg5YWE3Mzk0MjU5NTg5
OGIxMjA4YWU1NGQ4YWJiOGFjNDEwOGU1NS4uNDUyMDUwODQyZGE5NjQyZTUxZGFlYjIwZjk0Njhj
MjQ0Zjk0MDA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDEyLTA2LTAxICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFz
RWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50
OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRv
RGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlw
dE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3Jp
cHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENh
bGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1h
bmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3Rl
ZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
amVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KToKKyAgICAgICAgKFdl
YkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRTY3JpcHRGb3IpOgorICAgICAg
ICAqIGluc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5OgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OndyYXBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyOjppbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmg6CisgICAgICAgIChJbmplY3RlZFNjcmlwdE1hbmFn
ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVy
OjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
V2ViR0xBZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJH
TEFnZW50U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5z
cGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50
Ojp+SW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJH
TEFnZW50OjpzZXRGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFn
ZW50OjpjbGVhckZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdl
bnQ6OnJlc3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5h
YmxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmRpc2FibGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5n
Q29udGV4dEZvckluc3RydW1lbnRhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMQWdlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3Bl
Y3RvcldlYkdMQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZWQp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjppc1dlYkdMSW5zcGVjdG9yRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJ
bnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRz
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdB
Z2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoSW5zdHJ1bWVudGluZ0FnZW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjppbnNwZWN0b3JXZWJH
TEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3Bl
Y3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTE5MDYyIGFuZCBy
MTE5MDY0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlZjJkOTM5ZTQ5NDUzZThiODlhNmI1NzE1
OTdhMDc2MGY3MzM3NjExLi5hMjc2ODM4MTU3ODNjY2U5YzlmNDEyNmQ2NGZiZGJlNjcwMzBhZTFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTU4LDYgKzk1OCw3IEBAIFNFVChXZWJDb3JlX1NP
VVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAgIGlu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0cnVt
ZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAK
QEAgLTE2ODcsNyArMTY4OCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAgICBN
b2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAgTW9k
dWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAorCiAg
ICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3b3Jr
aW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVsZXMv
bmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjU5OCw2ICsyNTk5LDE3
IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAke0RF
UklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAogCisj
IEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJHTCkK
KyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNF
U19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1BSU5f
REVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAgICAg
ICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3IveHhk
LnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVjdG9y
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAgICBM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNIX1RP
T0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNwcCkK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTQ3MzFkYjRjNjMxZjgxYWMwZWI5
ZTcwNDJlODkwY2FjOTJjNGYzMi4uMDkwYmI5NzExOWU4MTI1MDkwZmY3ZDAyZWMyNTE3NTdkOTYw
MzBmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAogIyBD
b3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5p
Z0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8
Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFyZSBt
ZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBw
bGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorIyAg
ICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03ODAs
MTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQoUFJP
SkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtz
LmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVX
aW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtz
LmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVX
aW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZpbmRz
dHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAgIFVT
RVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2Vi
Q29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChVU0VS
X0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAogaWZl
cSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxF
X01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtlX25h
bWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdzL3Nj
cmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0tLS0t
LS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAogRXZl
bnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9tYWtl
X2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBAQCBF
eGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5oIEV4
Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3Jp
cHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0tLS0t
LS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVudCBm
YWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBkb20v
bWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpAQCAt
OTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3RlZFNj
cmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29yZSkv
aW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAKK2Fs
bCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0U291
cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUpL2lu
c3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEgKCQo
ZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19XWCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCAyMzg2Nzk5ODk5MjJlNWEyZTE3MDZlMDcw
ZjlkZTFiMjc0MWM0MzNhLi5hMDc3MTY2OThiNTUwN2IxOWFkNjU2YjA0ZGQ4MDJhNjg1OGNhNmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BFQ1RP
Ul9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVj
dG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NPVVJD
RSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERFQlVH
R0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5qcwog
CiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDExICs3
NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VORVJB
VE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGluamVj
dGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVjdGVk
U2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRTY3Jp
cHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRT
Y3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzICR7
UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwgJCRQ
V0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJTEVf
SU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0X3Rv
X3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQogCi0j
IEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBpbGVy
CisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291cmNl
IGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElOSkVD
VEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29tbWFu
ZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdMU2Ny
aXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9IElu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3IgZGVi
dWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0cHV0
ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQgPSBE
RUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBl
cmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FNQUtF
X0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGE5N2Qy
NGZiOGViNzM2YWRiOTI4MDdmMTMzYTEwOGU2ZDBmOGQ1NzMuLmFjZDZiNjllYjYwYTkwYTRlMTli
NmZlNGE5OTcyNTY2OWE5NWNiYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjAsNiArODIw
LDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanM6
IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2Uu
anMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIEluamVj
dGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291
cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJDb3Jl
KS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4pJChQ
RVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzICQo
R0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYgRU5B
QkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBAIC0x
MDY5LDYgKzEwNzEsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3UvTElD
RU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3Iu
cHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBc
CisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMg
XAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDM3ODQyYWZmMzUxNWE4ZDg0NjRjMzA1ZWVhYjAwMzhjZmMz
Yzc5MzIuLmM4NmNjMjQxZTcxYmViOTQ0ZjdhODc0MWJmNGMyODljZGE2NDlhNzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0X3Nv
dXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMCw2ICsyNzIxLDkgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggNTllZjM5M2QxNmZkMjc4YTUx
ZTk3NGNkYzU2ZjJiNTg2Zjk3OTE4Yi4uMmEwZDBiNTZkYzkxY2YwNzU5MThmYWY0ZjZlY2NlZTQ0
ZjEzZjE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZh
bHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3Ry
dW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEu
Y3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRleHRF
ZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJB
Z2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBpbnNw
ZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwCmluZGV4IDgyNTU4ODQ3OWJiNzM0ODk4Mjk2Mjk0MGRmOTUzZTAyZWZkMzA2MzAu
LjQ4NzQzZDNmZmQyNDg5MWNhYThmNmUyZWMwNzY2ZThhMjhiMDJmMzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC00MzUsNiArNDM1LDI5IEBACiAgICAgICBdCiAg
ICAgfSwKICAgICB7CisgICAgICAndGFyZ2V0X25hbWUnOiAnaW5qZWN0ZWRfd2ViZ2xfc2NyaXB0
X3NvdXJjZScsCisgICAgICAndHlwZSc6ICdub25lJywKKyAgICAgICdhY3Rpb25zJzogWworICAg
ICAgICB7CisgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ2dlbmVyYXRlSW5qZWN0ZWRXZWJHTFNj
cmlwdFNvdXJjZScsCisgICAgICAgICAgJ2lucHV0cyc6IFsKKyAgICAgICAgICAgICcuLi9pbnNw
ZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcycsCisgICAgICAgICAgXSwKKyAgICAg
ICAgICAnb3V0cHV0cyc6IFsKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElS
KS93ZWJraXQvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICBdLAorICAg
ICAgICAgICdhY3Rpb24nOiBbCisgICAgICAgICAgICAncGVybCcsCisgICAgICAgICAgICAnLi4v
aW5zcGVjdG9yL3h4ZC5wbCcsCisgICAgICAgICAgICAnSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcycsCisgICAgICAgICAgICAnPEAoX2lucHV0cyknLAorICAgICAgICAgICAgJzxAKF9vdXRw
dXRzKScKKyAgICAgICAgICBdLAorICAgICAgICAgICdtZXNzYWdlJzogJ0dlbmVyYXRpbmcgSW5q
ZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIGZyb20gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5q
cycsCisgICAgICAgIH0sCisgICAgICBdCisgICAgfSwKKyAgICB7CiAgICAgICAndGFyZ2V0X25h
bWUnOiAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAndHlwZSc6ICdub25lJywKICAg
ICAgICdhY3Rpb25zJzogWwpAQCAtMTA3NSw2ICsxMDk4LDcgQEAKICAgICAgICAgJ3dlYmNvcmVf
YmluZGluZ3Nfc291cmNlcycsCiAgICAgICAgICdpbnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycs
CiAgICAgICAgICdpbmplY3RlZF9zY3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dl
YmdsX3NjcmlwdF9zb3VyY2UnLAogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAg
ICAgICAgICcuLi8uLi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXAvSmF2YVNjcmlw
dENvcmUuZ3lwOnlhcnInLAogICAgICAgICAnLi4vLi4vV1RGL1dURi5neXAvV1RGLmd5cDp3dGYn
LApAQCAtMTE5OCw2ICsxMjIyLDcgQEAKICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAgICAg
ICdkZWJ1Z2dlcl9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2luamVjdGVkX3NjcmlwdF9zb3Vy
Y2UnLAorICAgICAgICAnaW5qZWN0ZWRfd2ViZ2xfc2NyaXB0X3NvdXJjZScsCiAgICAgICAgICdp
bnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycsCiAgICAgICAgICd3ZWJjb3JlX2JpbmRpbmdzX3Nv
dXJjZXMnLAogICAgICAgICAnLi4vLi4vVGhpcmRQYXJ0eS9nbHUvZ2x1Lmd5cDpsaWJ0ZXNzJywK
QEAgLTE0NzMsOSArMTQ5OCw5IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAn
d2ViY29yZV9wcmVyZXF1aXNpdGVzJywKICAgICAgIF0sCi0gICAgICAnZGVmaW5lcyc6IFsgCi0g
ICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsIAotICAgICAgXSwgCisgICAgICAnZGVm
aW5lcyc6IFsKKyAgICAgICAgJ1dFQktJVF9JTVBMRU1FTlRBVElPTj0xJywKKyAgICAgIF0sCiAg
ICAgICAjIFRoaXMgaXMgbmVlZGVkIGZvciBtYWMgYmVjYXVzZSBvZiB3ZWJraXRfc3lzdGVtX2lu
dGVyZmFjZS4gSXQnZCBiZSBuaWNlCiAgICAgICAjIGlmIHRoaXMgaGFyZCBkZXBlbmRlbmN5IGNv
dWxkIGJlIHNwbGl0IG9mZiB0aGUgcmVzdC4KICAgICAgICdoYXJkX2RlcGVuZGVuY3knOiAxLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCmluZGV4IDYxZWZhYjFhZDQ0NTc0YjYyMjdjY2YwMmUzY2Y0NzhiNzI1ZDky
MTQuLmFmN2Q1NjNkMTk3YzZjYzM0OTk3NTUyMDM1YTgyNjBhZDc1Mzc0YzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKQEAgLTI4MTksNiArMjgxOSw5IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvclZh
bHVlcy5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNvdXJj
ZS5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAnLAor
ICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgnLAorICAgICAgICAg
ICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oJywKICAgICAgICAg
ICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9y
L0luc3RydW1lbnRpbmdBZ2VudHMuY3BwJywKQEAgLTY2NDAsNyArNjY0Myw3IEBACiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxHcmF5LnBuZycsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxXaGl0ZS5w
bmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaE5leHQu
cG5nJywKLSAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hQcmV2
LnBuZycsICAgICAgICAgICAgCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFn
ZXMvc2VhcmNoUHJldi5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1h
Z2VzL3NlZ21lbnQucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdl
cy9zZWdtZW50RW5kLnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFn
ZXMvc2VnbWVudEhvdmVyLnBuZycsCkBAIC03MjM4LDYgKzcyNDEsNyBAQAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IZWFkZXJE
ZXRlY3Rpb24uaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kQ29tbWFuZHMuanMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0hUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAppbmRleCBkNWZjM2NlOTYzNjNk
YzUxMjY4NGYyZjQwNzFhNDI0ODVlYWMwNjE4Li5kMWMxOTRkNjE1YWZhMWNkZWEzNmY1MjA1NmI2
NjI2NjNkMzExNGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hU
TUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcApAQCAtMjEsNyArMjEsNyBAQAogICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0zMSw2ICszMSw3IEBACiAj
aW5jbHVkZSAiSFRNTENhbnZhc0VsZW1lbnQuaCIKICNpbmNsdWRlICJKU0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRC5oIgogI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJH
TEluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkpTV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmgi
CiAjaW5jbHVkZSAiV2ViR0xDb250ZXh0QXR0cmlidXRlcy5oIgogI2VuZGlmCkBAIC03NSw3ICs3
NiwxNiBAQCBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHQoRXhlY1N0YXRl
KiBleGVjKQogICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQgPSBjYW52YXMtPmdl
dENvbnRleHQodXN0cmluZ1RvU3RyaW5nKGNvbnRleHRJZCksIGF0dHJzLmdldCgpKTsKICAgICBp
ZiAoIWNvbnRleHQpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsKLSAgICByZXR1cm4gdG9KUyhl
eGVjLCBnbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoY29udGV4dCkpOworICAgIEpTVmFsdWUg
anNWYWx1ZSA9IHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGNvbnRleHQp
KTsKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgaWYgKGNvbnRleHQtPmlzM2QoKSAmJiBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygpKSB7CisgICAgICAgIFNjcmlwdE9iamVj
dCBnbENvbnRleHQoZXhlYywganNWYWx1ZS5nZXRPYmplY3QoKSk7CisgICAgICAgIFNjcmlwdE9i
amVjdCB3cmFwcGVkID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJp
bmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGNhbnZhcy0+ZG9jdW1lbnQoKSwgZ2xDb250ZXh0
KTsKKyAgICAgICAgaWYgKCF3cmFwcGVkLmhhc05vVmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVy
biB3cmFwcGVkLmpzVmFsdWUoKTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4ganNWYWx1ZTsK
IH0KIAogSlNWYWx1ZSBKU0hUTUxDYW52YXNFbGVtZW50Ojp0b0RhdGFVUkwoRXhlY1N0YXRlKiBl
eGVjKQpAQCAtOTMsNyArMTAzLDcgQEAgSlNWYWx1ZSBKU0hUTUxDYW52YXNFbGVtZW50Ojp0b0Rh
dGFVUkwoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICAgICAgcXVhbGl0eVB0ciA9ICZxdWFsaXR5
OwogICAgICAgICB9CiAgICAgfQotICAgIAorCiAgICAgSlNWYWx1ZSByZXN1bHQgPSBqc1N0cmlu
ZyhleGVjLCBjYW52YXMtPnRvRGF0YVVSTCh0eXBlLCBxdWFsaXR5UHRyLCBlYykpOwogICAgIHNl
dERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CiAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcApp
bmRleCAyNDk5OTNmMjc1Y2E1MjdhYzY5ZWFkYmFmNWY0MGRlN2RlM2QyZmM2Li40ODRjZDVlM2Q3
NDZmN2Q0ZTQ5YmRiODE3YzA5OWY0YmEwZDViOGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC03OCw2ICs3
OCwxNCBAQCBTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3Rl
ZFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgUwogICAgIHJldHVybiBTY3JpcHRPYmplY3Qo
KTsKIH0KIAorI2lmIEVOQUJMRShXRUJHTCkKK1NjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1h
bmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KGNvbnN0IFN0cmluZyYsIFNjcmlwdE9iamVjdCkKK3sK
KyAgICAvLyBGSVhNRSg4Nzk3NSk6IEltcGxlbWVudCB0aGlzIQorICAgIHJldHVybiBTY3JpcHRP
YmplY3QoKTsKK30KKyNlbmRpZgorCiB2b2lkIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2Fy
ZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSkKIHsKICAgICBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0ganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oc2Ny
aXB0U3RhdGUtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRTdGF0ZS5jcHAKaW5kZXggYzE5ZmI5ODkyYmRjOGE5NzY0ZGY3ZTNhYmJmNzk5
YjE1ZGJiNjgxNC4uZTIxYzZjYWNlNzUxN2Q5NDA0YzliOWJjNGMwM2VkMzg3MWMzMjQwZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcApAQCAtOTAsNyArOTAs
NyBAQCBTY3JpcHRTdGF0ZSogU2NyaXB0U3RhdGU6OmZvckNvbnRleHQodjg6OkxvY2FsPHY4OjpD
b250ZXh0PiBjb250ZXh0KQogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGdsb2JhbCA9IGNv
bnRleHQtPkdsb2JhbCgpOwogICAgIC8vIFNraXAgcHJveHkgb2JqZWN0LiBUaGUgcHJveHkgb2Jq
ZWN0IHdpbGwgc3Vydml2ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUgd2UgbmVlZAotICAgIC8vIGFu
IG9iamVjdCB3aG9zZSBsaWZldGltZSBjb25zaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3Rl
ZCBjb250ZXh0LgorICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb2luY2lkZXMgd2l0
aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KICAgICBnbG9iYWwgPSB2ODo6TG9jYWw8
djg6Ok9iamVjdD46OkNhc3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUoKSk7CiAKICAgICB2ODo6SGFu
ZGxlPHY4OjpTdHJpbmc+IGtleSA9IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpzY3JpcHRTdGF0ZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENh
bnZhc0VsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCmluZGV4IDczNTExYTg2NzViNzlkMDI0ODkw
NzUwNTA3NWE4OTk1YzI3YTVmZmYuLjg0NjdiZTM4MzI4NWZkMzVkODkwYWUyMmI5NzVkNTA0MGMy
MzM4ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhU
TUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKQEAgLTQyLDYgKzQyLDcgQEAK
ICNpbmNsdWRlICJWOE5vZGUuaCIKICNpbmNsdWRlICJWOFByb3h5LmgiCiAjaWYgRU5BQkxFKFdF
QkdMKQorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVk
ZSAiVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKICNlbmRpZgogI2luY2x1ZGUgPHd0Zi9NYXRo
RXh0cmFzLmg+CkBAIC04OCw4ICs4OSwxNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhIVE1M
Q2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudAogICAg
IGlmIChyZXN1bHQtPmlzMmQoKSkKICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8Q2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEKj4ocmVzdWx0KSwgYXJncy5HZXRJc29sYXRlKCkpOwogI2lm
IEVOQUJMRShXRUJHTCkKLSAgICBlbHNlIGlmIChyZXN1bHQtPmlzM2QoKSkKLSAgICAgICAgcmV0
dXJuIHRvVjgoc3RhdGljX2Nhc3Q8V2ViR0xSZW5kZXJpbmdDb250ZXh0Kj4ocmVzdWx0KSwgYXJn
cy5HZXRJc29sYXRlKCkpOworICAgIGVsc2UgaWYgKHJlc3VsdC0+aXMzZCgpKSB7CisgICAgICAg
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2OFJlc3VsdCA9IHRvVjgoc3RhdGljX2Nhc3Q8V2ViR0xS
ZW5kZXJpbmdDb250ZXh0Kj4ocmVzdWx0KSwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICBp
ZiAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYXNGcm9udGVuZHMoKSkgeworICAgICAgICAg
ICAgU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlID0gU2NyaXB0U3RhdGU6OmZvckNvbnRleHQodjg6
OkNvbnRleHQ6OkdldEN1cnJlbnQoKSk7CisgICAgICAgICAgICBTY3JpcHRPYmplY3QgZ2xDb250
ZXh0KHNjcmlwdFN0YXRlLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHY4UmVzdWx0KSk7
CisgICAgICAgICAgICBTY3JpcHRPYmplY3Qgd3JhcHBlZCA9IEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihpbXAtPmRv
Y3VtZW50KCksIGdsQ29udGV4dCk7CisgICAgICAgICAgICBpZiAoIXdyYXBwZWQuaGFzTm9WYWx1
ZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnY4VmFsdWUoKTsKKyAgICAgICAg
fQorICAgICAgICByZXR1cm4gdjhSZXN1bHQ7CisgICAgfQogI2VuZGlmCiAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIHY4OjpOdWxsKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2Ny
aXB0TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDQ1NTU5ZmM2ZWNlYjE5OWZlNWVhOWVhMmNhYzkx
ODNjMTVmOTgwODAuLjQxYjQzMmU0MzNlNGQ2NTA3ZDA2Yzg3MzY2ZjM0MDI0OWZhNjczZTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2Ny
aXB0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcApAQCAtMTEwLDEwICsxMTAsMzQgQEAgU2NyaXB0T2Jq
ZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6Y3JlYXRlSW5qZWN0ZWRTY3JpcHQoY29uc3QgU3Ry
aW5nJiBzY3JpcHRTb3UKICAgICAgIHY4OjpOdW1iZXI6Ok5ldyhpZCksCiAgICAgfTsKICAgICB2
ODo6TG9jYWw8djg6OlZhbHVlPiBpbmplY3RlZFNjcmlwdFZhbHVlID0gdjg6OkZ1bmN0aW9uOjpD
YXN0KCp2KS0+Q2FsbCh3aW5kb3dHbG9iYWwsIDMsIGFyZ3MpOwotICAgIHY4OjpMb2NhbDx2ODo6
T2JqZWN0PiBpbmplY3RlZFNjcmlwdCh2ODo6T2JqZWN0OjpDYXN0KCppbmplY3RlZFNjcmlwdFZh
bHVlKSk7Ci0gICAgcmV0dXJuIFNjcmlwdE9iamVjdChpbnNwZWN0ZWRTY3JpcHRTdGF0ZSwgaW5q
ZWN0ZWRTY3JpcHQpOworICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5zcGVjdGVkU2NyaXB0U3Rh
dGUsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoaW5qZWN0ZWRTY3JpcHRWYWx1ZSkpOwog
fQogCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdl
cjo6aW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHRTb3VyY2UsIFNjcmlwdE9i
amVjdCBnbENvbnRleHQpCit7CisgICAgdjg6OkhhbmRsZVNjb3BlIHNjb3BlOworCisgICAgU2Ny
aXB0U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0YXRlID0gZ2xDb250ZXh0LnNjcmlwdFN0YXRlKCk7
CisgICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBpbnNwZWN0ZWRDb250ZXh0ID0gaW5zcGVjdGVk
U2NyaXB0U3RhdGUtPmNvbnRleHQoKTsKKyAgICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4dFNj
b3BlKGluc3BlY3RlZENvbnRleHQpOworCisgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IHdpbmRv
d0dsb2JhbCA9IGluc3BlY3RlZENvbnRleHQtPkdsb2JhbCgpOworCisgICAgdjg6OkxvY2FsPHY4
OjpTY3JpcHQ+IHNjcmlwdCA9IHY4OjpTY3JpcHQ6OkNvbXBpbGUodjhTdHJpbmcoc2NyaXB0U291
cmNlKSk7CisgICAgVjhSZWN1cnNpb25TY29wZTo6TWljcm90YXNrU3VwcHJlc3Npb24gcmVjdXJz
aW9uU2NvcGU7CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdiA9IHNjcmlwdC0+UnVuKCk7Cisg
ICAgQVNTRVJUKCF2LklzRW1wdHkoKSk7CisgICAgQVNTRVJUKHYtPklzRnVuY3Rpb24oKSk7CisK
KyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXJnc1tdID0geworICAgICAgICBnbENvbnRleHQu
djhWYWx1ZSgpLAorICAgIH07CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gaW5qZWN0ZWRTY3Jp
cHRWYWx1ZSA9IHY4OjpGdW5jdGlvbjo6Q2FzdCgqdiktPkNhbGwod2luZG93R2xvYmFsLCAxLCBh
cmdzKTsKKyAgICByZXR1cm4gU2NyaXB0T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRlLCB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGluamVjdGVkU2NyaXB0VmFsdWUpKTsKK30KKyNlbmRp
ZgorCiB2b2lkIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KFNj
cmlwdFN0YXRlKiBpbnNwZWN0ZWRTY3JpcHRTdGF0ZSkKIHsKICAgICB2ODo6SGFuZGxlU2NvcGUg
aGFuZGxlU2NvcGU7CkBAIC0xMjIsNyArMTQ2LDcgQEAgdm9pZCBJbmplY3RlZFNjcmlwdE1hbmFn
ZXI6OmRpc2NhcmRJbmplY3RlZFNjcmlwdChTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3QK
IAogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBjb250ZXh0LT5HbG9iYWwoKTsK
ICAgICAvLyBTa2lwIHByb3h5IG9iamVjdC4gVGhlIHByb3h5IG9iamVjdCB3aWxsIHN1cnZpdmUg
cGFnZSBuYXZpZ2F0aW9uIHdoaWxlIHdlIG5lZWQKLSAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlm
ZXRpbWUgY29uc2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KKyAgICAv
LyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29pbmNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5z
cGVjdGVkIGNvbnRleHQuCiAgICAgZ2xvYmFsID0gdjg6OkxvY2FsPHY4OjpPYmplY3Q+OjpDYXN0
KGdsb2JhbC0+R2V0UHJvdG90eXBlKCkpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBr
ZXkgPSBWOEhpZGRlblByb3BlcnR5TmFtZTo6ZGV2dG9vbHNJbmplY3RlZFNjcmlwdCgpOwpAQCAt
MTM3LDcgKzE2MSw3IEBAIEluamVjdGVkU2NyaXB0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5q
ZWN0ZWRTY3JpcHRGb3IoU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjCiAKICAgICB2ODo6TG9jYWw8
djg6Ok9iamVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94
eSBvYmplY3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3
aGlsZSB3ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdp
dGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3Nl
IGxpZmV0aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0Lgog
ICAgIGdsb2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3Rv
dHlwZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9w
ZXJ0eU5hbWU6OmRldnRvb2xzSW5qZWN0ZWRTY3JpcHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5IGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkKaW5kZXggZTlkMzczYjAxZTAz
NWQ1YjQ0ZjYyNzYzYzA2NDg2MDcxNWZhMjc0Ni4uMzQ1MzEzZDQ0YzJlMzI5ZmQ4NGUwMmJiZDE1
ZWU3NzNkNWRiNDdjNSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVH
ZW5lcmF0b3JJbnNwZWN0b3IucHkKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVH
ZW5lcmF0b3JJbnNwZWN0b3IucHkKQEAgLTQ2LDYgKzQ2LDcgQEAgRE9NQUlOX0RFRklORV9OQU1F
X01BUCA9IHsKICAgICAiSW5kZXhlZERCIjogIklOREVYRURfREFUQUJBU0UiLAogICAgICJQcm9m
aWxlciI6ICJKQVZBU0NSSVBUX0RFQlVHR0VSIiwKICAgICAiV29ya2VyIjogIldPUktFUlMiLAor
ICAgICJXZWJHTCI6ICJXRUJHTCIsCiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAppbmRleCA4ZWU1YTk4Y2M3MzNjYTIzODAy
OTUxM2FkZTU1M2VmODIyMjdmNjBiLi41ZjU1MWNlNjExM2ZjNDFjMzVmYWRhOTdiNzFlYWU2ZjZk
M2JjNGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLmNwcApAQCAtMzcsNiArMzcsOSBAQAogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0
LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuaCIKKyNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5qZWN0ZWRXZWJH
TFNjcmlwdFNvdXJjZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgiCiAj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+
CkBAIC0xNzIsNiArMTc1LDE4IEBAIHBhaXI8bG9uZywgU2NyaXB0T2JqZWN0PiBJbmplY3RlZFNj
cmlwdE1hbmFnZXI6OmluamVjdFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjCiAgICAgcmV0dXJu
IHN0ZDo6bWFrZV9wYWlyKGlkLCBjcmVhdGVJbmplY3RlZFNjcmlwdChzb3VyY2UsIHNjcmlwdFN0
YXRlLCBpZCkpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluamVjdGVk
U2NyaXB0TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bihTY3JpcHRPYmplY3QgZ2xDb250ZXh0KQoreworICAgIHJldHVybiBpbmplY3RXZWJHTFNjcmlw
dChpbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKCksIGdsQ29udGV4dCk7Cit9CisKK1N0cmluZyBJ
bmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UoKQoreworICAg
IHJldHVybiBTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oSW5qZWN0ZWRXZWJH
TFNjcmlwdFNvdXJjZV9qcyksIHNpemVvZihJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzKSk7
Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxF
KElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dE1hbmFnZXIuaAppbmRleCA0ZGYzYmQ5ZTUxZGExNTdiMmUyMTYyM2RmNzlhODFiZDQxNDc5YTQ0
Li5mZDIyZjM1ODc5NjhkZDBjZDVjNjc4ZTRhMTUxMzM3MzU4Y2IxNGIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oCkBAIC03LDEzICs3
LDEzIEBACiAgKiBhcmUgbWV0OgogICoKICAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgogICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uIAorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBB
cHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgogICogICAgIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uIAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICAqCiAgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQogICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRApAQCAtNjQsNiArNjQsOSBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBkaXNjYXJkSW5qZWN0ZWRTY3JpcHRzRm9yKERPTVdpbmRvdyopOwogICAgIHZvaWQgcmVsZWFz
ZU9iamVjdEdyb3VwKGNvbnN0IFN0cmluZyYgb2JqZWN0R3JvdXApOwogCisjaWYgRU5BQkxFKFdF
QkdMKQorICAgIFNjcmlwdE9iamVjdCB3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1
bWVudGF0aW9uKFNjcmlwdE9iamVjdCk7CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICB0eXBlZGVm
IGJvb2wgKCpJbnNwZWN0ZWRTdGF0ZUFjY2Vzc0NoZWNrKShTY3JpcHRTdGF0ZSopOwpAQCAtNzMs
NiArNzYsMTEgQEAgcHJpdmF0ZToKICAgICBTY3JpcHRPYmplY3QgY3JlYXRlSW5qZWN0ZWRTY3Jp
cHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFNjcmlwdFN0YXRlKiwgbG9uZyBpZCk7CiAgICAgdm9p
ZCBkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqKTsKIAorI2lmIEVOQUJMRShXRUJH
TCkKKyAgICBTdHJpbmcgaW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpOworICAgIFNjcmlwdE9i
amVjdCBpbmplY3RXZWJHTFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgU2NyaXB0T2JqZWN0
KTsKKyNlbmRpZgorCiAgICAgc3RhdGljIGJvb2wgY2FuQWNjZXNzSW5zcGVjdGVkV2luZG93KFNj
cmlwdFN0YXRlKik7CiAgICAgc3RhdGljIGJvb2wgY2FuQWNjZXNzSW5zcGVjdGVkV29ya2VyQ29u
dGV4dChTY3JpcHRTdGF0ZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhNTU1NGQzMTJhMGVm
MGEzMTIyZjU4ZWM1MWVjMmRkYWQ3ZGIwMmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcwpAQCAtMCwwICsxLDM2
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworKGZ1bmN0aW9uKGdsQ29udGV4dCkgeworCisvLyBGSVhNRTogV3JhcCBXZWJHTCBjb250ZXh0
IGZvciBpbnN0cnVtZW50YXRpb24uCityZXR1cm4gZ2xDb250ZXh0OworCit9KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IGM5OTExNjA4YzRlOGNkYmFhYjY5N2Uw
NTczZGUzZTc0ZGU0MGJiNTEuLjA0MmJlOGY2ZjNlMDJmM2RiYTM1MzdhODljNmM3Y2VmN2ViYWFi
NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTI4MTEsNSAr
MjgxMSwyMSBAQAogICAgICAgICAgICAgICAgICJuYW1lIjogImRpc2Nvbm5lY3RlZEZyb21Xb3Jr
ZXIiCiAgICAgICAgICAgICB9CiAgICAgICAgIF0KKyAgICB9LAorICAgIHsKKyAgICAgICAgImRv
bWFpbiI6ICJXZWJHTCIsCisgICAgICAgICJoaWRkZW4iOiB0cnVlLAorICAgICAgICAidHlwZXMi
OiBbXSwKKyAgICAgICAgImNvbW1hbmRzIjogWworICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgICJuYW1lIjogImVuYWJsZSIsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVu
YWJsZXMgV2ViR0wgaW5zcGVjdGlvbi4iCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgICJuYW1lIjogImRpc2FibGUiLAorICAgICAgICAgICAgICAgICJkZXNj
cmlwdGlvbiI6ICJEaXNhYmxlcyBXZWJHTCBpbnNwZWN0aW9uLiIKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgXSwKKyAgICAgICAgImV2ZW50cyI6IFtdCiAgICAgfV0KIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCmluZGV4IGIxMjIzMDQzMjMzZjlk
NDQ3YTVkM2FiNTUxMTA2Njk1OWVmYmU2MjEuLmJlOTJhMTNmYzdiM2NkODU2MTM2MzhlNjE4ODc3
YzgyZmIyYzM5YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFs
bEluT25lLmNwcApAQCAtNjUsNiArNjUsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvclN0eWxlVGV4
dEVkaXRvci5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yVmFsdWVzLmNwcCIKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50
LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5z
dHJ1bWVudGluZ0FnZW50cy5jcHAiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlc0RhdGEuY3Bw
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
CmluZGV4IDQ2ZTBjMmI4YzU0ZjRiNDIwYzIzNjg0YzdiZTNhNzUzYTQ1YmI3NjkuLmFjMTljN2Ri
OTUzZDI0NTgzOWNhZGZhMzI4NmVmNjhiNTI5NjJlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTYxLDYgKzYxLDcgQEAKICNp
bmNsdWRlICJJbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yU3Rh
dGUuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmgiCisjaW5jbHVkZSAiSW5z
cGVjdG9yV2ViR0xBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvcldvcmtlckFnZW50LmgiCiAj
aW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgogI2luY2x1ZGUgIlBhZ2VDb25zb2xlQWdl
bnQuaCIKQEAgLTE0NCw2ICsxNDUsMTAgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9y
Q29udHJvbGxlcihQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMKICAgICBt
X2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yV29ya2VyQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRp
bmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFdF
QkdMKQorICAgIG1fYWdlbnRzLmFwcGVuZChJbnNwZWN0b3JXZWJHTEFnZW50OjpjcmVhdGUobV9p
bnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpLCBtX2luamVjdGVkU2NyaXB0
TWFuYWdlci5nZXQoKSkpOworI2VuZGlmCisKICAgICBBU1NFUlRfQVJHKGluc3BlY3RvckNsaWVu
dCwgaW5zcGVjdG9yQ2xpZW50KTsKICAgICBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+aW5qZWN0
ZWRTY3JpcHRIb3N0KCktPmluaXQobV9pbnNwZWN0b3JBZ2VudAogICAgICAgICAsIGNvbnNvbGVB
Z2VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oCmluZGV4IGNhOTUwYmFmNzBkMTc2ODU2YzNjZTY4NzMwZDI5ZDgxYmNkYzE4ZjIu
LjRlYmE0YjNjMGE1MjNhZmRmZDM5YTEyY2YzMjliYTc2MDc5NmU3OTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTY4
LDYgKzY4LDcgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFNjcmlwdEFyZ3VtZW50
czsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CitjbGFzcyBTY3JpcHRPYmplY3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogY2xhc3MgU2VjdXJp
dHlPcmlnaW47CiBjbGFzcyBTaGFkb3dSb290OwpAQCAtMjM2LDYgKzIzNywxMCBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJyb3IoRG9jdW1lbnQq
LCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKTsK
ICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIHN0YXRpYyBTY3JpcHRPYmplY3Qgd3Jh
cFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihEb2N1bWVudCosIFNjcmlw
dE9iamVjdCk7CisjZW5kaWYKKwogICAgIHN0YXRpYyB2b2lkIG5ldHdvcmtTdGF0ZUNoYW5nZWQo
UGFnZSopOwogICAgIHN0YXRpYyB2b2lkIHVwZGF0ZUFwcGxpY2F0aW9uQ2FjaGVTdGF0dXMoRnJh
bWUqKTsKIApAQCAtOTc1LDcgKzk4MCw3IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNoZWQoUGFnZSogcGFnZSwgdW5zaWduZWQKIHsKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCi0gICAgICAg
IG1hcmtSZXNvdXJjZUFzQ2FjaGVkSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVy
KTsgCisgICAgICAgIG1hcmtSZXNvdXJjZUFzQ2FjaGVkSW1wbChpbnN0cnVtZW50aW5nQWdlbnRz
LCBpZGVudGlmaWVyKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmFlYTBhYTM4N2NkYjc4NGM1
Y2JkMjZhNGY5OGI2OGEyY2IzZTMwYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcApAQCAtMCwwICsxLDEwNCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkK
KworI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKKworI2luY2x1ZGUgIkluamVjdGVk
U2NyaXB0TWFuYWdlci5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisjaW5jbHVk
ZSAiSW5zcGVjdG9yU3RhdGUuaCIKKyNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisj
aW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCisjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgV2ViR0xBZ2VudFN0YXRlIHsKK3N0YXRpYyBj
b25zdCBjaGFyIHdlYkdMQWdlbnRFbmFibGVkW10gPSAid2ViR0xBZ2VudEVuYWJsZWQiOworfTsK
KworSW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5zcGVjdG9yV2ViR0xBZ2VudChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIEluamVj
dGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgIDogSW5zcGVjdG9y
QmFzZUFnZW50PEluc3BlY3RvcldlYkdMQWdlbnQ+KCJXZWJHTCIsIGluc3RydW1lbnRpbmdBZ2Vu
dHMsIHN0YXRlKQorICAgICwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIoaW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyKQorICAgICwgbV9mcm9udGVuZCgwKQorICAgICwgbV9lbmFibGVkKGZhbHNlKQorewor
ICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yV2ViR0xBZ2VudCh0aGlzKTsK
K30KKworSW5zcGVjdG9yV2ViR0xBZ2VudDo6fkluc3BlY3RvcldlYkdMQWdlbnQoKQoreworICAg
IG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yV2ViR0xBZ2VudCgwKTsKK30KKwor
dm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCog
ZnJvbnRlbmQpCit7CisgICAgQVNTRVJUKGZyb250ZW5kKTsKKyAgICBtX2Zyb250ZW5kID0gZnJv
bnRlbmQtPndlYmdsKCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6Y2xlYXJGcm9u
dGVuZCgpCit7CisgICAgbV9mcm9udGVuZCA9IDA7CisgICAgZGlzYWJsZSgwKTsKK30KKwordm9p
ZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpyZXN0b3JlKCkKK3sKKyAgICBtX2VuYWJsZWQgPSBtX3N0
YXRlLT5nZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2ViR0xBZ2VudEVuYWJsZWQpOworfQor
Cit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZShFcnJvclN0cmluZyopCit7CisgICAg
aWYgKG1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fZW5hYmxlZCA9IHRydWU7Cisg
ICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihXZWJHTEFnZW50U3RhdGU6OndlYkdMQWdlbnRFbmFibGVk
LCBtX2VuYWJsZWQpOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OmRpc2FibGUoRXJy
b3JTdHJpbmcqKQoreworICAgIGlmICghbV9lbmFibGVkKQorICAgICAgICByZXR1cm47CisgICAg
bV9lbmFibGVkID0gZmFsc2U7CisgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihXZWJHTEFnZW50U3Rh
dGU6OndlYkdMQWdlbnRFbmFibGVkLCBtX2VuYWJsZWQpOworfQorCitTY3JpcHRPYmplY3QgSW5z
cGVjdG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRh
dGlvbihTY3JpcHRPYmplY3QgZ2xDb250ZXh0KQoreworICAgIHJldHVybiBtX2luamVjdGVkU2Ny
aXB0TWFuYWdlci0+d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihn
bENvbnRleHQpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMGQwOGNhMmNkN2UwMDIyZDk2
MDkzZjIwZDZmY2I0Y2FkZjgzN2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaApAQCAtMCwwICsxLDg4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJ
bnNwZWN0b3JXZWJHTEFnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9yV2ViR0xBZ2VudF9oCisKKyNp
ZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisKKyNpbmNsdWRlICJJbnNwZWN0
b3JCYXNlQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorI2luY2x1ZGUg
IlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKKyNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOworY2xhc3MgSW5zcGVj
dG9yU3RhdGU7CitjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOworY2xhc3MgU2NyaXB0T2JqZWN0
OworCit0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKKworY2xhc3MgSW5zcGVjdG9yV2ViR0xB
Z2VudCA6IHB1YmxpYyBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yV2ViR0xBZ2VudD4sIHB1
YmxpYyBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6V2ViR0xDb21tYW5kSGFuZGxlciB7Citw
dWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yV2ViR0xBZ2VudD4gY3JlYXRl
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRl
KiBzdGF0ZSwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEluc3BlY3RvcldlYkdMQWdlbnQoaW5z
dHJ1bWVudGluZ0FnZW50cywgc3RhdGUsIGluamVjdGVkU2NyaXB0TWFuYWdlcikpOworICAgIH0K
KyAgICB+SW5zcGVjdG9yV2ViR0xBZ2VudCgpOworCisgICAgdmlydHVhbCB2b2lkIHNldEZyb250
ZW5kKEluc3BlY3RvckZyb250ZW5kKik7CisgICAgdmlydHVhbCB2b2lkIGNsZWFyRnJvbnRlbmQo
KTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzdG9yZSgpOworCisgICAgYm9vbCBlbmFibGVkKCkgeyBy
ZXR1cm4gbV9lbmFibGVkOyB9CisKKyAgICBTY3JpcHRPYmplY3Qgd3JhcFdlYkdMUmVuZGVyaW5n
Q29udGV4dEZvckluc3RydW1lbnRhdGlvbihTY3JpcHRPYmplY3QpOworCisgICAgLy8gQ2FsbGVk
IGZyb20gdGhlIGZyb250LWVuZC4KKyAgICB2aXJ0dWFsIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5n
Kik7CisgICAgdmlydHVhbCB2b2lkIGRpc2FibGUoRXJyb3JTdHJpbmcqKTsKKworICAgIC8vIENh
bGxlZCBmcm9tIHRoZSBpbmplY3RlZCBzY3JpcHQuCisKKyAgICAvLyBDYWxsZWQgZnJvbSBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24KKworcHJpdmF0ZToKKyAgICBJbnNwZWN0b3JXZWJHTEFnZW50
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JTdGF0ZSosIEluamVjdGVkU2NyaXB0TWFu
YWdlciopOworCisgICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVkU2NyaXB0TWFu
YWdlcjsKKyAgICBJbnNwZWN0b3JGcm9udGVuZDo6V2ViR0wqIG1fZnJvbnRlbmQ7CisgICAgYm9v
bCBtX2VuYWJsZWQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisKKyNlbmRpZiAvLyAhZGVmaW5lZChJ
bnNwZWN0b3JXZWJHTEFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzMjk3Y2I1
Y2JiZjhlMTllMGQyOGNhMTE5NjY5NjQ0ZjNlMDU1ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaApAQCAt
MCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbl9oCisjZGVm
aW5lIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gKKworI2luY2x1ZGUgIkluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKKyNp
bmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0Lmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworI2lmIEVOQUJMRShXRUJHTCkKK1NjcmlwdE9iamVj
dCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJ
bnN0cnVtZW50YXRpb24oRG9jdW1lbnQqIGRvY3VtZW50LCBTY3JpcHRPYmplY3QgZ2xDb250ZXh0
KQoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9j
dW1lbnQpKSB7CisgICAgICAgIEluc3BlY3RvcldlYkdMQWdlbnQqIHdlYkdMQWdlbnQgPSBpbnN0
cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JXZWJHTEFnZW50KCk7CisgICAgICAgIGlmICh3ZWJH
TEFnZW50ICYmIHdlYkdMQWdlbnQtPmVuYWJsZWQoKSkKKyAgICAgICAgICAgIHJldHVybiB3ZWJH
TEFnZW50LT53cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGdsQ29u
dGV4dCk7CisgICAgfQorI2VuZGlmCisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQorI2Vu
ZGlmIC8vIEVOQUJMRShXRUJHTCkKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gIWRlZmluZWQoSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb25faCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCmluZGV4IDE5NGViODY1ZWM3
NWE2NmZlZmI0YjcyNDZmMDA4YTgzOGE4OGFhYmMuLjEzMzRkYzdkNmRiN2VkYjM5MDg2Yjk2ZTNj
Nzg2NGNhMTc4ZjM0MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1l
bnRpbmdBZ2VudHMuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBJbnNwZWN0b3JSZXNvdXJjZUFn
ZW50OwogY2xhc3MgSW5zcGVjdG9yUnVudGltZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudDsKIGNsYXNzIEluc3BlY3RvcldvcmtlckFnZW50OworY2xhc3MgSW5zcGVjdG9yV2Vi
R0xBZ2VudDsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBQYWdlUnVudGltZUFnZW50OwogY2xhc3MgV29y
a2VyQ29udGV4dDsKQEAgLTg2LDYgKzg3LDkgQEAgcHVibGljOgogI2lmIEVOQUJMRShXT1JLRVJT
KQogICAgICAgICAsIG1faW5zcGVjdG9yV29ya2VyQWdlbnQoMCkKICNlbmRpZgorI2lmIEVOQUJM
RShXRUJHTCkKKyAgICAgICAgLCBtX2luc3BlY3RvcldlYkdMQWdlbnQoMCkKKyNlbmRpZgogICAg
IHsgfQogICAgIH5JbnN0cnVtZW50aW5nQWdlbnRzKCkgeyB9CiAKQEAgLTE0MiwxMSArMTQ2LDE3
IEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JQcm9maWxlckFnZW50KiBpbnNwZWN0b3JQcm9maWxl
ckFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JQcm9maWxlckFnZW50OyB9CiAgICAg
dm9pZCBzZXRJbnNwZWN0b3JQcm9maWxlckFnZW50KEluc3BlY3RvclByb2ZpbGVyQWdlbnQqIGFn
ZW50KSB7IG1faW5zcGVjdG9yUHJvZmlsZXJBZ2VudCA9IGFnZW50OyB9CiAjZW5kaWYKKwogI2lm
IEVOQUJMRShXT1JLRVJTKQogICAgIEluc3BlY3RvcldvcmtlckFnZW50KiBpbnNwZWN0b3JXb3Jr
ZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yV29ya2VyQWdlbnQ7IH0KICAgICB2
b2lkIHNldEluc3BlY3RvcldvcmtlckFnZW50KEluc3BlY3RvcldvcmtlckFnZW50KiBhZ2VudCkg
eyBtX2luc3BlY3RvcldvcmtlckFnZW50ID0gYWdlbnQ7IH0KICNlbmRpZgogCisjaWYgRU5BQkxF
KFdFQkdMKQorICAgIEluc3BlY3RvcldlYkdMQWdlbnQqIGluc3BlY3RvcldlYkdMQWdlbnQoKSBj
b25zdCB7IHJldHVybiBtX2luc3BlY3RvcldlYkdMQWdlbnQ7IH0KKyAgICB2b2lkIHNldEluc3Bl
Y3RvcldlYkdMQWdlbnQoSW5zcGVjdG9yV2ViR0xBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JX
ZWJHTEFnZW50ID0gYWdlbnQ7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIEluc3BlY3RvckFn
ZW50KiBtX2luc3BlY3RvckFnZW50OwogICAgIEluc3BlY3RvclBhZ2VBZ2VudCogbV9pbnNwZWN0
b3JQYWdlQWdlbnQ7CkBAIC0xNzMsNiArMTgzLDkgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoV09S
S0VSUykKICAgICBJbnNwZWN0b3JXb3JrZXJBZ2VudCogbV9pbnNwZWN0b3JXb3JrZXJBZ2VudDsK
ICNlbmRpZgorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBJbnNwZWN0b3JXZWJHTEFnZW50KiBtX2lu
c3BlY3RvcldlYkdMQWdlbnQ7CisjZW5kaWYKIH07CiAKIEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRhdGlvbkZvclBhZ2UoUGFnZSopOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145310</attachid>
            <date>2012-06-01 08:05:16 -0700</date>
            <delta_ts>2012-06-01 10:04:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120601190514.patch</filename>
            <type>text/plain</type>
            <size>48732</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg5YWE3Mzk0MjU5NTg5
OGIxMjA4YWU1NGQ4YWJiOGFjNDEwOGU1NS4uNDUyMDUwODQyZGE5NjQyZTUxZGFlYjIwZjk0Njhj
MjQ0Zjk0MDA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDEyLTA2LTAxICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFz
RWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50
OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRv
RGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlw
dE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3Jp
cHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENh
bGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1h
bmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3Rl
ZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
amVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KToKKyAgICAgICAgKFdl
YkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRTY3JpcHRGb3IpOgorICAgICAg
ICAqIGluc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5OgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OndyYXBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyOjppbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmg6CisgICAgICAgIChJbmplY3RlZFNjcmlwdE1hbmFn
ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVy
OjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
V2ViR0xBZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJH
TEFnZW50U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5z
cGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50
Ojp+SW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJH
TEFnZW50OjpzZXRGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFn
ZW50OjpjbGVhckZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdl
bnQ6OnJlc3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5h
YmxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmRpc2FibGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5n
Q29udGV4dEZvckluc3RydW1lbnRhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMQWdlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3Bl
Y3RvcldlYkdMQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZWQp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjppc1dlYkdMSW5zcGVjdG9yRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJ
bnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRz
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdB
Z2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoSW5zdHJ1bWVudGluZ0FnZW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjppbnNwZWN0b3JXZWJH
TEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3Bl
Y3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTE5MDYyIGFuZCBy
MTE5MDY0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlZjJkOTM5ZTQ5NDUzZThiODlhNmI1NzE1
OTdhMDc2MGY3MzM3NjExLi5hMjc2ODM4MTU3ODNjY2U5YzlmNDEyNmQ2NGZiZGJlNjcwMzBhZTFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTU4LDYgKzk1OCw3IEBAIFNFVChXZWJDb3JlX1NP
VVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAgIGlu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0cnVt
ZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAK
QEAgLTE2ODcsNyArMTY4OCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAgICBN
b2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAgTW9k
dWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAorCiAg
ICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3b3Jr
aW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVsZXMv
bmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjU5OCw2ICsyNTk5LDE3
IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAke0RF
UklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAogCisj
IEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJHTCkK
KyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNF
U19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1BSU5f
REVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAgICAg
ICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3IveHhk
LnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVjdG9y
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAgICBM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNIX1RP
T0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNwcCkK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTQ3MzFkYjRjNjMxZjgxYWMwZWI5
ZTcwNDJlODkwY2FjOTJjNGYzMi4uMDkwYmI5NzExOWU4MTI1MDkwZmY3ZDAyZWMyNTE3NTdkOTYw
MzBmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAogIyBD
b3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5p
Z0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8
Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFyZSBt
ZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBw
bGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorIyAg
ICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03ODAs
MTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQoUFJP
SkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtz
LmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVX
aW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtz
LmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVX
aW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZpbmRz
dHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAgIFVT
RVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2Vi
Q29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChVU0VS
X0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAogaWZl
cSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxF
X01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtlX25h
bWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdzL3Nj
cmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0tLS0t
LS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAogRXZl
bnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9tYWtl
X2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBAQCBF
eGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5oIEV4
Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3Jp
cHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0tLS0t
LS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVudCBm
YWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBkb20v
bWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpAQCAt
OTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3RlZFNj
cmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29yZSkv
aW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAKK2Fs
bCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0U291
cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUpL2lu
c3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEgKCQo
ZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19XWCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCAyMzg2Nzk5ODk5MjJlNWEyZTE3MDZlMDcw
ZjlkZTFiMjc0MWM0MzNhLi5hMDc3MTY2OThiNTUwN2IxOWFkNjU2YjA0ZGQ4MDJhNjg1OGNhNmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BFQ1RP
Ul9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVj
dG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NPVVJD
RSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERFQlVH
R0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5qcwog
CiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDExICs3
NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VORVJB
VE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGluamVj
dGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVjdGVk
U2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRTY3Jp
cHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRT
Y3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzICR7
UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwgJCRQ
V0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJTEVf
SU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0X3Rv
X3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQogCi0j
IEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBpbGVy
CisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291cmNl
IGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElOSkVD
VEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29tbWFu
ZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdMU2Ny
aXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9IElu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3IgZGVi
dWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0cHV0
ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQgPSBE
RUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBl
cmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FNQUtF
X0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGE5N2Qy
NGZiOGViNzM2YWRiOTI4MDdmMTMzYTEwOGU2ZDBmOGQ1NzMuLmFjZDZiNjllYjYwYTkwYTRlMTli
NmZlNGE5OTcyNTY2OWE5NWNiYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjAsNiArODIw
LDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanM6
IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2Uu
anMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIEluamVj
dGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291
cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJDb3Jl
KS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4pJChQ
RVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzICQo
R0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYgRU5B
QkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBAIC0x
MDY5LDYgKzEwNzEsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3UvTElD
RU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3Iu
cHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBc
CisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMg
XAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDM3ODQyYWZmMzUxNWE4ZDg0NjRjMzA1ZWVhYjAwMzhjZmMz
Yzc5MzIuLmM4NmNjMjQxZTcxYmViOTQ0ZjdhODc0MWJmNGMyODljZGE2NDlhNzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0X3Nv
dXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMCw2ICsyNzIxLDkgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggNTllZjM5M2QxNmZkMjc4YTUx
ZTk3NGNkYzU2ZjJiNTg2Zjk3OTE4Yi4uMmEwZDBiNTZkYzkxY2YwNzU5MThmYWY0ZjZlY2NlZTQ0
ZjEzZjE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZh
bHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3Ry
dW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEu
Y3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRleHRF
ZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJB
Z2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBpbnNw
ZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwCmluZGV4IDgyNTU4ODQ3OWJiNzM0ODk4Mjk2Mjk0MGRmOTUzZTAyZWZkMzA2MzAu
LjQ4NzQzZDNmZmQyNDg5MWNhYThmNmUyZWMwNzY2ZThhMjhiMDJmMzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC00MzUsNiArNDM1LDI5IEBACiAgICAgICBdCiAg
ICAgfSwKICAgICB7CisgICAgICAndGFyZ2V0X25hbWUnOiAnaW5qZWN0ZWRfd2ViZ2xfc2NyaXB0
X3NvdXJjZScsCisgICAgICAndHlwZSc6ICdub25lJywKKyAgICAgICdhY3Rpb25zJzogWworICAg
ICAgICB7CisgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ2dlbmVyYXRlSW5qZWN0ZWRXZWJHTFNj
cmlwdFNvdXJjZScsCisgICAgICAgICAgJ2lucHV0cyc6IFsKKyAgICAgICAgICAgICcuLi9pbnNw
ZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcycsCisgICAgICAgICAgXSwKKyAgICAg
ICAgICAnb3V0cHV0cyc6IFsKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElS
KS93ZWJraXQvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICBdLAorICAg
ICAgICAgICdhY3Rpb24nOiBbCisgICAgICAgICAgICAncGVybCcsCisgICAgICAgICAgICAnLi4v
aW5zcGVjdG9yL3h4ZC5wbCcsCisgICAgICAgICAgICAnSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcycsCisgICAgICAgICAgICAnPEAoX2lucHV0cyknLAorICAgICAgICAgICAgJzxAKF9vdXRw
dXRzKScKKyAgICAgICAgICBdLAorICAgICAgICAgICdtZXNzYWdlJzogJ0dlbmVyYXRpbmcgSW5q
ZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIGZyb20gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5q
cycsCisgICAgICAgIH0sCisgICAgICBdCisgICAgfSwKKyAgICB7CiAgICAgICAndGFyZ2V0X25h
bWUnOiAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAndHlwZSc6ICdub25lJywKICAg
ICAgICdhY3Rpb25zJzogWwpAQCAtMTA3NSw2ICsxMDk4LDcgQEAKICAgICAgICAgJ3dlYmNvcmVf
YmluZGluZ3Nfc291cmNlcycsCiAgICAgICAgICdpbnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycs
CiAgICAgICAgICdpbmplY3RlZF9zY3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dl
YmdsX3NjcmlwdF9zb3VyY2UnLAogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAg
ICAgICAgICcuLi8uLi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXAvSmF2YVNjcmlw
dENvcmUuZ3lwOnlhcnInLAogICAgICAgICAnLi4vLi4vV1RGL1dURi5neXAvV1RGLmd5cDp3dGYn
LApAQCAtMTE5OCw2ICsxMjIyLDcgQEAKICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAgICAg
ICdkZWJ1Z2dlcl9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2luamVjdGVkX3NjcmlwdF9zb3Vy
Y2UnLAorICAgICAgICAnaW5qZWN0ZWRfd2ViZ2xfc2NyaXB0X3NvdXJjZScsCiAgICAgICAgICdp
bnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycsCiAgICAgICAgICd3ZWJjb3JlX2JpbmRpbmdzX3Nv
dXJjZXMnLAogICAgICAgICAnLi4vLi4vVGhpcmRQYXJ0eS9nbHUvZ2x1Lmd5cDpsaWJ0ZXNzJywK
QEAgLTE0NzMsOSArMTQ5OCw5IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAn
d2ViY29yZV9wcmVyZXF1aXNpdGVzJywKICAgICAgIF0sCi0gICAgICAnZGVmaW5lcyc6IFsgCi0g
ICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsIAotICAgICAgXSwgCisgICAgICAnZGVm
aW5lcyc6IFsKKyAgICAgICAgJ1dFQktJVF9JTVBMRU1FTlRBVElPTj0xJywKKyAgICAgIF0sCiAg
ICAgICAjIFRoaXMgaXMgbmVlZGVkIGZvciBtYWMgYmVjYXVzZSBvZiB3ZWJraXRfc3lzdGVtX2lu
dGVyZmFjZS4gSXQnZCBiZSBuaWNlCiAgICAgICAjIGlmIHRoaXMgaGFyZCBkZXBlbmRlbmN5IGNv
dWxkIGJlIHNwbGl0IG9mZiB0aGUgcmVzdC4KICAgICAgICdoYXJkX2RlcGVuZGVuY3knOiAxLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCmluZGV4IDYxZWZhYjFhZDQ0NTc0YjYyMjdjY2YwMmUzY2Y0NzhiNzI1ZDky
MTQuLmFmN2Q1NjNkMTk3YzZjYzM0OTk3NTUyMDM1YTgyNjBhZDc1Mzc0YzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKQEAgLTI4MTksNiArMjgxOSw5IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvclZh
bHVlcy5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNvdXJj
ZS5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAnLAor
ICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgnLAorICAgICAgICAg
ICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oJywKICAgICAgICAg
ICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9y
L0luc3RydW1lbnRpbmdBZ2VudHMuY3BwJywKQEAgLTY2NDAsNyArNjY0Myw3IEBACiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxHcmF5LnBuZycsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxXaGl0ZS5w
bmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaE5leHQu
cG5nJywKLSAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hQcmV2
LnBuZycsICAgICAgICAgICAgCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFn
ZXMvc2VhcmNoUHJldi5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1h
Z2VzL3NlZ21lbnQucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdl
cy9zZWdtZW50RW5kLnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFn
ZXMvc2VnbWVudEhvdmVyLnBuZycsCkBAIC03MjM4LDYgKzcyNDEsNyBAQAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IZWFkZXJE
ZXRlY3Rpb24uaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kQ29tbWFuZHMuanMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0hUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAppbmRleCBkNWZjM2NlOTYzNjNk
YzUxMjY4NGYyZjQwNzFhNDI0ODVlYWMwNjE4Li5hNzJhZjEwNjI5NDU3YmVmM2ZlOTg1NGMwYzRi
YjM0ZDA2OTgxMzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hU
TUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcApAQCAtMjEsNyArMjEsNyBAQAogICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0zMSw3ICszMSw5IEBACiAj
aW5jbHVkZSAiSFRNTENhbnZhc0VsZW1lbnQuaCIKICNpbmNsdWRlICJKU0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRC5oIgogI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJH
TEluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkpTV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmgi
CisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViR0xDb250ZXh0QXR0cmli
dXRlcy5oIgogI2VuZGlmCiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgpAQCAtNzUsNyArNzcsMTYg
QEAgSlNWYWx1ZSBKU0hUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KEV4ZWNTdGF0ZSogZXhl
YykKICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0ID0gY2FudmFzLT5nZXRDb250
ZXh0KHVzdHJpbmdUb1N0cmluZyhjb250ZXh0SWQpLCBhdHRycy5nZXQoKSk7CiAgICAgaWYgKCFj
b250ZXh0KQogICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgcmV0dXJuIHRvSlMoZXhlYywg
Z2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGNvbnRleHQpKTsKKyAgICBKU1ZhbHVlIGpzVmFs
dWUgPSB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihjb250ZXh0KSk7Cisj
aWYgRU5BQkxFKFdFQkdMKQorICAgIGlmIChjb250ZXh0LT5pczNkKCkgJiYgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpoYXNGcm9udGVuZHMoKSkgeworICAgICAgICBTY3JpcHRPYmplY3QgZ2xD
b250ZXh0KGV4ZWMsIGpzVmFsdWUuZ2V0T2JqZWN0KCkpOworICAgICAgICBTY3JpcHRPYmplY3Qg
d3JhcHBlZCA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEZvckluc3RydW1lbnRhdGlvbihjYW52YXMtPmRvY3VtZW50KCksIGdsQ29udGV4dCk7Cisg
ICAgICAgIGlmICghd3JhcHBlZC5oYXNOb1ZhbHVlKCkpCisgICAgICAgICAgICByZXR1cm4gd3Jh
cHBlZC5qc1ZhbHVlKCk7CisgICAgfQorI2VuZGlmCisgICAgcmV0dXJuIGpzVmFsdWU7CiB9CiAK
IEpTVmFsdWUgSlNIVE1MQ2FudmFzRWxlbWVudDo6dG9EYXRhVVJMKEV4ZWNTdGF0ZSogZXhlYykK
QEAgLTkzLDcgKzEwNCw3IEBAIEpTVmFsdWUgSlNIVE1MQ2FudmFzRWxlbWVudDo6dG9EYXRhVVJM
KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgIHF1YWxpdHlQdHIgPSAmcXVhbGl0eTsKICAg
ICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIEpTVmFsdWUgcmVzdWx0ID0ganNTdHJpbmcoZXhl
YywgY2FudmFzLT50b0RhdGFVUkwodHlwZSwgcXVhbGl0eVB0ciwgZWMpKTsKICAgICBzZXRET01F
eGNlcHRpb24oZXhlYywgZWMpOwogICAgIHJldHVybiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5kZXgg
MjQ5OTkzZjI3NWNhNTI3YWM2OWVhZGJhZjVmNDBkZTdkZTNkMmZjNi4uNDg0Y2Q1ZTNkNzQ2Zjdk
NGU0OWJkYjgxN2MwOTlmNGJhMGQ1YjhmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcApAQCAtNzgsNiArNzgsMTQg
QEAgU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6Y3JlYXRlSW5qZWN0ZWRTY3Jp
cHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFMKICAgICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7CiB9
CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
OjppbmplY3RXZWJHTFNjcmlwdChjb25zdCBTdHJpbmcmLCBTY3JpcHRPYmplY3QpCit7CisgICAg
Ly8gRklYTUUoODc5NzUpOiBJbXBsZW1lbnQgdGhpcyEKKyAgICByZXR1cm4gU2NyaXB0T2JqZWN0
KCk7Cit9CisjZW5kaWYKKwogdm9pZCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRpc2NhcmRJbmpl
Y3RlZFNjcmlwdChTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUpCiB7CiAgICAgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCA9IGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KHNjcmlwdFN0
YXRlLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0U3RhdGUuY3BwCmluZGV4IGMxOWZiOTg5MmJkYzhhOTc2NGRmN2UzYWJiZjc5OWIxNWRi
YjY4MTQuLmUyMWM2Y2FjZTc1MTdkOTQwNGM5YjliYzRjMDNlZDM4NzFjMzI0MGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAKQEAgLTkwLDcgKzkwLDcgQEAg
U2NyaXB0U3RhdGUqIFNjcmlwdFN0YXRlOjpmb3JDb250ZXh0KHY4OjpMb2NhbDx2ODo6Q29udGV4
dD4gY29udGV4dCkKIAogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBjb250ZXh0
LT5HbG9iYWwoKTsKICAgICAvLyBTa2lwIHByb3h5IG9iamVjdC4gVGhlIHByb3h5IG9iamVjdCB3
aWxsIHN1cnZpdmUgcGFnZSBuYXZpZ2F0aW9uIHdoaWxlIHdlIG5lZWQKLSAgICAvLyBhbiBvYmpl
Y3Qgd2hvc2UgbGlmZXRpbWUgY29uc2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29u
dGV4dC4KKyAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29pbmNpZGVzIHdpdGggdGhh
dCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCiAgICAgZ2xvYmFsID0gdjg6OkxvY2FsPHY4OjpP
YmplY3Q+OjpDYXN0KGdsb2JhbC0+R2V0UHJvdG90eXBlKCkpOwogCiAgICAgdjg6OkhhbmRsZTx2
ODo6U3RyaW5nPiBrZXkgPSBWOEhpZGRlblByb3BlcnR5TmFtZTo6c2NyaXB0U3RhdGUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNF
bGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhU
TUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAppbmRleCA3MzUxMWE4Njc1Yjc5ZDAyNDg5MDc1MDUw
NzVhODk5NWMyN2E1ZmZmLi44NDY3YmUzODMyODVmZDM1ZDg5MGFlMjJiOTc1ZDUwNDBjMjMzOGYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2Fu
dmFzRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5j
bHVkZSAiVjhOb2RlLmgiCiAjaW5jbHVkZSAiVjhQcm94eS5oIgogI2lmIEVOQUJMRShXRUJHTCkK
KyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlY4
V2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCiAjZW5kaWYKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJh
cy5oPgpAQCAtODgsOCArODksMTcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SFRNTENhbnZh
c0VsZW1lbnQ6OmdldENvbnRleHRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnQKICAgICBpZiAo
cmVzdWx0LT5pczJkKCkpCiAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRCo+KHJlc3VsdCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICNpZiBFTkFC
TEUoV0VCR0wpCi0gICAgZWxzZSBpZiAocmVzdWx0LT5pczNkKCkpCi0gICAgICAgIHJldHVybiB0
b1Y4KHN0YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5nQ29udGV4dCo+KHJlc3VsdCksIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKKyAgICBlbHNlIGlmIChyZXN1bHQtPmlzM2QoKSkgeworICAgICAgICB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gdjhSZXN1bHQgPSB0b1Y4KHN0YXRpY19jYXN0PFdlYkdMUmVuZGVy
aW5nQ29udGV4dCo+KHJlc3VsdCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgaWYgKElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpIHsKKyAgICAgICAgICAgIFNj
cmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSA9IFNjcmlwdFN0YXRlOjpmb3JDb250ZXh0KHY4OjpDb250
ZXh0OjpHZXRDdXJyZW50KCkpOworICAgICAgICAgICAgU2NyaXB0T2JqZWN0IGdsQ29udGV4dChz
Y3JpcHRTdGF0ZSwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdCh2OFJlc3VsdCkpOworICAg
ICAgICAgICAgU2NyaXB0T2JqZWN0IHdyYXBwZWQgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oaW1wLT5kb2N1bWVu
dCgpLCBnbENvbnRleHQpOworICAgICAgICAgICAgaWYgKCF3cmFwcGVkLmhhc05vVmFsdWUoKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52OFZhbHVlKCk7CisgICAgICAgIH0KKyAg
ICAgICAgcmV0dXJuIHY4UmVzdWx0OworICAgIH0KICNlbmRpZgogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgIHJldHVybiB2ODo6TnVsbChhcmdzLkdldElzb2xhdGUoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1h
bmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLmNwcAppbmRleCA0NTU1OWZjNmVjZWIxOTlmZTVlYTllYTJjYWM5MTgzYzE1
Zjk4MDgwLi40MWI0MzJlNDMzZTRkNjUwN2QwNmM4NzM2NmYzNDAyNDlmYTY3M2U1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVj
dGVkU2NyaXB0TWFuYWdlci5jcHAKQEAgLTExMCwxMCArMTEwLDM0IEBAIFNjcmlwdE9iamVjdCBJ
bmplY3RlZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUluamVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYg
c2NyaXB0U291CiAgICAgICB2ODo6TnVtYmVyOjpOZXcoaWQpLAogICAgIH07CiAgICAgdjg6Okxv
Y2FsPHY4OjpWYWx1ZT4gaW5qZWN0ZWRTY3JpcHRWYWx1ZSA9IHY4OjpGdW5jdGlvbjo6Q2FzdCgq
diktPkNhbGwod2luZG93R2xvYmFsLCAzLCBhcmdzKTsKLSAgICB2ODo6TG9jYWw8djg6Ok9iamVj
dD4gaW5qZWN0ZWRTY3JpcHQodjg6Ok9iamVjdDo6Q2FzdCgqaW5qZWN0ZWRTY3JpcHRWYWx1ZSkp
OwotICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5zcGVjdGVkU2NyaXB0U3RhdGUsIGluamVjdGVk
U2NyaXB0KTsKKyAgICByZXR1cm4gU2NyaXB0T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRlLCB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGluamVjdGVkU2NyaXB0VmFsdWUpKTsKIH0KIAor
I2lmIEVOQUJMRShXRUJHTCkKK1NjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6Omlu
amVjdFdlYkdMU2NyaXB0KGNvbnN0IFN0cmluZyYgc2NyaXB0U291cmNlLCBTY3JpcHRPYmplY3Qg
Z2xDb250ZXh0KQoreworICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsKKworICAgIFNjcmlwdFN0
YXRlKiBpbnNwZWN0ZWRTY3JpcHRTdGF0ZSA9IGdsQ29udGV4dC5zY3JpcHRTdGF0ZSgpOworICAg
IHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gaW5zcGVjdGVkQ29udGV4dCA9IGluc3BlY3RlZFNjcmlw
dFN0YXRlLT5jb250ZXh0KCk7CisgICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZShp
bnNwZWN0ZWRDb250ZXh0KTsKKworICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiB3aW5kb3dHbG9i
YWwgPSBpbnNwZWN0ZWRDb250ZXh0LT5HbG9iYWwoKTsKKworICAgIHY4OjpMb2NhbDx2ODo6U2Ny
aXB0PiBzY3JpcHQgPSB2ODo6U2NyaXB0OjpDb21waWxlKHY4U3RyaW5nKHNjcmlwdFNvdXJjZSkp
OworICAgIFY4UmVjdXJzaW9uU2NvcGU6Ok1pY3JvdGFza1N1cHByZXNzaW9uIHJlY3Vyc2lvblNj
b3BlOworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHYgPSBzY3JpcHQtPlJ1bigpOworICAgIEFT
U0VSVCghdi5Jc0VtcHR5KCkpOworICAgIEFTU0VSVCh2LT5Jc0Z1bmN0aW9uKCkpOworCisgICAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3NbXSA9IHsKKyAgICAgICAgZ2xDb250ZXh0LnY4VmFs
dWUoKSwKKyAgICB9OworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGluamVjdGVkU2NyaXB0VmFs
dWUgPSB2ODo6RnVuY3Rpb246OkNhc3QoKnYpLT5DYWxsKHdpbmRvd0dsb2JhbCwgMSwgYXJncyk7
CisgICAgcmV0dXJuIFNjcmlwdE9iamVjdChpbnNwZWN0ZWRTY3JpcHRTdGF0ZSwgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0Pjo6Q2FzdChpbmplY3RlZFNjcmlwdFZhbHVlKSk7Cit9CisjZW5kaWYKKwog
dm9pZCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRpc2NhcmRJbmplY3RlZFNjcmlwdChTY3JpcHRT
dGF0ZSogaW5zcGVjdGVkU2NyaXB0U3RhdGUpCiB7CiAgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRs
ZVNjb3BlOwpAQCAtMTIyLDcgKzE0Niw3IEBAIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpk
aXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0CiAKICAg
ICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAg
Ly8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2Ug
bmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1l
IGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4g
b2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3Rl
ZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9i
YWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0g
VjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRldnRvb2xzSW5qZWN0ZWRTY3JpcHQoKTsKQEAgLTEzNyw3
ICsxNjEsNyBAQCBJbmplY3RlZFNjcmlwdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVk
U2NyaXB0Rm9yKFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTYwogCiAgICAgdjg6OkxvY2FsPHY4OjpP
YmplY3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2JhbCgpOwogICAgIC8vIFNraXAgcHJveHkgb2Jq
ZWN0LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vydml2ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUg
d2UgbmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb25zaWRlcyB3aXRoIHRo
YXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgorICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZl
dGltZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KICAgICBn
bG9iYWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46OkNhc3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUo
KSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGtleSA9IFY4SGlkZGVuUHJvcGVydHlO
YW1lOjpkZXZ0b29sc0luamVjdGVkU2NyaXB0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weSBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5CmluZGV4IGU5ZDM3M2IwMWUwMzVkNWI0
NGY2Mjc2M2MwNjQ4NjA3MTVmYTI3NDYuLjM0NTMxM2Q0NGMyZTMyOWZkODRlMDJiYmQxNWVlNzcz
ZDVkYjQ3YzUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJh
dG9ySW5zcGVjdG9yLnB5CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJh
dG9ySW5zcGVjdG9yLnB5CkBAIC00Niw2ICs0Niw3IEBAIERPTUFJTl9ERUZJTkVfTkFNRV9NQVAg
PSB7CiAgICAgIkluZGV4ZWREQiI6ICJJTkRFWEVEX0RBVEFCQVNFIiwKICAgICAiUHJvZmlsZXIi
OiAiSkFWQVNDUklQVF9ERUJVR0dFUiIsCiAgICAgIldvcmtlciI6ICJXT1JLRVJTIiwKKyAgICAi
V2ViR0wiOiAiV0VCR0wiLAogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5kZXggOGVlNWE5OGNjNzMzY2EyMzgwMjk1MTNh
ZGU1NTNlZjgyMjI3ZjYwYi4uYjA5NTA3NWE4NWFkMjcyMDFjZDIxMjNjODJjNWQzODY4Y2VjZmM2
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5jcHAKQEAgLTM3LDcgKzM3LDExIEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHQuaCIK
ICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlw
dFNvdXJjZS5oIgorI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNsdWRlICJJbmplY3RlZFdlYkdMU2Ny
aXB0U291cmNlLmgiCisjZW5kaWYKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKKyNpbmNs
dWRlICJTY3JpcHRPYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApAQCAtMTcyLDYgKzE3NiwxOCBAQCBwYWlyPGxvbmcs
IFNjcmlwdE9iamVjdD4gSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RTY3JpcHQoY29uc3Qg
U3RyaW5nJiBzb3VyYwogICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihpZCwgY3JlYXRlSW5qZWN0
ZWRTY3JpcHQoc291cmNlLCBzY3JpcHRTdGF0ZSwgaWQpKTsKIH0KIAorI2lmIEVOQUJMRShXRUJH
TCkKK1NjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OndyYXBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAg
ICByZXR1cm4gaW5qZWN0V2ViR0xTY3JpcHQoaW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpLCBn
bENvbnRleHQpOworfQorCitTdHJpbmcgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RlZFdl
YkdMU2NyaXB0U291cmNlKCkKK3sKKyAgICByZXR1cm4gU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgY2hhcio+KEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMpLCBzaXplb2YoSW5qZWN0
ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcykpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKaW5kZXggNGRmM2JkOWU1MWRhMTU3
YjJlMjE2MjNkZjc5YTgxYmQ0MTQ3OWE0NC4uZmQyMmYzNTg3OTY4ZGQwY2Q1YzY3OGU0YTE1MTMz
NzM1OGNiMTRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVk
U2NyaXB0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdE1hbmFnZXIuaApAQCAtNywxMyArNywxMyBAQAogICogYXJlIG1ldDoKICAqCiAgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuIAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICog
My4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5v
ciB0aGUgbmFtZXMgb2YKICAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqICAgICBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCiAgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKICAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKQEAgLTY0LDYg
KzY0LDkgQEAgcHVibGljOgogICAgIHZvaWQgZGlzY2FyZEluamVjdGVkU2NyaXB0c0ZvcihET01X
aW5kb3cqKTsKICAgICB2b2lkIHJlbGVhc2VPYmplY3RHcm91cChjb25zdCBTdHJpbmcmIG9iamVj
dEdyb3VwKTsKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBTY3JpcHRPYmplY3Qgd3JhcFdlYkdM
UmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihTY3JpcHRPYmplY3QpOworI2VuZGlm
CiAKIHByaXZhdGU6CiAgICAgdHlwZWRlZiBib29sICgqSW5zcGVjdGVkU3RhdGVBY2Nlc3NDaGVj
aykoU2NyaXB0U3RhdGUqKTsKQEAgLTczLDYgKzc2LDExIEBAIHByaXZhdGU6CiAgICAgU2NyaXB0
T2JqZWN0IGNyZWF0ZUluamVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTY3JpcHRT
dGF0ZSosIGxvbmcgaWQpOwogICAgIHZvaWQgZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0
YXRlKik7CiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgU3RyaW5nIGluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UoKTsKKyAgICBTY3JpcHRPYmplY3QgaW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3Ry
aW5nJiBzb3VyY2UsIFNjcmlwdE9iamVjdCk7CisjZW5kaWYKKwogICAgIHN0YXRpYyBib29sIGNh
bkFjY2Vzc0luc3BlY3RlZFdpbmRvdyhTY3JpcHRTdGF0ZSopOwogICAgIHN0YXRpYyBib29sIGNh
bkFjY2Vzc0luc3BlY3RlZFdvcmtlckNvbnRleHQoU2NyaXB0U3RhdGUqKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42YTU1NTRkMzEyYTBlZjBhMzEyMmY1OGVjNTFlYzJkZGFkN2RiMDJiCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuanMKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyhmdW5jdGlvbihnbENvbnRleHQpIHsKKworLy8g
RklYTUU6IFdyYXAgV2ViR0wgY29udGV4dCBmb3IgaW5zdHJ1bWVudGF0aW9uLgorcmV0dXJuIGds
Q29udGV4dDsKKworfSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRl
eCBjOTkxMTYwOGM0ZThjZGJhYWI2OTdlMDU3M2RlM2U3NGRlNDBiYjUxLi4wNDJiZThmNmYzZTAy
ZjNkYmEzNTM3YTg5YzZjN2NlZjdlYmFhYjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvci5qc29uCkBAIC0yODExLDUgKzI4MTEsMjEgQEAKICAgICAgICAgICAgICAgICAibmFt
ZSI6ICJkaXNjb25uZWN0ZWRGcm9tV29ya2VyIgogICAgICAgICAgICAgfQogICAgICAgICBdCisg
ICAgfSwKKyAgICB7CisgICAgICAgICJkb21haW4iOiAiV2ViR0wiLAorICAgICAgICAiaGlkZGVu
IjogdHJ1ZSwKKyAgICAgICAgInR5cGVzIjogW10sCisgICAgICAgICJjb21tYW5kcyI6IFsKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJlbmFibGUiLAorICAgICAgICAg
ICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGVzIFdlYkdMIGluc3BlY3Rpb24uIgorICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNhYmxl
IiwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGlzYWJsZXMgV2ViR0wgaW5zcGVj
dGlvbi4iCisgICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJldmVudHMiOiBbXQog
ICAgIH1dCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
QWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25l
LmNwcAppbmRleCBiMTIyMzA0MzIzM2Y5ZDQ0N2E1ZDNhYjU1MTEwNjY5NTllZmJlNjIxLi5iZTky
YTEzZmM3YjNjZDg1NjEzNjM4ZTYxODg3N2M4MmZiMmMzOWFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKQEAgLTY1LDYgKzY1LDcgQEAKICNp
bmNsdWRlICJJbnNwZWN0b3JTdHlsZVRleHRFZGl0b3IuY3BwIgogI2luY2x1ZGUgIkluc3BlY3Rv
clRpbWVsaW5lQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5jcHAiCisjaW5j
bHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2Vy
QWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuY3BwIgogI2luY2x1ZGUg
Ik5ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA0NmUwYzJiOGM1NGY0YjQyMGMyMzY4NGM3
YmUzYTc1M2E0NWJiNzY5Li5hYzE5YzdkYjk1M2QyNDU4MzljYWRmYTMyODZlZjY4YjUyOTYyZWYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
Y3BwCkBAIC02MSw2ICs2MSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxp
bmVBZ2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JXb3JrZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIK
ICNpbmNsdWRlICJQYWdlQ29uc29sZUFnZW50LmgiCkBAIC0xNDQsNiArMTQ1LDEwIEBAIEluc3Bl
Y3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9y
Q2xpZW50KiBpbnNwZWN0b3JDCiAgICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3RvcldvcmtlckFn
ZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpKSk7
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVj
dG9yV2ViR0xBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0
ZS5nZXQoKSwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKTsKKyNlbmRpZgorCiAgICAg
QVNTRVJUX0FSRyhpbnNwZWN0b3JDbGllbnQsIGluc3BlY3RvckNsaWVudCk7CiAgICAgbV9pbmpl
Y3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0SG9zdCgpLT5pbml0KG1faW5zcGVjdG9y
QWdlbnQKICAgICAgICAgLCBjb25zb2xlQWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBjYTk1MGJhZjcwZDE3Njg1
NmMzY2U2ODczMGQyOWQ4MWJjZGMxOGYyLi40ZWJhNGIzYzBhNTIzYWZkZmQzOWExMmNmMzI5YmE3
NjA3OTZlNzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5oCkBAIC02OCw2ICs2OCw3IEBAIGNsYXNzIFJlc291cmNlUmVzcG9u
c2U7CiBjbGFzcyBTY3JpcHRBcmd1bWVudHM7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworY2xhc3MgU2NyaXB0T2JqZWN0OwogY2xhc3MgU2Ny
aXB0UHJvZmlsZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU2hhZG93Um9vdDsKQEAg
LTIzNiw2ICsyMzcsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVXZWJT
b2NrZXRGcmFtZUVycm9yKERvY3VtZW50KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAg
ICBzdGF0aWMgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVt
ZW50YXRpb24oRG9jdW1lbnQqLCBTY3JpcHRPYmplY3QpOworI2VuZGlmCisKICAgICBzdGF0aWMg
dm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VkKFBhZ2UqKTsKICAgICBzdGF0aWMgdm9pZCB1cGRhdGVB
cHBsaWNhdGlvbkNhY2hlU3RhdHVzKEZyYW1lKik7CiAKQEAgLTk3NSw3ICs5ODAsNyBAQCBpbmxp
bmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKFBh
Z2UqIHBhZ2UsIHVuc2lnbmVkCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2Vu
dHNGb3JQYWdlKHBhZ2UpKQotICAgICAgICBtYXJrUmVzb3VyY2VBc0NhY2hlZEltcGwoaW5zdHJ1
bWVudGluZ0FnZW50cywgaWRlbnRpZmllcik7IAorICAgICAgICBtYXJrUmVzb3VyY2VBc0NhY2hl
ZEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaWRlbnRpZmllcik7CiAjZW5kaWYKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjZhZWEwYWEzODdjZGI3ODRjNWNiZDI2YTRmOThiNjhhMmNiM2UzMGMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5j
cHAKQEAgLTAsMCArMSwxMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoSU5T
UEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50
LmgiCisKKyNpbmNsdWRlICJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKKyNpbmNsdWRlICJJbnNw
ZWN0b3JGcm9udGVuZC5oIgorI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCisjaW5jbHVkZSAi
SW5zdHJ1bWVudGluZ0FnZW50cy5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgorI2luY2x1
ZGUgIlNjcmlwdFN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworbmFtZXNwYWNlIFdl
YkdMQWdlbnRTdGF0ZSB7CitzdGF0aWMgY29uc3QgY2hhciB3ZWJHTEFnZW50RW5hYmxlZFtdID0g
IndlYkdMQWdlbnRFbmFibGVkIjsKK307CisKK0luc3BlY3RvcldlYkdMQWdlbnQ6Okluc3BlY3Rv
cldlYkdMQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5z
cGVjdG9yU3RhdGUqIHN0YXRlLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0
TWFuYWdlcikKKyAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JXZWJHTEFnZW50Pigi
V2ViR0wiLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKKyAgICAsIG1faW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyKGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICAsIG1fZnJvbnRlbmQoMCkKKyAg
ICAsIG1fZW5hYmxlZChmYWxzZSkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldElu
c3BlY3RvcldlYkdMQWdlbnQodGhpcyk7Cit9CisKK0luc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNw
ZWN0b3JXZWJHTEFnZW50KCkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3Bl
Y3RvcldlYkdMQWdlbnQoMCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6c2V0RnJv
bnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKQoreworICAgIEFTU0VSVChmcm9udGVu
ZCk7CisgICAgbV9mcm9udGVuZCA9IGZyb250ZW5kLT53ZWJnbCgpOworfQorCit2b2lkIEluc3Bl
Y3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQoKQoreworICAgIG1fZnJvbnRlbmQgPSAwOwor
ICAgIGRpc2FibGUoMCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSgp
Cit7CisgICAgbV9lbmFibGVkID0gbV9zdGF0ZS0+Z2V0Qm9vbGVhbihXZWJHTEFnZW50U3RhdGU6
OndlYkdMQWdlbnRFbmFibGVkKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFi
bGUoRXJyb3JTdHJpbmcqKQoreworICAgIGlmIChtX2VuYWJsZWQpCisgICAgICAgIHJldHVybjsK
KyAgICBtX2VuYWJsZWQgPSB0cnVlOworICAgIG1fc3RhdGUtPnNldEJvb2xlYW4oV2ViR0xBZ2Vu
dFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCwgbV9lbmFibGVkKTsKK30KKwordm9pZCBJbnNwZWN0
b3JXZWJHTEFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKK3sKKyAgICBpZiAoIW1fZW5hYmxl
ZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fZW5hYmxlZCA9IGZhbHNlOworICAgIG1fc3RhdGUt
PnNldEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCwgbV9lbmFibGVk
KTsKK30KKworU2NyaXB0T2JqZWN0IEluc3BlY3RvcldlYkdMQWdlbnQ6OndyYXBXZWJHTFJlbmRl
cmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sK
KyAgICByZXR1cm4gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPndyYXBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRGb3JJbnN0cnVtZW50YXRpb24oZ2xDb250ZXh0KTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDBkMDhjYTJjZDdlMDAyMmQ5NjA5M2YyMGQ2ZmNiNGNhZGY4MzdkNgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgK
QEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yV2ViR0xBZ2VudF9oCisjZGVmaW5lIElu
c3BlY3RvcldlYkdMQWdlbnRfaAorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdF
QkdMKQorCisjaW5jbHVkZSAiSW5zcGVjdG9yQmFzZUFnZW50LmgiCisjaW5jbHVkZSAiSW5zcGVj
dG9yRnJvbnRlbmQuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlNj
cmlwdFN0YXRlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEluamVjdGVkU2Ny
aXB0TWFuYWdlcjsKK2NsYXNzIEluc3BlY3RvclN0YXRlOworY2xhc3MgSW5zdHJ1bWVudGluZ0Fn
ZW50czsKK2NsYXNzIFNjcmlwdE9iamVjdDsKKwordHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7
CisKK2NsYXNzIEluc3BlY3RvcldlYkdMQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50
PEluc3BlY3RvcldlYkdMQWdlbnQ+LCBwdWJsaWMgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6
OldlYkdMQ29tbWFuZEhhbmRsZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPElu
c3BlY3RvcldlYkdMQWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIEluamVjdGVkU2NyaXB0TWFuYWdlciog
aW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBJbnNwZWN0b3JXZWJHTEFnZW50KGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlLCBpbmplY3Rl
ZFNjcmlwdE1hbmFnZXIpKTsKKyAgICB9CisgICAgfkluc3BlY3RvcldlYkdMQWdlbnQoKTsKKwor
ICAgIHZpcnR1YWwgdm9pZCBzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCopOworICAgIHZp
cnR1YWwgdm9pZCBjbGVhckZyb250ZW5kKCk7CisgICAgdmlydHVhbCB2b2lkIHJlc3RvcmUoKTsK
KworICAgIGJvb2wgZW5hYmxlZCgpIHsgcmV0dXJuIG1fZW5hYmxlZDsgfQorCisgICAgU2NyaXB0
T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0
T2JqZWN0KTsKKworICAgIC8vIENhbGxlZCBmcm9tIHRoZSBmcm9udC1lbmQuCisgICAgdmlydHVh
bCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopOworICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKEVy
cm9yU3RyaW5nKik7CisKKyAgICAvLyBDYWxsZWQgZnJvbSB0aGUgaW5qZWN0ZWQgc2NyaXB0Lgor
CisgICAgLy8gQ2FsbGVkIGZyb20gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uCisKK3ByaXZhdGU6
CisgICAgSW5zcGVjdG9yV2ViR0xBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9y
U3RhdGUqLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKKworICAgIEluamVjdGVkU2NyaXB0TWFu
YWdlciogbV9pbmplY3RlZFNjcmlwdE1hbmFnZXI7CisgICAgSW5zcGVjdG9yRnJvbnRlbmQ6Oldl
YkdMKiBtX2Zyb250ZW5kOworICAgIGJvb2wgbV9lbmFibGVkOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdM
KQorCisjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yV2ViR0xBZ2VudF9oKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRp
b24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zMzI5N2NiNWNiYmY4ZTE5ZTBkMjhjYTExOTY2OTY0NGYzZTA1NWU1
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcldl
YkdMSW5zdHJ1bWVudGF0aW9uLmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yV2Vi
R0xJbnN0cnVtZW50YXRpb25faAorI2RlZmluZSBJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlv
bl9oCisKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJJ
bnNwZWN0b3JXZWJHTEFnZW50LmgiCisjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgor
I2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiBF
TkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFw
V2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKERvY3VtZW50KiBkb2N1bWVu
dCwgU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAg
IGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVu
dGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkgeworICAgICAgICBJbnNwZWN0b3JXZWJH
TEFnZW50KiB3ZWJHTEFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yV2ViR0xB
Z2VudCgpOworICAgICAgICBpZiAod2ViR0xBZ2VudCAmJiB3ZWJHTEFnZW50LT5lbmFibGVkKCkp
CisgICAgICAgICAgICByZXR1cm4gd2ViR0xBZ2VudC0+d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4
dEZvckluc3RydW1lbnRhdGlvbihnbENvbnRleHQpOworICAgIH0KKyNlbmRpZgorICAgIHJldHVy
biBTY3JpcHRPYmplY3QoKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvcldlYkdMSW5zdHJ1
bWVudGF0aW9uX2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1
bWVudGluZ0FnZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdB
Z2VudHMuaAppbmRleCAxOTRlYjg2NWVjNzVhNjZmZWZiNGI3MjQ2ZjAwOGE4MzhhODhhYWJjLi4x
MzM0ZGM3ZDZkYjdlZGIzOTA4NmI5NmUzYzc4NjRjYTE3OGYzNDFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTUyLDYgKzUyLDcgQEAg
Y2xhc3MgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2Vu
dDsKIGNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JXb3JrZXJB
Z2VudDsKK2NsYXNzIEluc3BlY3RvcldlYkdMQWdlbnQ7CiBjbGFzcyBQYWdlOwogY2xhc3MgUGFn
ZVJ1bnRpbWVBZ2VudDsKIGNsYXNzIFdvcmtlckNvbnRleHQ7CkBAIC04Niw2ICs4Nyw5IEBAIHB1
YmxpYzoKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICAgICAgLCBtX2luc3BlY3RvcldvcmtlckFn
ZW50KDApCiAjZW5kaWYKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgICAgICwgbV9pbnNwZWN0b3JX
ZWJHTEFnZW50KDApCisjZW5kaWYKICAgICB7IH0KICAgICB+SW5zdHJ1bWVudGluZ0FnZW50cygp
IHsgfQogCkBAIC0xNDIsMTEgKzE0NiwxNyBAQCBwdWJsaWM6CiAgICAgSW5zcGVjdG9yUHJvZmls
ZXJBZ2VudCogaW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVj
dG9yUHJvZmlsZXJBZ2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJ
bnNwZWN0b3JQcm9maWxlckFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQg
PSBhZ2VudDsgfQogI2VuZGlmCisKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICBJbnNwZWN0b3JX
b3JrZXJBZ2VudCogaW5zcGVjdG9yV29ya2VyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3Bl
Y3RvcldvcmtlckFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JXb3JrZXJBZ2VudChJbnNw
ZWN0b3JXb3JrZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JXb3JrZXJBZ2VudCA9IGFnZW50
OyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBJbnNwZWN0b3JXZWJHTEFnZW50
KiBpbnNwZWN0b3JXZWJHTEFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JXZWJHTEFn
ZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JXZWJHTEFnZW50KEluc3BlY3RvcldlYkdMQWdl
bnQqIGFnZW50KSB7IG1faW5zcGVjdG9yV2ViR0xBZ2VudCA9IGFnZW50OyB9CisjZW5kaWYKKwog
cHJpdmF0ZToKICAgICBJbnNwZWN0b3JBZ2VudCogbV9pbnNwZWN0b3JBZ2VudDsKICAgICBJbnNw
ZWN0b3JQYWdlQWdlbnQqIG1faW5zcGVjdG9yUGFnZUFnZW50OwpAQCAtMTczLDYgKzE4Myw5IEBA
IHByaXZhdGU6CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgSW5zcGVjdG9yV29ya2VyQWdlbnQq
IG1faW5zcGVjdG9yV29ya2VyQWdlbnQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAg
SW5zcGVjdG9yV2ViR0xBZ2VudCogbV9pbnNwZWN0b3JXZWJHTEFnZW50OworI2VuZGlmCiB9Owog
CiBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50YXRpb25Gb3JQYWdlKFBhZ2UqKTsK
</data>
<flag name="commit-queue"
          id="152437"
          type_id="3"
          status="-"
          setter="aandrey"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145325</attachid>
            <date>2012-06-01 09:15:39 -0700</date>
            <delta_ts>2012-06-01 09:57:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120601201538.patch</filename>
            <type>text/plain</type>
            <size>50926</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg5YWE3Mzk0MjU5NTg5
OGIxMjA4YWU1NGQ4YWJiOGFjNDEwOGU1NS4uNDUyMDUwODQyZGE5NjQyZTUxZGFlYjIwZjk0Njhj
MjQ0Zjk0MDA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDEyLTA2LTAxICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFz
RWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50
OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRv
RGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlw
dE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3Jp
cHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENh
bGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1h
bmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3Rl
ZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
amVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KToKKyAgICAgICAgKFdl
YkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRTY3JpcHRGb3IpOgorICAgICAg
ICAqIGluc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5OgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OndyYXBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyOjppbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmg6CisgICAgICAgIChJbmplY3RlZFNjcmlwdE1hbmFn
ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVy
OjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
V2ViR0xBZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJH
TEFnZW50U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5z
cGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50
Ojp+SW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJH
TEFnZW50OjpzZXRGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFn
ZW50OjpjbGVhckZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdl
bnQ6OnJlc3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5h
YmxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmRpc2FibGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5n
Q29udGV4dEZvckluc3RydW1lbnRhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMQWdlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3Bl
Y3RvcldlYkdMQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZWQp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjppc1dlYkdMSW5zcGVjdG9yRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJ
bnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRz
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdB
Z2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoSW5zdHJ1bWVudGluZ0FnZW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjppbnNwZWN0b3JXZWJH
TEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3Bl
Y3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTE5MDYyIGFuZCBy
MTE5MDY0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlZjJkOTM5ZTQ5NDUzZThiODlhNmI1NzE1
OTdhMDc2MGY3MzM3NjExLi5hMjc2ODM4MTU3ODNjY2U5YzlmNDEyNmQ2NGZiZGJlNjcwMzBhZTFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTU4LDYgKzk1OCw3IEBAIFNFVChXZWJDb3JlX1NP
VVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAgIGlu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0cnVt
ZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAK
QEAgLTE2ODcsNyArMTY4OCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAgICBN
b2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAgTW9k
dWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAorCiAg
ICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3b3Jr
aW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVsZXMv
bmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjU5OCw2ICsyNTk5LDE3
IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAke0RF
UklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAogCisj
IEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJHTCkK
KyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNF
U19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1BSU5f
REVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAgICAg
ICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3IveHhk
LnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVjdG9y
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAgICBM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNIX1RP
T0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNwcCkK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTQ3MzFkYjRjNjMxZjgxYWMwZWI5
ZTcwNDJlODkwY2FjOTJjNGYzMi4uMDkwYmI5NzExOWU4MTI1MDkwZmY3ZDAyZWMyNTE3NTdkOTYw
MzBmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAogIyBD
b3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5p
Z0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8
Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFyZSBt
ZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBw
bGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorIyAg
ICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03ODAs
MTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQoUFJP
SkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtz
LmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVX
aW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtz
LmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVX
aW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZpbmRz
dHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAgIFVT
RVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2Vi
Q29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChVU0VS
X0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAogaWZl
cSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxF
X01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtlX25h
bWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdzL3Nj
cmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0tLS0t
LS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAogRXZl
bnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9tYWtl
X2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBAQCBF
eGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5oIEV4
Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3Jp
cHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0tLS0t
LS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVudCBm
YWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBkb20v
bWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpAQCAt
OTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3RlZFNj
cmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29yZSkv
aW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAKK2Fs
bCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0U291
cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUpL2lu
c3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEgKCQo
ZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19XWCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCAyMzg2Nzk5ODk5MjJlNWEyZTE3MDZlMDcw
ZjlkZTFiMjc0MWM0MzNhLi5hMDc3MTY2OThiNTUwN2IxOWFkNjU2YjA0ZGQ4MDJhNjg1OGNhNmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BFQ1RP
Ul9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVj
dG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NPVVJD
RSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERFQlVH
R0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5qcwog
CiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDExICs3
NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VORVJB
VE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGluamVj
dGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVjdGVk
U2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRTY3Jp
cHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRT
Y3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzICR7
UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwgJCRQ
V0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJTEVf
SU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0X3Rv
X3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQogCi0j
IEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBpbGVy
CisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291cmNl
IGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElOSkVD
VEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29tbWFu
ZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdMU2Ny
aXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9IElu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3IgZGVi
dWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0cHV0
ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQgPSBE
RUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBl
cmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FNQUtF
X0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGE5N2Qy
NGZiOGViNzM2YWRiOTI4MDdmMTMzYTEwOGU2ZDBmOGQ1NzMuLmFjZDZiNjllYjYwYTkwYTRlMTli
NmZlNGE5OTcyNTY2OWE5NWNiYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjAsNiArODIw
LDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanM6
IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2Uu
anMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIEluamVj
dGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291
cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJDb3Jl
KS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4pJChQ
RVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzICQo
R0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYgRU5B
QkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBAIC0x
MDY5LDYgKzEwNzEsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3UvTElD
RU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3Iu
cHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBc
CisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMg
XAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDM3ODQyYWZmMzUxNWE4ZDg0NjRjMzA1ZWVhYjAwMzhjZmMz
Yzc5MzIuLmM4NmNjMjQxZTcxYmViOTQ0ZjdhODc0MWJmNGMyODljZGE2NDlhNzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0X3Nv
dXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMCw2ICsyNzIxLDkgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggNTllZjM5M2QxNmZkMjc4YTUx
ZTk3NGNkYzU2ZjJiNTg2Zjk3OTE4Yi4uMmEwZDBiNTZkYzkxY2YwNzU5MThmYWY0ZjZlY2NlZTQ0
ZjEzZjE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZh
bHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3Ry
dW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEu
Y3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRleHRF
ZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJB
Z2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBpbnNw
ZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDlh
OTc2ZjI4NTFkNTNmYjNmNTZlMTBiZDRjMGFlYzMzZmY4NWUzMWEuLmM4MDBiMmViMzYyOWFhZDI4
YWY0MDNhNGI3NmRjY2EwZGYxNGIxNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzcsNyAr
MTc3LDcgQEAgX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjE2bG9hZEZyYW1lUmVxdWVzdEVSS05T
XzE2RnJhbWVMb2FkUmVxdWVzdEViYk4zV1RGMTBQYXMKIF9fWk43V2ViQ29yZTExRnJhbWVMb2Fk
ZXIxN3N0b3BGb3JVc2VyQ2FuY2VsRWIKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMWxvYWRV
UkxJbnRvQ2hpbGRGcmFtZUVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRVBOU181RnJhbWVFCiBf
X1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMjJmaW5kRnJhbWVGb3JOYXZpZ2F0aW9uRVJLTjNXVEYx
MkF0b21pY1N0cmluZ0VQTlNfOERvY3VtZW50RQotX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjIz
dGltZU9mTGFzdENvbXBsZXRlZExvYWRFdiAgICAKK19fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIy
M3RpbWVPZkxhc3RDb21wbGV0ZWRMb2FkRXYKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyNnJl
bG9hZFdpdGhPdmVycmlkZUVuY29kaW5nRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTFG
cmFtZUxvYWRlcjMyc2V0T3JpZ2luYWxVUkxGb3JEb3dubG9hZFJlcXVlc3RFUk5TXzE1UmVzb3Vy
Y2VSZXF1ZXN0RQogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRpbml0RXYKQEAgLTE2ODQsNyAr
MTY4NCw3IEBAIF93a0dldEFYVGV4dE1hcmtlclR5cGVJRAogX3drR2V0QVhUZXh0TWFya2VyUmFu
Z2VUeXBlSUQKIF93a0NyZWF0ZUFYVGV4dE1hcmtlclJhbmdlCiBfd2tDb3B5QVhUZXh0TWFya2Vy
UmFuZ2VTdGFydAotX3drQ29weUFYVGV4dE1hcmtlclJhbmdlRW5kIAorX3drQ29weUFYVGV4dE1h
cmtlclJhbmdlRW5kCiBfd2tDcmVhdGVBWFRleHRNYXJrZXIKIF93a0dldEJ5dGVzRnJvbUFYVGV4
dE1hcmtlcgogX3drQ3JlYXRlQVhVSUVsZW1lbnRSZWYKQEAgLTE3NzYsNyArMTc3Niw3IEBAIF9f
Wk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMTRyZW1vdmVBbGxJY29uc0V2CiBfX1pON1dlYkNvcmUx
Mkljb25EYXRhYmFzZTE1aWNvblJlY29yZENvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFi
YXNlMTlwYWdlVVJMTWFwcGluZ0NvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjBh
bGxvd0RhdGFiYXNlQ2xlYW51cEV2Ci1fX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIwZGVsYXlE
YXRhYmFzZUNsZWFudXBFdiAgIAorX19aTjdXZWJDb3JlMTJJY29uRGF0YWJhc2UyMGRlbGF5RGF0
YWJhc2VDbGVhbnVwRXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjByZXRhaW5JY29uRm9y
UGFnZVVSTEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjByZXRh
aW5lZFBhZ2VVUkxDb3VudEV2CiBfX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIxcmVsZWFzZUlj
b25Gb3JQYWdlVVJMRVJLTjNXVEY2U3RyaW5nRQpAQCAtMTgzOSw2ICsxODM5LDExIEBAIF9fWk43
V2ViQ29yZTI0SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uMTdkaWRCZWdpbkZyYW1lSW1wbEVQTlNf
MTlJbnN0cnVtZW50aW5nQWdlCiBfX1pON1dlYkNvcmUyNEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjE4ZGlkQ2FuY2VsRnJhbWVJbXBsRVBOU18xOUluc3RydW1lbnRpbmdBZ2VudHNFCiAjZW5kaWYK
IAorI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKK19fWk43V2ViQ29yZTE5
SW5zcGVjdG9yV2ViR0xBZ2VudEMxRVBOU18xOUluc3RydW1lbnRpbmdBZ2VudHNFUE5TXzE0SW5z
cGVjdG9yU3RhdGVFUE5TXzIxSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyRQorX19aTjdXZWJDb3JlMTlJ
bnNwZWN0b3JXZWJHTEFnZW50NDN3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVu
dGF0aW9uRU5TXzEyU2NyaXB0T2JqZWN0RQorI2VuZGlmCisKICNpZiBFTkFCTEUoSkFWQV9CUklE
R0UpCiBfS0pTX0pTQ3JlYXRlTmF0aXZlSlNPYmplY3QKIF9LSlNfSlNPYmplY3RfSlNGaW5hbGl6
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA4MjU1ODg0NzliYjcz
NDg5ODI5NjI5NDBkZjk1M2UwMmVmZDMwNjMwLi40ODc0M2QzZmZkMjQ4OTFjYWE4ZjZlMmVjMDc2
NmU4YTI4YjAyZjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAt
NDM1LDYgKzQzNSwyOSBAQAogICAgICAgXQogICAgIH0sCiAgICAgeworICAgICAgJ3RhcmdldF9u
YW1lJzogJ2luamVjdGVkX3dlYmdsX3NjcmlwdF9zb3VyY2UnLAorICAgICAgJ3R5cGUnOiAnbm9u
ZScsCisgICAgICAnYWN0aW9ucyc6IFsKKyAgICAgICAgeworICAgICAgICAgICdhY3Rpb25fbmFt
ZSc6ICdnZW5lcmF0ZUluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UnLAorICAgICAgICAgICdpbnB1
dHMnOiBbCisgICAgICAgICAgICAnLi4vaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3Vy
Y2UuanMnLAorICAgICAgICAgIF0sCisgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAgICAg
ICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0L0luamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UuaCcsCisgICAgICAgICAgXSwKKyAgICAgICAgICAnYWN0aW9uJzogWworICAgICAgICAg
ICAgJ3BlcmwnLAorICAgICAgICAgICAgJy4uL2luc3BlY3Rvci94eGQucGwnLAorICAgICAgICAg
ICAgJ0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMnLAorICAgICAgICAgICAgJzxAKF9pbnB1
dHMpJywKKyAgICAgICAgICAgICc8QChfb3V0cHV0cyknCisgICAgICAgICAgXSwKKyAgICAgICAg
ICAnbWVzc2FnZSc6ICdHZW5lcmF0aW5nIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBmcm9t
IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMnLAorICAgICAgICB9LAorICAgICAgXQorICAg
IH0sCisgICAgewogICAgICAgJ3RhcmdldF9uYW1lJzogJ2RlYnVnZ2VyX3NjcmlwdF9zb3VyY2Un
LAogICAgICAgJ3R5cGUnOiAnbm9uZScsCiAgICAgICAnYWN0aW9ucyc6IFsKQEAgLTEwNzUsNiAr
MTA5OCw3IEBACiAgICAgICAgICd3ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnLAogICAgICAgICAn
aW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMnLAogICAgICAgICAnaW5qZWN0ZWRfc2NyaXB0X3Nv
dXJjZScsCisgICAgICAgICdpbmplY3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKICAgICAgICAg
J2RlYnVnZ2VyX3NjcmlwdF9zb3VyY2UnLAogICAgICAgICAnLi4vLi4vSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUuZ3lwL0phdmFTY3JpcHRDb3JlLmd5cDp5YXJyJywKICAgICAgICAgJy4u
Ly4uL1dURi9XVEYuZ3lwL1dURi5neXA6d3RmJywKQEAgLTExOTgsNiArMTIyMiw3IEBACiAgICAg
ICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAg
ICAgICAgICdpbmplY3RlZF9zY3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dlYmds
X3NjcmlwdF9zb3VyY2UnLAogICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMnLAog
ICAgICAgICAnd2ViY29yZV9iaW5kaW5nc19zb3VyY2VzJywKICAgICAgICAgJy4uLy4uL1RoaXJk
UGFydHkvZ2x1L2dsdS5neXA6bGlidGVzcycsCkBAIC0xNDczLDkgKzE0OTgsOSBAQAogICAgICAg
J2RlcGVuZGVuY2llcyc6IFsKICAgICAgICAgJ3dlYmNvcmVfcHJlcmVxdWlzaXRlcycsCiAgICAg
ICBdLAotICAgICAgJ2RlZmluZXMnOiBbIAotICAgICAgICAnV0VCS0lUX0lNUExFTUVOVEFUSU9O
PTEnLCAKLSAgICAgIF0sIAorICAgICAgJ2RlZmluZXMnOiBbCisgICAgICAgICdXRUJLSVRfSU1Q
TEVNRU5UQVRJT049MScsCisgICAgICBdLAogICAgICAgIyBUaGlzIGlzIG5lZWRlZCBmb3IgbWFj
IGJlY2F1c2Ugb2Ygd2Via2l0X3N5c3RlbV9pbnRlcmZhY2UuIEl0J2QgYmUgbmljZQogICAgICAg
IyBpZiB0aGlzIGhhcmQgZGVwZW5kZW5jeSBjb3VsZCBiZSBzcGxpdCBvZmYgdGhlIHJlc3QuCiAg
ICAgICAnaGFyZF9kZXBlbmRlbmN5JzogMSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA2MWVmYWIxYWQ0
NDU3NGI2MjI3Y2NmMDJlM2NmNDc4YjcyNWQ5MjE0Li5hZjdkNTYzZDE5N2M2Y2MzNDk5NzU1MjAz
NWE4MjYwYWQ3NTM3NGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yODE5LDYgKzI4MTksOSBAQAog
ICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgnLAogICAgICAg
ICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuY3BwJywKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMQWdlbnQuY3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVj
dG9yV2ViR0xBZ2VudC5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJ
bnN0cnVtZW50YXRpb24uaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3Rvcldvcmtl
ckFnZW50LmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50
LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcCcsCkBA
IC02NjQwLDcgKzY2NDMsNyBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1h
Z2VzL3NlYXJjaFNtYWxsR3JheS5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1l
bmQvSW1hZ2VzL3NlYXJjaFNtYWxsV2hpdGUucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hOZXh0LnBuZycsCi0gICAgICAgICAgICAnaW5zcGVjdG9y
L2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoUHJldi5wbmcnLCAgICAgICAgICAgIAorICAgICAgICAg
ICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFByZXYucG5nJywKICAgICAgICAg
ICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWdtZW50LnBuZycsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VnbWVudEVuZC5wbmcnLAogICAgICAgICAg
ICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlZ21lbnRIb3Zlci5wbmcnLApAQCAtNzIz
OCw2ICs3MjQxLDcgQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0hUTUxOYW1lcy5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSGVhZGVyRGV0ZWN0aW9uLmgnLAogICAgICAgICAgICAgJzwo
UFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRTY3JpcHRTb3VyY2Uu
aCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9J
bmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaGVyLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzJywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1
c3RvbS5jcHAKaW5kZXggZDVmYzNjZTk2MzYzZGM1MTI2ODRmMmY0MDcxYTQyNDg1ZWFjMDYxOC4u
YTcyYWYxMDYyOTQ1N2JlZjNmZTk4NTRjMGM0YmIzNGQwNjk4MTM1ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5j
cHAKQEAgLTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUgImNv
bmZpZy5oIgpAQCAtMzEsNyArMzEsOSBAQAogI2luY2x1ZGUgIkhUTUxDYW52YXNFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCIKICNpZiBFTkFCTEUoV0VC
R0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRl
ICJKU1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgog
I2luY2x1ZGUgIldlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaCIKICNlbmRpZgogI2luY2x1ZGUgPHd0
Zi9HZXRQdHIuaD4KQEAgLTc1LDcgKzc3LDE2IEBAIEpTVmFsdWUgSlNIVE1MQ2FudmFzRWxlbWVu
dDo6Z2V0Q29udGV4dChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4
dCogY29udGV4dCA9IGNhbnZhcy0+Z2V0Q29udGV4dCh1c3RyaW5nVG9TdHJpbmcoY29udGV4dElk
KSwgYXR0cnMuZ2V0KCkpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIGpzTnVs
bCgpOwotICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihj
b250ZXh0KSk7CisgICAgSlNWYWx1ZSBqc1ZhbHVlID0gdG9KUyhleGVjLCBnbG9iYWxPYmplY3Qo
KSwgV1RGOjpnZXRQdHIoY29udGV4dCkpOworI2lmIEVOQUJMRShXRUJHTCkKKyAgICBpZiAoY29u
dGV4dC0+aXMzZCgpICYmIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkp
IHsKKyAgICAgICAgU2NyaXB0T2JqZWN0IGdsQ29udGV4dChleGVjLCBqc1ZhbHVlLmdldE9iamVj
dCgpKTsKKyAgICAgICAgU2NyaXB0T2JqZWN0IHdyYXBwZWQgPSBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oY2FudmFz
LT5kb2N1bWVudCgpLCBnbENvbnRleHQpOworICAgICAgICBpZiAoIXdyYXBwZWQuaGFzTm9WYWx1
ZSgpKQorICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQuanNWYWx1ZSgpOworICAgIH0KKyNlbmRp
ZgorICAgIHJldHVybiBqc1ZhbHVlOwogfQogCiBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6
OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCkBAIC05Myw3ICsxMDQsNyBAQCBKU1ZhbHVlIEpT
SFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgICAg
ICBxdWFsaXR5UHRyID0gJnF1YWxpdHk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBK
U1ZhbHVlIHJlc3VsdCA9IGpzU3RyaW5nKGV4ZWMsIGNhbnZhcy0+dG9EYXRhVVJMKHR5cGUsIHF1
YWxpdHlQdHIsIGVjKSk7CiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKICAgICByZXR1
cm4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDI0OTk5M2YyNzVjYTUyN2FjNjllYWRiYWY1ZjQw
ZGU3ZGUzZDJmYzYuLjQ4NGNkNWUzZDc0NmY3ZDRlNDliZGI4MTdjMDk5ZjRiYTBkNWI4ZjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0
TWFuYWdlci5jcHAKQEAgLTc4LDYgKzc4LDE0IEBAIFNjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlw
dE1hbmFnZXI6OmNyZWF0ZUluamVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTCiAg
ICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0
T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3Ry
aW5nJiwgU2NyaXB0T2JqZWN0KQoreworICAgIC8vIEZJWE1FKDg3OTc1KTogSW1wbGVtZW50IHRo
aXMhCisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQorI2VuZGlmCisKIHZvaWQgSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIHNjcmlw
dFN0YXRlKQogewogICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBqc0Nhc3Q8
SlNET01HbG9iYWxPYmplY3QqPihzY3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAppbmRleCBjMTlmYjk4
OTJiZGM4YTk3NjRkZjdlM2FiYmY3OTliMTVkYmI2ODE0Li5lMjFjNmNhY2U3NTE3ZDk0MDRjOWI5
YmM0YzAzZWQzODcxYzMyNDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9TY3JpcHRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0
U3RhdGUuY3BwCkBAIC05MCw3ICs5MCw3IEBAIFNjcmlwdFN0YXRlKiBTY3JpcHRTdGF0ZTo6Zm9y
Q29udGV4dCh2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQpCiAKICAgICB2ODo6TG9jYWw8
djg6Ok9iamVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94
eSBvYmplY3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3
aGlsZSB3ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdp
dGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3Nl
IGxpZmV0aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0Lgog
ICAgIGdsb2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3Rv
dHlwZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9w
ZXJ0eU5hbWU6OnNjcmlwdFN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKaW5k
ZXggNzM1MTFhODY3NWI3OWQwMjQ4OTA3NTA1MDc1YTg5OTVjMjdhNWZmZi4uODQ2N2JlMzgzMjg1
ZmQzNWQ4OTBhZTIyYjk3NWQ1MDQwYzIzMzhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9t
LmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlY4Tm9kZS5oIgogI2luY2x1ZGUgIlY4
UHJveHkuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0
cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2Vu
ZGlmCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTg4LDggKzg5LDE3IEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0Q2FsbGJhY2so
Y29uc3Qgdjg6OkFyZ3VtZW50CiAgICAgaWYgKHJlc3VsdC0+aXMyZCgpKQogICAgICAgICByZXR1
cm4gdG9WOChzdGF0aWNfY2FzdDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQqPihyZXN1bHQpLCBh
cmdzLkdldElzb2xhdGUoKSk7CiAjaWYgRU5BQkxFKFdFQkdMKQotICAgIGVsc2UgaWYgKHJlc3Vs
dC0+aXMzZCgpKQotICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmlu
Z0NvbnRleHQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgZWxzZSBpZiAocmVz
dWx0LT5pczNkKCkpIHsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHY4UmVzdWx0ID0g
dG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBhcmdzLkdl
dElzb2xhdGUoKSk7CisgICAgICAgIGlmIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zy
b250ZW5kcygpKSB7CisgICAgICAgICAgICBTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUgPSBTY3Jp
cHRTdGF0ZTo6Zm9yQ29udGV4dCh2ODo6Q29udGV4dDo6R2V0Q3VycmVudCgpKTsKKyAgICAgICAg
ICAgIFNjcmlwdE9iamVjdCBnbENvbnRleHQoc2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6Ok9i
amVjdD46OkNhc3QodjhSZXN1bHQpKTsKKyAgICAgICAgICAgIFNjcmlwdE9iamVjdCB3cmFwcGVk
ID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9y
SW5zdHJ1bWVudGF0aW9uKGltcC0+ZG9jdW1lbnQoKSwgZ2xDb250ZXh0KTsKKyAgICAgICAgICAg
IGlmICghd3JhcHBlZC5oYXNOb1ZhbHVlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBw
ZWQudjhWYWx1ZSgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiB2OFJlc3VsdDsKKyAgICB9
CiAjZW5kaWYKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gdjg6Ok51bGwo
YXJncy5HZXRJc29sYXRlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5kZXggNDU1NTlm
YzZlY2ViMTk5ZmU1ZWE5ZWEyY2FjOTE4M2MxNWY5ODA4MC4uNDFiNDMyZTQzM2U0ZDY1MDdkMDZj
ODczNjZmMzQwMjQ5ZmE2NzNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0xMTAs
MTAgKzExMCwzNCBAQCBTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJ
bmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNvdQogICAgICAgdjg6Ok51bWJlcjo6
TmV3KGlkKSwKICAgICB9OwogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGluamVjdGVkU2NyaXB0
VmFsdWUgPSB2ODo6RnVuY3Rpb246OkNhc3QoKnYpLT5DYWxsKHdpbmRvd0dsb2JhbCwgMywgYXJn
cyk7Ci0gICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGluamVjdGVkU2NyaXB0KHY4OjpPYmplY3Q6
OkNhc3QoKmluamVjdGVkU2NyaXB0VmFsdWUpKTsKLSAgICByZXR1cm4gU2NyaXB0T2JqZWN0KGlu
c3BlY3RlZFNjcmlwdFN0YXRlLCBpbmplY3RlZFNjcmlwdCk7CisgICAgcmV0dXJuIFNjcmlwdE9i
amVjdChpbnNwZWN0ZWRTY3JpcHRTdGF0ZSwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChp
bmplY3RlZFNjcmlwdFZhbHVlKSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmpl
Y3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RXZWJHTFNjcmlwdChjb25zdCBTdHJpbmcm
IHNjcmlwdFNvdXJjZSwgU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAgICB2ODo6SGFuZGxl
U2NvcGUgc2NvcGU7CisKKyAgICBTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3RhdGUgPSBn
bENvbnRleHQuc2NyaXB0U3RhdGUoKTsKKyAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGluc3Bl
Y3RlZENvbnRleHQgPSBpbnNwZWN0ZWRTY3JpcHRTdGF0ZS0+Y29udGV4dCgpOworICAgIHY4OjpD
b250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUoaW5zcGVjdGVkQ29udGV4dCk7CisKKyAgICB2ODo6
TG9jYWw8djg6Ok9iamVjdD4gd2luZG93R2xvYmFsID0gaW5zcGVjdGVkQ29udGV4dC0+R2xvYmFs
KCk7CisKKyAgICB2ODo6TG9jYWw8djg6OlNjcmlwdD4gc2NyaXB0ID0gdjg6OlNjcmlwdDo6Q29t
cGlsZSh2OFN0cmluZyhzY3JpcHRTb3VyY2UpKTsKKyAgICBWOFJlY3Vyc2lvblNjb3BlOjpNaWNy
b3Rhc2tTdXBwcmVzc2lvbiByZWN1cnNpb25TY29wZTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVl
PiB2ID0gc2NyaXB0LT5SdW4oKTsKKyAgICBBU1NFUlQoIXYuSXNFbXB0eSgpKTsKKyAgICBBU1NF
UlQodi0+SXNGdW5jdGlvbigpKTsKKworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmdzW10g
PSB7CisgICAgICAgIGdsQ29udGV4dC52OFZhbHVlKCksCisgICAgfTsKKyAgICB2ODo6TG9jYWw8
djg6OlZhbHVlPiBpbmplY3RlZFNjcmlwdFZhbHVlID0gdjg6OkZ1bmN0aW9uOjpDYXN0KCp2KS0+
Q2FsbCh3aW5kb3dHbG9iYWwsIDEsIGFyZ3MpOworICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5z
cGVjdGVkU2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoaW5qZWN0ZWRT
Y3JpcHRWYWx1ZSkpOworfQorI2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpk
aXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0YXRlKQog
ewogICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKQEAgLTEyMiw3ICsxNDYsNyBAQCB2
b2lkIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0
YXRlKiBpbnNwZWN0ZWRTY3JpcHRTdAogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGdsb2Jh
bCA9IGNvbnRleHQtPkdsb2JhbCgpOwogICAgIC8vIFNraXAgcHJveHkgb2JqZWN0LiBUaGUgcHJv
eHkgb2JqZWN0IHdpbGwgc3Vydml2ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUgd2UgbmVlZAotICAg
IC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb25zaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGlu
c3BlY3RlZCBjb250ZXh0LgorICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb2luY2lk
ZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KICAgICBnbG9iYWwgPSB2ODo6
TG9jYWw8djg6Ok9iamVjdD46OkNhc3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUoKSk7CiAKICAgICB2
ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGtleSA9IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkZXZ0b29s
c0luamVjdGVkU2NyaXB0KCk7CkBAIC0xMzcsNyArMTYxLDcgQEAgSW5qZWN0ZWRTY3JpcHQgSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcihTY3JpcHRTdGF0ZSogaW5zcGVj
dGVkU2MKIAogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBjb250ZXh0LT5HbG9i
YWwoKTsKICAgICAvLyBTa2lwIHByb3h5IG9iamVjdC4gVGhlIHByb3h5IG9iamVjdCB3aWxsIHN1
cnZpdmUgcGFnZSBuYXZpZ2F0aW9uIHdoaWxlIHdlIG5lZWQKLSAgICAvLyBhbiBvYmplY3Qgd2hv
c2UgbGlmZXRpbWUgY29uc2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4K
KyAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29pbmNpZGVzIHdpdGggdGhhdCBvZiB0
aGUgaW5zcGVjdGVkIGNvbnRleHQuCiAgICAgZ2xvYmFsID0gdjg6OkxvY2FsPHY4OjpPYmplY3Q+
OjpDYXN0KGdsb2JhbC0+R2V0UHJvdG90eXBlKCkpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6U3Ry
aW5nPiBrZXkgPSBWOEhpZGRlblByb3BlcnR5TmFtZTo6ZGV2dG9vbHNJbmplY3RlZFNjcmlwdCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNw
ZWN0b3IucHkgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rv
ci5weQppbmRleCBlOWQzNzNiMDFlMDM1ZDViNDRmNjI3NjNjMDY0ODYwNzE1ZmEyNzQ2Li4zNDUz
MTNkNDRjMmUzMjlmZDg0ZTAyYmJkMTVlZTc3M2Q1ZGI0N2M1IDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQpAQCAtNDYsNiArNDYs
NyBAQCBET01BSU5fREVGSU5FX05BTUVfTUFQID0gewogICAgICJJbmRleGVkREIiOiAiSU5ERVhF
RF9EQVRBQkFTRSIsCiAgICAgIlByb2ZpbGVyIjogIkpBVkFTQ1JJUFRfREVCVUdHRVIiLAogICAg
ICJXb3JrZXIiOiAiV09SS0VSUyIsCisgICAgIldlYkdMIjogIldFQkdMIiwKIH0KIAogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmlu
ZGV4IDhlZTVhOThjYzczM2NhMjM4MDI5NTEzYWRlNTUzZWY4MjIyN2Y2MGIuLmIwOTUwNzVhODVh
ZDI3MjAxY2QyMTIzYzgyYzVkMzg2OGNlY2ZjNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0zNyw3ICszNywxMSBAQAog
I2luY2x1ZGUgIkluamVjdGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0
LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCIKKyNpZiBFTkFCTEUoV0VCR0wp
CisjaW5jbHVkZSAiSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIgorI2VuZGlmCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yVmFsdWVzLmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAg
LTE3Miw2ICsxNzYsMTggQEAgcGFpcjxsb25nLCBTY3JpcHRPYmplY3Q+IEluamVjdGVkU2NyaXB0
TWFuYWdlcjo6aW5qZWN0U2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmMKICAgICByZXR1cm4gc3Rk
OjptYWtlX3BhaXIoaWQsIGNyZWF0ZUluamVjdGVkU2NyaXB0KHNvdXJjZSwgc2NyaXB0U3RhdGUs
IGlkKSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNj
cmlwdE9iamVjdCBnbENvbnRleHQpCit7CisgICAgcmV0dXJuIGluamVjdFdlYkdMU2NyaXB0KGlu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UoKSwgZ2xDb250ZXh0KTsKK30KKworU3RyaW5nIEluamVj
dGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpCit7CisgICAgcmV0
dXJuIFN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihJbmplY3RlZFdlYkdMU2Ny
aXB0U291cmNlX2pzKSwgc2l6ZW9mKEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMpKTsKK30K
KyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0TWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5oCmluZGV4IDRkZjNiZDllNTFkYTE1N2IyZTIxNjIzZGY3OWE4MWJkNDE0NzlhNDQuLmZk
MjJmMzU4Nzk2OGRkMGNkNWM2NzhlNGExNTEzMzczNThjYjE0YjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKQEAgLTcsMTMgKzcsMTMg
QEAKICAqIGFyZSBtZXQ6CiAgKgogICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCiAgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxl
IENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAgKiAgICAgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4gCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgogICoKICAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCiAg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECkBAIC02NCw2ICs2NCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGRp
c2NhcmRJbmplY3RlZFNjcmlwdHNGb3IoRE9NV2luZG93Kik7CiAgICAgdm9pZCByZWxlYXNlT2Jq
ZWN0R3JvdXAoY29uc3QgU3RyaW5nJiBvYmplY3RHcm91cCk7CiAKKyNpZiBFTkFCTEUoV0VCR0wp
CisgICAgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50
YXRpb24oU2NyaXB0T2JqZWN0KTsKKyNlbmRpZgogCiBwcml2YXRlOgogICAgIHR5cGVkZWYgYm9v
bCAoKkluc3BlY3RlZFN0YXRlQWNjZXNzQ2hlY2spKFNjcmlwdFN0YXRlKik7CkBAIC03Myw2ICs3
NiwxMSBAQCBwcml2YXRlOgogICAgIFNjcmlwdE9iamVjdCBjcmVhdGVJbmplY3RlZFNjcmlwdChj
b25zdCBTdHJpbmcmIHNvdXJjZSwgU2NyaXB0U3RhdGUqLCBsb25nIGlkKTsKICAgICB2b2lkIGRp
c2NhcmRJbmplY3RlZFNjcmlwdChTY3JpcHRTdGF0ZSopOwogCisjaWYgRU5BQkxFKFdFQkdMKQor
ICAgIFN0cmluZyBpbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKCk7CisgICAgU2NyaXB0T2JqZWN0
IGluamVjdFdlYkdMU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTY3JpcHRPYmplY3QpOwor
I2VuZGlmCisKICAgICBzdGF0aWMgYm9vbCBjYW5BY2Nlc3NJbnNwZWN0ZWRXaW5kb3coU2NyaXB0
U3RhdGUqKTsKICAgICBzdGF0aWMgYm9vbCBjYW5BY2Nlc3NJbnNwZWN0ZWRXb3JrZXJDb250ZXh0
KFNjcmlwdFN0YXRlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmE1NTU0ZDMxMmEwZWYwYTMx
MjJmNThlYzUxZWMyZGRhZDdkYjAyYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCkBAIC0wLDAgKzEsMzYgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCiso
ZnVuY3Rpb24oZ2xDb250ZXh0KSB7CisKKy8vIEZJWE1FOiBXcmFwIFdlYkdMIGNvbnRleHQgZm9y
IGluc3RydW1lbnRhdGlvbi4KK3JldHVybiBnbENvbnRleHQ7CisKK30pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggYzk5MTE2MDhjNGU4Y2RiYWFiNjk3ZTA1NzNk
ZTNlNzRkZTQwYmI1MS4uMDQyYmU4ZjZmM2UwMmYzZGJhMzUzN2E4OWM2YzdjZWY3ZWJhYWI0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMjgxMSw1ICsyODEx
LDIxIEBACiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZGlzY29ubmVjdGVkRnJvbVdvcmtlciIK
ICAgICAgICAgICAgIH0KICAgICAgICAgXQorICAgIH0sCisgICAgeworICAgICAgICAiZG9tYWlu
IjogIldlYkdMIiwKKyAgICAgICAgImhpZGRlbiI6IHRydWUsCisgICAgICAgICJ0eXBlcyI6IFtd
LAorICAgICAgICAiY29tbWFuZHMiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
Im5hbWUiOiAiZW5hYmxlIiwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxl
cyBXZWJHTCBpbnNwZWN0aW9uLiIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgIm5hbWUiOiAiZGlzYWJsZSIsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0
aW9uIjogIkRpc2FibGVzIFdlYkdMIGluc3BlY3Rpb24uIgorICAgICAgICAgICAgfQorICAgICAg
ICBdLAorICAgICAgICAiZXZlbnRzIjogW10KICAgICB9XQogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKaW5kZXggYjEyMjMwNDMyMzNmOWQ0NDdh
NWQzYWI1NTExMDY2OTU5ZWZiZTYyMS4uYmU5MmExM2ZjN2IzY2Q4NTYxMzYzOGU2MTg4NzdjODJm
YjJjMzlhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFs
bEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5P
bmUuY3BwCkBAIC02NSw2ICs2NSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yU3R5bGVUZXh0RWRp
dG9yLmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JWYWx1ZXMuY3BwIgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuY3Bw
IgogI2luY2x1ZGUgIkluc3BlY3RvcldvcmtlckFnZW50LmNwcCIKICNpbmNsdWRlICJJbnN0cnVt
ZW50aW5nQWdlbnRzLmNwcCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5k
ZXggNDZlMGMyYjhjNTRmNGI0MjBjMjM2ODRjN2JlM2E3NTNhNDViYjc2OS4uYWMxOWM3ZGI5NTNk
MjQ1ODM5Y2FkZmEzMjg2ZWY2OGI1Mjk2MmVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtNjEsNiArNjEsNyBAQAogI2luY2x1
ZGUgIkluc3BlY3RvclJlc291cmNlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JTdGF0ZS5o
IgogI2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0
b3JXZWJHTEFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyQWdlbnQuaCIKICNpbmNs
dWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiUGFnZUNvbnNvbGVBZ2VudC5o
IgpAQCAtMTQ0LDYgKzE0NSwxMCBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250
cm9sbGVyKFBhZ2UqIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwogICAgIG1fYWdl
bnRzLmFwcGVuZChJbnNwZWN0b3JXb3JrZXJBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0Fn
ZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wp
CisgICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3RvcldlYkdMQWdlbnQ6OmNyZWF0ZShtX2luc3Ry
dW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCksIG1faW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLmdldCgpKSk7CisjZW5kaWYKKwogICAgIEFTU0VSVF9BUkcoaW5zcGVjdG9yQ2xpZW50LCBp
bnNwZWN0b3JDbGllbnQpOwogICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3RlZFNj
cmlwdEhvc3QoKS0+aW5pdChtX2luc3BlY3RvckFnZW50CiAgICAgICAgICwgY29uc29sZUFnZW50
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmgKaW5kZXggY2E5NTBiYWY3MGQxNzY4NTZjM2NlNjg3MzBkMjlkODFiY2RjMThmMi4uNGVi
YTRiM2MwYTUyM2FmZGZkMzlhMTJjZjMyOWJhNzYwNzk2ZTc5OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtNjgsNiAr
NjgsNyBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgU2NyaXB0QXJndW1lbnRzOwog
Y2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2Ns
YXNzIFNjcmlwdE9iamVjdDsKIGNsYXNzIFNjcmlwdFByb2ZpbGU7CiBjbGFzcyBTZWN1cml0eU9y
aWdpbjsKIGNsYXNzIFNoYWRvd1Jvb3Q7CkBAIC0yMzYsNiArMjM3LDEwIEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcihEb2N1bWVudCosIHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpOwogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgc3RhdGljIFNjcmlwdE9iamVjdCB3cmFwV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKERvY3VtZW50KiwgU2NyaXB0T2Jq
ZWN0KTsKKyNlbmRpZgorCiAgICAgc3RhdGljIHZvaWQgbmV0d29ya1N0YXRlQ2hhbmdlZChQYWdl
Kik7CiAgICAgc3RhdGljIHZvaWQgdXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1cyhGcmFtZSop
OwogCkBAIC05NzUsNyArOTgwLDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjptYXJrUmVzb3VyY2VBc0NhY2hlZChQYWdlKiBwYWdlLCB1bnNpZ25lZAogewogI2lmIEVO
QUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRp
bmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKLSAgICAgICAgbWFy
a1Jlc291cmNlQXNDYWNoZWRJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIpOyAK
KyAgICAgICAgbWFya1Jlc291cmNlQXNDYWNoZWRJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGlk
ZW50aWZpZXIpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JXZWJHTEFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YWVhMGFhMzg3Y2RiNzg0YzVjYmQy
NmE0Zjk4YjY4YTJjYjNlMzBjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCkBAIC0wLDAgKzEsMTA0IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQorCisj
aW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5oIgorCisjaW5jbHVkZSAiSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKKyNpbmNsdWRlICJJ
bnNwZWN0b3JTdGF0ZS5oIgorI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNs
dWRlICJTY3JpcHRPYmplY3QuaCIKKyNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK25hbWVzcGFjZSBXZWJHTEFnZW50U3RhdGUgeworc3RhdGljIGNvbnN0
IGNoYXIgd2ViR0xBZ2VudEVuYWJsZWRbXSA9ICJ3ZWJHTEFnZW50RW5hYmxlZCI7Cit9OworCitJ
bnNwZWN0b3JXZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50KEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgOiBJbnNwZWN0b3JCYXNl
QWdlbnQ8SW5zcGVjdG9yV2ViR0xBZ2VudD4oIldlYkdMIiwgaW5zdHJ1bWVudGluZ0FnZW50cywg
c3RhdGUpCisgICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlcihpbmplY3RlZFNjcmlwdE1hbmFn
ZXIpCisgICAgLCBtX2Zyb250ZW5kKDApCisgICAgLCBtX2VuYWJsZWQoZmFsc2UpCit7CisgICAg
bV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JXZWJHTEFnZW50KHRoaXMpOworfQor
CitJbnNwZWN0b3JXZWJHTEFnZW50Ojp+SW5zcGVjdG9yV2ViR0xBZ2VudCgpCit7CisgICAgbV9p
bnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JXZWJHTEFnZW50KDApOworfQorCit2b2lk
IEluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKiBmcm9u
dGVuZCkKK3sKKyAgICBBU1NFUlQoZnJvbnRlbmQpOworICAgIG1fZnJvbnRlbmQgPSBmcm9udGVu
ZC0+d2ViZ2woKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpjbGVhckZyb250ZW5k
KCkKK3sKKyAgICBtX2Zyb250ZW5kID0gMDsKKyAgICBkaXNhYmxlKDApOworfQorCit2b2lkIElu
c3BlY3RvcldlYkdMQWdlbnQ6OnJlc3RvcmUoKQoreworICAgIG1fZW5hYmxlZCA9IG1fc3RhdGUt
PmdldEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCk7Cit9CisKK3Zv
aWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlKEVycm9yU3RyaW5nKikKK3sKKyAgICBpZiAo
bV9lbmFibGVkKQorICAgICAgICByZXR1cm47CisgICAgbV9lbmFibGVkID0gdHJ1ZTsKKyAgICBt
X3N0YXRlLT5zZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2ViR0xBZ2VudEVuYWJsZWQsIG1f
ZW5hYmxlZCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZShFcnJvclN0
cmluZyopCit7CisgICAgaWYgKCFtX2VuYWJsZWQpCisgICAgICAgIHJldHVybjsKKyAgICBtX2Vu
YWJsZWQgPSBmYWxzZTsKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6
d2ViR0xBZ2VudEVuYWJsZWQsIG1fZW5hYmxlZCk7Cit9CisKK1NjcmlwdE9iamVjdCBJbnNwZWN0
b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9u
KFNjcmlwdE9iamVjdCBnbENvbnRleHQpCit7CisgICAgcmV0dXJuIG1faW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLT53cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGdsQ29u
dGV4dCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yV2ViR0xBZ2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwZDA4Y2EyY2Q3ZTAwMjJkOTYwOTNm
MjBkNmZjYjRjYWRmODM3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3Bl
Y3RvcldlYkdMQWdlbnRfaAorI2RlZmluZSBJbnNwZWN0b3JXZWJHTEFnZW50X2gKKworI2lmIEVO
QUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKKworI2luY2x1ZGUgIkluc3BlY3RvckJh
c2VBZ2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisjaW5jbHVkZSAiUGxh
dGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBJbmplY3RlZFNjcmlwdE1hbmFnZXI7CitjbGFzcyBJbnNwZWN0b3JT
dGF0ZTsKK2NsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CitjbGFzcyBTY3JpcHRPYmplY3Q7CisK
K3R5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOworCitjbGFzcyBJbnNwZWN0b3JXZWJHTEFnZW50
IDogcHVibGljIEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JXZWJHTEFnZW50PiwgcHVibGlj
IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyOjpXZWJHTENvbW1hbmRIYW5kbGVyIHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JXZWJHTEFnZW50PiBjcmVhdGUoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0
YXRlLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgSW5zcGVjdG9yV2ViR0xBZ2VudChpbnN0cnVt
ZW50aW5nQWdlbnRzLCBzdGF0ZSwgaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKSk7CisgICAgfQorICAg
IH5JbnNwZWN0b3JXZWJHTEFnZW50KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RnJvbnRlbmQo
SW5zcGVjdG9yRnJvbnRlbmQqKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xlYXJGcm9udGVuZCgpOwor
ICAgIHZpcnR1YWwgdm9pZCByZXN0b3JlKCk7CisKKyAgICBib29sIGVuYWJsZWQoKSB7IHJldHVy
biBtX2VuYWJsZWQ7IH0KKworICAgIFNjcmlwdE9iamVjdCB3cmFwV2ViR0xSZW5kZXJpbmdDb250
ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9iamVjdCk7CisKKyAgICAvLyBDYWxsZWQgZnJv
bSB0aGUgZnJvbnQtZW5kLgorICAgIHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JTdHJpbmcqKTsK
KyAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyopOworCisgICAgLy8gQ2FsbGVk
IGZyb20gdGhlIGluamVjdGVkIHNjcmlwdC4KKworICAgIC8vIENhbGxlZCBmcm9tIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbgorCitwcml2YXRlOgorICAgIEluc3BlY3RvcldlYkdMQWdlbnQoSW5z
dHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0YXRlKiwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
Kik7CisKKyAgICBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
OworICAgIEluc3BlY3RvckZyb250ZW5kOjpXZWJHTCogbV9mcm9udGVuZDsKKyAgICBib29sIG1f
ZW5hYmxlZDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3Bl
Y3RvcldlYkdMQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMyOTdjYjVjYmJm
OGUxOWUwZDI4Y2ExMTk2Njk2NDRmM2UwNTVlNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oCkBAIC0wLDAg
KzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gKKyNkZWZpbmUg
SW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb25faAorCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5oIgorI2luY2x1
ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3Ry
dW1lbnRhdGlvbihEb2N1bWVudCogZG9jdW1lbnQsIFNjcmlwdE9iamVjdCBnbENvbnRleHQpCit7
CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVu
dCkpIHsKKyAgICAgICAgSW5zcGVjdG9yV2ViR0xBZ2VudCogd2ViR0xBZ2VudCA9IGluc3RydW1l
bnRpbmdBZ2VudHMtPmluc3BlY3RvcldlYkdMQWdlbnQoKTsKKyAgICAgICAgaWYgKHdlYkdMQWdl
bnQgJiYgd2ViR0xBZ2VudC0+ZW5hYmxlZCgpKQorICAgICAgICAgICAgcmV0dXJuIHdlYkdMQWdl
bnQtPndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oZ2xDb250ZXh0
KTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7Cit9CisjZW5kaWYg
Ly8gRU5BQkxFKFdFQkdMKQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyAh
ZGVmaW5lZChJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbl9oKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggMTk0ZWI4NjVlYzc1YTY2
ZmVmYjRiNzI0NmYwMDhhODM4YTg4YWFiYy4uMTMzNGRjN2Q2ZGI3ZWRiMzkwODZiOTZlM2M3ODY0
Y2ExNzhmMzQxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1l
bnRpbmdBZ2VudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGlu
Z0FnZW50cy5oCkBAIC01Miw2ICs1Miw3IEBAIGNsYXNzIEluc3BlY3RvclJlc291cmNlQWdlbnQ7
CiBjbGFzcyBJbnNwZWN0b3JSdW50aW1lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFn
ZW50OwogY2xhc3MgSW5zcGVjdG9yV29ya2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JXZWJHTEFn
ZW50OwogY2xhc3MgUGFnZTsKIGNsYXNzIFBhZ2VSdW50aW1lQWdlbnQ7CiBjbGFzcyBXb3JrZXJD
b250ZXh0OwpAQCAtODYsNiArODcsOSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAg
ICAgICAgICwgbV9pbnNwZWN0b3JXb3JrZXJBZ2VudCgwKQogI2VuZGlmCisjaWYgRU5BQkxFKFdF
QkdMKQorICAgICAgICAsIG1faW5zcGVjdG9yV2ViR0xBZ2VudCgwKQorI2VuZGlmCiAgICAgeyB9
CiAgICAgfkluc3RydW1lbnRpbmdBZ2VudHMoKSB7IH0KIApAQCAtMTQyLDExICsxNDYsMTcgQEAg
cHVibGljOgogICAgIEluc3BlY3RvclByb2ZpbGVyQWdlbnQqIGluc3BlY3RvclByb2ZpbGVyQWdl
bnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQ7IH0KICAgICB2b2lk
IHNldEluc3BlY3RvclByb2ZpbGVyQWdlbnQoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogYWdlbnQp
IHsgbV9pbnNwZWN0b3JQcm9maWxlckFnZW50ID0gYWdlbnQ7IH0KICNlbmRpZgorCiAjaWYgRU5B
QkxFKFdPUktFUlMpCiAgICAgSW5zcGVjdG9yV29ya2VyQWdlbnQqIGluc3BlY3RvcldvcmtlckFn
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JXb3JrZXJBZ2VudDsgfQogICAgIHZvaWQg
c2V0SW5zcGVjdG9yV29ya2VyQWdlbnQoSW5zcGVjdG9yV29ya2VyQWdlbnQqIGFnZW50KSB7IG1f
aW5zcGVjdG9yV29ya2VyQWdlbnQgPSBhZ2VudDsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VC
R0wpCisgICAgSW5zcGVjdG9yV2ViR0xBZ2VudCogaW5zcGVjdG9yV2ViR0xBZ2VudCgpIGNvbnN0
IHsgcmV0dXJuIG1faW5zcGVjdG9yV2ViR0xBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9y
V2ViR0xBZ2VudChJbnNwZWN0b3JXZWJHTEFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvcldlYkdM
QWdlbnQgPSBhZ2VudDsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yQWdlbnQq
IG1faW5zcGVjdG9yQWdlbnQ7CiAgICAgSW5zcGVjdG9yUGFnZUFnZW50KiBtX2luc3BlY3RvclBh
Z2VBZ2VudDsKQEAgLTE3Myw2ICsxODMsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShXT1JLRVJT
KQogICAgIEluc3BlY3RvcldvcmtlckFnZW50KiBtX2luc3BlY3RvcldvcmtlckFnZW50OwogI2Vu
ZGlmCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIEluc3BlY3RvcldlYkdMQWdlbnQqIG1faW5zcGVj
dG9yV2ViR0xBZ2VudDsKKyNlbmRpZgogfTsKIAogSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGF0aW9uRm9yUGFnZShQYWdlKik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145331</attachid>
            <date>2012-06-01 09:57:14 -0700</date>
            <delta_ts>2012-06-01 10:23:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120601205712.patch</filename>
            <type>text/plain</type>
            <size>50791</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg5YWE3Mzk0MjU5NTg5
OGIxMjA4YWU1NGQ4YWJiOGFjNDEwOGU1NS4uNDUyMDUwODQyZGE5NjQyZTUxZGFlYjIwZjk0Njhj
MjQ0Zjk0MDA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDEyLTA2LTAxICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFz
RWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50
OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRv
RGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlw
dE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3Jp
cHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENh
bGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1h
bmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3Rl
ZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
amVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KToKKyAgICAgICAgKFdl
YkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRTY3JpcHRGb3IpOgorICAgICAg
ICAqIGluc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5OgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OndyYXBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyOjppbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmg6CisgICAgICAgIChJbmplY3RlZFNjcmlwdE1hbmFn
ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVy
OjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
V2ViR0xBZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJH
TEFnZW50U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5z
cGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50
Ojp+SW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJH
TEFnZW50OjpzZXRGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFn
ZW50OjpjbGVhckZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdl
bnQ6OnJlc3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5h
YmxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmRpc2FibGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5n
Q29udGV4dEZvckluc3RydW1lbnRhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMQWdlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3Bl
Y3RvcldlYkdMQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZWQp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjppc1dlYkdMSW5zcGVjdG9yRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJ
bnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRz
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdB
Z2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoSW5zdHJ1bWVudGluZ0FnZW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjppbnNwZWN0b3JXZWJH
TEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3Bl
Y3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTE5MDYyIGFuZCBy
MTE5MDY0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlZjJkOTM5ZTQ5NDUzZThiODlhNmI1NzE1
OTdhMDc2MGY3MzM3NjExLi5hMjc2ODM4MTU3ODNjY2U5YzlmNDEyNmQ2NGZiZGJlNjcwMzBhZTFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTU4LDYgKzk1OCw3IEBAIFNFVChXZWJDb3JlX1NP
VVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAgIGlu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0cnVt
ZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAK
QEAgLTE2ODcsNyArMTY4OCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAgICBN
b2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAgTW9k
dWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAorCiAg
ICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3b3Jr
aW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVsZXMv
bmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjU5OCw2ICsyNTk5LDE3
IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAke0RF
UklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAogCisj
IEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJHTCkK
KyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNF
U19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1BSU5f
REVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAgICAg
ICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3IveHhk
LnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVjdG9y
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAgICBM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNIX1RP
T0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNwcCkK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTQ3MzFkYjRjNjMxZjgxYWMwZWI5
ZTcwNDJlODkwY2FjOTJjNGYzMi4uMDkwYmI5NzExOWU4MTI1MDkwZmY3ZDAyZWMyNTE3NTdkOTYw
MzBmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAogIyBD
b3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5p
Z0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8
Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFyZSBt
ZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBw
bGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorIyAg
ICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03ODAs
MTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQoUFJP
SkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtz
LmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVX
aW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtz
LmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVX
aW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZpbmRz
dHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAgIFVT
RVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2Vi
Q29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChVU0VS
X0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAogaWZl
cSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxF
X01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtlX25h
bWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdzL3Nj
cmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0tLS0t
LS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAogRXZl
bnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9tYWtl
X2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBAQCBF
eGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5oIEV4
Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3Jp
cHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0tLS0t
LS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVudCBm
YWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBkb20v
bWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpAQCAt
OTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3RlZFNj
cmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29yZSkv
aW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAKK2Fs
bCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0U291
cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUpL2lu
c3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEgKCQo
ZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19XWCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCAyMzg2Nzk5ODk5MjJlNWEyZTE3MDZlMDcw
ZjlkZTFiMjc0MWM0MzNhLi5hMDc3MTY2OThiNTUwN2IxOWFkNjU2YjA0ZGQ4MDJhNjg1OGNhNmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BFQ1RP
Ul9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVj
dG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NPVVJD
RSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERFQlVH
R0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5qcwog
CiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDExICs3
NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VORVJB
VE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGluamVj
dGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVjdGVk
U2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRTY3Jp
cHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRT
Y3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzICR7
UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwgJCRQ
V0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJTEVf
SU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0X3Rv
X3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQogCi0j
IEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBpbGVy
CisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291cmNl
IGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElOSkVD
VEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29tbWFu
ZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdMU2Ny
aXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9IElu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3IgZGVi
dWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0cHV0
ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQgPSBE
RUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBl
cmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FNQUtF
X0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGE5N2Qy
NGZiOGViNzM2YWRiOTI4MDdmMTMzYTEwOGU2ZDBmOGQ1NzMuLmFjZDZiNjllYjYwYTkwYTRlMTli
NmZlNGE5OTcyNTY2OWE5NWNiYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjAsNiArODIw
LDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanM6
IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2Uu
anMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIEluamVj
dGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291
cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJDb3Jl
KS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4pJChQ
RVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzICQo
R0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYgRU5B
QkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBAIC0x
MDY5LDYgKzEwNzEsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3UvTElD
RU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3Iu
cHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBc
CisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMg
XAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDM3ODQyYWZmMzUxNWE4ZDg0NjRjMzA1ZWVhYjAwMzhjZmMz
Yzc5MzIuLmM4NmNjMjQxZTcxYmViOTQ0ZjdhODc0MWJmNGMyODljZGE2NDlhNzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0X3Nv
dXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMCw2ICsyNzIxLDkgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggNTllZjM5M2QxNmZkMjc4YTUx
ZTk3NGNkYzU2ZjJiNTg2Zjk3OTE4Yi4uMmEwZDBiNTZkYzkxY2YwNzU5MThmYWY0ZjZlY2NlZTQ0
ZjEzZjE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZh
bHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3Ry
dW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEu
Y3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRleHRF
ZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJB
Z2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBpbnNw
ZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDlh
OTc2ZjI4NTFkNTNmYjNmNTZlMTBiZDRjMGFlYzMzZmY4NWUzMWEuLmI4ZDVlNDc2NTRiNTI5ZDc1
OWU4YjM1YWJlYzJkNDg0NDFhZDlhMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzcsNyAr
MTc3LDcgQEAgX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjE2bG9hZEZyYW1lUmVxdWVzdEVSS05T
XzE2RnJhbWVMb2FkUmVxdWVzdEViYk4zV1RGMTBQYXMKIF9fWk43V2ViQ29yZTExRnJhbWVMb2Fk
ZXIxN3N0b3BGb3JVc2VyQ2FuY2VsRWIKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMWxvYWRV
UkxJbnRvQ2hpbGRGcmFtZUVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRVBOU181RnJhbWVFCiBf
X1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMjJmaW5kRnJhbWVGb3JOYXZpZ2F0aW9uRVJLTjNXVEYx
MkF0b21pY1N0cmluZ0VQTlNfOERvY3VtZW50RQotX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjIz
dGltZU9mTGFzdENvbXBsZXRlZExvYWRFdiAgICAKK19fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIy
M3RpbWVPZkxhc3RDb21wbGV0ZWRMb2FkRXYKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyNnJl
bG9hZFdpdGhPdmVycmlkZUVuY29kaW5nRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTFG
cmFtZUxvYWRlcjMyc2V0T3JpZ2luYWxVUkxGb3JEb3dubG9hZFJlcXVlc3RFUk5TXzE1UmVzb3Vy
Y2VSZXF1ZXN0RQogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRpbml0RXYKQEAgLTE2ODQsNyAr
MTY4NCw3IEBAIF93a0dldEFYVGV4dE1hcmtlclR5cGVJRAogX3drR2V0QVhUZXh0TWFya2VyUmFu
Z2VUeXBlSUQKIF93a0NyZWF0ZUFYVGV4dE1hcmtlclJhbmdlCiBfd2tDb3B5QVhUZXh0TWFya2Vy
UmFuZ2VTdGFydAotX3drQ29weUFYVGV4dE1hcmtlclJhbmdlRW5kIAorX3drQ29weUFYVGV4dE1h
cmtlclJhbmdlRW5kCiBfd2tDcmVhdGVBWFRleHRNYXJrZXIKIF93a0dldEJ5dGVzRnJvbUFYVGV4
dE1hcmtlcgogX3drQ3JlYXRlQVhVSUVsZW1lbnRSZWYKQEAgLTE3NzYsNyArMTc3Niw3IEBAIF9f
Wk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMTRyZW1vdmVBbGxJY29uc0V2CiBfX1pON1dlYkNvcmUx
Mkljb25EYXRhYmFzZTE1aWNvblJlY29yZENvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFi
YXNlMTlwYWdlVVJMTWFwcGluZ0NvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjBh
bGxvd0RhdGFiYXNlQ2xlYW51cEV2Ci1fX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIwZGVsYXlE
YXRhYmFzZUNsZWFudXBFdiAgIAorX19aTjdXZWJDb3JlMTJJY29uRGF0YWJhc2UyMGRlbGF5RGF0
YWJhc2VDbGVhbnVwRXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjByZXRhaW5JY29uRm9y
UGFnZVVSTEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjByZXRh
aW5lZFBhZ2VVUkxDb3VudEV2CiBfX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIxcmVsZWFzZUlj
b25Gb3JQYWdlVVJMRVJLTjNXVEY2U3RyaW5nRQpAQCAtMjIxNCwzICsyMjE0LDggQEAgX19aTks3
V2ViQ29yZTROb2RlMzFudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuRXYKICNpZiBFTkFC
TEUoU0hBRE9XX0RPTSkKIF9fWk43V2ViQ29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczE4aXNT
aGFkb3dET01FbmFibGVkRQogI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCR0wpCitfX1pON1dlYkNv
cmUxOUluc3BlY3RvcldlYkdMQWdlbnRDMUVQTlNfMTlJbnN0cnVtZW50aW5nQWdlbnRzRVBOU18x
NEluc3BlY3RvclN0YXRlRVBOU18yMUluamVjdGVkU2NyaXB0TWFuYWdlckUKK19fWk43V2ViQ29y
ZTE5SW5zcGVjdG9yV2ViR0xBZ2VudDQzd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3Ry
dW1lbnRhdGlvbkVOU18xMlNjcmlwdE9iamVjdEUKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cC9XZWJDb3JlLmd5cAppbmRleCA4MjU1ODg0NzliYjczNDg5ODI5NjI5NDBkZjk1M2UwMmVm
ZDMwNjMwLi40ODc0M2QzZmZkMjQ4OTFjYWE4ZjZlMmVjMDc2NmU4YTI4YjAyZjM3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtNDM1LDYgKzQzNSwyOSBAQAogICAg
ICAgXQogICAgIH0sCiAgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ2luamVjdGVkX3dlYmds
X3NjcmlwdF9zb3VyY2UnLAorICAgICAgJ3R5cGUnOiAnbm9uZScsCisgICAgICAnYWN0aW9ucyc6
IFsKKyAgICAgICAgeworICAgICAgICAgICdhY3Rpb25fbmFtZSc6ICdnZW5lcmF0ZUluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UnLAorICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAgICAgICAn
Li4vaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMnLAorICAgICAgICAgIF0s
CisgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJ
QVRFX0RJUikvd2Via2l0L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCcsCisgICAgICAgICAg
XSwKKyAgICAgICAgICAnYWN0aW9uJzogWworICAgICAgICAgICAgJ3BlcmwnLAorICAgICAgICAg
ICAgJy4uL2luc3BlY3Rvci94eGQucGwnLAorICAgICAgICAgICAgJ0luamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2VfanMnLAorICAgICAgICAgICAgJzxAKF9pbnB1dHMpJywKKyAgICAgICAgICAgICc8
QChfb3V0cHV0cyknCisgICAgICAgICAgXSwKKyAgICAgICAgICAnbWVzc2FnZSc6ICdHZW5lcmF0
aW5nIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBmcm9tIEluamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UuanMnLAorICAgICAgICB9LAorICAgICAgXQorICAgIH0sCisgICAgewogICAgICAgJ3Rh
cmdldF9uYW1lJzogJ2RlYnVnZ2VyX3NjcmlwdF9zb3VyY2UnLAogICAgICAgJ3R5cGUnOiAnbm9u
ZScsCiAgICAgICAnYWN0aW9ucyc6IFsKQEAgLTEwNzUsNiArMTA5OCw3IEBACiAgICAgICAgICd3
ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnLAogICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29sX3Nv
dXJjZXMnLAogICAgICAgICAnaW5qZWN0ZWRfc2NyaXB0X3NvdXJjZScsCisgICAgICAgICdpbmpl
Y3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2RlYnVnZ2VyX3NjcmlwdF9zb3Vy
Y2UnLAogICAgICAgICAnLi4vLi4vSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwL0ph
dmFTY3JpcHRDb3JlLmd5cDp5YXJyJywKICAgICAgICAgJy4uLy4uL1dURi9XVEYuZ3lwL1dURi5n
eXA6d3RmJywKQEAgLTExOTgsNiArMTIyMiw3IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzogWwog
ICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAgICdpbmplY3RlZF9zY3Jp
cHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dlYmdsX3NjcmlwdF9zb3VyY2UnLAogICAg
ICAgICAnaW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMnLAogICAgICAgICAnd2ViY29yZV9iaW5k
aW5nc19zb3VyY2VzJywKICAgICAgICAgJy4uLy4uL1RoaXJkUGFydHkvZ2x1L2dsdS5neXA6bGli
dGVzcycsCkBAIC0xNDczLDkgKzE0OTgsOSBAQAogICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKICAg
ICAgICAgJ3dlYmNvcmVfcHJlcmVxdWlzaXRlcycsCiAgICAgICBdLAotICAgICAgJ2RlZmluZXMn
OiBbIAotICAgICAgICAnV0VCS0lUX0lNUExFTUVOVEFUSU9OPTEnLCAKLSAgICAgIF0sIAorICAg
ICAgJ2RlZmluZXMnOiBbCisgICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsCisgICAg
ICBdLAogICAgICAgIyBUaGlzIGlzIG5lZWRlZCBmb3IgbWFjIGJlY2F1c2Ugb2Ygd2Via2l0X3N5
c3RlbV9pbnRlcmZhY2UuIEl0J2QgYmUgbmljZQogICAgICAgIyBpZiB0aGlzIGhhcmQgZGVwZW5k
ZW5jeSBjb3VsZCBiZSBzcGxpdCBvZmYgdGhlIHJlc3QuCiAgICAgICAnaGFyZF9kZXBlbmRlbmN5
JzogMSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA2MWVmYWIxYWQ0NDU3NGI2MjI3Y2NmMDJlM2NmNDc4
YjcyNWQ5MjE0Li5hZjdkNTYzZDE5N2M2Y2MzNDk5NzU1MjAzNWE4MjYwYWQ3NTM3NGM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC0yODE5LDYgKzI4MTksOSBAQAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2Vy
UmVzb3VyY2UuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQu
Y3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oJywKKyAg
ICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCcsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCcsCiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgnLAogICAgICAgICAgICAgJ2lu
c3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcCcsCkBAIC02NjQwLDcgKzY2NDMsNyBAQAog
ICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNtYWxsR3JheS5w
bmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNtYWxs
V2hpdGUucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFy
Y2hOZXh0LnBuZycsCi0gICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2Vh
cmNoUHJldi5wbmcnLCAgICAgICAgICAgIAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1l
bmQvSW1hZ2VzL3NlYXJjaFByZXYucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQt
ZW5kL0ltYWdlcy9zZWdtZW50LnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVu
ZC9JbWFnZXMvc2VnbWVudEVuZC5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1l
bmQvSW1hZ2VzL3NlZ21lbnRIb3Zlci5wbmcnLApAQCAtNzIzOCw2ICs3MjQxLDcgQEAKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1lcy5j
cHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SGVhZGVyRGV0ZWN0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCcsCisgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3RlZFdlYkdMU2NyaXB0U291
cmNlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwJywKICAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggZDVmYzNj
ZTk2MzYzZGM1MTI2ODRmMmY0MDcxYTQyNDg1ZWFjMDYxOC4uYTcyYWYxMDYyOTQ1N2JlZjNmZTk4
NTRjMGM0YmIzNGQwNjk4MTM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKQEAgLTIxLDcgKzIxLDcgQEAK
ICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtMzEsNyArMzEs
OSBAQAogI2luY2x1ZGUgIkhUTUxDYW52YXNFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVj
dG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJKU1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgogI2luY2x1ZGUgIldlYkdMQ29udGV4
dEF0dHJpYnV0ZXMuaCIKICNlbmRpZgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KQEAgLTc1LDcg
Kzc3LDE2IEBAIEpTVmFsdWUgSlNIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dChFeGVjU3Rh
dGUqIGV4ZWMpCiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCA9IGNhbnZhcy0+
Z2V0Q29udGV4dCh1c3RyaW5nVG9TdHJpbmcoY29udGV4dElkKSwgYXR0cnMuZ2V0KCkpOwogICAg
IGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAgIHJldHVybiB0b0pT
KGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihjb250ZXh0KSk7CisgICAgSlNWYWx1
ZSBqc1ZhbHVlID0gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoY29udGV4
dCkpOworI2lmIEVOQUJMRShXRUJHTCkKKyAgICBpZiAoY29udGV4dC0+aXMzZCgpICYmIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpIHsKKyAgICAgICAgU2NyaXB0T2Jq
ZWN0IGdsQ29udGV4dChleGVjLCBqc1ZhbHVlLmdldE9iamVjdCgpKTsKKyAgICAgICAgU2NyaXB0
T2JqZWN0IHdyYXBwZWQgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRl
cmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oY2FudmFzLT5kb2N1bWVudCgpLCBnbENvbnRl
eHQpOworICAgICAgICBpZiAoIXdyYXBwZWQuaGFzTm9WYWx1ZSgpKQorICAgICAgICAgICAgcmV0
dXJuIHdyYXBwZWQuanNWYWx1ZSgpOworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBqc1ZhbHVl
OwogfQogCiBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUq
IGV4ZWMpCkBAIC05Myw3ICsxMDQsNyBAQCBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OnRv
RGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgICAgICBxdWFsaXR5UHRyID0gJnF1YWxp
dHk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzU3Ry
aW5nKGV4ZWMsIGNhbnZhcy0+dG9EYXRhVVJMKHR5cGUsIHF1YWxpdHlQdHIsIGVjKSk7CiAgICAg
c2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKICAgICByZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3Bw
CmluZGV4IDI0OTk5M2YyNzVjYTUyN2FjNjllYWRiYWY1ZjQwZGU3ZGUzZDJmYzYuLjQ4NGNkNWUz
ZDc0NmY3ZDRlNDliZGI4MTdjMDk5ZjRiYTBkNWI4ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKQEAgLTc4LDYg
Kzc4LDE0IEBAIFNjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUluamVj
dGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTCiAgICAgcmV0dXJuIFNjcmlwdE9iamVj
dCgpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0
TWFuYWdlcjo6aW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5nJiwgU2NyaXB0T2JqZWN0KQor
eworICAgIC8vIEZJWE1FKDg3OTc1KTogSW1wbGVtZW50IHRoaXMhCisgICAgcmV0dXJuIFNjcmlw
dE9iamVjdCgpOworfQorI2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNj
YXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKQogewogICAgIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihz
Y3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAppbmRleCBjMTlmYjk4OTJiZGM4YTk3NjRkZjdlM2FiYmY3
OTliMTVkYmI2ODE0Li5lMjFjNmNhY2U3NTE3ZDk0MDRjOWI5YmM0YzAzZWQzODcxYzMyNDBmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwCkBAIC05MCw3ICs5
MCw3IEBAIFNjcmlwdFN0YXRlKiBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCh2ODo6TG9jYWw8djg6
OkNvbnRleHQ+IGNvbnRleHQpCiAKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFsID0g
Y29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94eSBv
YmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAgLy8g
YW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVj
dGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRlcyB3
aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpMb2Nh
bDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4OjpI
YW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OnNjcmlwdFN0YXRl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1M
Q2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggNzM1MTFhODY3NWI3OWQwMjQ4
OTA3NTA1MDc1YTg5OTVjMjdhNWZmZi4uODQ2N2JlMzgzMjg1ZmQzNWQ4OTBhZTIyYjk3NWQ1MDQw
YzIzMzhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcApAQCAtNDIsNiArNDIsNyBA
QAogI2luY2x1ZGUgIlY4Tm9kZS5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIKICNpZiBFTkFCTEUo
V0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNs
dWRlICJWOFdlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlmCiAjaW5jbHVkZSA8d3RmL01h
dGhFeHRyYXMuaD4KQEAgLTg4LDggKzg5LDE3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhU
TUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50CiAg
ICAgaWYgKHJlc3VsdC0+aXMyZCgpKQogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CiAj
aWYgRU5BQkxFKFdFQkdMKQotICAgIGVsc2UgaWYgKHJlc3VsdC0+aXMzZCgpKQotICAgICAgICBy
ZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBh
cmdzLkdldElzb2xhdGUoKSk7CisgICAgZWxzZSBpZiAocmVzdWx0LT5pczNkKCkpIHsKKyAgICAg
ICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHY4UmVzdWx0ID0gdG9WOChzdGF0aWNfY2FzdDxXZWJH
TFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAg
IGlmIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygpKSB7CisgICAgICAg
ICAgICBTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUgPSBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCh2
ODo6Q29udGV4dDo6R2V0Q3VycmVudCgpKTsKKyAgICAgICAgICAgIFNjcmlwdE9iamVjdCBnbENv
bnRleHQoc2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QodjhSZXN1bHQp
KTsKKyAgICAgICAgICAgIFNjcmlwdE9iamVjdCB3cmFwcGVkID0gSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGltcC0+
ZG9jdW1lbnQoKSwgZ2xDb250ZXh0KTsKKyAgICAgICAgICAgIGlmICghd3JhcHBlZC5oYXNOb1Zh
bHVlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudjhWYWx1ZSgpOworICAgICAg
ICB9CisgICAgICAgIHJldHVybiB2OFJlc3VsdDsKKyAgICB9CiAjZW5kaWYKICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gdjg6Ok51bGwoYXJncy5HZXRJc29sYXRlKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElu
amVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5kZXggNDU1NTlmYzZlY2ViMTk5ZmU1ZWE5ZWEyY2Fj
OTE4M2MxNWY5ODA4MC4uNDFiNDMyZTQzM2U0ZDY1MDdkMDZjODczNjZmMzQwMjQ5ZmE2NzNlNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0xMTAsMTAgKzExMCwzNCBAQCBTY3JpcHRP
YmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBT
dHJpbmcmIHNjcmlwdFNvdQogICAgICAgdjg6Ok51bWJlcjo6TmV3KGlkKSwKICAgICB9OwogICAg
IHY4OjpMb2NhbDx2ODo6VmFsdWU+IGluamVjdGVkU2NyaXB0VmFsdWUgPSB2ODo6RnVuY3Rpb246
OkNhc3QoKnYpLT5DYWxsKHdpbmRvd0dsb2JhbCwgMywgYXJncyk7Ci0gICAgdjg6OkxvY2FsPHY4
OjpPYmplY3Q+IGluamVjdGVkU2NyaXB0KHY4OjpPYmplY3Q6OkNhc3QoKmluamVjdGVkU2NyaXB0
VmFsdWUpKTsKLSAgICByZXR1cm4gU2NyaXB0T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRlLCBp
bmplY3RlZFNjcmlwdCk7CisgICAgcmV0dXJuIFNjcmlwdE9iamVjdChpbnNwZWN0ZWRTY3JpcHRT
dGF0ZSwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChpbmplY3RlZFNjcmlwdFZhbHVlKSk7
CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyOjppbmplY3RXZWJHTFNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNvdXJjZSwgU2NyaXB0
T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CisKKyAgICBT
Y3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3RhdGUgPSBnbENvbnRleHQuc2NyaXB0U3RhdGUo
KTsKKyAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGluc3BlY3RlZENvbnRleHQgPSBpbnNwZWN0
ZWRTY3JpcHRTdGF0ZS0+Y29udGV4dCgpOworICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0
U2NvcGUoaW5zcGVjdGVkQ29udGV4dCk7CisKKyAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gd2lu
ZG93R2xvYmFsID0gaW5zcGVjdGVkQ29udGV4dC0+R2xvYmFsKCk7CisKKyAgICB2ODo6TG9jYWw8
djg6OlNjcmlwdD4gc2NyaXB0ID0gdjg6OlNjcmlwdDo6Q29tcGlsZSh2OFN0cmluZyhzY3JpcHRT
b3VyY2UpKTsKKyAgICBWOFJlY3Vyc2lvblNjb3BlOjpNaWNyb3Rhc2tTdXBwcmVzc2lvbiByZWN1
cnNpb25TY29wZTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2ID0gc2NyaXB0LT5SdW4oKTsK
KyAgICBBU1NFUlQoIXYuSXNFbXB0eSgpKTsKKyAgICBBU1NFUlQodi0+SXNGdW5jdGlvbigpKTsK
KworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmdzW10gPSB7CisgICAgICAgIGdsQ29udGV4
dC52OFZhbHVlKCksCisgICAgfTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBpbmplY3RlZFNj
cmlwdFZhbHVlID0gdjg6OkZ1bmN0aW9uOjpDYXN0KCp2KS0+Q2FsbCh3aW5kb3dHbG9iYWwsIDEs
IGFyZ3MpOworICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5zcGVjdGVkU2NyaXB0U3RhdGUsIHY4
OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoaW5qZWN0ZWRTY3JpcHRWYWx1ZSkpOworfQorI2Vu
ZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQo
U2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0YXRlKQogewogICAgIHY4OjpIYW5kbGVTY29w
ZSBoYW5kbGVTY29wZTsKQEAgLTEyMiw3ICsxNDYsNyBAQCB2b2lkIEluamVjdGVkU2NyaXB0TWFu
YWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTY3JpcHRT
dAogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2JhbCgp
OwogICAgIC8vIFNraXAgcHJveHkgb2JqZWN0LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vydml2
ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUgd2UgbmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9zZSBs
aWZldGltZSBjb25zaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgorICAg
IC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBp
bnNwZWN0ZWQgY29udGV4dC4KICAgICBnbG9iYWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46OkNh
c3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUoKSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+
IGtleSA9IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkZXZ0b29sc0luamVjdGVkU2NyaXB0KCk7CkBA
IC0xMzcsNyArMTYxLDcgQEAgSW5qZWN0ZWRTY3JpcHQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpp
bmplY3RlZFNjcmlwdEZvcihTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2MKIAogICAgIHY4OjpMb2Nh
bDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBjb250ZXh0LT5HbG9iYWwoKTsKICAgICAvLyBTa2lwIHBy
b3h5IG9iamVjdC4gVGhlIHByb3h5IG9iamVjdCB3aWxsIHN1cnZpdmUgcGFnZSBuYXZpZ2F0aW9u
IHdoaWxlIHdlIG5lZWQKLSAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29uc2lkZXMg
d2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KKyAgICAvLyBhbiBvYmplY3Qgd2hv
c2UgbGlmZXRpbWUgY29pbmNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQu
CiAgICAgZ2xvYmFsID0gdjg6OkxvY2FsPHY4OjpPYmplY3Q+OjpDYXN0KGdsb2JhbC0+R2V0UHJv
dG90eXBlKCkpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBrZXkgPSBWOEhpZGRlblBy
b3BlcnR5TmFtZTo6ZGV2dG9vbHNJbmplY3RlZFNjcmlwdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQppbmRleCBlOWQzNzNiMDFl
MDM1ZDViNDRmNjI3NjNjMDY0ODYwNzE1ZmEyNzQ2Li4zNDUzMTNkNDRjMmUzMjlmZDg0ZTAyYmJk
MTVlZTc3M2Q1ZGI0N2M1IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29k
ZUdlbmVyYXRvckluc3BlY3Rvci5weQorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29k
ZUdlbmVyYXRvckluc3BlY3Rvci5weQpAQCAtNDYsNiArNDYsNyBAQCBET01BSU5fREVGSU5FX05B
TUVfTUFQID0gewogICAgICJJbmRleGVkREIiOiAiSU5ERVhFRF9EQVRBQkFTRSIsCiAgICAgIlBy
b2ZpbGVyIjogIkpBVkFTQ1JJUFRfREVCVUdHRVIiLAogICAgICJXb3JrZXIiOiAiV09SS0VSUyIs
CisgICAgIldlYkdMIjogIldFQkdMIiwKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDhlZTVhOThjYzczM2NhMjM4
MDI5NTEzYWRlNTUzZWY4MjIyN2Y2MGIuLmIwOTUwNzVhODVhZDI3MjAxY2QyMTIzYzgyYzVkMzg2
OGNlY2ZjNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdE1hbmFnZXIuY3BwCkBAIC0zNyw3ICszNywxMSBAQAogI2luY2x1ZGUgIkluamVjdGVkU2Ny
aXB0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiSW5qZWN0
ZWRTY3JpcHRTb3VyY2UuaCIKKyNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5qZWN0ZWRX
ZWJHTFNjcmlwdFNvdXJjZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgi
CisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTE3Miw2ICsxNzYsMTggQEAgcGFp
cjxsb25nLCBTY3JpcHRPYmplY3Q+IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0U2NyaXB0
KGNvbnN0IFN0cmluZyYgc291cmMKICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoaWQsIGNyZWF0
ZUluamVjdGVkU2NyaXB0KHNvdXJjZSwgc2NyaXB0U3RhdGUsIGlkKSk7CiB9CiAKKyNpZiBFTkFC
TEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjp3cmFwV2ViR0xS
ZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9iamVjdCBnbENvbnRleHQp
Cit7CisgICAgcmV0dXJuIGluamVjdFdlYkdMU2NyaXB0KGluamVjdGVkV2ViR0xTY3JpcHRTb3Vy
Y2UoKSwgZ2xDb250ZXh0KTsKK30KKworU3RyaW5nIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5q
ZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpCit7CisgICAgcmV0dXJuIFN0cmluZyhyZWludGVycHJl
dF9jYXN0PGNvbnN0IGNoYXIqPihJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzKSwgc2l6ZW9m
KEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMpKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oCmluZGV4IDRkZjNiZDll
NTFkYTE1N2IyZTIxNjIzZGY3OWE4MWJkNDE0NzlhNDQuLmZkMjJmMzU4Nzk2OGRkMGNkNWM2Nzhl
NGExNTEzMzczNThjYjE0YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bmplY3RlZFNjcmlwdE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKQEAgLTcsMTMgKzcsMTMgQEAKICAqIGFyZSBtZXQ6CiAgKgog
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
ICAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KICAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBw
bGUiKSBub3IgdGhlIG5hbWVzIG9mCiAgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisg
KiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgogICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCiAgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBA
IC02NCw2ICs2NCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2NhcmRJbmplY3RlZFNjcmlwdHNG
b3IoRE9NV2luZG93Kik7CiAgICAgdm9pZCByZWxlYXNlT2JqZWN0R3JvdXAoY29uc3QgU3RyaW5n
JiBvYmplY3RHcm91cCk7CiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgU2NyaXB0T2JqZWN0IHdy
YXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0KTsK
KyNlbmRpZgogCiBwcml2YXRlOgogICAgIHR5cGVkZWYgYm9vbCAoKkluc3BlY3RlZFN0YXRlQWNj
ZXNzQ2hlY2spKFNjcmlwdFN0YXRlKik7CkBAIC03Myw2ICs3NiwxMSBAQCBwcml2YXRlOgogICAg
IFNjcmlwdE9iamVjdCBjcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwg
U2NyaXB0U3RhdGUqLCBsb25nIGlkKTsKICAgICB2b2lkIGRpc2NhcmRJbmplY3RlZFNjcmlwdChT
Y3JpcHRTdGF0ZSopOwogCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIFN0cmluZyBpbmplY3RlZFdl
YkdMU2NyaXB0U291cmNlKCk7CisgICAgU2NyaXB0T2JqZWN0IGluamVjdFdlYkdMU2NyaXB0KGNv
bnN0IFN0cmluZyYgc291cmNlLCBTY3JpcHRPYmplY3QpOworI2VuZGlmCisKICAgICBzdGF0aWMg
Ym9vbCBjYW5BY2Nlc3NJbnNwZWN0ZWRXaW5kb3coU2NyaXB0U3RhdGUqKTsKICAgICBzdGF0aWMg
Ym9vbCBjYW5BY2Nlc3NJbnNwZWN0ZWRXb3JrZXJDb250ZXh0KFNjcmlwdFN0YXRlKik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291
cmNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3Vy
Y2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNmE1NTU0ZDMxMmEwZWYwYTMxMjJmNThlYzUxZWMyZGRhZDdkYjAy
YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFdl
YkdMU2NyaXB0U291cmNlLmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisoZnVuY3Rpb24oZ2xDb250ZXh0KSB7
CisKKy8vIEZJWE1FOiBXcmFwIFdlYkdMIGNvbnRleHQgZm9yIGluc3RydW1lbnRhdGlvbi4KK3Jl
dHVybiBnbENvbnRleHQ7CisKK30pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpz
b24KaW5kZXggYzk5MTE2MDhjNGU4Y2RiYWFiNjk3ZTA1NzNkZTNlNzRkZTQwYmI1MS4uMDQyYmU4
ZjZmM2UwMmYzZGJhMzUzN2E4OWM2YzdjZWY3ZWJhYWI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMjgxMSw1ICsyODExLDIxIEBACiAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAiZGlzY29ubmVjdGVkRnJvbVdvcmtlciIKICAgICAgICAgICAgIH0KICAgICAg
ICAgXQorICAgIH0sCisgICAgeworICAgICAgICAiZG9tYWluIjogIldlYkdMIiwKKyAgICAgICAg
ImhpZGRlbiI6IHRydWUsCisgICAgICAgICJ0eXBlcyI6IFtdLAorICAgICAgICAiY29tbWFuZHMi
OiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZW5hYmxlIiwKKyAg
ICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlcyBXZWJHTCBpbnNwZWN0aW9uLiIK
KyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAi
ZGlzYWJsZSIsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIFdlYkdM
IGluc3BlY3Rpb24uIgorICAgICAgICAgICAgfQorICAgICAgICBdLAorICAgICAgICAiZXZlbnRz
IjogW10KICAgICB9XQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JB
bGxJbk9uZS5jcHAKaW5kZXggYjEyMjMwNDMyMzNmOWQ0NDdhNWQzYWI1NTExMDY2OTU5ZWZiZTYy
MS4uYmU5MmExM2ZjN2IzY2Q4NTYxMzYzOGU2MTg4NzdjODJmYjJjMzlhYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCkBAIC02NSw2ICs2NSw3
IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuY3Bw
IgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3Rv
cldvcmtlckFnZW50LmNwcCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmNwcCIKICNp
bmNsdWRlICJOZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggNDZlMGMyYjhjNTRmNGI0MjBj
MjM2ODRjN2JlM2E3NTNhNDViYjc2OS4uYWMxOWM3ZGI5NTNkMjQ1ODM5Y2FkZmEzMjg2ZWY2OGI1
Mjk2MmVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcApAQCAtNjEsNiArNjEsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvclJlc291cmNl
QWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JTdGF0ZS5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
clRpbWVsaW5lQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yV29ya2VyQWdlbnQuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdl
bnRzLmgiCiAjaW5jbHVkZSAiUGFnZUNvbnNvbGVBZ2VudC5oIgpAQCAtMTQ0LDYgKzE0NSwxMCBA
QCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UqIHBhZ2UsIElu
c3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwogICAgIG1fYWdlbnRzLmFwcGVuZChJbnNwZWN0b3JX
b3JrZXJBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5n
ZXQoKSkpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgbV9hZ2VudHMuYXBwZW5k
KEluc3BlY3RvcldlYkdMQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCks
IG1fc3RhdGUuZ2V0KCksIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpKSk7CisjZW5kaWYK
KwogICAgIEFTU0VSVF9BUkcoaW5zcGVjdG9yQ2xpZW50LCBpbnNwZWN0b3JDbGllbnQpOwogICAg
IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3RlZFNjcmlwdEhvc3QoKS0+aW5pdChtX2lu
c3BlY3RvckFnZW50CiAgICAgICAgICwgY29uc29sZUFnZW50CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggY2E5NTBiYWY3
MGQxNzY4NTZjM2NlNjg3MzBkMjlkODFiY2RjMThmMi4uNGViYTRiM2MwYTUyM2FmZGZkMzlhMTJj
ZjMyOWJhNzYwNzk2ZTc5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtNjgsNiArNjgsNyBAQCBjbGFzcyBSZXNvdXJj
ZVJlc3BvbnNlOwogY2xhc3MgU2NyaXB0QXJndW1lbnRzOwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNr
OwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIFNjcmlwdE9iamVjdDsKIGNs
YXNzIFNjcmlwdFByb2ZpbGU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFNoYWRvd1Jv
b3Q7CkBAIC0yMzYsNiArMjM3LDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaWRSZWNl
aXZlV2ViU29ja2V0RnJhbWVFcnJvcihEb2N1bWVudCosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VC
R0wpCisgICAgc3RhdGljIFNjcmlwdE9iamVjdCB3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9y
SW5zdHJ1bWVudGF0aW9uKERvY3VtZW50KiwgU2NyaXB0T2JqZWN0KTsKKyNlbmRpZgorCiAgICAg
c3RhdGljIHZvaWQgbmV0d29ya1N0YXRlQ2hhbmdlZChQYWdlKik7CiAgICAgc3RhdGljIHZvaWQg
dXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1cyhGcmFtZSopOwogCkBAIC05NzUsNyArOTgwLDcg
QEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjptYXJrUmVzb3VyY2VBc0Nh
Y2hlZChQYWdlKiBwYWdlLCB1bnNpZ25lZAogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
aWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50
aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKLSAgICAgICAgbWFya1Jlc291cmNlQXNDYWNoZWRJbXBs
KGluc3RydW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIpOyAKKyAgICAgICAgbWFya1Jlc291cmNl
QXNDYWNoZWRJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIpOwogI2VuZGlmCiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFn
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42YWVhMGFhMzg3Y2RiNzg0YzVjYmQyNmE0Zjk4YjY4YTJjYjNlMzBjCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdM
QWdlbnQuY3BwCkBAIC0wLDAgKzEsMTA0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5B
QkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAiSW5zcGVjdG9yV2Vi
R0xBZ2VudC5oIgorCisjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCisjaW5jbHVk
ZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JTdGF0ZS5oIgorI2lu
Y2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIK
KyNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK25hbWVz
cGFjZSBXZWJHTEFnZW50U3RhdGUgeworc3RhdGljIGNvbnN0IGNoYXIgd2ViR0xBZ2VudEVuYWJs
ZWRbXSA9ICJ3ZWJHTEFnZW50RW5hYmxlZCI7Cit9OworCitJbnNwZWN0b3JXZWJHTEFnZW50OjpJ
bnNwZWN0b3JXZWJHTEFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3Rl
ZFNjcmlwdE1hbmFnZXIpCisgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yV2ViR0xB
Z2VudD4oIldlYkdMIiwgaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUpCisgICAgLCBtX2luamVj
dGVkU2NyaXB0TWFuYWdlcihpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgLCBtX2Zyb250ZW5k
KDApCisgICAgLCBtX2VuYWJsZWQoZmFsc2UpCit7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRz
LT5zZXRJbnNwZWN0b3JXZWJHTEFnZW50KHRoaXMpOworfQorCitJbnNwZWN0b3JXZWJHTEFnZW50
Ojp+SW5zcGVjdG9yV2ViR0xBZ2VudCgpCit7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5z
ZXRJbnNwZWN0b3JXZWJHTEFnZW50KDApOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6
OnNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCkKK3sKKyAgICBBU1NFUlQo
ZnJvbnRlbmQpOworICAgIG1fZnJvbnRlbmQgPSBmcm9udGVuZC0+d2ViZ2woKTsKK30KKwordm9p
ZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpjbGVhckZyb250ZW5kKCkKK3sKKyAgICBtX2Zyb250ZW5k
ID0gMDsKKyAgICBkaXNhYmxlKDApOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OnJl
c3RvcmUoKQoreworICAgIG1fZW5hYmxlZCA9IG1fc3RhdGUtPmdldEJvb2xlYW4oV2ViR0xBZ2Vu
dFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2Vu
dDo6ZW5hYmxlKEVycm9yU3RyaW5nKikKK3sKKyAgICBpZiAobV9lbmFibGVkKQorICAgICAgICBy
ZXR1cm47CisgICAgbV9lbmFibGVkID0gdHJ1ZTsKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFuKFdl
YkdMQWdlbnRTdGF0ZTo6d2ViR0xBZ2VudEVuYWJsZWQsIG1fZW5hYmxlZCk7Cit9CisKK3ZvaWQg
SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZShFcnJvclN0cmluZyopCit7CisgICAgaWYgKCFt
X2VuYWJsZWQpCisgICAgICAgIHJldHVybjsKKyAgICBtX2VuYWJsZWQgPSBmYWxzZTsKKyAgICBt
X3N0YXRlLT5zZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2ViR0xBZ2VudEVuYWJsZWQsIG1f
ZW5hYmxlZCk7Cit9CisKK1NjcmlwdE9iamVjdCBJbnNwZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9iamVjdCBnbENvbnRl
eHQpCit7CisgICAgcmV0dXJuIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT53cmFwV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGdsQ29udGV4dCk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShX
RUJHTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJH
TEFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjAwZDA4Y2EyY2Q3ZTAwMjJkOTYwOTNmMjBkNmZjYjRjYWRmODM3ZDYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xB
Z2VudC5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3BlY3RvcldlYkdMQWdlbnRfaAorI2Rl
ZmluZSBJbnNwZWN0b3JXZWJHTEFnZW50X2gKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVO
QUJMRShXRUJHTCkKKworI2luY2x1ZGUgIkluc3BlY3RvckJhc2VBZ2VudC5oIgorI2luY2x1ZGUg
Ikluc3BlY3RvckZyb250ZW5kLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNs
dWRlICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJbmpl
Y3RlZFNjcmlwdE1hbmFnZXI7CitjbGFzcyBJbnNwZWN0b3JTdGF0ZTsKK2NsYXNzIEluc3RydW1l
bnRpbmdBZ2VudHM7CitjbGFzcyBTY3JpcHRPYmplY3Q7CisKK3R5cGVkZWYgU3RyaW5nIEVycm9y
U3RyaW5nOworCitjbGFzcyBJbnNwZWN0b3JXZWJHTEFnZW50IDogcHVibGljIEluc3BlY3RvckJh
c2VBZ2VudDxJbnNwZWN0b3JXZWJHTEFnZW50PiwgcHVibGljIEluc3BlY3RvckJhY2tlbmREaXNw
YXRjaGVyOjpXZWJHTENvbW1hbmRIYW5kbGVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093
blB0cjxJbnNwZWN0b3JXZWJHTEFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbmplY3RlZFNjcmlwdE1h
bmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFB0cihuZXcgSW5zcGVjdG9yV2ViR0xBZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSwg
aW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKSk7CisgICAgfQorICAgIH5JbnNwZWN0b3JXZWJHTEFnZW50
KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqKTsK
KyAgICB2aXJ0dWFsIHZvaWQgY2xlYXJGcm9udGVuZCgpOworICAgIHZpcnR1YWwgdm9pZCByZXN0
b3JlKCk7CisKKyAgICBib29sIGVuYWJsZWQoKSB7IHJldHVybiBtX2VuYWJsZWQ7IH0KKworICAg
IFNjcmlwdE9iamVjdCB3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9u
KFNjcmlwdE9iamVjdCk7CisKKyAgICAvLyBDYWxsZWQgZnJvbSB0aGUgZnJvbnQtZW5kLgorICAg
IHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JTdHJpbmcqKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlz
YWJsZShFcnJvclN0cmluZyopOworCisgICAgLy8gQ2FsbGVkIGZyb20gdGhlIGluamVjdGVkIHNj
cmlwdC4KKworICAgIC8vIENhbGxlZCBmcm9tIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbgorCitw
cml2YXRlOgorICAgIEluc3BlY3RvcldlYkdMQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIElu
c3BlY3RvclN0YXRlKiwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisKKyAgICBJbmplY3RlZFNj
cmlwdE1hbmFnZXIqIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOworICAgIEluc3BlY3RvckZyb250
ZW5kOjpXZWJHTCogbV9mcm9udGVuZDsKKyAgICBib29sIG1fZW5hYmxlZDsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJM
RShXRUJHTCkKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvcldlYkdMQWdlbnRfaCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1l
bnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1
bWVudGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMyOTdjYjVjYmJmOGUxOWUwZDI4Y2ExMTk2Njk2NDRm
M2UwNTVlNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3Bl
Y3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gKKyNkZWZpbmUgSW5zcGVjdG9yV2ViR0xJbnN0cnVt
ZW50YXRpb25faAorCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5j
bHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5oIgorI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2Vu
dHMuaCIKKyNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihEb2N1bWVudCog
ZG9jdW1lbnQsIFNjcmlwdE9iamVjdCBnbENvbnRleHQpCit7CisjaWYgRU5BQkxFKElOU1BFQ1RP
UikKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGlu
c3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpIHsKKyAgICAgICAgSW5zcGVj
dG9yV2ViR0xBZ2VudCogd2ViR0xBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3Rv
cldlYkdMQWdlbnQoKTsKKyAgICAgICAgaWYgKHdlYkdMQWdlbnQgJiYgd2ViR0xBZ2VudC0+ZW5h
YmxlZCgpKQorICAgICAgICAgICAgcmV0dXJuIHdlYkdMQWdlbnQtPndyYXBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oZ2xDb250ZXh0KTsKKyAgICB9CisjZW5kaWYKKyAg
ICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7Cit9CisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JXZWJH
TEluc3RydW1lbnRhdGlvbl9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVt
ZW50aW5nQWdlbnRzLmgKaW5kZXggMTk0ZWI4NjVlYzc1YTY2ZmVmYjRiNzI0NmYwMDhhODM4YTg4
YWFiYy4uMTMzNGRjN2Q2ZGI3ZWRiMzkwODZiOTZlM2M3ODY0Y2ExNzhmMzQxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCkBAIC01Miw2ICs1
Miw3IEBAIGNsYXNzIEluc3BlY3RvclJlc291cmNlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JSdW50
aW1lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50OwogY2xhc3MgSW5zcGVjdG9y
V29ya2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JXZWJHTEFnZW50OwogY2xhc3MgUGFnZTsKIGNs
YXNzIFBhZ2VSdW50aW1lQWdlbnQ7CiBjbGFzcyBXb3JrZXJDb250ZXh0OwpAQCAtODYsNiArODcs
OSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgICAgICwgbV9pbnNwZWN0b3JX
b3JrZXJBZ2VudCgwKQogI2VuZGlmCisjaWYgRU5BQkxFKFdFQkdMKQorICAgICAgICAsIG1faW5z
cGVjdG9yV2ViR0xBZ2VudCgwKQorI2VuZGlmCiAgICAgeyB9CiAgICAgfkluc3RydW1lbnRpbmdB
Z2VudHMoKSB7IH0KIApAQCAtMTQyLDExICsxNDYsMTcgQEAgcHVibGljOgogICAgIEluc3BlY3Rv
clByb2ZpbGVyQWdlbnQqIGluc3BlY3RvclByb2ZpbGVyQWdlbnQoKSBjb25zdCB7IHJldHVybiBt
X2luc3BlY3RvclByb2ZpbGVyQWdlbnQ7IH0KICAgICB2b2lkIHNldEluc3BlY3RvclByb2ZpbGVy
QWdlbnQoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JQcm9maWxl
ckFnZW50ID0gYWdlbnQ7IH0KICNlbmRpZgorCiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgSW5z
cGVjdG9yV29ya2VyQWdlbnQqIGluc3BlY3RvcldvcmtlckFnZW50KCkgY29uc3QgeyByZXR1cm4g
bV9pbnNwZWN0b3JXb3JrZXJBZ2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yV29ya2VyQWdl
bnQoSW5zcGVjdG9yV29ya2VyQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yV29ya2VyQWdlbnQg
PSBhZ2VudDsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgSW5zcGVjdG9yV2Vi
R0xBZ2VudCogaW5zcGVjdG9yV2ViR0xBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9y
V2ViR0xBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yV2ViR0xBZ2VudChJbnNwZWN0b3JX
ZWJHTEFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvcldlYkdMQWdlbnQgPSBhZ2VudDsgfQorI2Vu
ZGlmCisKIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQ7CiAg
ICAgSW5zcGVjdG9yUGFnZUFnZW50KiBtX2luc3BlY3RvclBhZ2VBZ2VudDsKQEAgLTE3Myw2ICsx
ODMsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgIEluc3BlY3Rvcldvcmtl
ckFnZW50KiBtX2luc3BlY3RvcldvcmtlckFnZW50OwogI2VuZGlmCisjaWYgRU5BQkxFKFdFQkdM
KQorICAgIEluc3BlY3RvcldlYkdMQWdlbnQqIG1faW5zcGVjdG9yV2ViR0xBZ2VudDsKKyNlbmRp
ZgogfTsKIAogSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGF0aW9uRm9yUGFnZShQYWdl
Kik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145336</attachid>
            <date>2012-06-01 10:23:49 -0700</date>
            <delta_ts>2012-06-06 01:47:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120601212347.patch</filename>
            <type>text/plain</type>
            <size>51528</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg5YWE3Mzk0MjU5NTg5
OGIxMjA4YWU1NGQ4YWJiOGFjNDEwOGU1NS4uNDUyMDUwODQyZGE5NjQyZTUxZGFlYjIwZjk0Njhj
MjQ0Zjk0MDA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDEyLTA2LTAxICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFz
RWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50
OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRv
RGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlw
dE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3Jp
cHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENh
bGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1h
bmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3Rl
ZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
amVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KToKKyAgICAgICAgKFdl
YkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRTY3JpcHRGb3IpOgorICAgICAg
ICAqIGluc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5OgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OndyYXBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyOjppbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmg6CisgICAgICAgIChJbmplY3RlZFNjcmlwdE1hbmFn
ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVy
OjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
V2ViR0xBZ2VudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJH
TEFnZW50U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5z
cGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50
Ojp+SW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJH
TEFnZW50OjpzZXRGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFn
ZW50OjpjbGVhckZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdl
bnQ6OnJlc3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5h
YmxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmRpc2FibGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5n
Q29udGV4dEZvckluc3RydW1lbnRhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMQWdlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3Bl
Y3RvcldlYkdMQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZWQp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjppc1dlYkdMSW5zcGVjdG9yRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJ
bnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRz
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdB
Z2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoSW5zdHJ1bWVudGluZ0FnZW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjppbnNwZWN0b3JXZWJH
TEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3Bl
Y3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTE5MDYyIGFuZCBy
MTE5MDY0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlZjJkOTM5ZTQ5NDUzZThiODlhNmI1NzE1
OTdhMDc2MGY3MzM3NjExLi5hMjc2ODM4MTU3ODNjY2U5YzlmNDEyNmQ2NGZiZGJlNjcwMzBhZTFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTU4LDYgKzk1OCw3IEBAIFNFVChXZWJDb3JlX1NP
VVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAgIGlu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0cnVt
ZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAK
QEAgLTE2ODcsNyArMTY4OCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAgICBN
b2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAgTW9k
dWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAorCiAg
ICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3b3Jr
aW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVsZXMv
bmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjU5OCw2ICsyNTk5LDE3
IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAke0RF
UklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAogCisj
IEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJHTCkK
KyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNF
U19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1BSU5f
REVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAgICAg
ICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3IveHhk
LnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVjdG9y
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAgICBM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNIX1RP
T0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNwcCkK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTQ3MzFkYjRjNjMxZjgxYWMwZWI5
ZTcwNDJlODkwY2FjOTJjNGYzMi4uMDkwYmI5NzExOWU4MTI1MDkwZmY3ZDAyZWMyNTE3NTdkOTYw
MzBmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAogIyBD
b3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5p
Z0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8
Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFyZSBt
ZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBw
bGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorIyAg
ICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03ODAs
MTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQoUFJP
SkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtz
LmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVX
aW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVpcmtz
LmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhlbWVX
aW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZpbmRz
dHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAgIFVT
RVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2Vi
Q29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChVU0VS
X0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAogaWZl
cSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxF
X01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtlX25h
bWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdzL3Nj
cmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0tLS0t
LS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAogRXZl
bnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9tYWtl
X2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBAQCBF
eGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5oIEV4
Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3Jp
cHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0tLS0t
LS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVudCBm
YWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBkb20v
bWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpAQCAt
OTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3RlZFNj
cmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29yZSkv
aW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAKK2Fs
bCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0U291
cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUpL2lu
c3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEgKCQo
ZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19XWCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCAyMzg2Nzk5ODk5MjJlNWEyZTE3MDZlMDcw
ZjlkZTFiMjc0MWM0MzNhLi5hMDc3MTY2OThiNTUwN2IxOWFkNjU2YjA0ZGQ4MDJhNjg1OGNhNmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BFQ1RP
Ul9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVj
dG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NPVVJD
RSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERFQlVH
R0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5qcwog
CiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDExICs3
NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VORVJB
VE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGluamVj
dGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVjdGVk
U2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRTY3Jp
cHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRT
Y3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzICR7
UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwgJCRQ
V0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJTEVf
SU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0X3Rv
X3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQogCi0j
IEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBpbGVy
CisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291cmNl
IGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElOSkVD
VEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29tbWFu
ZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdMU2Ny
aXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9IElu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3IgZGVi
dWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0cHV0
ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQgPSBE
RUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBl
cmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FNQUtF
X0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGE5N2Qy
NGZiOGViNzM2YWRiOTI4MDdmMTMzYTEwOGU2ZDBmOGQ1NzMuLmFjZDZiNjllYjYwYTkwYTRlMTli
NmZlNGE5OTcyNTY2OWE5NWNiYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjAsNiArODIw
LDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanM6
IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2Uu
anMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIEluamVj
dGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291
cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJDb3Jl
KS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4pJChQ
RVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzICQo
R0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYgRU5B
QkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBAIC0x
MDY5LDYgKzEwNzEsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3UvTElD
RU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3Iu
cHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBc
CisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMg
XAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDM3ODQyYWZmMzUxNWE4ZDg0NjRjMzA1ZWVhYjAwMzhjZmMz
Yzc5MzIuLmM4NmNjMjQxZTcxYmViOTQ0ZjdhODc0MWJmNGMyODljZGE2NDlhNzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0X3Nv
dXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMCw2ICsyNzIxLDkgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggNTllZjM5M2QxNmZkMjc4YTUx
ZTk3NGNkYzU2ZjJiNTg2Zjk3OTE4Yi4uMmEwZDBiNTZkYzkxY2YwNzU5MThmYWY0ZjZlY2NlZTQ0
ZjEzZjE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZh
bHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3Ry
dW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEu
Y3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRleHRF
ZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisgICAg
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJB
Z2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBpbnNw
ZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDlh
OTc2ZjI4NTFkNTNmYjNmNTZlMTBiZDRjMGFlYzMzZmY4NWUzMWEuLmI4ZDVlNDc2NTRiNTI5ZDc1
OWU4YjM1YWJlYzJkNDg0NDFhZDlhMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzcsNyAr
MTc3LDcgQEAgX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjE2bG9hZEZyYW1lUmVxdWVzdEVSS05T
XzE2RnJhbWVMb2FkUmVxdWVzdEViYk4zV1RGMTBQYXMKIF9fWk43V2ViQ29yZTExRnJhbWVMb2Fk
ZXIxN3N0b3BGb3JVc2VyQ2FuY2VsRWIKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMWxvYWRV
UkxJbnRvQ2hpbGRGcmFtZUVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRVBOU181RnJhbWVFCiBf
X1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMjJmaW5kRnJhbWVGb3JOYXZpZ2F0aW9uRVJLTjNXVEYx
MkF0b21pY1N0cmluZ0VQTlNfOERvY3VtZW50RQotX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjIz
dGltZU9mTGFzdENvbXBsZXRlZExvYWRFdiAgICAKK19fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIy
M3RpbWVPZkxhc3RDb21wbGV0ZWRMb2FkRXYKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyNnJl
bG9hZFdpdGhPdmVycmlkZUVuY29kaW5nRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTFG
cmFtZUxvYWRlcjMyc2V0T3JpZ2luYWxVUkxGb3JEb3dubG9hZFJlcXVlc3RFUk5TXzE1UmVzb3Vy
Y2VSZXF1ZXN0RQogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRpbml0RXYKQEAgLTE2ODQsNyAr
MTY4NCw3IEBAIF93a0dldEFYVGV4dE1hcmtlclR5cGVJRAogX3drR2V0QVhUZXh0TWFya2VyUmFu
Z2VUeXBlSUQKIF93a0NyZWF0ZUFYVGV4dE1hcmtlclJhbmdlCiBfd2tDb3B5QVhUZXh0TWFya2Vy
UmFuZ2VTdGFydAotX3drQ29weUFYVGV4dE1hcmtlclJhbmdlRW5kIAorX3drQ29weUFYVGV4dE1h
cmtlclJhbmdlRW5kCiBfd2tDcmVhdGVBWFRleHRNYXJrZXIKIF93a0dldEJ5dGVzRnJvbUFYVGV4
dE1hcmtlcgogX3drQ3JlYXRlQVhVSUVsZW1lbnRSZWYKQEAgLTE3NzYsNyArMTc3Niw3IEBAIF9f
Wk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMTRyZW1vdmVBbGxJY29uc0V2CiBfX1pON1dlYkNvcmUx
Mkljb25EYXRhYmFzZTE1aWNvblJlY29yZENvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFi
YXNlMTlwYWdlVVJMTWFwcGluZ0NvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjBh
bGxvd0RhdGFiYXNlQ2xlYW51cEV2Ci1fX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIwZGVsYXlE
YXRhYmFzZUNsZWFudXBFdiAgIAorX19aTjdXZWJDb3JlMTJJY29uRGF0YWJhc2UyMGRlbGF5RGF0
YWJhc2VDbGVhbnVwRXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjByZXRhaW5JY29uRm9y
UGFnZVVSTEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjByZXRh
aW5lZFBhZ2VVUkxDb3VudEV2CiBfX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIxcmVsZWFzZUlj
b25Gb3JQYWdlVVJMRVJLTjNXVEY2U3RyaW5nRQpAQCAtMjIxNCwzICsyMjE0LDggQEAgX19aTks3
V2ViQ29yZTROb2RlMzFudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuRXYKICNpZiBFTkFC
TEUoU0hBRE9XX0RPTSkKIF9fWk43V2ViQ29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczE4aXNT
aGFkb3dET01FbmFibGVkRQogI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCR0wpCitfX1pON1dlYkNv
cmUxOUluc3BlY3RvcldlYkdMQWdlbnRDMUVQTlNfMTlJbnN0cnVtZW50aW5nQWdlbnRzRVBOU18x
NEluc3BlY3RvclN0YXRlRVBOU18yMUluamVjdGVkU2NyaXB0TWFuYWdlckUKK19fWk43V2ViQ29y
ZTE5SW5zcGVjdG9yV2ViR0xBZ2VudDQzd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3Ry
dW1lbnRhdGlvbkVOU18xMlNjcmlwdE9iamVjdEUKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cC9XZWJDb3JlLmd5cAppbmRleCA4MjU1ODg0NzliYjczNDg5ODI5NjI5NDBkZjk1M2UwMmVm
ZDMwNjMwLi40ODc0M2QzZmZkMjQ4OTFjYWE4ZjZlMmVjMDc2NmU4YTI4YjAyZjM3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtNDM1LDYgKzQzNSwyOSBAQAogICAg
ICAgXQogICAgIH0sCiAgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ2luamVjdGVkX3dlYmds
X3NjcmlwdF9zb3VyY2UnLAorICAgICAgJ3R5cGUnOiAnbm9uZScsCisgICAgICAnYWN0aW9ucyc6
IFsKKyAgICAgICAgeworICAgICAgICAgICdhY3Rpb25fbmFtZSc6ICdnZW5lcmF0ZUluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UnLAorICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAgICAgICAn
Li4vaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMnLAorICAgICAgICAgIF0s
CisgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJ
QVRFX0RJUikvd2Via2l0L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCcsCisgICAgICAgICAg
XSwKKyAgICAgICAgICAnYWN0aW9uJzogWworICAgICAgICAgICAgJ3BlcmwnLAorICAgICAgICAg
ICAgJy4uL2luc3BlY3Rvci94eGQucGwnLAorICAgICAgICAgICAgJ0luamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2VfanMnLAorICAgICAgICAgICAgJzxAKF9pbnB1dHMpJywKKyAgICAgICAgICAgICc8
QChfb3V0cHV0cyknCisgICAgICAgICAgXSwKKyAgICAgICAgICAnbWVzc2FnZSc6ICdHZW5lcmF0
aW5nIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBmcm9tIEluamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UuanMnLAorICAgICAgICB9LAorICAgICAgXQorICAgIH0sCisgICAgewogICAgICAgJ3Rh
cmdldF9uYW1lJzogJ2RlYnVnZ2VyX3NjcmlwdF9zb3VyY2UnLAogICAgICAgJ3R5cGUnOiAnbm9u
ZScsCiAgICAgICAnYWN0aW9ucyc6IFsKQEAgLTEwNzUsNiArMTA5OCw3IEBACiAgICAgICAgICd3
ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnLAogICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29sX3Nv
dXJjZXMnLAogICAgICAgICAnaW5qZWN0ZWRfc2NyaXB0X3NvdXJjZScsCisgICAgICAgICdpbmpl
Y3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2RlYnVnZ2VyX3NjcmlwdF9zb3Vy
Y2UnLAogICAgICAgICAnLi4vLi4vSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwL0ph
dmFTY3JpcHRDb3JlLmd5cDp5YXJyJywKICAgICAgICAgJy4uLy4uL1dURi9XVEYuZ3lwL1dURi5n
eXA6d3RmJywKQEAgLTExOTgsNiArMTIyMiw3IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzogWwog
ICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAgICdpbmplY3RlZF9zY3Jp
cHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dlYmdsX3NjcmlwdF9zb3VyY2UnLAogICAg
ICAgICAnaW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMnLAogICAgICAgICAnd2ViY29yZV9iaW5k
aW5nc19zb3VyY2VzJywKICAgICAgICAgJy4uLy4uL1RoaXJkUGFydHkvZ2x1L2dsdS5neXA6bGli
dGVzcycsCkBAIC0xNDczLDkgKzE0OTgsOSBAQAogICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKICAg
ICAgICAgJ3dlYmNvcmVfcHJlcmVxdWlzaXRlcycsCiAgICAgICBdLAotICAgICAgJ2RlZmluZXMn
OiBbIAotICAgICAgICAnV0VCS0lUX0lNUExFTUVOVEFUSU9OPTEnLCAKLSAgICAgIF0sIAorICAg
ICAgJ2RlZmluZXMnOiBbCisgICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsCisgICAg
ICBdLAogICAgICAgIyBUaGlzIGlzIG5lZWRlZCBmb3IgbWFjIGJlY2F1c2Ugb2Ygd2Via2l0X3N5
c3RlbV9pbnRlcmZhY2UuIEl0J2QgYmUgbmljZQogICAgICAgIyBpZiB0aGlzIGhhcmQgZGVwZW5k
ZW5jeSBjb3VsZCBiZSBzcGxpdCBvZmYgdGhlIHJlc3QuCiAgICAgICAnaGFyZF9kZXBlbmRlbmN5
JzogMSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA2MWVmYWIxYWQ0NDU3NGI2MjI3Y2NmMDJlM2NmNDc4
YjcyNWQ5MjE0Li5hZjdkNTYzZDE5N2M2Y2MzNDk5NzU1MjAzNWE4MjYwYWQ3NTM3NGM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC0yODE5LDYgKzI4MTksOSBAQAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2Vy
UmVzb3VyY2UuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQu
Y3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oJywKKyAg
ICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCcsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCcsCiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgnLAogICAgICAgICAgICAgJ2lu
c3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcCcsCkBAIC02NjQwLDcgKzY2NDMsNyBAQAog
ICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNtYWxsR3JheS5w
bmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNtYWxs
V2hpdGUucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFy
Y2hOZXh0LnBuZycsCi0gICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2Vh
cmNoUHJldi5wbmcnLCAgICAgICAgICAgIAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1l
bmQvSW1hZ2VzL3NlYXJjaFByZXYucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQt
ZW5kL0ltYWdlcy9zZWdtZW50LnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVu
ZC9JbWFnZXMvc2VnbWVudEVuZC5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1l
bmQvSW1hZ2VzL3NlZ21lbnRIb3Zlci5wbmcnLApAQCAtNzIzOCw2ICs3MjQxLDcgQEAKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1lcy5j
cHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SGVhZGVyRGV0ZWN0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCcsCisgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3RlZFdlYkdMU2NyaXB0U291
cmNlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwJywKICAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggZDVmYzNj
ZTk2MzYzZGM1MTI2ODRmMmY0MDcxYTQyNDg1ZWFjMDYxOC4uYTcyYWYxMDYyOTQ1N2JlZjNmZTk4
NTRjMGM0YmIzNGQwNjk4MTM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKQEAgLTIxLDcgKzIxLDcgQEAK
ICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtMzEsNyArMzEs
OSBAQAogI2luY2x1ZGUgIkhUTUxDYW52YXNFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVj
dG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJKU1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgogI2luY2x1ZGUgIldlYkdMQ29udGV4
dEF0dHJpYnV0ZXMuaCIKICNlbmRpZgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KQEAgLTc1LDcg
Kzc3LDE2IEBAIEpTVmFsdWUgSlNIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dChFeGVjU3Rh
dGUqIGV4ZWMpCiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCA9IGNhbnZhcy0+
Z2V0Q29udGV4dCh1c3RyaW5nVG9TdHJpbmcoY29udGV4dElkKSwgYXR0cnMuZ2V0KCkpOwogICAg
IGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAgIHJldHVybiB0b0pT
KGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihjb250ZXh0KSk7CisgICAgSlNWYWx1
ZSBqc1ZhbHVlID0gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoY29udGV4
dCkpOworI2lmIEVOQUJMRShXRUJHTCkKKyAgICBpZiAoY29udGV4dC0+aXMzZCgpICYmIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpIHsKKyAgICAgICAgU2NyaXB0T2Jq
ZWN0IGdsQ29udGV4dChleGVjLCBqc1ZhbHVlLmdldE9iamVjdCgpKTsKKyAgICAgICAgU2NyaXB0
T2JqZWN0IHdyYXBwZWQgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRl
cmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oY2FudmFzLT5kb2N1bWVudCgpLCBnbENvbnRl
eHQpOworICAgICAgICBpZiAoIXdyYXBwZWQuaGFzTm9WYWx1ZSgpKQorICAgICAgICAgICAgcmV0
dXJuIHdyYXBwZWQuanNWYWx1ZSgpOworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBqc1ZhbHVl
OwogfQogCiBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUq
IGV4ZWMpCkBAIC05Myw3ICsxMDQsNyBAQCBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OnRv
RGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgICAgICBxdWFsaXR5UHRyID0gJnF1YWxp
dHk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzU3Ry
aW5nKGV4ZWMsIGNhbnZhcy0+dG9EYXRhVVJMKHR5cGUsIHF1YWxpdHlQdHIsIGVjKSk7CiAgICAg
c2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKICAgICByZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3Bw
CmluZGV4IDI0OTk5M2YyNzVjYTUyN2FjNjllYWRiYWY1ZjQwZGU3ZGUzZDJmYzYuLjQ4NGNkNWUz
ZDc0NmY3ZDRlNDliZGI4MTdjMDk5ZjRiYTBkNWI4ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKQEAgLTc4LDYg
Kzc4LDE0IEBAIFNjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUluamVj
dGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTCiAgICAgcmV0dXJuIFNjcmlwdE9iamVj
dCgpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0
TWFuYWdlcjo6aW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5nJiwgU2NyaXB0T2JqZWN0KQor
eworICAgIC8vIEZJWE1FKDg3OTc1KTogSW1wbGVtZW50IHRoaXMhCisgICAgcmV0dXJuIFNjcmlw
dE9iamVjdCgpOworfQorI2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNj
YXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKQogewogICAgIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihz
Y3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAppbmRleCBjMTlmYjk4OTJiZGM4YTk3NjRkZjdlM2FiYmY3
OTliMTVkYmI2ODE0Li5lMjFjNmNhY2U3NTE3ZDk0MDRjOWI5YmM0YzAzZWQzODcxYzMyNDBmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwCkBAIC05MCw3ICs5
MCw3IEBAIFNjcmlwdFN0YXRlKiBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCh2ODo6TG9jYWw8djg6
OkNvbnRleHQ+IGNvbnRleHQpCiAKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFsID0g
Y29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94eSBv
YmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAgLy8g
YW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVj
dGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRlcyB3
aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpMb2Nh
bDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4OjpI
YW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OnNjcmlwdFN0YXRl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1M
Q2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggNzM1MTFhODY3NWI3OWQwMjQ4
OTA3NTA1MDc1YTg5OTVjMjdhNWZmZi4uODQ2N2JlMzgzMjg1ZmQzNWQ4OTBhZTIyYjk3NWQ1MDQw
YzIzMzhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcApAQCAtNDIsNiArNDIsNyBA
QAogI2luY2x1ZGUgIlY4Tm9kZS5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIKICNpZiBFTkFCTEUo
V0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNs
dWRlICJWOFdlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlmCiAjaW5jbHVkZSA8d3RmL01h
dGhFeHRyYXMuaD4KQEAgLTg4LDggKzg5LDE3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhU
TUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50CiAg
ICAgaWYgKHJlc3VsdC0+aXMyZCgpKQogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CiAj
aWYgRU5BQkxFKFdFQkdMKQotICAgIGVsc2UgaWYgKHJlc3VsdC0+aXMzZCgpKQotICAgICAgICBy
ZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBh
cmdzLkdldElzb2xhdGUoKSk7CisgICAgZWxzZSBpZiAocmVzdWx0LT5pczNkKCkpIHsKKyAgICAg
ICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHY4UmVzdWx0ID0gdG9WOChzdGF0aWNfY2FzdDxXZWJH
TFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAg
IGlmIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygpKSB7CisgICAgICAg
ICAgICBTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUgPSBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCh2
ODo6Q29udGV4dDo6R2V0Q3VycmVudCgpKTsKKyAgICAgICAgICAgIFNjcmlwdE9iamVjdCBnbENv
bnRleHQoc2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QodjhSZXN1bHQp
KTsKKyAgICAgICAgICAgIFNjcmlwdE9iamVjdCB3cmFwcGVkID0gSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGltcC0+
ZG9jdW1lbnQoKSwgZ2xDb250ZXh0KTsKKyAgICAgICAgICAgIGlmICghd3JhcHBlZC5oYXNOb1Zh
bHVlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudjhWYWx1ZSgpOworICAgICAg
ICB9CisgICAgICAgIHJldHVybiB2OFJlc3VsdDsKKyAgICB9CiAjZW5kaWYKICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gdjg6Ok51bGwoYXJncy5HZXRJc29sYXRlKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElu
amVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5kZXggNDU1NTlmYzZlY2ViMTk5ZmU1ZWE5ZWEyY2Fj
OTE4M2MxNWY5ODA4MC4uNDFiNDMyZTQzM2U0ZDY1MDdkMDZjODczNjZmMzQwMjQ5ZmE2NzNlNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0xMTAsMTAgKzExMCwzNCBAQCBTY3JpcHRP
YmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBT
dHJpbmcmIHNjcmlwdFNvdQogICAgICAgdjg6Ok51bWJlcjo6TmV3KGlkKSwKICAgICB9OwogICAg
IHY4OjpMb2NhbDx2ODo6VmFsdWU+IGluamVjdGVkU2NyaXB0VmFsdWUgPSB2ODo6RnVuY3Rpb246
OkNhc3QoKnYpLT5DYWxsKHdpbmRvd0dsb2JhbCwgMywgYXJncyk7Ci0gICAgdjg6OkxvY2FsPHY4
OjpPYmplY3Q+IGluamVjdGVkU2NyaXB0KHY4OjpPYmplY3Q6OkNhc3QoKmluamVjdGVkU2NyaXB0
VmFsdWUpKTsKLSAgICByZXR1cm4gU2NyaXB0T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRlLCBp
bmplY3RlZFNjcmlwdCk7CisgICAgcmV0dXJuIFNjcmlwdE9iamVjdChpbnNwZWN0ZWRTY3JpcHRT
dGF0ZSwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChpbmplY3RlZFNjcmlwdFZhbHVlKSk7
CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyOjppbmplY3RXZWJHTFNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNvdXJjZSwgU2NyaXB0
T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CisKKyAgICBT
Y3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3RhdGUgPSBnbENvbnRleHQuc2NyaXB0U3RhdGUo
KTsKKyAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGluc3BlY3RlZENvbnRleHQgPSBpbnNwZWN0
ZWRTY3JpcHRTdGF0ZS0+Y29udGV4dCgpOworICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0
U2NvcGUoaW5zcGVjdGVkQ29udGV4dCk7CisKKyAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gd2lu
ZG93R2xvYmFsID0gaW5zcGVjdGVkQ29udGV4dC0+R2xvYmFsKCk7CisKKyAgICB2ODo6TG9jYWw8
djg6OlNjcmlwdD4gc2NyaXB0ID0gdjg6OlNjcmlwdDo6Q29tcGlsZSh2OFN0cmluZyhzY3JpcHRT
b3VyY2UpKTsKKyAgICBWOFJlY3Vyc2lvblNjb3BlOjpNaWNyb3Rhc2tTdXBwcmVzc2lvbiByZWN1
cnNpb25TY29wZTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2ID0gc2NyaXB0LT5SdW4oKTsK
KyAgICBBU1NFUlQoIXYuSXNFbXB0eSgpKTsKKyAgICBBU1NFUlQodi0+SXNGdW5jdGlvbigpKTsK
KworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmdzW10gPSB7CisgICAgICAgIGdsQ29udGV4
dC52OFZhbHVlKCksCisgICAgfTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBpbmplY3RlZFNj
cmlwdFZhbHVlID0gdjg6OkZ1bmN0aW9uOjpDYXN0KCp2KS0+Q2FsbCh3aW5kb3dHbG9iYWwsIDEs
IGFyZ3MpOworICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5zcGVjdGVkU2NyaXB0U3RhdGUsIHY4
OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoaW5qZWN0ZWRTY3JpcHRWYWx1ZSkpOworfQorI2Vu
ZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQo
U2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0YXRlKQogewogICAgIHY4OjpIYW5kbGVTY29w
ZSBoYW5kbGVTY29wZTsKQEAgLTEyMiw3ICsxNDYsNyBAQCB2b2lkIEluamVjdGVkU2NyaXB0TWFu
YWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTY3JpcHRT
dAogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2JhbCgp
OwogICAgIC8vIFNraXAgcHJveHkgb2JqZWN0LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vydml2
ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUgd2UgbmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9zZSBs
aWZldGltZSBjb25zaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgorICAg
IC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBp
bnNwZWN0ZWQgY29udGV4dC4KICAgICBnbG9iYWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46OkNh
c3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUoKSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+
IGtleSA9IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkZXZ0b29sc0luamVjdGVkU2NyaXB0KCk7CkBA
IC0xMzcsNyArMTYxLDcgQEAgSW5qZWN0ZWRTY3JpcHQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpp
bmplY3RlZFNjcmlwdEZvcihTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2MKIAogICAgIHY4OjpMb2Nh
bDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBjb250ZXh0LT5HbG9iYWwoKTsKICAgICAvLyBTa2lwIHBy
b3h5IG9iamVjdC4gVGhlIHByb3h5IG9iamVjdCB3aWxsIHN1cnZpdmUgcGFnZSBuYXZpZ2F0aW9u
IHdoaWxlIHdlIG5lZWQKLSAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29uc2lkZXMg
d2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KKyAgICAvLyBhbiBvYmplY3Qgd2hv
c2UgbGlmZXRpbWUgY29pbmNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQu
CiAgICAgZ2xvYmFsID0gdjg6OkxvY2FsPHY4OjpPYmplY3Q+OjpDYXN0KGdsb2JhbC0+R2V0UHJv
dG90eXBlKCkpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBrZXkgPSBWOEhpZGRlblBy
b3BlcnR5TmFtZTo6ZGV2dG9vbHNJbmplY3RlZFNjcmlwdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQppbmRleCBlOWQzNzNiMDFl
MDM1ZDViNDRmNjI3NjNjMDY0ODYwNzE1ZmEyNzQ2Li4zNDUzMTNkNDRjMmUzMjlmZDg0ZTAyYmJk
MTVlZTc3M2Q1ZGI0N2M1IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29k
ZUdlbmVyYXRvckluc3BlY3Rvci5weQorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29k
ZUdlbmVyYXRvckluc3BlY3Rvci5weQpAQCAtNDYsNiArNDYsNyBAQCBET01BSU5fREVGSU5FX05B
TUVfTUFQID0gewogICAgICJJbmRleGVkREIiOiAiSU5ERVhFRF9EQVRBQkFTRSIsCiAgICAgIlBy
b2ZpbGVyIjogIkpBVkFTQ1JJUFRfREVCVUdHRVIiLAogICAgICJXb3JrZXIiOiAiV09SS0VSUyIs
CisgICAgIldlYkdMIjogIldFQkdMIiwKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDhlZTVhOThjYzczM2NhMjM4
MDI5NTEzYWRlNTUzZWY4MjIyN2Y2MGIuLmIwOTUwNzVhODVhZDI3MjAxY2QyMTIzYzgyYzVkMzg2
OGNlY2ZjNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNj
cmlwdE1hbmFnZXIuY3BwCkBAIC0zNyw3ICszNywxMSBAQAogI2luY2x1ZGUgIkluamVjdGVkU2Ny
aXB0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiSW5qZWN0
ZWRTY3JpcHRTb3VyY2UuaCIKKyNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5qZWN0ZWRX
ZWJHTFNjcmlwdFNvdXJjZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgi
CisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTE3Miw2ICsxNzYsMTggQEAgcGFp
cjxsb25nLCBTY3JpcHRPYmplY3Q+IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0U2NyaXB0
KGNvbnN0IFN0cmluZyYgc291cmMKICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoaWQsIGNyZWF0
ZUluamVjdGVkU2NyaXB0KHNvdXJjZSwgc2NyaXB0U3RhdGUsIGlkKSk7CiB9CiAKKyNpZiBFTkFC
TEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjp3cmFwV2ViR0xS
ZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9iamVjdCBnbENvbnRleHQp
Cit7CisgICAgcmV0dXJuIGluamVjdFdlYkdMU2NyaXB0KGluamVjdGVkV2ViR0xTY3JpcHRTb3Vy
Y2UoKSwgZ2xDb250ZXh0KTsKK30KKworU3RyaW5nIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5q
ZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpCit7CisgICAgcmV0dXJuIFN0cmluZyhyZWludGVycHJl
dF9jYXN0PGNvbnN0IGNoYXIqPihJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzKSwgc2l6ZW9m
KEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMpKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oCmluZGV4IDRkZjNiZDll
NTFkYTE1N2IyZTIxNjIzZGY3OWE4MWJkNDE0NzlhNDQuLmZkMjJmMzU4Nzk2OGRkMGNkNWM2Nzhl
NGExNTEzMzczNThjYjE0YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bmplY3RlZFNjcmlwdE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKQEAgLTcsMTMgKzcsMTMgQEAKICAqIGFyZSBtZXQ6CiAgKgog
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
ICAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KICAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBw
bGUiKSBub3IgdGhlIG5hbWVzIG9mCiAgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisg
KiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgogICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCiAgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBA
IC02NCw2ICs2NCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2NhcmRJbmplY3RlZFNjcmlwdHNG
b3IoRE9NV2luZG93Kik7CiAgICAgdm9pZCByZWxlYXNlT2JqZWN0R3JvdXAoY29uc3QgU3RyaW5n
JiBvYmplY3RHcm91cCk7CiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgU2NyaXB0T2JqZWN0IHdy
YXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0KTsK
KyNlbmRpZgogCiBwcml2YXRlOgogICAgIHR5cGVkZWYgYm9vbCAoKkluc3BlY3RlZFN0YXRlQWNj
ZXNzQ2hlY2spKFNjcmlwdFN0YXRlKik7CkBAIC03Myw2ICs3NiwxMSBAQCBwcml2YXRlOgogICAg
IFNjcmlwdE9iamVjdCBjcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwg
U2NyaXB0U3RhdGUqLCBsb25nIGlkKTsKICAgICB2b2lkIGRpc2NhcmRJbmplY3RlZFNjcmlwdChT
Y3JpcHRTdGF0ZSopOwogCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIFN0cmluZyBpbmplY3RlZFdl
YkdMU2NyaXB0U291cmNlKCk7CisgICAgU2NyaXB0T2JqZWN0IGluamVjdFdlYkdMU2NyaXB0KGNv
bnN0IFN0cmluZyYgc291cmNlLCBTY3JpcHRPYmplY3QpOworI2VuZGlmCisKICAgICBzdGF0aWMg
Ym9vbCBjYW5BY2Nlc3NJbnNwZWN0ZWRXaW5kb3coU2NyaXB0U3RhdGUqKTsKICAgICBzdGF0aWMg
Ym9vbCBjYW5BY2Nlc3NJbnNwZWN0ZWRXb3JrZXJDb250ZXh0KFNjcmlwdFN0YXRlKik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291
cmNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3Vy
Y2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNmE1NTU0ZDMxMmEwZWYwYTMxMjJmNThlYzUxZWMyZGRhZDdkYjAy
YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFdl
YkdMU2NyaXB0U291cmNlLmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisoZnVuY3Rpb24oZ2xDb250ZXh0KSB7
CisKKy8vIEZJWE1FOiBXcmFwIFdlYkdMIGNvbnRleHQgZm9yIGluc3RydW1lbnRhdGlvbi4KK3Jl
dHVybiBnbENvbnRleHQ7CisKK30pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpz
b24KaW5kZXggYzk5MTE2MDhjNGU4Y2RiYWFiNjk3ZTA1NzNkZTNlNzRkZTQwYmI1MS4uMDQyYmU4
ZjZmM2UwMmYzZGJhMzUzN2E4OWM2YzdjZWY3ZWJhYWI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMjgxMSw1ICsyODExLDIxIEBACiAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAiZGlzY29ubmVjdGVkRnJvbVdvcmtlciIKICAgICAgICAgICAgIH0KICAgICAg
ICAgXQorICAgIH0sCisgICAgeworICAgICAgICAiZG9tYWluIjogIldlYkdMIiwKKyAgICAgICAg
ImhpZGRlbiI6IHRydWUsCisgICAgICAgICJ0eXBlcyI6IFtdLAorICAgICAgICAiY29tbWFuZHMi
OiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZW5hYmxlIiwKKyAg
ICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlcyBXZWJHTCBpbnNwZWN0aW9uLiIK
KyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAi
ZGlzYWJsZSIsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIFdlYkdM
IGluc3BlY3Rpb24uIgorICAgICAgICAgICAgfQorICAgICAgICBdLAorICAgICAgICAiZXZlbnRz
IjogW10KICAgICB9XQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JB
bGxJbk9uZS5jcHAKaW5kZXggYjEyMjMwNDMyMzNmOWQ0NDdhNWQzYWI1NTExMDY2OTU5ZWZiZTYy
MS4uYmU5MmExM2ZjN2IzY2Q4NTYxMzYzOGU2MTg4NzdjODJmYjJjMzlhYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCkBAIC02NSw2ICs2NSw3
IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuY3Bw
IgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3Rv
cldvcmtlckFnZW50LmNwcCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmNwcCIKICNp
bmNsdWRlICJOZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggNDZlMGMyYjhjNTRmNGI0MjBj
MjM2ODRjN2JlM2E3NTNhNDViYjc2OS4uYWMxOWM3ZGI5NTNkMjQ1ODM5Y2FkZmEzMjg2ZWY2OGI1
Mjk2MmVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcApAQCAtNjEsNiArNjEsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvclJlc291cmNl
QWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JTdGF0ZS5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
clRpbWVsaW5lQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50LmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yV29ya2VyQWdlbnQuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdl
bnRzLmgiCiAjaW5jbHVkZSAiUGFnZUNvbnNvbGVBZ2VudC5oIgpAQCAtMTQ0LDYgKzE0NSwxMCBA
QCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UqIHBhZ2UsIElu
c3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwogICAgIG1fYWdlbnRzLmFwcGVuZChJbnNwZWN0b3JX
b3JrZXJBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5n
ZXQoKSkpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgbV9hZ2VudHMuYXBwZW5k
KEluc3BlY3RvcldlYkdMQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCks
IG1fc3RhdGUuZ2V0KCksIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpKSk7CisjZW5kaWYK
KwogICAgIEFTU0VSVF9BUkcoaW5zcGVjdG9yQ2xpZW50LCBpbnNwZWN0b3JDbGllbnQpOwogICAg
IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3RlZFNjcmlwdEhvc3QoKS0+aW5pdChtX2lu
c3BlY3RvckFnZW50CiAgICAgICAgICwgY29uc29sZUFnZW50CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggY2E5NTBiYWY3
MGQxNzY4NTZjM2NlNjg3MzBkMjlkODFiY2RjMThmMi4uNGViYTRiM2MwYTUyM2FmZGZkMzlhMTJj
ZjMyOWJhNzYwNzk2ZTc5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtNjgsNiArNjgsNyBAQCBjbGFzcyBSZXNvdXJj
ZVJlc3BvbnNlOwogY2xhc3MgU2NyaXB0QXJndW1lbnRzOwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNr
OwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIFNjcmlwdE9iamVjdDsKIGNs
YXNzIFNjcmlwdFByb2ZpbGU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFNoYWRvd1Jv
b3Q7CkBAIC0yMzYsNiArMjM3LDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaWRSZWNl
aXZlV2ViU29ja2V0RnJhbWVFcnJvcihEb2N1bWVudCosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VC
R0wpCisgICAgc3RhdGljIFNjcmlwdE9iamVjdCB3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9y
SW5zdHJ1bWVudGF0aW9uKERvY3VtZW50KiwgU2NyaXB0T2JqZWN0KTsKKyNlbmRpZgorCiAgICAg
c3RhdGljIHZvaWQgbmV0d29ya1N0YXRlQ2hhbmdlZChQYWdlKik7CiAgICAgc3RhdGljIHZvaWQg
dXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1cyhGcmFtZSopOwogCkBAIC05NzUsNyArOTgwLDcg
QEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjptYXJrUmVzb3VyY2VBc0Nh
Y2hlZChQYWdlKiBwYWdlLCB1bnNpZ25lZAogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
aWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50
aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKLSAgICAgICAgbWFya1Jlc291cmNlQXNDYWNoZWRJbXBs
KGluc3RydW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIpOyAKKyAgICAgICAgbWFya1Jlc291cmNl
QXNDYWNoZWRJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIpOwogI2VuZGlmCiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFn
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42YWVhMGFhMzg3Y2RiNzg0YzVjYmQyNmE0Zjk4YjY4YTJjYjNlMzBjCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdM
QWdlbnQuY3BwCkBAIC0wLDAgKzEsMTA0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5B
QkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAiSW5zcGVjdG9yV2Vi
R0xBZ2VudC5oIgorCisjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCisjaW5jbHVk
ZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JTdGF0ZS5oIgorI2lu
Y2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIK
KyNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK25hbWVz
cGFjZSBXZWJHTEFnZW50U3RhdGUgeworc3RhdGljIGNvbnN0IGNoYXIgd2ViR0xBZ2VudEVuYWJs
ZWRbXSA9ICJ3ZWJHTEFnZW50RW5hYmxlZCI7Cit9OworCitJbnNwZWN0b3JXZWJHTEFnZW50OjpJ
bnNwZWN0b3JXZWJHTEFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3Rl
ZFNjcmlwdE1hbmFnZXIpCisgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yV2ViR0xB
Z2VudD4oIldlYkdMIiwgaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUpCisgICAgLCBtX2luamVj
dGVkU2NyaXB0TWFuYWdlcihpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgLCBtX2Zyb250ZW5k
KDApCisgICAgLCBtX2VuYWJsZWQoZmFsc2UpCit7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRz
LT5zZXRJbnNwZWN0b3JXZWJHTEFnZW50KHRoaXMpOworfQorCitJbnNwZWN0b3JXZWJHTEFnZW50
Ojp+SW5zcGVjdG9yV2ViR0xBZ2VudCgpCit7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5z
ZXRJbnNwZWN0b3JXZWJHTEFnZW50KDApOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6
OnNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCkKK3sKKyAgICBBU1NFUlQo
ZnJvbnRlbmQpOworICAgIG1fZnJvbnRlbmQgPSBmcm9udGVuZC0+d2ViZ2woKTsKK30KKwordm9p
ZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpjbGVhckZyb250ZW5kKCkKK3sKKyAgICBtX2Zyb250ZW5k
ID0gMDsKKyAgICBkaXNhYmxlKDApOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OnJl
c3RvcmUoKQoreworICAgIG1fZW5hYmxlZCA9IG1fc3RhdGUtPmdldEJvb2xlYW4oV2ViR0xBZ2Vu
dFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2Vu
dDo6ZW5hYmxlKEVycm9yU3RyaW5nKikKK3sKKyAgICBpZiAobV9lbmFibGVkKQorICAgICAgICBy
ZXR1cm47CisgICAgbV9lbmFibGVkID0gdHJ1ZTsKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFuKFdl
YkdMQWdlbnRTdGF0ZTo6d2ViR0xBZ2VudEVuYWJsZWQsIG1fZW5hYmxlZCk7Cit9CisKK3ZvaWQg
SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZShFcnJvclN0cmluZyopCit7CisgICAgaWYgKCFt
X2VuYWJsZWQpCisgICAgICAgIHJldHVybjsKKyAgICBtX2VuYWJsZWQgPSBmYWxzZTsKKyAgICBt
X3N0YXRlLT5zZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2ViR0xBZ2VudEVuYWJsZWQsIG1f
ZW5hYmxlZCk7Cit9CisKK1NjcmlwdE9iamVjdCBJbnNwZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9iamVjdCBnbENvbnRl
eHQpCit7CisgICAgcmV0dXJuIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT53cmFwV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGdsQ29udGV4dCk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShX
RUJHTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJH
TEFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjAwZDA4Y2EyY2Q3ZTAwMjJkOTYwOTNmMjBkNmZjYjRjYWRmODM3ZDYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xB
Z2VudC5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3BlY3RvcldlYkdMQWdlbnRfaAorI2Rl
ZmluZSBJbnNwZWN0b3JXZWJHTEFnZW50X2gKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVO
QUJMRShXRUJHTCkKKworI2luY2x1ZGUgIkluc3BlY3RvckJhc2VBZ2VudC5oIgorI2luY2x1ZGUg
Ikluc3BlY3RvckZyb250ZW5kLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNs
dWRlICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJbmpl
Y3RlZFNjcmlwdE1hbmFnZXI7CitjbGFzcyBJbnNwZWN0b3JTdGF0ZTsKK2NsYXNzIEluc3RydW1l
bnRpbmdBZ2VudHM7CitjbGFzcyBTY3JpcHRPYmplY3Q7CisKK3R5cGVkZWYgU3RyaW5nIEVycm9y
U3RyaW5nOworCitjbGFzcyBJbnNwZWN0b3JXZWJHTEFnZW50IDogcHVibGljIEluc3BlY3RvckJh
c2VBZ2VudDxJbnNwZWN0b3JXZWJHTEFnZW50PiwgcHVibGljIEluc3BlY3RvckJhY2tlbmREaXNw
YXRjaGVyOjpXZWJHTENvbW1hbmRIYW5kbGVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093
blB0cjxJbnNwZWN0b3JXZWJHTEFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbmplY3RlZFNjcmlwdE1h
bmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFB0cihuZXcgSW5zcGVjdG9yV2ViR0xBZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSwg
aW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKSk7CisgICAgfQorICAgIH5JbnNwZWN0b3JXZWJHTEFnZW50
KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqKTsK
KyAgICB2aXJ0dWFsIHZvaWQgY2xlYXJGcm9udGVuZCgpOworICAgIHZpcnR1YWwgdm9pZCByZXN0
b3JlKCk7CisKKyAgICBib29sIGVuYWJsZWQoKSB7IHJldHVybiBtX2VuYWJsZWQ7IH0KKworICAg
IFNjcmlwdE9iamVjdCB3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9u
KFNjcmlwdE9iamVjdCk7CisKKyAgICAvLyBDYWxsZWQgZnJvbSB0aGUgZnJvbnQtZW5kLgorICAg
IHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JTdHJpbmcqKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlz
YWJsZShFcnJvclN0cmluZyopOworCisgICAgLy8gQ2FsbGVkIGZyb20gdGhlIGluamVjdGVkIHNj
cmlwdC4KKworICAgIC8vIENhbGxlZCBmcm9tIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbgorCitw
cml2YXRlOgorICAgIEluc3BlY3RvcldlYkdMQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIElu
c3BlY3RvclN0YXRlKiwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisKKyAgICBJbmplY3RlZFNj
cmlwdE1hbmFnZXIqIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOworICAgIEluc3BlY3RvckZyb250
ZW5kOjpXZWJHTCogbV9mcm9udGVuZDsKKyAgICBib29sIG1fZW5hYmxlZDsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJM
RShXRUJHTCkKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvcldlYkdMQWdlbnRfaCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1l
bnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1
bWVudGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMyOTdjYjVjYmJmOGUxOWUwZDI4Y2ExMTk2Njk2NDRm
M2UwNTVlNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3Bl
Y3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gKKyNkZWZpbmUgSW5zcGVjdG9yV2ViR0xJbnN0cnVt
ZW50YXRpb25faAorCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5j
bHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5oIgorI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2Vu
dHMuaCIKKyNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihEb2N1bWVudCog
ZG9jdW1lbnQsIFNjcmlwdE9iamVjdCBnbENvbnRleHQpCit7CisjaWYgRU5BQkxFKElOU1BFQ1RP
UikKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGlu
c3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpIHsKKyAgICAgICAgSW5zcGVj
dG9yV2ViR0xBZ2VudCogd2ViR0xBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3Rv
cldlYkdMQWdlbnQoKTsKKyAgICAgICAgaWYgKHdlYkdMQWdlbnQgJiYgd2ViR0xBZ2VudC0+ZW5h
YmxlZCgpKQorICAgICAgICAgICAgcmV0dXJuIHdlYkdMQWdlbnQtPndyYXBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oZ2xDb250ZXh0KTsKKyAgICB9CisjZW5kaWYKKyAg
ICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7Cit9CisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JXZWJH
TEluc3RydW1lbnRhdGlvbl9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVt
ZW50aW5nQWdlbnRzLmgKaW5kZXggMTk0ZWI4NjVlYzc1YTY2ZmVmYjRiNzI0NmYwMDhhODM4YTg4
YWFiYy4uMTMzNGRjN2Q2ZGI3ZWRiMzkwODZiOTZlM2M3ODY0Y2ExNzhmMzQxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCkBAIC01Miw2ICs1
Miw3IEBAIGNsYXNzIEluc3BlY3RvclJlc291cmNlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JSdW50
aW1lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50OwogY2xhc3MgSW5zcGVjdG9y
V29ya2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JXZWJHTEFnZW50OwogY2xhc3MgUGFnZTsKIGNs
YXNzIFBhZ2VSdW50aW1lQWdlbnQ7CiBjbGFzcyBXb3JrZXJDb250ZXh0OwpAQCAtODYsNiArODcs
OSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgICAgICwgbV9pbnNwZWN0b3JX
b3JrZXJBZ2VudCgwKQogI2VuZGlmCisjaWYgRU5BQkxFKFdFQkdMKQorICAgICAgICAsIG1faW5z
cGVjdG9yV2ViR0xBZ2VudCgwKQorI2VuZGlmCiAgICAgeyB9CiAgICAgfkluc3RydW1lbnRpbmdB
Z2VudHMoKSB7IH0KIApAQCAtMTQyLDExICsxNDYsMTcgQEAgcHVibGljOgogICAgIEluc3BlY3Rv
clByb2ZpbGVyQWdlbnQqIGluc3BlY3RvclByb2ZpbGVyQWdlbnQoKSBjb25zdCB7IHJldHVybiBt
X2luc3BlY3RvclByb2ZpbGVyQWdlbnQ7IH0KICAgICB2b2lkIHNldEluc3BlY3RvclByb2ZpbGVy
QWdlbnQoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JQcm9maWxl
ckFnZW50ID0gYWdlbnQ7IH0KICNlbmRpZgorCiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgSW5z
cGVjdG9yV29ya2VyQWdlbnQqIGluc3BlY3RvcldvcmtlckFnZW50KCkgY29uc3QgeyByZXR1cm4g
bV9pbnNwZWN0b3JXb3JrZXJBZ2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yV29ya2VyQWdl
bnQoSW5zcGVjdG9yV29ya2VyQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yV29ya2VyQWdlbnQg
PSBhZ2VudDsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgSW5zcGVjdG9yV2Vi
R0xBZ2VudCogaW5zcGVjdG9yV2ViR0xBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9y
V2ViR0xBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yV2ViR0xBZ2VudChJbnNwZWN0b3JX
ZWJHTEFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvcldlYkdMQWdlbnQgPSBhZ2VudDsgfQorI2Vu
ZGlmCisKIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQ7CiAg
ICAgSW5zcGVjdG9yUGFnZUFnZW50KiBtX2luc3BlY3RvclBhZ2VBZ2VudDsKQEAgLTE3Myw2ICsx
ODMsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgIEluc3BlY3Rvcldvcmtl
ckFnZW50KiBtX2luc3BlY3RvcldvcmtlckFnZW50OwogI2VuZGlmCisjaWYgRU5BQkxFKFdFQkdM
KQorICAgIEluc3BlY3RvcldlYkdMQWdlbnQqIG1faW5zcGVjdG9yV2ViR0xBZ2VudDsKKyNlbmRp
ZgogfTsKIAogSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGF0aW9uRm9yUGFnZShQYWdl
Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyIGIvU291cmNl
L2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgppbmRleCA2NDU3YjY0YzVjM2U0NzI2MTlmZGUzMGEx
OTBkMjdjODU1YWU2YTA3Li42NDFmYzE5MTJmYzk2MjY5MjBjMjY1ZjYxOGI2YWRiODIxZGE1ZWM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJj
ZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKQEAgLTE0OCw2ICsxNDgsOCBAQCBfWk43V2ViQ29y
ZThEb2N1bWVudDM0d2Via2l0V2lsbEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudEVQTlNfN0VsZW1l
bnRFOwogX1pON1dlYkNvcmU4RG9jdW1lbnQzNXdlYmtpdFdpbGxFbnRlckZ1bGxTY3JlZW5Gb3JF
bGVtZW50RVBOU183RWxlbWVudEU7CiBfWk43V2ViQ29yZTE3SlNET01HbG9iYWxPYmplY3Q2c19p
bmZvRTsKIF9aTjdXZWJDb3JlN1RleHRSdW4yMnNldEFsbG93c1JvdW5kaW5nSGFja3NFYjsKK19a
TjdXZWJDb3JlMTlJbnNwZWN0b3JXZWJHTEFnZW50QzFFUE5TXzE5SW5zdHJ1bWVudGluZ0FnZW50
c0VQTlNfMTRJbnNwZWN0b3JTdGF0ZUVQTlNfMjFJbmplY3RlZFNjcmlwdE1hbmFnZXJFCitfWk43
V2ViQ29yZTE5SW5zcGVjdG9yV2ViR0xBZ2VudDQzd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZv
ckluc3RydW1lbnRhdGlvbkVOU18xMlNjcmlwdE9iamVjdEUKIGxvY2FsOgogX1oqOwogY3RpKjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145526</attachid>
            <date>2012-06-04 00:31:11 -0700</date>
            <delta_ts>2012-06-06 01:47:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120604113110.patch</filename>
            <type>text/plain</type>
            <size>50850</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVjOGRlMmRmODgwNjYy
NDUxOWQ3ZjFhMmM0YTJmMzUwMjZiYWRhOC4uMjlkYjdlNDRkNGE4NDM4NjM1ZDU2YjY3NzI2YWE5
MmRlYTRhZTc3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA2LTAzICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNv
cmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1M
Q2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0
V2ViR0xTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpk
aXNjYXJkSW5qZWN0ZWRTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0NvZGVHZW5l
cmF0b3JJbnNwZWN0b3IucHk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVk
U2NyaXB0TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaDoKKyAgICAgICAgKEluamVjdGVkU2NyaXB0TWFuYWdlcik6CisgICAgICAgICogaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNo
ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkdMQWdlbnRTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0
aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJH
TFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAg
ICAoSW5zdHJ1bWVudGluZ0FnZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5n
QWdlbnRzOjppbnNwZWN0b3JXZWJHTEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6OnNldEluc3BlY3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERh
dGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpIHNob3VsZCBzeW5jaHJvbm91c2x5IHJl
dHVybiBlbnRyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjZWIxZGI0MDZjYjBhZTQ2OTcxNzlj
NmViZWI2NTRmZDRiZGEyMzBhLi5kYzNkNzAzYzc3YjgxNGZjMjJhN2UxZThiNjJjNzViNjA3ZjNk
NDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTYyLDYgKzk2Miw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5j
cHAKQEAgLTE2OTMsNyArMTY5NCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAg
ICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAg
TW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAor
CiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3
b3JraW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVs
ZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjYwNCw2ICsyNjA1
LDE3IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAk
e0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAog
CisjIEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJH
TCkKKyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09V
UkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1B
SU5fREVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAg
ICAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3Iv
eHhkLnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09S
RV9ESVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAg
ICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNI
X1RPT0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNw
cCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAyZmM5ZjE4NjUyMjQzNGYz
ZDJmYWUxMjMzY2U3N2U3YTk1YTE0MC4uMGVkZjIyMTQ1ZTI3YmMyZjg3YjJmMTYzNDJiMWRkOWRm
MjBjYWUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAog
IyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFj
ayA8Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFy
ZSBtZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAor
IyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03
ODAsMTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQo
UFJPSkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZp
bmRzdHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAg
IFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQo
V2ViQ29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChV
U0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAog
aWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5B
QkxFX01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtl
X25hbWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdz
L3NjcmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0t
LS0tLS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAog
RXZlbnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9t
YWtlX2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBA
QCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5o
IEV4Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9z
Y3JpcHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0t
LS0tLS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVu
dCBmYWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBk
b20vbWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpA
QCAtOTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3Rl
ZFNjcmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29y
ZSkvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAK
K2FsbCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUp
L2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUp
L2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEg
KCQoZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19X
WCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBlNWY0ODQ0Njk1Mjg2MjM2MmQ3Yjlk
YjMyMjNhODIxMzQ2NmQzOWJiLi5lMzQ5OGY0ODQ0Y2YwMDYzM2IwNzdhODBjYmJlYjBiMmQ1OGI1
MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BF
Q1RPUl9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5z
cGVjdG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NP
VVJDRSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERF
QlVHR0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5q
cwogCiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDEx
ICs3NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VO
RVJBVE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGlu
amVjdGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVj
dGVkU2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0
ZWRTY3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
ICR7UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwg
JCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJ
TEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0
X3RvX3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQog
Ci0jIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBp
bGVyCisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291
cmNlIGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElO
SkVDVEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29t
bWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9
IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3Ig
ZGVidWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0
cHV0ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQg
PSBERUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9
IHBlcmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FN
QUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDgz
NjhjNmQ0NDcyM2RjOWJiZGZkYmE1MGFkMTczOGY1MTBjNTU2NGIuLmYwYzUyYWI3Y2FlYjUzMjkx
NGQ5NzI2NDE5ODE0ZTlmZTE3ZjQ5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjEsNiAr
ODIxLDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
anM6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0
ZWRTY3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuanMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIElu
amVjdGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJD
b3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4p
JChQRVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpz
ICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYg
RU5BQkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBA
IC0xMDcwLDYgKzEwNzIsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3Uv
TElDRU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0
b3IucHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5q
cyBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
anMgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDVhYzVkZTM2MjQxZDFiODJmYzE4NTVmNzFhZTRhNmM2
NWZkM2UzNDEuLjUyNmY1ZDk5ZDI5ZGJlYTM3MTM4NDA5YTFiNjNiOTJjM2M4YmUyMGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMiw2ICsyNzIzLDkgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYmMwMTE3Yjc1MDYzMTg5
Y2RkMjkxNzQ2NTFiYzZmZDkzZTk5YmFiNC4uMGU3MTk4ZDI1Y2FhMDk4NzFkNjIzN2JlN2RiNWRh
ODEzNTgwMjVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0Rh
dGEuY3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRl
eHRFZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3Bl
Y3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBp
bnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4
IGI3NmQzYmM1YjY1OTNkN2RmOGEwNWY1N2QxMTY1YWFiZDg1NTM0M2IuLjEwZGQ5OGYwMGVjOTk5
NjVlYjczY2QzYTEyMjRiNjYxZDE2N2RhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzcs
NyArMTc3LDcgQEAgX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjE2bG9hZEZyYW1lUmVxdWVzdEVS
S05TXzE2RnJhbWVMb2FkUmVxdWVzdEViYk4zV1RGMTBQYXMKIF9fWk43V2ViQ29yZTExRnJhbWVM
b2FkZXIxN3N0b3BGb3JVc2VyQ2FuY2VsRWIKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMWxv
YWRVUkxJbnRvQ2hpbGRGcmFtZUVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRVBOU181RnJhbWVF
CiBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMjJmaW5kRnJhbWVGb3JOYXZpZ2F0aW9uRVJLTjNX
VEYxMkF0b21pY1N0cmluZ0VQTlNfOERvY3VtZW50RQotX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRl
cjIzdGltZU9mTGFzdENvbXBsZXRlZExvYWRFdiAgICAKK19fWk43V2ViQ29yZTExRnJhbWVMb2Fk
ZXIyM3RpbWVPZkxhc3RDb21wbGV0ZWRMb2FkRXYKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIy
NnJlbG9hZFdpdGhPdmVycmlkZUVuY29kaW5nRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3Jl
MTFGcmFtZUxvYWRlcjMyc2V0T3JpZ2luYWxVUkxGb3JEb3dubG9hZFJlcXVlc3RFUk5TXzE1UmVz
b3VyY2VSZXF1ZXN0RQogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRpbml0RXYKQEAgLTE2ODQs
NyArMTY4NCw3IEBAIF93a0dldEFYVGV4dE1hcmtlclR5cGVJRAogX3drR2V0QVhUZXh0TWFya2Vy
UmFuZ2VUeXBlSUQKIF93a0NyZWF0ZUFYVGV4dE1hcmtlclJhbmdlCiBfd2tDb3B5QVhUZXh0TWFy
a2VyUmFuZ2VTdGFydAotX3drQ29weUFYVGV4dE1hcmtlclJhbmdlRW5kIAorX3drQ29weUFYVGV4
dE1hcmtlclJhbmdlRW5kCiBfd2tDcmVhdGVBWFRleHRNYXJrZXIKIF93a0dldEJ5dGVzRnJvbUFY
VGV4dE1hcmtlcgogX3drQ3JlYXRlQVhVSUVsZW1lbnRSZWYKQEAgLTE3NzYsNyArMTc3Niw3IEBA
IF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMTRyZW1vdmVBbGxJY29uc0V2CiBfX1pON1dlYkNv
cmUxMkljb25EYXRhYmFzZTE1aWNvblJlY29yZENvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRh
dGFiYXNlMTlwYWdlVVJMTWFwcGluZ0NvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNl
MjBhbGxvd0RhdGFiYXNlQ2xlYW51cEV2Ci1fX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIwZGVs
YXlEYXRhYmFzZUNsZWFudXBFdiAgIAorX19aTjdXZWJDb3JlMTJJY29uRGF0YWJhc2UyMGRlbGF5
RGF0YWJhc2VDbGVhbnVwRXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjByZXRhaW5JY29u
Rm9yUGFnZVVSTEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjBy
ZXRhaW5lZFBhZ2VVUkxDb3VudEV2CiBfX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIxcmVsZWFz
ZUljb25Gb3JQYWdlVVJMRVJLTjNXVEY2U3RyaW5nRQpAQCAtMjIxMywzICsyMjEzLDggQEAgX19a
Tks3V2ViQ29yZTROb2RlMzFudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuRXYKICNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKIF9fWk43V2ViQ29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczE4
aXNTaGFkb3dET01FbmFibGVkRQogI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCR0wpCitfX1pON1dl
YkNvcmUxOUluc3BlY3RvcldlYkdMQWdlbnRDMUVQTlNfMTlJbnN0cnVtZW50aW5nQWdlbnRzRVBO
U18xNEluc3BlY3RvclN0YXRlRVBOU18yMUluamVjdGVkU2NyaXB0TWFuYWdlckUKK19fWk43V2Vi
Q29yZTE5SW5zcGVjdG9yV2ViR0xBZ2VudDQzd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvcklu
c3RydW1lbnRhdGlvbkVOU18xMlNjcmlwdE9iamVjdEUKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA3ZDhkN2JlYTg1MjRiNWUwY2QzY2I2YzczM2MwNDkz
MWJmYWFhNTQ5Li5hMjU2MjQ4ZmI3N2YzODI0YzYxYWRkYjQ3MDk4YmQ0YTRmNGZmM2VjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtNDM0LDYgKzQzNCwyOSBAQAog
ICAgICAgXQogICAgIH0sCiAgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ2luamVjdGVkX3dl
YmdsX3NjcmlwdF9zb3VyY2UnLAorICAgICAgJ3R5cGUnOiAnbm9uZScsCisgICAgICAnYWN0aW9u
cyc6IFsKKyAgICAgICAgeworICAgICAgICAgICdhY3Rpb25fbmFtZSc6ICdnZW5lcmF0ZUluamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UnLAorICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAgICAg
ICAnLi4vaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMnLAorICAgICAgICAg
IF0sCisgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJN
RURJQVRFX0RJUikvd2Via2l0L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCcsCisgICAgICAg
ICAgXSwKKyAgICAgICAgICAnYWN0aW9uJzogWworICAgICAgICAgICAgJ3BlcmwnLAorICAgICAg
ICAgICAgJy4uL2luc3BlY3Rvci94eGQucGwnLAorICAgICAgICAgICAgJ0luamVjdGVkV2ViR0xT
Y3JpcHRTb3VyY2VfanMnLAorICAgICAgICAgICAgJzxAKF9pbnB1dHMpJywKKyAgICAgICAgICAg
ICc8QChfb3V0cHV0cyknCisgICAgICAgICAgXSwKKyAgICAgICAgICAnbWVzc2FnZSc6ICdHZW5l
cmF0aW5nIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBmcm9tIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuanMnLAorICAgICAgICB9LAorICAgICAgXQorICAgIH0sCisgICAgewogICAgICAg
J3RhcmdldF9uYW1lJzogJ2RlYnVnZ2VyX3NjcmlwdF9zb3VyY2UnLAogICAgICAgJ3R5cGUnOiAn
bm9uZScsCiAgICAgICAnYWN0aW9ucyc6IFsKQEAgLTEwNzQsNiArMTA5Nyw3IEBACiAgICAgICAg
ICd3ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnLAogICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29s
X3NvdXJjZXMnLAogICAgICAgICAnaW5qZWN0ZWRfc2NyaXB0X3NvdXJjZScsCisgICAgICAgICdp
bmplY3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2RlYnVnZ2VyX3NjcmlwdF9z
b3VyY2UnLAogICAgICAgICAnLi4vLi4vSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lw
L0phdmFTY3JpcHRDb3JlLmd5cDp5YXJyJywKICAgICAgICAgJy4uLy4uL1dURi9XVEYuZ3lwL1dU
Ri5neXA6d3RmJywKQEAgLTExOTcsNiArMTIyMSw3IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzog
WwogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAgICdpbmplY3RlZF9z
Y3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dlYmdsX3NjcmlwdF9zb3VyY2UnLAog
ICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMnLAogICAgICAgICAnd2ViY29yZV9i
aW5kaW5nc19zb3VyY2VzJywKICAgICAgICAgJy4uLy4uL1RoaXJkUGFydHkvZ2x1L2dsdS5neXA6
bGlidGVzcycsCkBAIC0xNDcyLDkgKzE0OTcsOSBAQAogICAgICAgJ2RlcGVuZGVuY2llcyc6IFsK
ICAgICAgICAgJ3dlYmNvcmVfcHJlcmVxdWlzaXRlcycsCiAgICAgICBdLAotICAgICAgJ2RlZmlu
ZXMnOiBbIAotICAgICAgICAnV0VCS0lUX0lNUExFTUVOVEFUSU9OPTEnLCAKLSAgICAgIF0sIAor
ICAgICAgJ2RlZmluZXMnOiBbCisgICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsCisg
ICAgICBdLAogICAgICAgIyBUaGlzIGlzIG5lZWRlZCBmb3IgbWFjIGJlY2F1c2Ugb2Ygd2Via2l0
X3N5c3RlbV9pbnRlcmZhY2UuIEl0J2QgYmUgbmljZQogICAgICAgIyBpZiB0aGlzIGhhcmQgZGVw
ZW5kZW5jeSBjb3VsZCBiZSBzcGxpdCBvZmYgdGhlIHJlc3QuCiAgICAgICAnaGFyZF9kZXBlbmRl
bmN5JzogMSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAwMTMxY2Q0NGZmZDJiMmZjNmQwZWYxN2VhYWRl
YzQzNjlkNGQxMTY5Li5jODkxYzQ5NmU1ZGU3YTM4NGU3MDUyZWVmYTM3NzhlNzg1MmY4OTlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0yODE5LDYgKzI4MTksOSBAQAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9J
bnNwZWN0b3JWYWx1ZXMuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29y
a2VyUmVzb3VyY2UuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdl
bnQuY3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oJywK
KyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCcs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCcsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcCcsCkBAIC02NjQxLDcgKzY2NDQsNyBA
QAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNtYWxsR3Jh
eS5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNt
YWxsV2hpdGUucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9z
ZWFyY2hOZXh0LnBuZycsCi0gICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMv
c2VhcmNoUHJldi5wbmcnLCAgICAgICAgICAgIAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzL3NlYXJjaFByZXYucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJv
bnQtZW5kL0ltYWdlcy9zZWdtZW50LnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250
LWVuZC9JbWFnZXMvc2VnbWVudEVuZC5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzL3NlZ21lbnRIb3Zlci5wbmcnLApAQCAtNzIzOSw2ICs3MjQyLDcgQEAKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1l
cy5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSGVhZGVyRGV0ZWN0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCcsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVyLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggZDVm
YzNjZTk2MzYzZGM1MTI2ODRmMmY0MDcxYTQyNDg1ZWFjMDYxOC4uYTcyYWYxMDYyOTQ1N2JlZjNm
ZTk4NTRjMGM0YmIzNGQwNjk4MTM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKQEAgLTIxLDcgKzIxLDcg
QEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtMzEsNyAr
MzEsOSBAQAogI2luY2x1ZGUgIkhUTUxDYW52YXNFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5z
cGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJKU1dlYkdMUmVuZGVyaW5n
Q29udGV4dC5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgogI2luY2x1ZGUgIldlYkdMQ29u
dGV4dEF0dHJpYnV0ZXMuaCIKICNlbmRpZgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KQEAgLTc1
LDcgKzc3LDE2IEBAIEpTVmFsdWUgSlNIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dChFeGVj
U3RhdGUqIGV4ZWMpCiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCA9IGNhbnZh
cy0+Z2V0Q29udGV4dCh1c3RyaW5nVG9TdHJpbmcoY29udGV4dElkKSwgYXR0cnMuZ2V0KCkpOwog
ICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAgIHJldHVybiB0
b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihjb250ZXh0KSk7CisgICAgSlNW
YWx1ZSBqc1ZhbHVlID0gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoY29u
dGV4dCkpOworI2lmIEVOQUJMRShXRUJHTCkKKyAgICBpZiAoY29udGV4dC0+aXMzZCgpICYmIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpIHsKKyAgICAgICAgU2NyaXB0
T2JqZWN0IGdsQ29udGV4dChleGVjLCBqc1ZhbHVlLmdldE9iamVjdCgpKTsKKyAgICAgICAgU2Ny
aXB0T2JqZWN0IHdyYXBwZWQgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJl
bmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oY2FudmFzLT5kb2N1bWVudCgpLCBnbENv
bnRleHQpOworICAgICAgICBpZiAoIXdyYXBwZWQuaGFzTm9WYWx1ZSgpKQorICAgICAgICAgICAg
cmV0dXJuIHdyYXBwZWQuanNWYWx1ZSgpOworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBqc1Zh
bHVlOwogfQogCiBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3Rh
dGUqIGV4ZWMpCkBAIC05Myw3ICsxMDQsNyBAQCBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6
OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgICAgICBxdWFsaXR5UHRyID0gJnF1
YWxpdHk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGpz
U3RyaW5nKGV4ZWMsIGNhbnZhcy0+dG9EYXRhVVJMKHR5cGUsIHF1YWxpdHlQdHIsIGVjKSk7CiAg
ICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKICAgICByZXR1cm4gcmVzdWx0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwCmluZGV4IDE1NzZkMzQ2ZDA2ZGNhNTBjODRmODNlNWZiOTZkZDYxYWY1OWQ2NzAuLjgwYjRl
Nzg5MDY0ZDc0OWUxYmFkN2Y0YjA3MWQ2NWYxYzA4NGViZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKQEAgLTc4
LDYgKzc4LDE0IEBAIFNjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUlu
amVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTCiAgICAgcmV0dXJuIFNjcmlwdE9i
amVjdCgpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluamVjdGVkU2Ny
aXB0TWFuYWdlcjo6aW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5nJiwgU2NyaXB0T2JqZWN0
KQoreworICAgIC8vIEZJWE1FKDg3OTc1KTogSW1wbGVtZW50IHRoaXMhCisgICAgcmV0dXJuIFNj
cmlwdE9iamVjdCgpOworfQorI2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpk
aXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKQogewogICAgIEpT
RE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3Qq
PihzY3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAppbmRleCBjMTlmYjk4OTJiZGM4YTk3NjRkZjdlM2Fi
YmY3OTliMTVkYmI2ODE0Li5lMjFjNmNhY2U3NTE3ZDk0MDRjOWI5YmM0YzAzZWQzODcxYzMyNDBm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwCkBAIC05MCw3
ICs5MCw3IEBAIFNjcmlwdFN0YXRlKiBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCh2ODo6TG9jYWw8
djg6OkNvbnRleHQ+IGNvbnRleHQpCiAKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFs
ID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94
eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAg
Ly8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5z
cGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRl
cyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpM
b2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4
OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OnNjcmlwdFN0
YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhI
VE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggMjBkYjUzZDY0ZWMxMDE5
YmYxMGQzYzQyYzc4ZWY3MDAyOWYyOWQ3OC4uZTE5ODk2ZmVlMDIwMWIxYjU0YjM1NWQ5ZDBjYjIx
ODNmZDI3ODllNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcApAQCAtNDIsNiArNDIs
NyBAQAogI2luY2x1ZGUgIlY4Tm9kZS5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIKICNpZiBFTkFC
TEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNp
bmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlmCiAjaW5jbHVkZSA8d3Rm
L01hdGhFeHRyYXMuaD4KQEAgLTg4LDggKzg5LDE3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
CiAgICAgaWYgKHJlc3VsdC0+aXMyZCgpKQogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2Fz
dDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7
CiAjaWYgRU5BQkxFKFdFQkdMKQotICAgIGVsc2UgaWYgKHJlc3VsdC0+aXMzZCgpKQotICAgICAg
ICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQp
LCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgZWxzZSBpZiAocmVzdWx0LT5pczNkKCkpIHsKKyAg
ICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHY4UmVzdWx0ID0gdG9WOChzdGF0aWNfY2FzdDxX
ZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAg
ICAgIGlmIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygpKSB7CisgICAg
ICAgICAgICBTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUgPSBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4
dCh2ODo6Q29udGV4dDo6R2V0Q3VycmVudCgpKTsKKyAgICAgICAgICAgIFNjcmlwdE9iamVjdCBn
bENvbnRleHQoc2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QodjhSZXN1
bHQpKTsKKyAgICAgICAgICAgIFNjcmlwdE9iamVjdCB3cmFwcGVkID0gSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGlt
cC0+ZG9jdW1lbnQoKSwgZ2xDb250ZXh0KTsKKyAgICAgICAgICAgIGlmICghd3JhcHBlZC5oYXNO
b1ZhbHVlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudjhWYWx1ZSgpOworICAg
ICAgICB9CisgICAgICAgIHJldHVybiB2OFJlc3VsdDsKKyAgICB9CiAjZW5kaWYKICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gdjg6Ok51bGwoYXJncy5HZXRJc29sYXRlKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5kZXggMzMzZmU1NzVjYjA3OGExMjc1NjdjNjVj
MmM1MWRjZjdhNDZkMWMyMy4uMWNlNTk1ZWM4MDc0YzEyNzJiYzY5MmZkNjE5MDlkZmVhYmVkOTU5
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0xMTAsMTAgKzExMCwzNCBAQCBTY3Jp
cHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdChjb25z
dCBTdHJpbmcmIHNjcmlwdFNvdQogICAgICAgdjg6Ok51bWJlcjo6TmV3KGlkKSwKICAgICB9Owog
ICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGluamVjdGVkU2NyaXB0VmFsdWUgPSB2ODo6RnVuY3Rp
b246OkNhc3QoKnYpLT5DYWxsKHdpbmRvd0dsb2JhbCwgMywgYXJncyk7Ci0gICAgdjg6OkxvY2Fs
PHY4OjpPYmplY3Q+IGluamVjdGVkU2NyaXB0KHY4OjpPYmplY3Q6OkNhc3QoKmluamVjdGVkU2Ny
aXB0VmFsdWUpKTsKLSAgICByZXR1cm4gU2NyaXB0T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRl
LCBpbmplY3RlZFNjcmlwdCk7CisgICAgcmV0dXJuIFNjcmlwdE9iamVjdChpbnNwZWN0ZWRTY3Jp
cHRTdGF0ZSwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChpbmplY3RlZFNjcmlwdFZhbHVl
KSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjppbmplY3RXZWJHTFNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNvdXJjZSwgU2Ny
aXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CisKKyAg
ICBTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3RhdGUgPSBnbENvbnRleHQuc2NyaXB0U3Rh
dGUoKTsKKyAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGluc3BlY3RlZENvbnRleHQgPSBpbnNw
ZWN0ZWRTY3JpcHRTdGF0ZS0+Y29udGV4dCgpOworICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250
ZXh0U2NvcGUoaW5zcGVjdGVkQ29udGV4dCk7CisKKyAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4g
d2luZG93R2xvYmFsID0gaW5zcGVjdGVkQ29udGV4dC0+R2xvYmFsKCk7CisKKyAgICB2ODo6TG9j
YWw8djg6OlNjcmlwdD4gc2NyaXB0ID0gdjg6OlNjcmlwdDo6Q29tcGlsZSh2OFN0cmluZyhzY3Jp
cHRTb3VyY2UpKTsKKyAgICBWOFJlY3Vyc2lvblNjb3BlOjpNaWNyb3Rhc2tTdXBwcmVzc2lvbiBy
ZWN1cnNpb25TY29wZTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2ID0gc2NyaXB0LT5SdW4o
KTsKKyAgICBBU1NFUlQoIXYuSXNFbXB0eSgpKTsKKyAgICBBU1NFUlQodi0+SXNGdW5jdGlvbigp
KTsKKworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmdzW10gPSB7CisgICAgICAgIGdsQ29u
dGV4dC52OFZhbHVlKCksCisgICAgfTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBpbmplY3Rl
ZFNjcmlwdFZhbHVlID0gdjg6OkZ1bmN0aW9uOjpDYXN0KCp2KS0+Q2FsbCh3aW5kb3dHbG9iYWws
IDEsIGFyZ3MpOworICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5zcGVjdGVkU2NyaXB0U3RhdGUs
IHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoaW5qZWN0ZWRTY3JpcHRWYWx1ZSkpOworfQor
I2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3Jp
cHQoU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0YXRlKQogewogICAgIHY4OjpIYW5kbGVT
Y29wZSBoYW5kbGVTY29wZTsKQEAgLTEyMiw3ICsxNDYsNyBAQCB2b2lkIEluamVjdGVkU2NyaXB0
TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTY3Jp
cHRTdAogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2Jh
bCgpOwogICAgIC8vIFNraXAgcHJveHkgb2JqZWN0LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vy
dml2ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUgd2UgbmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9z
ZSBsaWZldGltZSBjb25zaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0Lgor
ICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRo
ZSBpbnNwZWN0ZWQgY29udGV4dC4KICAgICBnbG9iYWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46
OkNhc3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUoKSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJp
bmc+IGtleSA9IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkZXZ0b29sc0luamVjdGVkU2NyaXB0KCk7
CkBAIC0xMzcsNyArMTYxLDcgQEAgSW5qZWN0ZWRTY3JpcHQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
OjppbmplY3RlZFNjcmlwdEZvcihTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2MKIAogICAgIHY4OjpM
b2NhbDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBjb250ZXh0LT5HbG9iYWwoKTsKICAgICAvLyBTa2lw
IHByb3h5IG9iamVjdC4gVGhlIHByb3h5IG9iamVjdCB3aWxsIHN1cnZpdmUgcGFnZSBuYXZpZ2F0
aW9uIHdoaWxlIHdlIG5lZWQKLSAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29uc2lk
ZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KKyAgICAvLyBhbiBvYmplY3Qg
d2hvc2UgbGlmZXRpbWUgY29pbmNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRl
eHQuCiAgICAgZ2xvYmFsID0gdjg6OkxvY2FsPHY4OjpPYmplY3Q+OjpDYXN0KGdsb2JhbC0+R2V0
UHJvdG90eXBlKCkpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBrZXkgPSBWOEhpZGRl
blByb3BlcnR5TmFtZTo6ZGV2dG9vbHNJbmplY3RlZFNjcmlwdCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQppbmRleCBlOWQzNzNi
MDFlMDM1ZDViNDRmNjI3NjNjMDY0ODYwNzE1ZmEyNzQ2Li4zNDUzMTNkNDRjMmUzMjlmZDg0ZTAy
YmJkMTVlZTc3M2Q1ZGI0N2M1IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29kZUdlbmVyYXRvckluc3BlY3Rvci5weQorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29kZUdlbmVyYXRvckluc3BlY3Rvci5weQpAQCAtNDYsNiArNDYsNyBAQCBET01BSU5fREVGSU5F
X05BTUVfTUFQID0gewogICAgICJJbmRleGVkREIiOiAiSU5ERVhFRF9EQVRBQkFTRSIsCiAgICAg
IlByb2ZpbGVyIjogIkpBVkFTQ1JJUFRfREVCVUdHRVIiLAogICAgICJXb3JrZXIiOiAiV09SS0VS
UyIsCisgICAgIldlYkdMIjogIldFQkdMIiwKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IGU0MDZjNGE4ZTE1ODUw
Njg2Zjc2NjRiMmM1ZGZmZWZjYjhhOTJkMmIuLjMxZmY5ZjQxYzYwNjYyYTY0MjY0YWFkZTc1ZmI3
Y2U3ZGE4ZGNiN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0zNyw3ICszNywxMSBAQAogI2luY2x1ZGUgIkluamVjdGVk
U2NyaXB0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiSW5q
ZWN0ZWRTY3JpcHRTb3VyY2UuaCIKKyNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5qZWN0
ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVz
LmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTE3Miw2ICsxNzYsMTggQEAg
cGFpcjxpbnQsIFNjcmlwdE9iamVjdD4gSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RTY3Jp
cHQoY29uc3QgU3RyaW5nJiBzb3VyY2UKICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoaWQsIGNy
ZWF0ZUluamVjdGVkU2NyaXB0KHNvdXJjZSwgc2NyaXB0U3RhdGUsIGlkKSk7CiB9CiAKKyNpZiBF
TkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjp3cmFwV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9iamVjdCBnbENvbnRl
eHQpCit7CisgICAgcmV0dXJuIGluamVjdFdlYkdMU2NyaXB0KGluamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UoKSwgZ2xDb250ZXh0KTsKK30KKworU3RyaW5nIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6
aW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpCit7CisgICAgcmV0dXJuIFN0cmluZyhyZWludGVy
cHJldF9jYXN0PGNvbnN0IGNoYXIqPihJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzKSwgc2l6
ZW9mKEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMpKTsKK30KKyNlbmRpZgorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oCmluZGV4IGE5YmRj
YTUyZmNiYzIyN2FiMjkxYWI3NGE2ZWI4OTE4ZjA0YmQ4ZTQuLjYxM2ZlZjgxMjM4YTQwOTE4YTg2
MzI4NDkwY2FjMDE1Nzk0MzNiNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKQEAgLTcsMTMgKzcsMTMgQEAKICAqIGFyZSBtZXQ6CiAg
KgogICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKICAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KICAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4g
CisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgogICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
QU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCiAgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CkBAIC02NCw2ICs2NCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2NhcmRJbmplY3RlZFNjcmlw
dHNGb3IoRE9NV2luZG93Kik7CiAgICAgdm9pZCByZWxlYXNlT2JqZWN0R3JvdXAoY29uc3QgU3Ry
aW5nJiBvYmplY3RHcm91cCk7CiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgU2NyaXB0T2JqZWN0
IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0
KTsKKyNlbmRpZgogCiBwcml2YXRlOgogICAgIHR5cGVkZWYgYm9vbCAoKkluc3BlY3RlZFN0YXRl
QWNjZXNzQ2hlY2spKFNjcmlwdFN0YXRlKik7CkBAIC03Myw2ICs3NiwxMSBAQCBwcml2YXRlOgog
ICAgIFNjcmlwdE9iamVjdCBjcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJj
ZSwgU2NyaXB0U3RhdGUqLCBpbnQgaWQpOwogICAgIHZvaWQgZGlzY2FyZEluamVjdGVkU2NyaXB0
KFNjcmlwdFN0YXRlKik7CiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgU3RyaW5nIGluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UoKTsKKyAgICBTY3JpcHRPYmplY3QgaW5qZWN0V2ViR0xTY3JpcHQo
Y29uc3QgU3RyaW5nJiBzb3VyY2UsIFNjcmlwdE9iamVjdCk7CisjZW5kaWYKKwogICAgIHN0YXRp
YyBib29sIGNhbkFjY2Vzc0luc3BlY3RlZFdpbmRvdyhTY3JpcHRTdGF0ZSopOwogICAgIHN0YXRp
YyBib29sIGNhbkFjY2Vzc0luc3BlY3RlZFdvcmtlckNvbnRleHQoU2NyaXB0U3RhdGUqKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42YTU1NTRkMzEyYTBlZjBhMzEyMmY1OGVjNTFlYzJkZGFkN2Ri
MDJiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuanMKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyhmdW5jdGlvbihnbENvbnRleHQp
IHsKKworLy8gRklYTUU6IFdyYXAgV2ViR0wgY29udGV4dCBmb3IgaW5zdHJ1bWVudGF0aW9uLgor
cmV0dXJuIGdsQ29udGV4dDsKKworfSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3Iu
anNvbgppbmRleCBjOTkxMTYwOGM0ZThjZGJhYWI2OTdlMDU3M2RlM2U3NGRlNDBiYjUxLi4wNDJi
ZThmNmYzZTAyZjNkYmEzNTM3YTg5YzZjN2NlZjdlYmFhYjRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0yODExLDUgKzI4MTEsMjEgQEAKICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJkaXNjb25uZWN0ZWRGcm9tV29ya2VyIgogICAgICAgICAgICAgfQogICAg
ICAgICBdCisgICAgfSwKKyAgICB7CisgICAgICAgICJkb21haW4iOiAiV2ViR0wiLAorICAgICAg
ICAiaGlkZGVuIjogdHJ1ZSwKKyAgICAgICAgInR5cGVzIjogW10sCisgICAgICAgICJjb21tYW5k
cyI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJlbmFibGUiLAor
ICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGVzIFdlYkdMIGluc3BlY3Rpb24u
IgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6
ICJkaXNhYmxlIiwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGlzYWJsZXMgV2Vi
R0wgaW5zcGVjdGlvbi4iCisgICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJldmVu
dHMiOiBbXQogICAgIH1dCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckFsbEluT25lLmNwcAppbmRleCBiMTIyMzA0MzIzM2Y5ZDQ0N2E1ZDNhYjU1MTEwNjY5NTllZmJl
NjIxLi5iZTkyYTEzZmM3YjNjZDg1NjEzNjM4ZTYxODg3N2M4MmZiMmMzOWFjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKQEAgLTY1LDYgKzY1
LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JTdHlsZVRleHRFZGl0b3IuY3BwIgogI2luY2x1ZGUg
Ikluc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5j
cHAiCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yV29ya2VyQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuY3BwIgog
I2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA0NmUwYzJiOGM1NGY0YjQy
MGMyMzY4NGM3YmUzYTc1M2E0NWJiNzY5Li5hYzE5YzdkYjk1M2QyNDU4MzljYWRmYTMyODZlZjY4
YjUyOTYyZWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwCkBAIC02MSw2ICs2MSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JXb3JrZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdB
Z2VudHMuaCIKICNpbmNsdWRlICJQYWdlQ29uc29sZUFnZW50LmgiCkBAIC0xNDQsNiArMTQ1LDEw
IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwg
SW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAgICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3Rv
cldvcmtlckFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRl
LmdldCgpKSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBtX2FnZW50cy5hcHBl
bmQoSW5zcGVjdG9yV2ViR0xBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQo
KSwgbV9zdGF0ZS5nZXQoKSwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKTsKKyNlbmRp
ZgorCiAgICAgQVNTRVJUX0FSRyhpbnNwZWN0b3JDbGllbnQsIGluc3BlY3RvckNsaWVudCk7CiAg
ICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0SG9zdCgpLT5pbml0KG1f
aW5zcGVjdG9yQWdlbnQKICAgICAgICAgLCBjb25zb2xlQWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBjYTk1MGJh
ZjcwZDE3Njg1NmMzY2U2ODczMGQyOWQ4MWJjZGMxOGYyLi40ZWJhNGIzYzBhNTIzYWZkZmQzOWEx
MmNmMzI5YmE3NjA3OTZlNzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC02OCw2ICs2OCw3IEBAIGNsYXNzIFJlc291
cmNlUmVzcG9uc2U7CiBjbGFzcyBTY3JpcHRBcmd1bWVudHM7CiBjbGFzcyBTY3JpcHRDYWxsU3Rh
Y2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworY2xhc3MgU2NyaXB0T2JqZWN0Owog
Y2xhc3MgU2NyaXB0UHJvZmlsZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU2hhZG93
Um9vdDsKQEAgLTIzNiw2ICsyMzcsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZFJl
Y2VpdmVXZWJTb2NrZXRGcmFtZUVycm9yKERvY3VtZW50KiwgdW5zaWduZWQgbG9uZyBpZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShX
RUJHTCkKKyAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRG
b3JJbnN0cnVtZW50YXRpb24oRG9jdW1lbnQqLCBTY3JpcHRPYmplY3QpOworI2VuZGlmCisKICAg
ICBzdGF0aWMgdm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VkKFBhZ2UqKTsKICAgICBzdGF0aWMgdm9p
ZCB1cGRhdGVBcHBsaWNhdGlvbkNhY2hlU3RhdHVzKEZyYW1lKik7CiAKQEAgLTk3NSw3ICs5ODAs
NyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1hcmtSZXNvdXJjZUFz
Q2FjaGVkKFBhZ2UqIHBhZ2UsIHVuc2lnbmVkCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAg
ICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1l
bnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQotICAgICAgICBtYXJrUmVzb3VyY2VBc0NhY2hlZElt
cGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaWRlbnRpZmllcik7IAorICAgICAgICBtYXJrUmVzb3Vy
Y2VBc0NhY2hlZEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaWRlbnRpZmllcik7CiAjZW5kaWYK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdM
QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZhZWEwYWEzODdjZGI3ODRjNWNiZDI2YTRmOThiNjhhMmNiM2UzMGMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2Vi
R0xBZ2VudC5jcHAKQEAgLTAsMCArMSwxMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBF
TkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisKKyNpbmNsdWRlICJJbnNwZWN0b3JX
ZWJHTEFnZW50LmgiCisKKyNpbmNsdWRlICJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKKyNpbmNs
dWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCisj
aW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5o
IgorI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworbmFt
ZXNwYWNlIFdlYkdMQWdlbnRTdGF0ZSB7CitzdGF0aWMgY29uc3QgY2hhciB3ZWJHTEFnZW50RW5h
YmxlZFtdID0gIndlYkdMQWdlbnRFbmFibGVkIjsKK307CisKK0luc3BlY3RvcldlYkdMQWdlbnQ6
Okluc3BlY3RvcldlYkdMQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0Fn
ZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVj
dGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JXZWJH
TEFnZW50PigiV2ViR0wiLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKKyAgICAsIG1faW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyKGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICAsIG1fZnJvbnRl
bmQoMCkKKyAgICAsIG1fZW5hYmxlZChmYWxzZSkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2Vu
dHMtPnNldEluc3BlY3RvcldlYkdMQWdlbnQodGhpcyk7Cit9CisKK0luc3BlY3RvcldlYkdMQWdl
bnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50KCkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMt
PnNldEluc3BlY3RvcldlYkdMQWdlbnQoMCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2Vu
dDo6c2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKQoreworICAgIEFTU0VS
VChmcm9udGVuZCk7CisgICAgbV9mcm9udGVuZCA9IGZyb250ZW5kLT53ZWJnbCgpOworfQorCit2
b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQoKQoreworICAgIG1fZnJvbnRl
bmQgPSAwOworICAgIGRpc2FibGUoMCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6
cmVzdG9yZSgpCit7CisgICAgbV9lbmFibGVkID0gbV9zdGF0ZS0+Z2V0Qm9vbGVhbihXZWJHTEFn
ZW50U3RhdGU6OndlYkdMQWdlbnRFbmFibGVkKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFn
ZW50OjplbmFibGUoRXJyb3JTdHJpbmcqKQoreworICAgIGlmIChtX2VuYWJsZWQpCisgICAgICAg
IHJldHVybjsKKyAgICBtX2VuYWJsZWQgPSB0cnVlOworICAgIG1fc3RhdGUtPnNldEJvb2xlYW4o
V2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCwgbV9lbmFibGVkKTsKK30KKwordm9p
ZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKK3sKKyAgICBpZiAo
IW1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fZW5hYmxlZCA9IGZhbHNlOworICAg
IG1fc3RhdGUtPnNldEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCwg
bV9lbmFibGVkKTsKK30KKworU2NyaXB0T2JqZWN0IEluc3BlY3RvcldlYkdMQWdlbnQ6OndyYXBX
ZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0IGdsQ29u
dGV4dCkKK3sKKyAgICByZXR1cm4gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPndyYXBXZWJHTFJl
bmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oZ2xDb250ZXh0KTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxF
KFdFQkdMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcldl
YkdMQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDBkMDhjYTJjZDdlMDAyMmQ5NjA5M2YyMGQ2ZmNiNGNhZGY4MzdkNgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJH
TEFnZW50LmgKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yV2ViR0xBZ2VudF9oCisj
ZGVmaW5lIEluc3BlY3RvcldlYkdMQWdlbnRfaAorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYg
RU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAiSW5zcGVjdG9yQmFzZUFnZW50LmgiCisjaW5jbHVk
ZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2lu
Y2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIElu
amVjdGVkU2NyaXB0TWFuYWdlcjsKK2NsYXNzIEluc3BlY3RvclN0YXRlOworY2xhc3MgSW5zdHJ1
bWVudGluZ0FnZW50czsKK2NsYXNzIFNjcmlwdE9iamVjdDsKKwordHlwZWRlZiBTdHJpbmcgRXJy
b3JTdHJpbmc7CisKK2NsYXNzIEluc3BlY3RvcldlYkdMQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9y
QmFzZUFnZW50PEluc3BlY3RvcldlYkdMQWdlbnQ+LCBwdWJsaWMgSW5zcGVjdG9yQmFja2VuZERp
c3BhdGNoZXI6OldlYkdMQ29tbWFuZEhhbmRsZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNz
T3duUHRyPEluc3BlY3RvcldlYkdMQWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIEluamVjdGVkU2NyaXB0
TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBJbnNwZWN0b3JXZWJHTEFnZW50KGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRl
LCBpbmplY3RlZFNjcmlwdE1hbmFnZXIpKTsKKyAgICB9CisgICAgfkluc3BlY3RvcldlYkdMQWdl
bnQoKTsKKworICAgIHZpcnR1YWwgdm9pZCBzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCop
OworICAgIHZpcnR1YWwgdm9pZCBjbGVhckZyb250ZW5kKCk7CisgICAgdmlydHVhbCB2b2lkIHJl
c3RvcmUoKTsKKworICAgIGJvb2wgZW5hYmxlZCgpIHsgcmV0dXJuIG1fZW5hYmxlZDsgfQorCisg
ICAgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRp
b24oU2NyaXB0T2JqZWN0KTsKKworICAgIC8vIENhbGxlZCBmcm9tIHRoZSBmcm9udC1lbmQuCisg
ICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopOworICAgIHZpcnR1YWwgdm9pZCBk
aXNhYmxlKEVycm9yU3RyaW5nKik7CisKKyAgICAvLyBDYWxsZWQgZnJvbSB0aGUgaW5qZWN0ZWQg
c2NyaXB0LgorCisgICAgLy8gQ2FsbGVkIGZyb20gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uCisK
K3ByaXZhdGU6CisgICAgSW5zcGVjdG9yV2ViR0xBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwg
SW5zcGVjdG9yU3RhdGUqLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKKworICAgIEluamVjdGVk
U2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlwdE1hbmFnZXI7CisgICAgSW5zcGVjdG9yRnJv
bnRlbmQ6OldlYkdMKiBtX2Zyb250ZW5kOworICAgIGJvb2wgbV9lbmFibGVkOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5B
QkxFKFdFQkdMKQorCisjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yV2ViR0xBZ2VudF9oKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1
bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0
cnVtZW50YXRpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzI5N2NiNWNiYmY4ZTE5ZTBkMjhjYTExOTY2OTY0
NGYzZTA1NWU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5z
cGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb25faAorI2RlZmluZSBJbnNwZWN0b3JXZWJHTEluc3Ry
dW1lbnRhdGlvbl9oCisKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNp
bmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50LmgiCisjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0Fn
ZW50cy5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKERvY3VtZW50
KiBkb2N1bWVudCwgU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyNpZiBFTkFCTEUoSU5TUEVD
VE9SKQorICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0g
aW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkgeworICAgICAgICBJbnNw
ZWN0b3JXZWJHTEFnZW50KiB3ZWJHTEFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVj
dG9yV2ViR0xBZ2VudCgpOworICAgICAgICBpZiAod2ViR0xBZ2VudCAmJiB3ZWJHTEFnZW50LT5l
bmFibGVkKCkpCisgICAgICAgICAgICByZXR1cm4gd2ViR0xBZ2VudC0+d3JhcFdlYkdMUmVuZGVy
aW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihnbENvbnRleHQpOworICAgIH0KKyNlbmRpZgor
ICAgIHJldHVybiBTY3JpcHRPYmplY3QoKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3Rvcldl
YkdMSW5zdHJ1bWVudGF0aW9uX2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Ry
dW1lbnRpbmdBZ2VudHMuaAppbmRleCAxOTRlYjg2NWVjNzVhNjZmZWZiNGI3MjQ2ZjAwOGE4Mzhh
ODhhYWJjLi4xMzM0ZGM3ZDZkYjdlZGIzOTA4NmI5NmUzYzc4NjRjYTE3OGYzNDFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTUyLDYg
KzUyLDcgQEAgY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJ1
bnRpbWVBZ2VudDsKIGNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0
b3JXb3JrZXJBZ2VudDsKK2NsYXNzIEluc3BlY3RvcldlYkdMQWdlbnQ7CiBjbGFzcyBQYWdlOwog
Y2xhc3MgUGFnZVJ1bnRpbWVBZ2VudDsKIGNsYXNzIFdvcmtlckNvbnRleHQ7CkBAIC04Niw2ICs4
Nyw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICAgICAgLCBtX2luc3BlY3Rv
cldvcmtlckFnZW50KDApCiAjZW5kaWYKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgICAgICwgbV9p
bnNwZWN0b3JXZWJHTEFnZW50KDApCisjZW5kaWYKICAgICB7IH0KICAgICB+SW5zdHJ1bWVudGlu
Z0FnZW50cygpIHsgfQogCkBAIC0xNDIsMTEgKzE0NiwxNyBAQCBwdWJsaWM6CiAgICAgSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudCogaW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJu
IG1faW5zcGVjdG9yUHJvZmlsZXJBZ2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yUHJvZmls
ZXJBZ2VudChJbnNwZWN0b3JQcm9maWxlckFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclByb2Zp
bGVyQWdlbnQgPSBhZ2VudDsgfQogI2VuZGlmCisKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICBJ
bnNwZWN0b3JXb3JrZXJBZ2VudCogaW5zcGVjdG9yV29ya2VyQWdlbnQoKSBjb25zdCB7IHJldHVy
biBtX2luc3BlY3RvcldvcmtlckFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JXb3JrZXJB
Z2VudChJbnNwZWN0b3JXb3JrZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JXb3JrZXJBZ2Vu
dCA9IGFnZW50OyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBJbnNwZWN0b3JX
ZWJHTEFnZW50KiBpbnNwZWN0b3JXZWJHTEFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0
b3JXZWJHTEFnZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JXZWJHTEFnZW50KEluc3BlY3Rv
cldlYkdMQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yV2ViR0xBZ2VudCA9IGFnZW50OyB9Cisj
ZW5kaWYKKwogcHJpdmF0ZToKICAgICBJbnNwZWN0b3JBZ2VudCogbV9pbnNwZWN0b3JBZ2VudDsK
ICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1faW5zcGVjdG9yUGFnZUFnZW50OwpAQCAtMTczLDYg
KzE4Myw5IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgSW5zcGVjdG9yV29y
a2VyQWdlbnQqIG1faW5zcGVjdG9yV29ya2VyQWdlbnQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoV0VC
R0wpCisgICAgSW5zcGVjdG9yV2ViR0xBZ2VudCogbV9pbnNwZWN0b3JXZWJHTEFnZW50OworI2Vu
ZGlmCiB9OwogCiBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50YXRpb25Gb3JQYWdlKFBh
Z2UqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145551</attachid>
            <date>2012-06-04 03:02:56 -0700</date>
            <delta_ts>2012-06-06 01:47:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120604140254.patch</filename>
            <type>text/plain</type>
            <size>54138</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVjOGRlMmRmODgwNjYy
NDUxOWQ3ZjFhMmM0YTJmMzUwMjZiYWRhOC4uMjlkYjdlNDRkNGE4NDM4NjM1ZDU2YjY3NzI2YWE5
MmRlYTRhZTc3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA2LTAzICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNv
cmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1M
Q2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0
V2ViR0xTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpk
aXNjYXJkSW5qZWN0ZWRTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0NvZGVHZW5l
cmF0b3JJbnNwZWN0b3IucHk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVk
U2NyaXB0TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaDoKKyAgICAgICAgKEluamVjdGVkU2NyaXB0TWFuYWdlcik6CisgICAgICAgICogaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNo
ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkdMQWdlbnRTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0
aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJH
TFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAg
ICAoSW5zdHJ1bWVudGluZ0FnZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5n
QWdlbnRzOjppbnNwZWN0b3JXZWJHTEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6OnNldEluc3BlY3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERh
dGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpIHNob3VsZCBzeW5jaHJvbm91c2x5IHJl
dHVybiBlbnRyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjZWIxZGI0MDZjYjBhZTQ2OTcxNzlj
NmViZWI2NTRmZDRiZGEyMzBhLi5kYzNkNzAzYzc3YjgxNGZjMjJhN2UxZThiNjJjNzViNjA3ZjNk
NDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTYyLDYgKzk2Miw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5j
cHAKQEAgLTE2OTMsNyArMTY5NCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAg
ICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAg
TW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAor
CiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3
b3JraW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVs
ZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjYwNCw2ICsyNjA1
LDE3IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAk
e0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAog
CisjIEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJH
TCkKKyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09V
UkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1B
SU5fREVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAg
ICAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3Iv
eHhkLnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09S
RV9ESVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAg
ICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNI
X1RPT0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNw
cCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAyZmM5ZjE4NjUyMjQzNGYz
ZDJmYWUxMjMzY2U3N2U3YTk1YTE0MC4uMGVkZjIyMTQ1ZTI3YmMyZjg3YjJmMTYzNDJiMWRkOWRm
MjBjYWUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAog
IyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFj
ayA8Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFy
ZSBtZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAor
IyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03
ODAsMTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQo
UFJPSkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZp
bmRzdHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAg
IFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQo
V2ViQ29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChV
U0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAog
aWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5B
QkxFX01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtl
X25hbWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdz
L3NjcmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0t
LS0tLS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAog
RXZlbnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9t
YWtlX2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBA
QCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5o
IEV4Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9z
Y3JpcHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0t
LS0tLS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVu
dCBmYWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBk
b20vbWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpA
QCAtOTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3Rl
ZFNjcmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29y
ZSkvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAK
K2FsbCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUp
L2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUp
L2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEg
KCQoZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19X
WCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBlNWY0ODQ0Njk1Mjg2MjM2MmQ3Yjlk
YjMyMjNhODIxMzQ2NmQzOWJiLi5lMzQ5OGY0ODQ0Y2YwMDYzM2IwNzdhODBjYmJlYjBiMmQ1OGI1
MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BF
Q1RPUl9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5z
cGVjdG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NP
VVJDRSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERF
QlVHR0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5q
cwogCiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDEx
ICs3NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VO
RVJBVE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGlu
amVjdGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVj
dGVkU2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0
ZWRTY3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
ICR7UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwg
JCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJ
TEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0
X3RvX3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQog
Ci0jIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBp
bGVyCisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291
cmNlIGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElO
SkVDVEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29t
bWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9
IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3Ig
ZGVidWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0
cHV0ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQg
PSBERUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9
IHBlcmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FN
QUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDgz
NjhjNmQ0NDcyM2RjOWJiZGZkYmE1MGFkMTczOGY1MTBjNTU2NGIuLmYwYzUyYWI3Y2FlYjUzMjkx
NGQ5NzI2NDE5ODE0ZTlmZTE3ZjQ5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjEsNiAr
ODIxLDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
anM6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0
ZWRTY3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuanMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIElu
amVjdGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJD
b3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4p
JChQRVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpz
ICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYg
RU5BQkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBA
IC0xMDcwLDYgKzEwNzIsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3Uv
TElDRU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0
b3IucHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5q
cyBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
anMgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDVhYzVkZTM2MjQxZDFiODJmYzE4NTVmNzFhZTRhNmM2
NWZkM2UzNDEuLjUyNmY1ZDk5ZDI5ZGJlYTM3MTM4NDA5YTFiNjNiOTJjM2M4YmUyMGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMiw2ICsyNzIzLDkgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYmMwMTE3Yjc1MDYzMTg5
Y2RkMjkxNzQ2NTFiYzZmZDkzZTk5YmFiNC4uMGU3MTk4ZDI1Y2FhMDk4NzFkNjIzN2JlN2RiNWRh
ODEzNTgwMjVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0Rh
dGEuY3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRl
eHRFZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3Bl
Y3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBp
bnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwCmluZGV4IDdkOGQ3YmVhODUyNGI1ZTBjZDNjYjZjNzMzYzA0OTMxYmZhYWE1
NDkuLmEyNTYyNDhmYjc3ZjM4MjRjNjFhZGRiNDcwOThiZDRhNGY0ZmYzZWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC00MzQsNiArNDM0LDI5IEBACiAgICAgICBd
CiAgICAgfSwKICAgICB7CisgICAgICAndGFyZ2V0X25hbWUnOiAnaW5qZWN0ZWRfd2ViZ2xfc2Ny
aXB0X3NvdXJjZScsCisgICAgICAndHlwZSc6ICdub25lJywKKyAgICAgICdhY3Rpb25zJzogWwor
ICAgICAgICB7CisgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ2dlbmVyYXRlSW5qZWN0ZWRXZWJH
TFNjcmlwdFNvdXJjZScsCisgICAgICAgICAgJ2lucHV0cyc6IFsKKyAgICAgICAgICAgICcuLi9p
bnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcycsCisgICAgICAgICAgXSwKKyAg
ICAgICAgICAnb3V0cHV0cyc6IFsKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVf
RElSKS93ZWJraXQvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICBdLAor
ICAgICAgICAgICdhY3Rpb24nOiBbCisgICAgICAgICAgICAncGVybCcsCisgICAgICAgICAgICAn
Li4vaW5zcGVjdG9yL3h4ZC5wbCcsCisgICAgICAgICAgICAnSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcycsCisgICAgICAgICAgICAnPEAoX2lucHV0cyknLAorICAgICAgICAgICAgJzxAKF9v
dXRwdXRzKScKKyAgICAgICAgICBdLAorICAgICAgICAgICdtZXNzYWdlJzogJ0dlbmVyYXRpbmcg
SW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIGZyb20gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZS5qcycsCisgICAgICAgIH0sCisgICAgICBdCisgICAgfSwKKyAgICB7CiAgICAgICAndGFyZ2V0
X25hbWUnOiAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAndHlwZSc6ICdub25lJywK
ICAgICAgICdhY3Rpb25zJzogWwpAQCAtMTA3NCw2ICsxMDk3LDcgQEAKICAgICAgICAgJ3dlYmNv
cmVfYmluZGluZ3Nfc291cmNlcycsCiAgICAgICAgICdpbnNwZWN0b3JfcHJvdG9jb2xfc291cmNl
cycsCiAgICAgICAgICdpbmplY3RlZF9zY3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVk
X3dlYmdsX3NjcmlwdF9zb3VyY2UnLAogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScs
CiAgICAgICAgICcuLi8uLi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXAvSmF2YVNj
cmlwdENvcmUuZ3lwOnlhcnInLAogICAgICAgICAnLi4vLi4vV1RGL1dURi5neXAvV1RGLmd5cDp3
dGYnLApAQCAtMTE5Nyw2ICsxMjIxLDcgQEAKICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAg
ICAgICdkZWJ1Z2dlcl9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2luamVjdGVkX3NjcmlwdF9z
b3VyY2UnLAorICAgICAgICAnaW5qZWN0ZWRfd2ViZ2xfc2NyaXB0X3NvdXJjZScsCiAgICAgICAg
ICdpbnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycsCiAgICAgICAgICd3ZWJjb3JlX2JpbmRpbmdz
X3NvdXJjZXMnLAogICAgICAgICAnLi4vLi4vVGhpcmRQYXJ0eS9nbHUvZ2x1Lmd5cDpsaWJ0ZXNz
JywKQEAgLTE0NzIsOSArMTQ5Nyw5IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAg
ICAnd2ViY29yZV9wcmVyZXF1aXNpdGVzJywKICAgICAgIF0sCi0gICAgICAnZGVmaW5lcyc6IFsg
Ci0gICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsIAotICAgICAgXSwgCisgICAgICAn
ZGVmaW5lcyc6IFsKKyAgICAgICAgJ1dFQktJVF9JTVBMRU1FTlRBVElPTj0xJywKKyAgICAgIF0s
CiAgICAgICAjIFRoaXMgaXMgbmVlZGVkIGZvciBtYWMgYmVjYXVzZSBvZiB3ZWJraXRfc3lzdGVt
X2ludGVyZmFjZS4gSXQnZCBiZSBuaWNlCiAgICAgICAjIGlmIHRoaXMgaGFyZCBkZXBlbmRlbmN5
IGNvdWxkIGJlIHNwbGl0IG9mZiB0aGUgcmVzdC4KICAgICAgICdoYXJkX2RlcGVuZGVuY3knOiAx
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCmluZGV4IDAxMzFjZDQ0ZmZkMmIyZmM2ZDBlZjE3ZWFhZGVjNDM2OWQ0
ZDExNjkuLmM4OTFjNDk2ZTVkZTdhMzg0ZTcwNTJlZWZhMzc3OGU3ODUyZjg5OWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKQEAgLTI4MTksNiArMjgxOSw5IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNv
dXJjZS5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAn
LAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgnLAorICAgICAg
ICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwJywKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwJywKQEAgLTY2NDEsNyArNjY0NCw3IEBACiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxHcmF5LnBuZycs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxXaGl0
ZS5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaE5l
eHQucG5nJywKLSAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hQ
cmV2LnBuZycsICAgICAgICAgICAgCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9J
bWFnZXMvc2VhcmNoUHJldi5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQv
SW1hZ2VzL3NlZ21lbnQucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0lt
YWdlcy9zZWdtZW50RW5kLnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9J
bWFnZXMvc2VnbWVudEhvdmVyLnBuZycsCkBAIC03MjM5LDYgKzcyNDIsNyBAQAogICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IZWFk
ZXJEZXRlY3Rpb24uaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
aCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9J
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYwY2NhNzI1OWI4N2Q5MWY4NDBmN2Q1MTA5
YTUxZDFkZmMxYWMxN2QuLmUxMjQ1YTJlYTE3ZjcwZGFlM2EyMzIxMTI4Yzc4YzFjYWU4ZmM4NzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTEzNzEsNiArMTM3MSw5IEBACiAJCTQ5RUVEMTRGMTA1MTk3MUEwMDA5OUZBQiAvKiBK
U1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUVFRDE0QzEwNTE5NzFBMDAwOTlGQUIgLyogSlNXZWJH
TFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwICovOyB9OwogCQk0OUVFRDE1MDEwNTE5NzFBMDAw
OTlGQUIgLyogSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RUVEMTREMTA1MTk3MUEwMDA5OUZB
QiAvKiBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwICovOyB9OwogCQk0OUZDN0E1
MDE0NDRBRjVGMDBBNUQ4NjQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5RkM3QTRGMTQ0NEFGNUYwMEE1
RDg2NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwICovOyB9OworCQk0OUZDODhCNTE1N0NC
MEI5MDA2QUEyODcgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUZDODhCNTE1N0NCMEI5MDA2QUEyODcgLyog
SW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgKi87IH07CisJCTQ5RkM4OEI1MTU3Q0IwQjkwMDZBQTI4
NyAvKiBJbnNwZWN0b3JXZWJHTEFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0OUZDODhCNTE1N0NCMEI5MDA2QUEyODcgLyogSW5zcGVjdG9yV2Vi
R0xBZ2VudC5oICovOyB9OworCQk0OUZDODhCNTE1N0NCMEI5MDA2QUEyODcgLyogSW5zcGVjdG9y
V2ViR0xJbnN0cnVtZW50YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ5RkM4OEI1MTU3Q0IwQjkwMDZBQTI4NyAvKiBJbnNwZWN0b3JXZWJHTElu
c3RydW1lbnRhdGlvbi5oICovOyB9OwogCQk0OUZGQkYxRDExQzg1NTBFMDA2QTcxMTggLyogR3Jh
cGhpY3NDb250ZXh0M0RNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0OUZGQkYxQzExQzg1NTBFMDA2QTcxMTggLyogR3JhcGhpY3NDb250ZXh0M0RN
YWMubW0gKi87IH07CiAJCTQ5RkZCRjNGMTFDOTNFRTMwMDZBNzExOCAvKiBXZWJHTExheWVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUZGQkYzRDEx
QzkzRUUzMDA2QTcxMTggLyogV2ViR0xMYXllci5oICovOyB9OwogCQk0OUZGQkY0MDExQzkzRUUz
MDA2QTcxMTggLyogV2ViR0xMYXllci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ5RkZCRjNFMTFDOTNFRTMwMDZBNzExOCAvKiBXZWJHTExheWVyLm1t
ICovOyB9OwpAQCAtODQwNyw2ICs4NDEwLDkgQEAKIAkJNDlFRUQxNEMxMDUxOTcxQTAwMDk5RkFC
IC8qIEpTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlFRUQxNEQxMDUxOTcxQTAwMDk5RkFCIC8qIEpT
Q2FudmFzUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0OUZDN0E0RjE0NDRBRjVGMDBBNUQ4NjQgLyogRGlzcGxh
eVJlZnJlc2hNb25pdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IERpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQ5RkM4OEI1MTU3Q0IwQjkwMDZBQTI4NyAvKiBJbnNwZWN0b3JXZWJHTEFnZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvcldlYkdMQWdlbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUZDODhCNjE1N0NCMEI5MDA2QUEyODcg
LyogSW5zcGVjdG9yV2ViR0xBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBJbnNwZWN0b3JXZWJHTEFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5
RkM4OEI3MTU3Q0IwQjkwMDZBQTI4NyAvKiBJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JXZWJHTEluc3RydW1l
bnRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUZGQkYxQzExQzg1NTBF
MDA2QTcxMTggLyogR3JhcGhpY3NDb250ZXh0M0RNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBHcmFwaGljc0NvbnRleHQzRE1hYy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDlGRkJGM0QxMUM5M0VFMzAwNkE3MTE4IC8qIFdlYkdMTGF5ZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR0xMYXllci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0OUZGQkYzRTExQzkzRUUzMDA2QTcxMTggLyogV2ViR0xM
YXllci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkdMTGF5
ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDQzMiw2ICsxNDQzOCw5IEBA
CiAJCQkJNzU0MTMzQTcxMDJFMDBFODAwMDc1RDAwIC8qIEluc3BlY3RvclRpbWVsaW5lQWdlbnQu
aCAqLywKIAkJCQk0RjMyODlCMzExQTQyQUFCMDA1QUJFN0UgLyogSW5zcGVjdG9yVmFsdWVzLmNw
cCAqLywKIAkJCQk0RjMyODlCNDExQTQyQUFCMDA1QUJFN0UgLyogSW5zcGVjdG9yVmFsdWVzLmgg
Ki8sCisJCQkJNDlGQzg4QjUxNTdDQjBCOTAwNkFBMjg3IC8qIEluc3BlY3RvcldlYkdMQWdlbnQu
Y3BwICovLAorCQkJCTQ5RkM4OEI2MTU3Q0IwQjkwMDZBQTI4NyAvKiBJbnNwZWN0b3JXZWJHTEFn
ZW50LmggKi8sCisJCQkJNDlGQzg4QjcxNTdDQjBCOTAwNkFBMjg3IC8qIEluc3BlY3RvcldlYkdM
SW5zdHJ1bWVudGF0aW9uLmggKi8sCiAJCQkJRjM4MTBDMTkxMzY1QTQ5NjAwRUQ2RTMzIC8qIElu
c3BlY3RvcldvcmtlckFnZW50LmNwcCAqLywKIAkJCQlGMzgxMEMxQTEzNjVBNDk2MDBFRDZFMzMg
LyogSW5zcGVjdG9yV29ya2VyQWdlbnQuaCAqLywKIAkJCQlGMzc1Q0MwNjExNTBEMzAwMDA4RERC
ODEgLyogSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaCAqLywKQEAgLTIzMjYxLDYgKzIzMjcwLDgg
QEAKIAkJCQk3NTQxMzNBODEwMkUwMEU4MDAwNzVEMDAgLyogSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc4REEyMEYxNTIwRUJBMzAwNjE0MUMxIC8qIEluc3Bl
Y3RvclR5cGVCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0RjMyODlCNjExQTQyQUFCMDA1
QUJFN0UgLyogSW5zcGVjdG9yVmFsdWVzLmggaW4gSGVhZGVycyAqLywKKwkJCQk0OUZDODhCNjE1
N0NCMEI5MDA2QUEyODcgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNDlGQzg4QjcxNTdDQjBCOTAwNkFBMjg3IC8qIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlGMzgxMEMxQzEzNjVBNDk2MDBFRDZFMzMgLyogSW5z
cGVjdG9yV29ya2VyQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzNzVDQzA3MTE1MEQzMDAw
MDhEREI4MSAvKiBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RjNBQkZFMEMxMzBFOURBMDAwRTdGN0QxIC8qIEluc3RydW1lbnRpbmdBZ2VudHMuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjYzODQsNiArMjYzOTUsNyBAQAogCQkJCTc1NDEzM0FBMTAyRTAwRjQwMDA3
NUQwMCAvKiBJbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3
M0QxMzQ3MTRDRTM5RkYwMDU3QUJDQSAvKiBJbnNwZWN0b3JUeXBlQnVpbGRlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk0RjMyODlCNTExQTQyQUFCMDA1QUJFN0UgLyogSW5zcGVjdG9yVmFsdWVz
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQ5RkM4OEI1MTU3Q0IwQjkwMDZBQTI4NyAvKiBJbnNw
ZWN0b3JXZWJHTEFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUYzODEwQzFCMTM2NUE0OTYw
MEVENkUzMyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlG
MzUwQjczNTEzRjEzNzdEMDA4ODBDNDMgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCMjc1MzU2MDBCMDUzODE0MDAyQ0U2NEYgLyogSW50UG9pbnRDRy5jcHAg
aW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggZDVmYzNjZTk2MzYzZGM1MTI2ODRm
MmY0MDcxYTQyNDg1ZWFjMDYxOC4uYTcyYWYxMDYyOTQ1N2JlZjNmZTk4NTRjMGM0YmIzNGQwNjk4
MTM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFz
RWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1M
Q2FudmFzRWxlbWVudEN1c3RvbS5jcHAKQEAgLTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
ICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtMzEsNyArMzEsOSBAQAogI2luY2x1ZGUg
IkhUTUxDYW52YXNFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVt
ZW50YXRpb24uaCIKICNpbmNsdWRlICJKU1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgorI2luY2x1
ZGUgIlNjcmlwdE9iamVjdC5oIgogI2luY2x1ZGUgIldlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaCIK
ICNlbmRpZgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KQEAgLTc1LDcgKzc3LDE2IEBAIEpTVmFs
dWUgSlNIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dChFeGVjU3RhdGUqIGV4ZWMpCiAgICAg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCA9IGNhbnZhcy0+Z2V0Q29udGV4dCh1c3Ry
aW5nVG9TdHJpbmcoY29udGV4dElkKSwgYXR0cnMuZ2V0KCkpOwogICAgIGlmICghY29udGV4dCkK
ICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9i
amVjdCgpLCBXVEY6OmdldFB0cihjb250ZXh0KSk7CisgICAgSlNWYWx1ZSBqc1ZhbHVlID0gdG9K
UyhleGVjLCBnbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoY29udGV4dCkpOworI2lmIEVOQUJM
RShXRUJHTCkKKyAgICBpZiAoY29udGV4dC0+aXMzZCgpICYmIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6aGFzRnJvbnRlbmRzKCkpIHsKKyAgICAgICAgU2NyaXB0T2JqZWN0IGdsQ29udGV4dChl
eGVjLCBqc1ZhbHVlLmdldE9iamVjdCgpKTsKKyAgICAgICAgU2NyaXB0T2JqZWN0IHdyYXBwZWQg
PSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJ
bnN0cnVtZW50YXRpb24oY2FudmFzLT5kb2N1bWVudCgpLCBnbENvbnRleHQpOworICAgICAgICBp
ZiAoIXdyYXBwZWQuaGFzTm9WYWx1ZSgpKQorICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQuanNW
YWx1ZSgpOworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBqc1ZhbHVlOwogfQogCiBKU1ZhbHVl
IEpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCkBAIC05Myw3
ICsxMDQsNyBAQCBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3Rh
dGUqIGV4ZWMpCiAgICAgICAgICAgICBxdWFsaXR5UHRyID0gJnF1YWxpdHk7CiAgICAgICAgIH0K
ICAgICB9Ci0gICAgCisKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzU3RyaW5nKGV4ZWMsIGNhbnZh
cy0+dG9EYXRhVVJMKHR5cGUsIHF1YWxpdHlQdHIsIGVjKSk7CiAgICAgc2V0RE9NRXhjZXB0aW9u
KGV4ZWMsIGVjKTsKICAgICByZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDE1NzZkMzQ2
ZDA2ZGNhNTBjODRmODNlNWZiOTZkZDYxYWY1OWQ2NzAuLjgwYjRlNzg5MDY0ZDc0OWUxYmFkN2Y0
YjA3MWQ2NWYxYzA4NGViZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKQEAgLTc4LDYgKzc4LDE0IEBAIFNjcmlw
dE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUluamVjdGVkU2NyaXB0KGNvbnN0
IFN0cmluZyYgc291cmNlLCBTCiAgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOwogfQogCisjaWYg
RU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0
V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5nJiwgU2NyaXB0T2JqZWN0KQoreworICAgIC8vIEZJWE1F
KDg3OTc1KTogSW1wbGVtZW50IHRoaXMhCisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQor
I2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3Jp
cHQoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKQogewogICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QgPSBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihzY3JpcHRTdGF0ZS0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1NjcmlwdFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0
YXRlLmNwcAppbmRleCBjMTlmYjk4OTJiZGM4YTk3NjRkZjdlM2FiYmY3OTliMTVkYmI2ODE0Li5l
MjFjNmNhY2U3NTE3ZDk0MDRjOWI5YmM0YzAzZWQzODcxYzMyNDBmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwCkBAIC05MCw3ICs5MCw3IEBAIFNjcmlwdFN0
YXRlKiBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCh2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRl
eHQpCiAKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFs
KCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2
aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3Nl
IGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisg
ICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhl
IGluc3BlY3RlZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6
Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmlu
Zz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OnNjcmlwdFN0YXRlKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFz
RWxlbWVudEN1c3RvbS5jcHAKaW5kZXggMjBkYjUzZDY0ZWMxMDE5YmYxMGQzYzQyYzc4ZWY3MDAy
OWYyOWQ3OC4uZTE5ODk2ZmVlMDIwMWIxYjU0YjM1NWQ5ZDBjYjIxODNmZDI3ODllNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1l
bnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhU
TUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlY4
Tm9kZS5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVk
ZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJWOFdlYkdMUmVu
ZGVyaW5nQ29udGV4dC5oIgogI2VuZGlmCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAg
LTg4LDggKzg5LDE3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhUTUxDYW52YXNFbGVtZW50
OjpnZXRDb250ZXh0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50CiAgICAgaWYgKHJlc3VsdC0+
aXMyZCgpKQogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CiAjaWYgRU5BQkxFKFdFQkdM
KQotICAgIGVsc2UgaWYgKHJlc3VsdC0+aXMzZCgpKQotICAgICAgICByZXR1cm4gdG9WOChzdGF0
aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUo
KSk7CisgICAgZWxzZSBpZiAocmVzdWx0LT5pczNkKCkpIHsKKyAgICAgICAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IHY4UmVzdWx0ID0gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRl
eHQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIGlmIChJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygpKSB7CisgICAgICAgICAgICBTY3JpcHRTdGF0
ZSogc2NyaXB0U3RhdGUgPSBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCh2ODo6Q29udGV4dDo6R2V0
Q3VycmVudCgpKTsKKyAgICAgICAgICAgIFNjcmlwdE9iamVjdCBnbENvbnRleHQoc2NyaXB0U3Rh
dGUsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QodjhSZXN1bHQpKTsKKyAgICAgICAgICAg
IFNjcmlwdE9iamVjdCB3cmFwcGVkID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFwV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGltcC0+ZG9jdW1lbnQoKSwgZ2xD
b250ZXh0KTsKKyAgICAgICAgICAgIGlmICghd3JhcHBlZC5oYXNOb1ZhbHVlKCkpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIHdyYXBwZWQudjhWYWx1ZSgpOworICAgICAgICB9CisgICAgICAgIHJl
dHVybiB2OFJlc3VsdDsKKyAgICB9CiAjZW5kaWYKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICByZXR1cm4gdjg6Ok51bGwoYXJncy5HZXRJc29sYXRlKCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFu
YWdlci5jcHAKaW5kZXggMzMzZmU1NzVjYjA3OGExMjc1NjdjNjVjMmM1MWRjZjdhNDZkMWMyMy4u
MWNlNTk1ZWM4MDc0YzEyNzJiYzY5MmZkNjE5MDlkZmVhYmVkOTU5YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlw
dE1hbmFnZXIuY3BwCkBAIC0xMTAsMTAgKzExMCwzNCBAQCBTY3JpcHRPYmplY3QgSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNv
dQogICAgICAgdjg6Ok51bWJlcjo6TmV3KGlkKSwKICAgICB9OwogICAgIHY4OjpMb2NhbDx2ODo6
VmFsdWU+IGluamVjdGVkU2NyaXB0VmFsdWUgPSB2ODo6RnVuY3Rpb246OkNhc3QoKnYpLT5DYWxs
KHdpbmRvd0dsb2JhbCwgMywgYXJncyk7Ci0gICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGluamVj
dGVkU2NyaXB0KHY4OjpPYmplY3Q6OkNhc3QoKmluamVjdGVkU2NyaXB0VmFsdWUpKTsKLSAgICBy
ZXR1cm4gU2NyaXB0T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRlLCBpbmplY3RlZFNjcmlwdCk7
CisgICAgcmV0dXJuIFNjcmlwdE9iamVjdChpbnNwZWN0ZWRTY3JpcHRTdGF0ZSwgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0Pjo6Q2FzdChpbmplY3RlZFNjcmlwdFZhbHVlKSk7CiB9CiAKKyNpZiBFTkFC
TEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RXZWJH
TFNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNvdXJjZSwgU2NyaXB0T2JqZWN0IGdsQ29udGV4
dCkKK3sKKyAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CisKKyAgICBTY3JpcHRTdGF0ZSogaW5z
cGVjdGVkU2NyaXB0U3RhdGUgPSBnbENvbnRleHQuc2NyaXB0U3RhdGUoKTsKKyAgICB2ODo6TG9j
YWw8djg6OkNvbnRleHQ+IGluc3BlY3RlZENvbnRleHQgPSBpbnNwZWN0ZWRTY3JpcHRTdGF0ZS0+
Y29udGV4dCgpOworICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUoaW5zcGVjdGVk
Q29udGV4dCk7CisKKyAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gd2luZG93R2xvYmFsID0gaW5z
cGVjdGVkQ29udGV4dC0+R2xvYmFsKCk7CisKKyAgICB2ODo6TG9jYWw8djg6OlNjcmlwdD4gc2Ny
aXB0ID0gdjg6OlNjcmlwdDo6Q29tcGlsZSh2OFN0cmluZyhzY3JpcHRTb3VyY2UpKTsKKyAgICBW
OFJlY3Vyc2lvblNjb3BlOjpNaWNyb3Rhc2tTdXBwcmVzc2lvbiByZWN1cnNpb25TY29wZTsKKyAg
ICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2ID0gc2NyaXB0LT5SdW4oKTsKKyAgICBBU1NFUlQoIXYu
SXNFbXB0eSgpKTsKKyAgICBBU1NFUlQodi0+SXNGdW5jdGlvbigpKTsKKworICAgIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBhcmdzW10gPSB7CisgICAgICAgIGdsQ29udGV4dC52OFZhbHVlKCksCisg
ICAgfTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBpbmplY3RlZFNjcmlwdFZhbHVlID0gdjg6
OkZ1bmN0aW9uOjpDYXN0KCp2KS0+Q2FsbCh3aW5kb3dHbG9iYWwsIDEsIGFyZ3MpOworICAgIHJl
dHVybiBTY3JpcHRPYmplY3QoaW5zcGVjdGVkU2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6Ok9i
amVjdD46OkNhc3QoaW5qZWN0ZWRTY3JpcHRWYWx1ZSkpOworfQorI2VuZGlmCisKIHZvaWQgSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIGlu
c3BlY3RlZFNjcmlwdFN0YXRlKQogewogICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsK
QEAgLTEyMiw3ICsxNDYsNyBAQCB2b2lkIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZElu
amVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTY3JpcHRTdAogCiAgICAgdjg6Okxv
Y2FsPHY4OjpPYmplY3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2JhbCgpOwogICAgIC8vIFNraXAg
cHJveHkgb2JqZWN0LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vydml2ZSBwYWdlIG5hdmlnYXRp
b24gd2hpbGUgd2UgbmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb25zaWRl
cyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgorICAgIC8vIGFuIG9iamVjdCB3
aG9zZSBsaWZldGltZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4
dC4KICAgICBnbG9iYWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46OkNhc3QoZ2xvYmFsLT5HZXRQ
cm90b3R5cGUoKSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGtleSA9IFY4SGlkZGVu
UHJvcGVydHlOYW1lOjpkZXZ0b29sc0luamVjdGVkU2NyaXB0KCk7CkBAIC0xMzcsNyArMTYxLDcg
QEAgSW5qZWN0ZWRTY3JpcHQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RlZFNjcmlwdEZv
cihTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2MKIAogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBn
bG9iYWwgPSBjb250ZXh0LT5HbG9iYWwoKTsKICAgICAvLyBTa2lwIHByb3h5IG9iamVjdC4gVGhl
IHByb3h5IG9iamVjdCB3aWxsIHN1cnZpdmUgcGFnZSBuYXZpZ2F0aW9uIHdoaWxlIHdlIG5lZWQK
LSAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29uc2lkZXMgd2l0aCB0aGF0IG9mIHRo
ZSBpbnNwZWN0ZWQgY29udGV4dC4KKyAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29p
bmNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCiAgICAgZ2xvYmFsID0g
djg6OkxvY2FsPHY4OjpPYmplY3Q+OjpDYXN0KGdsb2JhbC0+R2V0UHJvdG90eXBlKCkpOwogCiAg
ICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBrZXkgPSBWOEhpZGRlblByb3BlcnR5TmFtZTo6ZGV2
dG9vbHNJbmplY3RlZFNjcmlwdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29kZUdlbmVyYXRvckluc3BlY3Rvci5weQppbmRleCBlOWQzNzNiMDFlMDM1ZDViNDRmNjI3NjNj
MDY0ODYwNzE1ZmEyNzQ2Li4zNDUzMTNkNDRjMmUzMjlmZDg0ZTAyYmJkMTVlZTc3M2Q1ZGI0N2M1
IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3Bl
Y3Rvci5weQorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3Bl
Y3Rvci5weQpAQCAtNDYsNiArNDYsNyBAQCBET01BSU5fREVGSU5FX05BTUVfTUFQID0gewogICAg
ICJJbmRleGVkREIiOiAiSU5ERVhFRF9EQVRBQkFTRSIsCiAgICAgIlByb2ZpbGVyIjogIkpBVkFT
Q1JJUFRfREVCVUdHRVIiLAogICAgICJXb3JrZXIiOiAiV09SS0VSUyIsCisgICAgIldlYkdMIjog
IldFQkdMIiwKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IGU0MDZjNGE4ZTE1ODUwNjg2Zjc2NjRiMmM1ZGZmZWZj
YjhhOTJkMmIuLjMxZmY5ZjQxYzYwNjYyYTY0MjY0YWFkZTc1ZmI3Y2U3ZGE4ZGNiN2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3Bw
CkBAIC0zNyw3ICszNywxMSBAQAogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0LmgiCiAjaW5jbHVk
ZSAiSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRTb3VyY2Uu
aCIKKyNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgiCisjaW5jbHVkZSAiU2Ny
aXB0T2JqZWN0LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
U3RkTGliRXh0cmFzLmg+CiAKQEAgLTE3Miw2ICsxNzYsMTggQEAgcGFpcjxpbnQsIFNjcmlwdE9i
amVjdD4gSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RTY3JpcHQoY29uc3QgU3RyaW5nJiBz
b3VyY2UKICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoaWQsIGNyZWF0ZUluamVjdGVkU2NyaXB0
KHNvdXJjZSwgc2NyaXB0U3RhdGUsIGlkKSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3Jp
cHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0
Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9iamVjdCBnbENvbnRleHQpCit7CisgICAgcmV0dXJu
IGluamVjdFdlYkdMU2NyaXB0KGluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UoKSwgZ2xDb250ZXh0
KTsKK30KKworU3RyaW5nIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRXZWJHTFNjcmlw
dFNvdXJjZSgpCit7CisgICAgcmV0dXJuIFN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNo
YXIqPihJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzKSwgc2l6ZW9mKEluamVjdGVkV2ViR0xT
Y3JpcHRTb3VyY2VfanMpKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oCmluZGV4IGE5YmRjYTUyZmNiYzIyN2FiMjkxYWI3
NGE2ZWI4OTE4ZjA0YmQ4ZTQuLjYxM2ZlZjgxMjM4YTQwOTE4YTg2MzI4NDkwY2FjMDE1Nzk0MzNi
NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1h
bmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLmgKQEAgLTcsMTMgKzcsMTMgQEAKICAqIGFyZSBtZXQ6CiAgKgogICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLiAKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICAqIDMuICBOZWl0
aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5h
bWVzIG9mCiAgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisgKiAgICAgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgogICoK
ICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCiAgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC02NCw2ICs2NCw5IEBA
IHB1YmxpYzoKICAgICB2b2lkIGRpc2NhcmRJbmplY3RlZFNjcmlwdHNGb3IoRE9NV2luZG93Kik7
CiAgICAgdm9pZCByZWxlYXNlT2JqZWN0R3JvdXAoY29uc3QgU3RyaW5nJiBvYmplY3RHcm91cCk7
CiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0KTsKKyNlbmRpZgogCiBwcml2
YXRlOgogICAgIHR5cGVkZWYgYm9vbCAoKkluc3BlY3RlZFN0YXRlQWNjZXNzQ2hlY2spKFNjcmlw
dFN0YXRlKik7CkBAIC03Myw2ICs3NiwxMSBAQCBwcml2YXRlOgogICAgIFNjcmlwdE9iamVjdCBj
cmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgU2NyaXB0U3RhdGUqLCBp
bnQgaWQpOwogICAgIHZvaWQgZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKik7CiAK
KyNpZiBFTkFCTEUoV0VCR0wpCisgICAgU3RyaW5nIGluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uo
KTsKKyAgICBTY3JpcHRPYmplY3QgaW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3Vy
Y2UsIFNjcmlwdE9iamVjdCk7CisjZW5kaWYKKwogICAgIHN0YXRpYyBib29sIGNhbkFjY2Vzc0lu
c3BlY3RlZFdpbmRvdyhTY3JpcHRTdGF0ZSopOwogICAgIHN0YXRpYyBib29sIGNhbkFjY2Vzc0lu
c3BlY3RlZFdvcmtlckNvbnRleHQoU2NyaXB0U3RhdGUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42YTU1NTRkMzEyYTBlZjBhMzEyMmY1OGVjNTFlYzJkZGFkN2RiMDJiCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
anMKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyhmdW5jdGlvbihnbENvbnRleHQpIHsKKworLy8gRklYTUU6IFdy
YXAgV2ViR0wgY29udGV4dCBmb3IgaW5zdHJ1bWVudGF0aW9uLgorcmV0dXJuIGdsQ29udGV4dDsK
KworfSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNv
biBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCBjOTkxMTYw
OGM0ZThjZGJhYWI2OTdlMDU3M2RlM2U3NGRlNDBiYjUxLi4wNDJiZThmNmYzZTAyZjNkYmEzNTM3
YTg5YzZjN2NlZjdlYmFhYjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uCkBAIC0yODExLDUgKzI4MTEsMjEgQEAKICAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNj
b25uZWN0ZWRGcm9tV29ya2VyIgogICAgICAgICAgICAgfQogICAgICAgICBdCisgICAgfSwKKyAg
ICB7CisgICAgICAgICJkb21haW4iOiAiV2ViR0wiLAorICAgICAgICAiaGlkZGVuIjogdHJ1ZSwK
KyAgICAgICAgInR5cGVzIjogW10sCisgICAgICAgICJjb21tYW5kcyI6IFsKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJlbmFibGUiLAorICAgICAgICAgICAgICAgICJk
ZXNjcmlwdGlvbiI6ICJFbmFibGVzIFdlYkdMIGluc3BlY3Rpb24uIgorICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNhYmxlIiwKKyAgICAg
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGlzYWJsZXMgV2ViR0wgaW5zcGVjdGlvbi4iCisg
ICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJldmVudHMiOiBbXQogICAgIH1dCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAppbmRl
eCBiMTIyMzA0MzIzM2Y5ZDQ0N2E1ZDNhYjU1MTEwNjY5NTllZmJlNjIxLi5iZTkyYTEzZmM3YjNj
ZDg1NjEzNjM4ZTYxODg3N2M4MmZiMmMzOWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKQEAgLTY1LDYgKzY1LDcgQEAKICNpbmNsdWRlICJJ
bnNwZWN0b3JTdHlsZVRleHRFZGl0b3IuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5l
QWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5jcHAiCisjaW5jbHVkZSAiSW5z
cGVjdG9yV2ViR0xBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyQWdlbnQuY3Bw
IgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuY3BwIgogI2luY2x1ZGUgIk5ldHdvcmtS
ZXNvdXJjZXNEYXRhLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmNwcAppbmRleCA0NmUwYzJiOGM1NGY0YjQyMGMyMzY4NGM3YmUzYTc1M2E0
NWJiNzY5Li5hYzE5YzdkYjk1M2QyNDU4MzljYWRmYTMyODZlZjY4YjUyOTYyZWYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC02
MSw2ICs2MSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIgogI2luY2x1
ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JX
b3JrZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKICNpbmNsdWRl
ICJQYWdlQ29uc29sZUFnZW50LmgiCkBAIC0xNDQsNiArMTQ1LDEwIEBAIEluc3BlY3RvckNvbnRy
b2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBp
bnNwZWN0b3JDCiAgICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3RvcldvcmtlckFnZW50OjpjcmVh
dGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpKSk7CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yV2ViR0xB
Z2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSwg
bV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKTsKKyNlbmRpZgorCiAgICAgQVNTRVJUX0FS
RyhpbnNwZWN0b3JDbGllbnQsIGluc3BlY3RvckNsaWVudCk7CiAgICAgbV9pbmplY3RlZFNjcmlw
dE1hbmFnZXItPmluamVjdGVkU2NyaXB0SG9zdCgpLT5pbml0KG1faW5zcGVjdG9yQWdlbnQKICAg
ICAgICAgLCBjb25zb2xlQWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBjYTk1MGJhZjcwZDE3Njg1NmMzY2U2ODcz
MGQyOWQ4MWJjZGMxOGYyLi40ZWJhNGIzYzBhNTIzYWZkZmQzOWExMmNmMzI5YmE3NjA3OTZlNzk5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oCkBAIC02OCw2ICs2OCw3IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFz
cyBTY3JpcHRBcmd1bWVudHM7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OworY2xhc3MgU2NyaXB0T2JqZWN0OwogY2xhc3MgU2NyaXB0UHJvZmls
ZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU2hhZG93Um9vdDsKQEAgLTIzNiw2ICsy
MzcsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVXZWJTb2NrZXRGcmFt
ZUVycm9yKERvY3VtZW50KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IGVycm9yTWVzc2FnZSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBzdGF0aWMg
U2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24o
RG9jdW1lbnQqLCBTY3JpcHRPYmplY3QpOworI2VuZGlmCisKICAgICBzdGF0aWMgdm9pZCBuZXR3
b3JrU3RhdGVDaGFuZ2VkKFBhZ2UqKTsKICAgICBzdGF0aWMgdm9pZCB1cGRhdGVBcHBsaWNhdGlv
bkNhY2hlU3RhdHVzKEZyYW1lKik7CiAKQEAgLTk3NSw3ICs5ODAsNyBAQCBpbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKFBhZ2UqIHBhZ2Us
IHVuc2lnbmVkCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdl
KHBhZ2UpKQotICAgICAgICBtYXJrUmVzb3VyY2VBc0NhY2hlZEltcGwoaW5zdHJ1bWVudGluZ0Fn
ZW50cywgaWRlbnRpZmllcik7IAorICAgICAgICBtYXJrUmVzb3VyY2VBc0NhY2hlZEltcGwoaW5z
dHJ1bWVudGluZ0FnZW50cywgaWRlbnRpZmllcik7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZh
ZWEwYWEzODdjZGI3ODRjNWNiZDI2YTRmOThiNjhhMmNiM2UzMGMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAKQEAgLTAs
MCArMSwxMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKSAm
JiBFTkFCTEUoV0VCR0wpCisKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50LmgiCisKKyNp
bmNsdWRlICJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9u
dGVuZC5oIgorI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCisjaW5jbHVkZSAiSW5zdHJ1bWVu
dGluZ0FnZW50cy5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgorI2luY2x1ZGUgIlNjcmlw
dFN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworbmFtZXNwYWNlIFdlYkdMQWdlbnRT
dGF0ZSB7CitzdGF0aWMgY29uc3QgY2hhciB3ZWJHTEFnZW50RW5hYmxlZFtdID0gIndlYkdMQWdl
bnRFbmFibGVkIjsKK307CisKK0luc3BlY3RvcldlYkdMQWdlbnQ6Okluc3BlY3RvcldlYkdMQWdl
bnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3Rh
dGUqIHN0YXRlLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikK
KyAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JXZWJHTEFnZW50PigiV2ViR0wiLCBp
bnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKKyAgICAsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
KGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICAsIG1fZnJvbnRlbmQoMCkKKyAgICAsIG1fZW5h
YmxlZChmYWxzZSkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3Rvcldl
YkdMQWdlbnQodGhpcyk7Cit9CisKK0luc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJH
TEFnZW50KCkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvcldlYkdM
QWdlbnQoMCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6c2V0RnJvbnRlbmQoSW5z
cGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKQoreworICAgIEFTU0VSVChmcm9udGVuZCk7CisgICAg
bV9mcm9udGVuZCA9IGZyb250ZW5kLT53ZWJnbCgpOworfQorCit2b2lkIEluc3BlY3RvcldlYkdM
QWdlbnQ6OmNsZWFyRnJvbnRlbmQoKQoreworICAgIG1fZnJvbnRlbmQgPSAwOworICAgIGRpc2Fi
bGUoMCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSgpCit7CisgICAg
bV9lbmFibGVkID0gbV9zdGF0ZS0+Z2V0Qm9vbGVhbihXZWJHTEFnZW50U3RhdGU6OndlYkdMQWdl
bnRFbmFibGVkKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUoRXJyb3JT
dHJpbmcqKQoreworICAgIGlmIChtX2VuYWJsZWQpCisgICAgICAgIHJldHVybjsKKyAgICBtX2Vu
YWJsZWQgPSB0cnVlOworICAgIG1fc3RhdGUtPnNldEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRlOjp3
ZWJHTEFnZW50RW5hYmxlZCwgbV9lbmFibGVkKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFn
ZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKK3sKKyAgICBpZiAoIW1fZW5hYmxlZCkKKyAgICAg
ICAgcmV0dXJuOworICAgIG1fZW5hYmxlZCA9IGZhbHNlOworICAgIG1fc3RhdGUtPnNldEJvb2xl
YW4oV2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCwgbV9lbmFibGVkKTsKK30KKwor
U2NyaXB0T2JqZWN0IEluc3BlY3RvcldlYkdMQWdlbnQ6OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRl
eHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAgICByZXR1
cm4gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJ
bnN0cnVtZW50YXRpb24oZ2xDb250ZXh0KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDBk
MDhjYTJjZDdlMDAyMmQ5NjA5M2YyMGQ2ZmNiNGNhZGY4MzdkNgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgKQEAgLTAsMCAr
MSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgSW5zcGVjdG9yV2ViR0xBZ2VudF9oCisjZGVmaW5lIEluc3BlY3Rvcldl
YkdMQWdlbnRfaAorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQorCisj
aW5jbHVkZSAiSW5zcGVjdG9yQmFzZUFnZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRl
bmQuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlNjcmlwdFN0YXRl
LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEluamVjdGVkU2NyaXB0TWFuYWdl
cjsKK2NsYXNzIEluc3BlY3RvclN0YXRlOworY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKK2Ns
YXNzIFNjcmlwdE9iamVjdDsKKwordHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CisKK2NsYXNz
IEluc3BlY3RvcldlYkdMQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3Rv
cldlYkdMQWdlbnQ+LCBwdWJsaWMgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OldlYkdMQ29t
bWFuZEhhbmRsZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3Rvcldl
YkdMQWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRz
LCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIEluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBJbnNwZWN0
b3JXZWJHTEFnZW50KGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlLCBpbmplY3RlZFNjcmlwdE1h
bmFnZXIpKTsKKyAgICB9CisgICAgfkluc3BlY3RvcldlYkdMQWdlbnQoKTsKKworICAgIHZpcnR1
YWwgdm9pZCBzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCopOworICAgIHZpcnR1YWwgdm9p
ZCBjbGVhckZyb250ZW5kKCk7CisgICAgdmlydHVhbCB2b2lkIHJlc3RvcmUoKTsKKworICAgIGJv
b2wgZW5hYmxlZCgpIHsgcmV0dXJuIG1fZW5hYmxlZDsgfQorCisgICAgU2NyaXB0T2JqZWN0IHdy
YXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0KTsK
KworICAgIC8vIENhbGxlZCBmcm9tIHRoZSBmcm9udC1lbmQuCisgICAgdmlydHVhbCB2b2lkIGVu
YWJsZShFcnJvclN0cmluZyopOworICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5n
Kik7CisKKyAgICAvLyBDYWxsZWQgZnJvbSB0aGUgaW5qZWN0ZWQgc2NyaXB0LgorCisgICAgLy8g
Q2FsbGVkIGZyb20gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uCisKK3ByaXZhdGU6CisgICAgSW5z
cGVjdG9yV2ViR0xBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yU3RhdGUqLCBJ
bmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKKworICAgIEluamVjdGVkU2NyaXB0TWFuYWdlciogbV9p
bmplY3RlZFNjcmlwdE1hbmFnZXI7CisgICAgSW5zcGVjdG9yRnJvbnRlbmQ6OldlYkdMKiBtX2Zy
b250ZW5kOworICAgIGJvb2wgbV9lbmFibGVkOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQorCisjZW5k
aWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yV2ViR0xBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zMzI5N2NiNWNiYmY4ZTE5ZTBkMjhjYTExOTY2OTY0NGYzZTA1NWU1Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1
bWVudGF0aW9uLmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yV2ViR0xJbnN0cnVt
ZW50YXRpb25faAorI2RlZmluZSBJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbl9oCisKKyNp
bmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JX
ZWJHTEFnZW50LmgiCisjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgorI2luY2x1ZGUg
IlNjcmlwdE9iamVjdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiBFTkFCTEUoV0VC
R0wpCitTY3JpcHRPYmplY3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKERvY3VtZW50KiBkb2N1bWVudCwgU2NyaXB0
T2JqZWN0IGdsQ29udGV4dCkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIGlmIChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50
c0ZvckRvY3VtZW50KGRvY3VtZW50KSkgeworICAgICAgICBJbnNwZWN0b3JXZWJHTEFnZW50KiB3
ZWJHTEFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yV2ViR0xBZ2VudCgpOwor
ICAgICAgICBpZiAod2ViR0xBZ2VudCAmJiB3ZWJHTEFnZW50LT5lbmFibGVkKCkpCisgICAgICAg
ICAgICByZXR1cm4gd2ViR0xBZ2VudC0+d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3Ry
dW1lbnRhdGlvbihnbENvbnRleHQpOworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBTY3JpcHRP
YmplY3QoKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9u
X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0Fn
ZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaApp
bmRleCAxOTRlYjg2NWVjNzVhNjZmZWZiNGI3MjQ2ZjAwOGE4MzhhODhhYWJjLi4xMzM0ZGM3ZDZk
YjdlZGIzOTA4NmI5NmUzYzc4NjRjYTE3OGYzNDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTUyLDYgKzUyLDcgQEAgY2xhc3MgSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudDsKIGNsYXNz
IEluc3BlY3RvclRpbWVsaW5lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JXb3JrZXJBZ2VudDsKK2Ns
YXNzIEluc3BlY3RvcldlYkdMQWdlbnQ7CiBjbGFzcyBQYWdlOwogY2xhc3MgUGFnZVJ1bnRpbWVB
Z2VudDsKIGNsYXNzIFdvcmtlckNvbnRleHQ7CkBAIC04Niw2ICs4Nyw5IEBAIHB1YmxpYzoKICNp
ZiBFTkFCTEUoV09SS0VSUykKICAgICAgICAgLCBtX2luc3BlY3RvcldvcmtlckFnZW50KDApCiAj
ZW5kaWYKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgICAgICwgbV9pbnNwZWN0b3JXZWJHTEFnZW50
KDApCisjZW5kaWYKICAgICB7IH0KICAgICB+SW5zdHJ1bWVudGluZ0FnZW50cygpIHsgfQogCkBA
IC0xNDIsMTEgKzE0NiwxNyBAQCBwdWJsaWM6CiAgICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCog
aW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yUHJvZmls
ZXJBZ2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJbnNwZWN0b3JQ
cm9maWxlckFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQgPSBhZ2VudDsg
fQogI2VuZGlmCisKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICBJbnNwZWN0b3JXb3JrZXJBZ2Vu
dCogaW5zcGVjdG9yV29ya2VyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3Rvcldvcmtl
ckFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JXb3JrZXJBZ2VudChJbnNwZWN0b3JXb3Jr
ZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JXb3JrZXJBZ2VudCA9IGFnZW50OyB9CiAjZW5k
aWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBJbnNwZWN0b3JXZWJHTEFnZW50KiBpbnNwZWN0
b3JXZWJHTEFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JXZWJHTEFnZW50OyB9Cisg
ICAgdm9pZCBzZXRJbnNwZWN0b3JXZWJHTEFnZW50KEluc3BlY3RvcldlYkdMQWdlbnQqIGFnZW50
KSB7IG1faW5zcGVjdG9yV2ViR0xBZ2VudCA9IGFnZW50OyB9CisjZW5kaWYKKwogcHJpdmF0ZToK
ICAgICBJbnNwZWN0b3JBZ2VudCogbV9pbnNwZWN0b3JBZ2VudDsKICAgICBJbnNwZWN0b3JQYWdl
QWdlbnQqIG1faW5zcGVjdG9yUGFnZUFnZW50OwpAQCAtMTczLDYgKzE4Myw5IEBAIHByaXZhdGU6
CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgSW5zcGVjdG9yV29ya2VyQWdlbnQqIG1faW5zcGVj
dG9yV29ya2VyQWdlbnQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgSW5zcGVjdG9y
V2ViR0xBZ2VudCogbV9pbnNwZWN0b3JXZWJHTEFnZW50OworI2VuZGlmCiB9OwogCiBJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50YXRpb25Gb3JQYWdlKFBhZ2UqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145553</attachid>
            <date>2012-06-04 03:29:14 -0700</date>
            <delta_ts>2012-06-06 01:47:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120604142912.patch</filename>
            <type>text/plain</type>
            <size>52581</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVjOGRlMmRmODgwNjYy
NDUxOWQ3ZjFhMmM0YTJmMzUwMjZiYWRhOC4uMjlkYjdlNDRkNGE4NDM4NjM1ZDU2YjY3NzI2YWE5
MmRlYTRhZTc3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA2LTAzICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNv
cmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1M
Q2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0
V2ViR0xTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpk
aXNjYXJkSW5qZWN0ZWRTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0NvZGVHZW5l
cmF0b3JJbnNwZWN0b3IucHk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVk
U2NyaXB0TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaDoKKyAgICAgICAgKEluamVjdGVkU2NyaXB0TWFuYWdlcik6CisgICAgICAgICogaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNo
ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkdMQWdlbnRTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0
aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJH
TFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAg
ICAoSW5zdHJ1bWVudGluZ0FnZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5n
QWdlbnRzOjppbnNwZWN0b3JXZWJHTEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6OnNldEluc3BlY3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERh
dGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpIHNob3VsZCBzeW5jaHJvbm91c2x5IHJl
dHVybiBlbnRyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjZWIxZGI0MDZjYjBhZTQ2OTcxNzlj
NmViZWI2NTRmZDRiZGEyMzBhLi5kYzNkNzAzYzc3YjgxNGZjMjJhN2UxZThiNjJjNzViNjA3ZjNk
NDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTYyLDYgKzk2Miw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5j
cHAKQEAgLTE2OTMsNyArMTY5NCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAg
ICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAg
TW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAor
CiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3
b3JraW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVs
ZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjYwNCw2ICsyNjA1
LDE3IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAk
e0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAog
CisjIEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJH
TCkKKyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09V
UkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1B
SU5fREVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAg
ICAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3Iv
eHhkLnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09S
RV9ESVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAg
ICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNI
X1RPT0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNw
cCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAyZmM5ZjE4NjUyMjQzNGYz
ZDJmYWUxMjMzY2U3N2U3YTk1YTE0MC4uMGVkZjIyMTQ1ZTI3YmMyZjg3YjJmMTYzNDJiMWRkOWRm
MjBjYWUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAog
IyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFj
ayA8Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFy
ZSBtZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAor
IyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03
ODAsMTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQo
UFJPSkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZp
bmRzdHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAg
IFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQo
V2ViQ29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChV
U0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAog
aWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5B
QkxFX01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtl
X25hbWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdz
L3NjcmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0t
LS0tLS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAog
RXZlbnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9t
YWtlX2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBA
QCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5o
IEV4Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9z
Y3JpcHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0t
LS0tLS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVu
dCBmYWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBk
b20vbWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpA
QCAtOTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3Rl
ZFNjcmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29y
ZSkvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAK
K2FsbCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUp
L2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUp
L2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEg
KCQoZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19X
WCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBlNWY0ODQ0Njk1Mjg2MjM2MmQ3Yjlk
YjMyMjNhODIxMzQ2NmQzOWJiLi5lMzQ5OGY0ODQ0Y2YwMDYzM2IwNzdhODBjYmJlYjBiMmQ1OGI1
MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BF
Q1RPUl9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5z
cGVjdG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NP
VVJDRSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERF
QlVHR0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5q
cwogCiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDEx
ICs3NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VO
RVJBVE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGlu
amVjdGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVj
dGVkU2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0
ZWRTY3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
ICR7UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwg
JCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJ
TEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0
X3RvX3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQog
Ci0jIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBp
bGVyCisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291
cmNlIGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElO
SkVDVEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29t
bWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9
IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3Ig
ZGVidWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0
cHV0ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQg
PSBERUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9
IHBlcmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FN
QUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDgz
NjhjNmQ0NDcyM2RjOWJiZGZkYmE1MGFkMTczOGY1MTBjNTU2NGIuLmYwYzUyYWI3Y2FlYjUzMjkx
NGQ5NzI2NDE5ODE0ZTlmZTE3ZjQ5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjEsNiAr
ODIxLDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
anM6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0
ZWRTY3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuanMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIElu
amVjdGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJD
b3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4p
JChQRVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpz
ICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYg
RU5BQkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBA
IC0xMDcwLDYgKzEwNzIsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3Uv
TElDRU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0
b3IucHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5q
cyBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
anMgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDVhYzVkZTM2MjQxZDFiODJmYzE4NTVmNzFhZTRhNmM2
NWZkM2UzNDEuLjUyNmY1ZDk5ZDI5ZGJlYTM3MTM4NDA5YTFiNjNiOTJjM2M4YmUyMGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMiw2ICsyNzIzLDkgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYmMwMTE3Yjc1MDYzMTg5
Y2RkMjkxNzQ2NTFiYzZmZDkzZTk5YmFiNC4uMGU3MTk4ZDI1Y2FhMDk4NzFkNjIzN2JlN2RiNWRh
ODEzNTgwMjVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0Rh
dGEuY3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRl
eHRFZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3Bl
Y3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBp
bnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwCmluZGV4IDdkOGQ3YmVhODUyNGI1ZTBjZDNjYjZjNzMzYzA0OTMxYmZhYWE1
NDkuLmEyNTYyNDhmYjc3ZjM4MjRjNjFhZGRiNDcwOThiZDRhNGY0ZmYzZWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC00MzQsNiArNDM0LDI5IEBACiAgICAgICBd
CiAgICAgfSwKICAgICB7CisgICAgICAndGFyZ2V0X25hbWUnOiAnaW5qZWN0ZWRfd2ViZ2xfc2Ny
aXB0X3NvdXJjZScsCisgICAgICAndHlwZSc6ICdub25lJywKKyAgICAgICdhY3Rpb25zJzogWwor
ICAgICAgICB7CisgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ2dlbmVyYXRlSW5qZWN0ZWRXZWJH
TFNjcmlwdFNvdXJjZScsCisgICAgICAgICAgJ2lucHV0cyc6IFsKKyAgICAgICAgICAgICcuLi9p
bnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcycsCisgICAgICAgICAgXSwKKyAg
ICAgICAgICAnb3V0cHV0cyc6IFsKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVf
RElSKS93ZWJraXQvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICBdLAor
ICAgICAgICAgICdhY3Rpb24nOiBbCisgICAgICAgICAgICAncGVybCcsCisgICAgICAgICAgICAn
Li4vaW5zcGVjdG9yL3h4ZC5wbCcsCisgICAgICAgICAgICAnSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcycsCisgICAgICAgICAgICAnPEAoX2lucHV0cyknLAorICAgICAgICAgICAgJzxAKF9v
dXRwdXRzKScKKyAgICAgICAgICBdLAorICAgICAgICAgICdtZXNzYWdlJzogJ0dlbmVyYXRpbmcg
SW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIGZyb20gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZS5qcycsCisgICAgICAgIH0sCisgICAgICBdCisgICAgfSwKKyAgICB7CiAgICAgICAndGFyZ2V0
X25hbWUnOiAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAndHlwZSc6ICdub25lJywK
ICAgICAgICdhY3Rpb25zJzogWwpAQCAtMTA3NCw2ICsxMDk3LDcgQEAKICAgICAgICAgJ3dlYmNv
cmVfYmluZGluZ3Nfc291cmNlcycsCiAgICAgICAgICdpbnNwZWN0b3JfcHJvdG9jb2xfc291cmNl
cycsCiAgICAgICAgICdpbmplY3RlZF9zY3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVk
X3dlYmdsX3NjcmlwdF9zb3VyY2UnLAogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScs
CiAgICAgICAgICcuLi8uLi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXAvSmF2YVNj
cmlwdENvcmUuZ3lwOnlhcnInLAogICAgICAgICAnLi4vLi4vV1RGL1dURi5neXAvV1RGLmd5cDp3
dGYnLApAQCAtMTE5Nyw2ICsxMjIxLDcgQEAKICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAg
ICAgICdkZWJ1Z2dlcl9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2luamVjdGVkX3NjcmlwdF9z
b3VyY2UnLAorICAgICAgICAnaW5qZWN0ZWRfd2ViZ2xfc2NyaXB0X3NvdXJjZScsCiAgICAgICAg
ICdpbnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycsCiAgICAgICAgICd3ZWJjb3JlX2JpbmRpbmdz
X3NvdXJjZXMnLAogICAgICAgICAnLi4vLi4vVGhpcmRQYXJ0eS9nbHUvZ2x1Lmd5cDpsaWJ0ZXNz
JywKQEAgLTE0NzIsOSArMTQ5Nyw5IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAg
ICAnd2ViY29yZV9wcmVyZXF1aXNpdGVzJywKICAgICAgIF0sCi0gICAgICAnZGVmaW5lcyc6IFsg
Ci0gICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsIAotICAgICAgXSwgCisgICAgICAn
ZGVmaW5lcyc6IFsKKyAgICAgICAgJ1dFQktJVF9JTVBMRU1FTlRBVElPTj0xJywKKyAgICAgIF0s
CiAgICAgICAjIFRoaXMgaXMgbmVlZGVkIGZvciBtYWMgYmVjYXVzZSBvZiB3ZWJraXRfc3lzdGVt
X2ludGVyZmFjZS4gSXQnZCBiZSBuaWNlCiAgICAgICAjIGlmIHRoaXMgaGFyZCBkZXBlbmRlbmN5
IGNvdWxkIGJlIHNwbGl0IG9mZiB0aGUgcmVzdC4KICAgICAgICdoYXJkX2RlcGVuZGVuY3knOiAx
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCmluZGV4IDAxMzFjZDQ0ZmZkMmIyZmM2ZDBlZjE3ZWFhZGVjNDM2OWQ0
ZDExNjkuLmM4OTFjNDk2ZTVkZTdhMzg0ZTcwNTJlZWZhMzc3OGU3ODUyZjg5OWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKQEAgLTI4MTksNiArMjgxOSw5IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNv
dXJjZS5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAn
LAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgnLAorICAgICAg
ICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwJywKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwJywKQEAgLTY2NDEsNyArNjY0NCw3IEBACiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxHcmF5LnBuZycs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxXaGl0
ZS5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaE5l
eHQucG5nJywKLSAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hQ
cmV2LnBuZycsICAgICAgICAgICAgCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9J
bWFnZXMvc2VhcmNoUHJldi5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQv
SW1hZ2VzL3NlZ21lbnQucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0lt
YWdlcy9zZWdtZW50RW5kLnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9J
bWFnZXMvc2VnbWVudEhvdmVyLnBuZycsCkBAIC03MjM5LDYgKzcyNDIsNyBAQAogICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IZWFk
ZXJEZXRlY3Rpb24uaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
aCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9J
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagppbmRleCA4ZGY3MWVlM2JlYmYxMjFmMjhkNDAwNmZiYzhhM2Q5Zjcy
YjU4NTJiLi5jMmIzMjc4MzQ4OGIxYzgwY2M2ZGQ0MmE2NTE1MTg5Y2Q2OWZhNTFkIDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNzM5OTUsNiAr
NzM5OTUsMzQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvcldlYkdMQWdlbnQuY3BwIgorCQkJCT4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yV2ViR0xB
Z2VudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxpbnNwZWN0b3JcSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
cldvcmtlckFnZW50LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjBj
Y2E3MjU5Yjg3ZDkxZjg0MGY3ZDUxMDlhNTFkMWRmYzFhYzE3ZC4uOWU3NWZhNjQwNDhkMGU4ZWJh
YWE0ZjljNjRhZmJmZWJlOWZlNjdjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODQwNyw2ICs4NDA3LDkgQEAKIAkJNDlFRUQx
NEMxMDUxOTcxQTAwMDk5RkFCIC8qIEpTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViR0xSZW5kZXJpbmdDb250
ZXh0Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlFRUQxNEQxMDUx
OTcxQTAwMDk5RkFCIC8qIEpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHRD
dXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUZDN0E0RjE0NDRBRjVG
MDBBNUQ4NjQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQ5RkM4OEI1MTU3Q0IwQjkwMDZBQTI4NyAvKiBJbnNwZWN0b3JX
ZWJHTEFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3Bl
Y3RvcldlYkdMQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUZDODhC
NjE1N0NCMEI5MDA2QUEyODcgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JXZWJHTEFnZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQ5RkM4OEI3MTU3Q0IwQjkwMDZBQTI4NyAvKiBJbnNwZWN0b3JXZWJH
TEluc3RydW1lbnRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNw
ZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0OUZGQkYxQzExQzg1NTBFMDA2QTcxMTggLyogR3JhcGhpY3NDb250ZXh0M0RNYWMubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHcmFwaGljc0NvbnRleHQzRE1h
Yy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlGRkJGM0QxMUM5M0VFMzAwNkE3
MTE4IC8qIFdlYkdMTGF5ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
R0xMYXllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUZGQkYzRTExQzkzRUUz
MDA2QTcxMTggLyogV2ViR0xMYXllci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFdlYkdMTGF5ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NDQzMiw2ICsxNDQzNSw5IEBACiAJCQkJNzU0MTMzQTcxMDJFMDBFODAwMDc1RDAwIC8qIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaCAqLywKIAkJCQk0RjMyODlCMzExQTQyQUFCMDA1QUJFN0UgLyog
SW5zcGVjdG9yVmFsdWVzLmNwcCAqLywKIAkJCQk0RjMyODlCNDExQTQyQUFCMDA1QUJFN0UgLyog
SW5zcGVjdG9yVmFsdWVzLmggKi8sCisJCQkJNDlGQzg4QjUxNTdDQjBCOTAwNkFBMjg3IC8qIElu
c3BlY3RvcldlYkdMQWdlbnQuY3BwICovLAorCQkJCTQ5RkM4OEI2MTU3Q0IwQjkwMDZBQTI4NyAv
KiBJbnNwZWN0b3JXZWJHTEFnZW50LmggKi8sCisJCQkJNDlGQzg4QjcxNTdDQjBCOTAwNkFBMjg3
IC8qIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggKi8sCiAJCQkJRjM4MTBDMTkxMzY1
QTQ5NjAwRUQ2RTMzIC8qIEluc3BlY3RvcldvcmtlckFnZW50LmNwcCAqLywKIAkJCQlGMzgxMEMx
QTEzNjVBNDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuaCAqLywKIAkJCQlGMzc1
Q0MwNjExNTBEMzAwMDA4RERCODEgLyogSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaCAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVu
dEN1c3RvbS5jcHAKaW5kZXggZDVmYzNjZTk2MzYzZGM1MTI2ODRmMmY0MDcxYTQyNDg1ZWFjMDYx
OC4uYTcyYWYxMDYyOTQ1N2JlZjNmZTk4NTRjMGM0YmIzNGQwNjk4MTM1ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3Rv
bS5jcHAKQEAgLTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgpAQCAtMzEsNyArMzEsOSBAQAogI2luY2x1ZGUgIkhUTUxDYW52YXNFbGVtZW50
LmgiCiAjaW5jbHVkZSAiSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCIKICNpZiBFTkFCTEUo
V0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNs
dWRlICJKU1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5o
IgogI2luY2x1ZGUgIldlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaCIKICNlbmRpZgogI2luY2x1ZGUg
PHd0Zi9HZXRQdHIuaD4KQEAgLTc1LDcgKzc3LDE2IEBAIEpTVmFsdWUgSlNIVE1MQ2FudmFzRWxl
bWVudDo6Z2V0Q29udGV4dChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dCogY29udGV4dCA9IGNhbnZhcy0+Z2V0Q29udGV4dCh1c3RyaW5nVG9TdHJpbmcoY29udGV4
dElkKSwgYXR0cnMuZ2V0KCkpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIGpz
TnVsbCgpOwotICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0
cihjb250ZXh0KSk7CisgICAgSlNWYWx1ZSBqc1ZhbHVlID0gdG9KUyhleGVjLCBnbG9iYWxPYmpl
Y3QoKSwgV1RGOjpnZXRQdHIoY29udGV4dCkpOworI2lmIEVOQUJMRShXRUJHTCkKKyAgICBpZiAo
Y29udGV4dC0+aXMzZCgpICYmIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRz
KCkpIHsKKyAgICAgICAgU2NyaXB0T2JqZWN0IGdsQ29udGV4dChleGVjLCBqc1ZhbHVlLmdldE9i
amVjdCgpKTsKKyAgICAgICAgU2NyaXB0T2JqZWN0IHdyYXBwZWQgPSBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oY2Fu
dmFzLT5kb2N1bWVudCgpLCBnbENvbnRleHQpOworICAgICAgICBpZiAoIXdyYXBwZWQuaGFzTm9W
YWx1ZSgpKQorICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQuanNWYWx1ZSgpOworICAgIH0KKyNl
bmRpZgorICAgIHJldHVybiBqc1ZhbHVlOwogfQogCiBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1l
bnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCkBAIC05Myw3ICsxMDQsNyBAQCBKU1ZhbHVl
IEpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAg
ICAgICBxdWFsaXR5UHRyID0gJnF1YWxpdHk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAg
ICBKU1ZhbHVlIHJlc3VsdCA9IGpzU3RyaW5nKGV4ZWMsIGNhbnZhcy0+dG9EYXRhVVJMKHR5cGUs
IHF1YWxpdHlQdHIsIGVjKSk7CiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJ
bmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJ
bmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDE1NzZkMzQ2ZDA2ZGNhNTBjODRmODNlNWZi
OTZkZDYxYWY1OWQ2NzAuLjgwYjRlNzg5MDY0ZDc0OWUxYmFkN2Y0YjA3MWQ2NWYxYzA4NGViZTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2Ny
aXB0TWFuYWdlci5jcHAKQEAgLTc4LDYgKzc4LDE0IEBAIFNjcmlwdE9iamVjdCBJbmplY3RlZFNj
cmlwdE1hbmFnZXI6OmNyZWF0ZUluamVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBT
CiAgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQorU2Ny
aXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0V2ViR0xTY3JpcHQoY29uc3Qg
U3RyaW5nJiwgU2NyaXB0T2JqZWN0KQoreworICAgIC8vIEZJWE1FKDg3OTc1KTogSW1wbGVtZW50
IHRoaXMhCisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQorI2VuZGlmCisKIHZvaWQgSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIHNj
cmlwdFN0YXRlKQogewogICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBqc0Nh
c3Q8SlNET01HbG9iYWxPYmplY3QqPihzY3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAppbmRleCBjMTlm
Yjk4OTJiZGM4YTk3NjRkZjdlM2FiYmY3OTliMTVkYmI2ODE0Li5lMjFjNmNhY2U3NTE3ZDk0MDRj
OWI5YmM0YzAzZWQzODcxYzMyNDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0U3RhdGUuY3BwCkBAIC05MCw3ICs5MCw3IEBAIFNjcmlwdFN0YXRlKiBTY3JpcHRTdGF0ZTo6
Zm9yQ29udGV4dCh2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQpCiAKICAgICB2ODo6TG9j
YWw8djg6Ok9iamVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBw
cm94eSBvYmplY3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlv
biB3aGlsZSB3ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVz
IHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdo
b3NlIGxpZmV0aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0
LgogICAgIGdsb2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFBy
b3RvdHlwZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Q
cm9wZXJ0eU5hbWU6OnNjcmlwdFN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAK
aW5kZXggMjBkYjUzZDY0ZWMxMDE5YmYxMGQzYzQyYzc4ZWY3MDAyOWYyOWQ3OC4uZTE5ODk2ZmVl
MDIwMWIxYjU0YjM1NWQ5ZDBjYjIxODNmZDI3ODllNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3Vz
dG9tLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlY4Tm9kZS5oIgogI2luY2x1ZGUg
IlY4UHJveHkuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJ
bnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgog
I2VuZGlmCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTg4LDggKzg5LDE3IEBAIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0Q2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50CiAgICAgaWYgKHJlc3VsdC0+aXMyZCgpKQogICAgICAgICBy
ZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQqPihyZXN1bHQp
LCBhcmdzLkdldElzb2xhdGUoKSk7CiAjaWYgRU5BQkxFKFdFQkdMKQotICAgIGVsc2UgaWYgKHJl
c3VsdC0+aXMzZCgpKQotICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRl
cmluZ0NvbnRleHQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgZWxzZSBpZiAo
cmVzdWx0LT5pczNkKCkpIHsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHY4UmVzdWx0
ID0gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBhcmdz
LkdldElzb2xhdGUoKSk7CisgICAgICAgIGlmIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhh
c0Zyb250ZW5kcygpKSB7CisgICAgICAgICAgICBTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUgPSBT
Y3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCh2ODo6Q29udGV4dDo6R2V0Q3VycmVudCgpKTsKKyAgICAg
ICAgICAgIFNjcmlwdE9iamVjdCBnbENvbnRleHQoc2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD46OkNhc3QodjhSZXN1bHQpKTsKKyAgICAgICAgICAgIFNjcmlwdE9iamVjdCB3cmFw
cGVkID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0
Rm9ySW5zdHJ1bWVudGF0aW9uKGltcC0+ZG9jdW1lbnQoKSwgZ2xDb250ZXh0KTsKKyAgICAgICAg
ICAgIGlmICghd3JhcHBlZC5oYXNOb1ZhbHVlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHdy
YXBwZWQudjhWYWx1ZSgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiB2OFJlc3VsdDsKKyAg
ICB9CiAjZW5kaWYKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gdjg6Ok51
bGwoYXJncy5HZXRJc29sYXRlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5kZXggMzMz
ZmU1NzVjYjA3OGExMjc1NjdjNjVjMmM1MWRjZjdhNDZkMWMyMy4uMWNlNTk1ZWM4MDc0YzEyNzJi
YzY5MmZkNjE5MDlkZmVhYmVkOTU5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0x
MTAsMTAgKzExMCwzNCBAQCBTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVh
dGVJbmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNvdQogICAgICAgdjg6Ok51bWJl
cjo6TmV3KGlkKSwKICAgICB9OwogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGluamVjdGVkU2Ny
aXB0VmFsdWUgPSB2ODo6RnVuY3Rpb246OkNhc3QoKnYpLT5DYWxsKHdpbmRvd0dsb2JhbCwgMywg
YXJncyk7Ci0gICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGluamVjdGVkU2NyaXB0KHY4OjpPYmpl
Y3Q6OkNhc3QoKmluamVjdGVkU2NyaXB0VmFsdWUpKTsKLSAgICByZXR1cm4gU2NyaXB0T2JqZWN0
KGluc3BlY3RlZFNjcmlwdFN0YXRlLCBpbmplY3RlZFNjcmlwdCk7CisgICAgcmV0dXJuIFNjcmlw
dE9iamVjdChpbnNwZWN0ZWRTY3JpcHRTdGF0ZSwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2Fz
dChpbmplY3RlZFNjcmlwdFZhbHVlKSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRP
YmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RXZWJHTFNjcmlwdChjb25zdCBTdHJp
bmcmIHNjcmlwdFNvdXJjZSwgU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAgICB2ODo6SGFu
ZGxlU2NvcGUgc2NvcGU7CisKKyAgICBTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3RhdGUg
PSBnbENvbnRleHQuc2NyaXB0U3RhdGUoKTsKKyAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGlu
c3BlY3RlZENvbnRleHQgPSBpbnNwZWN0ZWRTY3JpcHRTdGF0ZS0+Y29udGV4dCgpOworICAgIHY4
OjpDb250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUoaW5zcGVjdGVkQ29udGV4dCk7CisKKyAgICB2
ODo6TG9jYWw8djg6Ok9iamVjdD4gd2luZG93R2xvYmFsID0gaW5zcGVjdGVkQ29udGV4dC0+R2xv
YmFsKCk7CisKKyAgICB2ODo6TG9jYWw8djg6OlNjcmlwdD4gc2NyaXB0ID0gdjg6OlNjcmlwdDo6
Q29tcGlsZSh2OFN0cmluZyhzY3JpcHRTb3VyY2UpKTsKKyAgICBWOFJlY3Vyc2lvblNjb3BlOjpN
aWNyb3Rhc2tTdXBwcmVzc2lvbiByZWN1cnNpb25TY29wZTsKKyAgICB2ODo6TG9jYWw8djg6OlZh
bHVlPiB2ID0gc2NyaXB0LT5SdW4oKTsKKyAgICBBU1NFUlQoIXYuSXNFbXB0eSgpKTsKKyAgICBB
U1NFUlQodi0+SXNGdW5jdGlvbigpKTsKKworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmdz
W10gPSB7CisgICAgICAgIGdsQ29udGV4dC52OFZhbHVlKCksCisgICAgfTsKKyAgICB2ODo6TG9j
YWw8djg6OlZhbHVlPiBpbmplY3RlZFNjcmlwdFZhbHVlID0gdjg6OkZ1bmN0aW9uOjpDYXN0KCp2
KS0+Q2FsbCh3aW5kb3dHbG9iYWwsIDEsIGFyZ3MpOworICAgIHJldHVybiBTY3JpcHRPYmplY3Qo
aW5zcGVjdGVkU2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoaW5qZWN0
ZWRTY3JpcHRWYWx1ZSkpOworfQorI2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
OjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0YXRl
KQogewogICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKQEAgLTEyMiw3ICsxNDYsNyBA
QCB2b2lkIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlw
dFN0YXRlKiBpbnNwZWN0ZWRTY3JpcHRTdAogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGds
b2JhbCA9IGNvbnRleHQtPkdsb2JhbCgpOwogICAgIC8vIFNraXAgcHJveHkgb2JqZWN0LiBUaGUg
cHJveHkgb2JqZWN0IHdpbGwgc3Vydml2ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUgd2UgbmVlZAot
ICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb25zaWRlcyB3aXRoIHRoYXQgb2YgdGhl
IGluc3BlY3RlZCBjb250ZXh0LgorICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb2lu
Y2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KICAgICBnbG9iYWwgPSB2
ODo6TG9jYWw8djg6Ok9iamVjdD46OkNhc3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUoKSk7CiAKICAg
ICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGtleSA9IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkZXZ0
b29sc0luamVjdGVkU2NyaXB0KCk7CkBAIC0xMzcsNyArMTYxLDcgQEAgSW5qZWN0ZWRTY3JpcHQg
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcihTY3JpcHRTdGF0ZSogaW5z
cGVjdGVkU2MKIAogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBjb250ZXh0LT5H
bG9iYWwoKTsKICAgICAvLyBTa2lwIHByb3h5IG9iamVjdC4gVGhlIHByb3h5IG9iamVjdCB3aWxs
IHN1cnZpdmUgcGFnZSBuYXZpZ2F0aW9uIHdoaWxlIHdlIG5lZWQKLSAgICAvLyBhbiBvYmplY3Qg
d2hvc2UgbGlmZXRpbWUgY29uc2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4
dC4KKyAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29pbmNpZGVzIHdpdGggdGhhdCBv
ZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCiAgICAgZ2xvYmFsID0gdjg6OkxvY2FsPHY4OjpPYmpl
Y3Q+OjpDYXN0KGdsb2JhbC0+R2V0UHJvdG90eXBlKCkpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6
U3RyaW5nPiBrZXkgPSBWOEhpZGRlblByb3BlcnR5TmFtZTo6ZGV2dG9vbHNJbmplY3RlZFNjcmlw
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJ
bnNwZWN0b3IucHkgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3Bl
Y3Rvci5weQppbmRleCBlOWQzNzNiMDFlMDM1ZDViNDRmNjI3NjNjMDY0ODYwNzE1ZmEyNzQ2Li4z
NDUzMTNkNDRjMmUzMjlmZDg0ZTAyYmJkMTVlZTc3M2Q1ZGI0N2M1IDEwMDc1NQotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQpAQCAtNDYsNiAr
NDYsNyBAQCBET01BSU5fREVGSU5FX05BTUVfTUFQID0gewogICAgICJJbmRleGVkREIiOiAiSU5E
RVhFRF9EQVRBQkFTRSIsCiAgICAgIlByb2ZpbGVyIjogIkpBVkFTQ1JJUFRfREVCVUdHRVIiLAog
ICAgICJXb3JrZXIiOiAiV09SS0VSUyIsCisgICAgIldlYkdMIjogIldFQkdMIiwKIH0KIAogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3Bw
CmluZGV4IGU0MDZjNGE4ZTE1ODUwNjg2Zjc2NjRiMmM1ZGZmZWZjYjhhOTJkMmIuLjMxZmY5ZjQx
YzYwNjYyYTY0MjY0YWFkZTc1ZmI3Y2U3ZGE4ZGNiN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0zNyw3ICszNywxMSBA
QAogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRI
b3N0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCIKKyNpZiBFTkFCTEUoV0VC
R0wpCisjaW5jbHVkZSAiSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIgorI2VuZGlmCiAjaW5j
bHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAK
QEAgLTE3Miw2ICsxNzYsMTggQEAgcGFpcjxpbnQsIFNjcmlwdE9iamVjdD4gSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyOjppbmplY3RTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UKICAgICByZXR1cm4g
c3RkOjptYWtlX3BhaXIoaWQsIGNyZWF0ZUluamVjdGVkU2NyaXB0KHNvdXJjZSwgc2NyaXB0U3Rh
dGUsIGlkKSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9u
KFNjcmlwdE9iamVjdCBnbENvbnRleHQpCit7CisgICAgcmV0dXJuIGluamVjdFdlYkdMU2NyaXB0
KGluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UoKSwgZ2xDb250ZXh0KTsKK30KKworU3RyaW5nIElu
amVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpCit7CisgICAg
cmV0dXJuIFN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihJbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlX2pzKSwgc2l6ZW9mKEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMpKTsK
K30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUo
SU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVk
U2NyaXB0TWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
TWFuYWdlci5oCmluZGV4IGE5YmRjYTUyZmNiYzIyN2FiMjkxYWI3NGE2ZWI4OTE4ZjA0YmQ4ZTQu
LjYxM2ZlZjgxMjM4YTQwOTE4YTg2MzI4NDkwY2FjMDE1Nzk0MzNiNGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKQEAgLTcsMTMgKzcs
MTMgQEAKICAqIGFyZSBtZXQ6CiAgKgogICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCiAgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4gCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFw
cGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAgKiAgICAgaXRz
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4gCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgogICoKICAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
CiAgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC02NCw2ICs2NCw5IEBAIHB1YmxpYzoKICAgICB2b2lk
IGRpc2NhcmRJbmplY3RlZFNjcmlwdHNGb3IoRE9NV2luZG93Kik7CiAgICAgdm9pZCByZWxlYXNl
T2JqZWN0R3JvdXAoY29uc3QgU3RyaW5nJiBvYmplY3RHcm91cCk7CiAKKyNpZiBFTkFCTEUoV0VC
R0wpCisgICAgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVt
ZW50YXRpb24oU2NyaXB0T2JqZWN0KTsKKyNlbmRpZgogCiBwcml2YXRlOgogICAgIHR5cGVkZWYg
Ym9vbCAoKkluc3BlY3RlZFN0YXRlQWNjZXNzQ2hlY2spKFNjcmlwdFN0YXRlKik7CkBAIC03Myw2
ICs3NiwxMSBAQCBwcml2YXRlOgogICAgIFNjcmlwdE9iamVjdCBjcmVhdGVJbmplY3RlZFNjcmlw
dChjb25zdCBTdHJpbmcmIHNvdXJjZSwgU2NyaXB0U3RhdGUqLCBpbnQgaWQpOwogICAgIHZvaWQg
ZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKik7CiAKKyNpZiBFTkFCTEUoV0VCR0wp
CisgICAgU3RyaW5nIGluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UoKTsKKyAgICBTY3JpcHRPYmpl
Y3QgaW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFNjcmlwdE9iamVjdCk7
CisjZW5kaWYKKwogICAgIHN0YXRpYyBib29sIGNhbkFjY2Vzc0luc3BlY3RlZFdpbmRvdyhTY3Jp
cHRTdGF0ZSopOwogICAgIHN0YXRpYyBib29sIGNhbkFjY2Vzc0luc3BlY3RlZFdvcmtlckNvbnRl
eHQoU2NyaXB0U3RhdGUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YTU1NTRkMzEyYTBlZjBh
MzEyMmY1OGVjNTFlYzJkZGFkN2RiMDJiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMKQEAgLTAsMCArMSwzNiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyhmdW5jdGlvbihnbENvbnRleHQpIHsKKworLy8gRklYTUU6IFdyYXAgV2ViR0wgY29udGV4dCBm
b3IgaW5zdHJ1bWVudGF0aW9uLgorcmV0dXJuIGdsQ29udGV4dDsKKworfSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCBjOTkxMTYwOGM0ZThjZGJhYWI2OTdlMDU3
M2RlM2U3NGRlNDBiYjUxLi4wNDJiZThmNmYzZTAyZjNkYmEzNTM3YTg5YzZjN2NlZjdlYmFhYjRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0yODExLDUgKzI4
MTEsMjEgQEAKICAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNjb25uZWN0ZWRGcm9tV29ya2Vy
IgogICAgICAgICAgICAgfQogICAgICAgICBdCisgICAgfSwKKyAgICB7CisgICAgICAgICJkb21h
aW4iOiAiV2ViR0wiLAorICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKKyAgICAgICAgInR5cGVzIjog
W10sCisgICAgICAgICJjb21tYW5kcyI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAibmFtZSI6ICJlbmFibGUiLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFi
bGVzIFdlYkdMIGluc3BlY3Rpb24uIgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAibmFtZSI6ICJkaXNhYmxlIiwKKyAgICAgICAgICAgICAgICAiZGVzY3Jp
cHRpb24iOiAiRGlzYWJsZXMgV2ViR0wgaW5zcGVjdGlvbi4iCisgICAgICAgICAgICB9CisgICAg
ICAgIF0sCisgICAgICAgICJldmVudHMiOiBbXQogICAgIH1dCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAppbmRleCBiMTIyMzA0MzIzM2Y5ZDQ0
N2E1ZDNhYjU1MTEwNjY5NTllZmJlNjIxLi5iZTkyYTEzZmM3YjNjZDg1NjEzNjM4ZTYxODg3N2M4
MmZiMmMzOWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
QWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJ
bk9uZS5jcHAKQEAgLTY1LDYgKzY1LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JTdHlsZVRleHRF
ZGl0b3IuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIgogI2luY2x1
ZGUgIkluc3BlY3RvclZhbHVlcy5jcHAiCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5j
cHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3Ry
dW1lbnRpbmdBZ2VudHMuY3BwIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApp
bmRleCA0NmUwYzJiOGM1NGY0YjQyMGMyMzY4NGM3YmUzYTc1M2E0NWJiNzY5Li5hYzE5YzdkYjk1
M2QyNDU4MzljYWRmYTMyODZlZjY4YjUyOTYyZWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC02MSw2ICs2MSw3IEBACiAjaW5j
bHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclN0YXRl
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIgorI2luY2x1ZGUgIkluc3Bl
Y3RvcldlYkdMQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JXb3JrZXJBZ2VudC5oIgogI2lu
Y2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKICNpbmNsdWRlICJQYWdlQ29uc29sZUFnZW50
LmgiCkBAIC0xNDQsNiArMTQ1LDEwIEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNv
bnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAgICAgbV9h
Z2VudHMuYXBwZW5kKEluc3BlY3RvcldvcmtlckFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5n
QWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpKSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJH
TCkKKyAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yV2ViR0xBZ2VudDo6Y3JlYXRlKG1faW5z
dHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSwgbV9pbmplY3RlZFNjcmlwdE1h
bmFnZXIuZ2V0KCkpKTsKKyNlbmRpZgorCiAgICAgQVNTRVJUX0FSRyhpbnNwZWN0b3JDbGllbnQs
IGluc3BlY3RvckNsaWVudCk7CiAgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVk
U2NyaXB0SG9zdCgpLT5pbml0KG1faW5zcGVjdG9yQWdlbnQKICAgICAgICAgLCBjb25zb2xlQWdl
bnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaAppbmRleCBjYTk1MGJhZjcwZDE3Njg1NmMzY2U2ODczMGQyOWQ4MWJjZGMxOGYyLi40
ZWJhNGIzYzBhNTIzYWZkZmQzOWExMmNmMzI5YmE3NjA3OTZlNzk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC02OCw2
ICs2OCw3IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBTY3JpcHRBcmd1bWVudHM7
CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owor
Y2xhc3MgU2NyaXB0T2JqZWN0OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIGNsYXNzIFNlY3VyaXR5
T3JpZ2luOwogY2xhc3MgU2hhZG93Um9vdDsKQEAgLTIzNiw2ICsyMzcsMTAgQEAgcHVibGljOgog
ICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUVycm9yKERvY3VtZW50Kiwg
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSk7CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IHdyYXBX
ZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oRG9jdW1lbnQqLCBTY3JpcHRP
YmplY3QpOworI2VuZGlmCisKICAgICBzdGF0aWMgdm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VkKFBh
Z2UqKTsKICAgICBzdGF0aWMgdm9pZCB1cGRhdGVBcHBsaWNhdGlvbkNhY2hlU3RhdHVzKEZyYW1l
Kik7CiAKQEAgLTk3NSw3ICs5ODAsNyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKFBhZ2UqIHBhZ2UsIHVuc2lnbmVkCiB7CiAjaWYg
RU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQotICAgICAgICBt
YXJrUmVzb3VyY2VBc0NhY2hlZEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaWRlbnRpZmllcik7
IAorICAgICAgICBtYXJrUmVzb3VyY2VBc0NhY2hlZEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywg
aWRlbnRpZmllcik7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhZWEwYWEzODdjZGI3ODRjNWNi
ZDI2YTRmOThiNjhhMmNiM2UzMGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAKQEAgLTAsMCArMSwxMDQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisK
KyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50LmgiCisKKyNpbmNsdWRlICJJbmplY3RlZFNj
cmlwdE1hbmFnZXIuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorI2luY2x1ZGUg
Ikluc3BlY3RvclN0YXRlLmgiCisjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgorI2lu
Y2x1ZGUgIlNjcmlwdE9iamVjdC5oIgorI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworbmFtZXNwYWNlIFdlYkdMQWdlbnRTdGF0ZSB7CitzdGF0aWMgY29u
c3QgY2hhciB3ZWJHTEFnZW50RW5hYmxlZFtdID0gIndlYkdMQWdlbnRFbmFibGVkIjsKK307CisK
K0luc3BlY3RvcldlYkdMQWdlbnQ6Okluc3BlY3RvcldlYkdMQWdlbnQoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IEluc3BlY3RvckJh
c2VBZ2VudDxJbnNwZWN0b3JXZWJHTEFnZW50PigiV2ViR0wiLCBpbnN0cnVtZW50aW5nQWdlbnRz
LCBzdGF0ZSkKKyAgICAsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKGluamVjdGVkU2NyaXB0TWFu
YWdlcikKKyAgICAsIG1fZnJvbnRlbmQoMCkKKyAgICAsIG1fZW5hYmxlZChmYWxzZSkKK3sKKyAg
ICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvcldlYkdMQWdlbnQodGhpcyk7Cit9
CisKK0luc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50KCkKK3sKKyAgICBt
X2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvcldlYkdMQWdlbnQoMCk7Cit9CisKK3Zv
aWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6c2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqIGZy
b250ZW5kKQoreworICAgIEFTU0VSVChmcm9udGVuZCk7CisgICAgbV9mcm9udGVuZCA9IGZyb250
ZW5kLT53ZWJnbCgpOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRl
bmQoKQoreworICAgIG1fZnJvbnRlbmQgPSAwOworICAgIGRpc2FibGUoMCk7Cit9CisKK3ZvaWQg
SW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSgpCit7CisgICAgbV9lbmFibGVkID0gbV9zdGF0
ZS0+Z2V0Qm9vbGVhbihXZWJHTEFnZW50U3RhdGU6OndlYkdMQWdlbnRFbmFibGVkKTsKK30KKwor
dm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUoRXJyb3JTdHJpbmcqKQoreworICAgIGlm
IChtX2VuYWJsZWQpCisgICAgICAgIHJldHVybjsKKyAgICBtX2VuYWJsZWQgPSB0cnVlOworICAg
IG1fc3RhdGUtPnNldEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCwg
bV9lbmFibGVkKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpkaXNhYmxlKEVycm9y
U3RyaW5nKikKK3sKKyAgICBpZiAoIW1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1f
ZW5hYmxlZCA9IGZhbHNlOworICAgIG1fc3RhdGUtPnNldEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRl
Ojp3ZWJHTEFnZW50RW5hYmxlZCwgbV9lbmFibGVkKTsKK30KKworU2NyaXB0T2JqZWN0IEluc3Bl
Y3RvcldlYkdMQWdlbnQ6OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRp
b24oU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAgICByZXR1cm4gbV9pbmplY3RlZFNjcmlw
dE1hbmFnZXItPndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oZ2xD
b250ZXh0KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JXZWJHTEFnZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDBkMDhjYTJjZDdlMDAyMmQ5NjA5
M2YyMGQ2ZmNiNGNhZGY4MzdkNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5z
cGVjdG9yV2ViR0xBZ2VudF9oCisjZGVmaW5lIEluc3BlY3RvcldlYkdMQWdlbnRfaAorCisjaWYg
RU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAiSW5zcGVjdG9y
QmFzZUFnZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKKyNpbmNsdWRlICJQ
bGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIEluamVjdGVkU2NyaXB0TWFuYWdlcjsKK2NsYXNzIEluc3BlY3Rv
clN0YXRlOworY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKK2NsYXNzIFNjcmlwdE9iamVjdDsK
KwordHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CisKK2NsYXNzIEluc3BlY3RvcldlYkdMQWdl
bnQgOiBwdWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvcldlYkdMQWdlbnQ+LCBwdWJs
aWMgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OldlYkdMQ29tbWFuZEhhbmRsZXIgeworcHVi
bGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvcldlYkdMQWdlbnQ+IGNyZWF0ZShJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSog
c3RhdGUsIEluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JXZWJHTEFnZW50KGluc3Ry
dW1lbnRpbmdBZ2VudHMsIHN0YXRlLCBpbmplY3RlZFNjcmlwdE1hbmFnZXIpKTsKKyAgICB9Cisg
ICAgfkluc3BlY3RvcldlYkdMQWdlbnQoKTsKKworICAgIHZpcnR1YWwgdm9pZCBzZXRGcm9udGVu
ZChJbnNwZWN0b3JGcm9udGVuZCopOworICAgIHZpcnR1YWwgdm9pZCBjbGVhckZyb250ZW5kKCk7
CisgICAgdmlydHVhbCB2b2lkIHJlc3RvcmUoKTsKKworICAgIGJvb2wgZW5hYmxlZCgpIHsgcmV0
dXJuIG1fZW5hYmxlZDsgfQorCisgICAgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0KTsKKworICAgIC8vIENhbGxlZCBm
cm9tIHRoZSBmcm9udC1lbmQuCisgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyop
OworICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKik7CisKKyAgICAvLyBDYWxs
ZWQgZnJvbSB0aGUgaW5qZWN0ZWQgc2NyaXB0LgorCisgICAgLy8gQ2FsbGVkIGZyb20gSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uCisKK3ByaXZhdGU6CisgICAgSW5zcGVjdG9yV2ViR0xBZ2VudChJ
bnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yU3RhdGUqLCBJbmplY3RlZFNjcmlwdE1hbmFn
ZXIqKTsKKworICAgIEluamVjdGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlwdE1hbmFn
ZXI7CisgICAgSW5zcGVjdG9yRnJvbnRlbmQ6OldlYkdMKiBtX2Zyb250ZW5kOworICAgIGJvb2wg
bV9lbmFibGVkOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQorCisjZW5kaWYgLy8gIWRlZmluZWQoSW5z
cGVjdG9yV2ViR0xBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzI5N2NiNWNi
YmY4ZTE5ZTBkMjhjYTExOTY2OTY0NGYzZTA1NWU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgKQEAgLTAs
MCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb25faAorI2RlZmlu
ZSBJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbl9oCisKKyNpbmNsdWRlICJJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50LmgiCisjaW5j
bHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3Qg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5z
dHJ1bWVudGF0aW9uKERvY3VtZW50KiBkb2N1bWVudCwgU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkK
K3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3Vt
ZW50KSkgeworICAgICAgICBJbnNwZWN0b3JXZWJHTEFnZW50KiB3ZWJHTEFnZW50ID0gaW5zdHJ1
bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yV2ViR0xBZ2VudCgpOworICAgICAgICBpZiAod2ViR0xB
Z2VudCAmJiB3ZWJHTEFnZW50LT5lbmFibGVkKCkpCisgICAgICAgICAgICByZXR1cm4gd2ViR0xB
Z2VudC0+d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihnbENvbnRl
eHQpOworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBTY3JpcHRPYmplY3QoKTsKK30KKyNlbmRp
ZiAvLyBFTkFCTEUoV0VCR0wpCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
ICFkZWZpbmVkKEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAppbmRleCAxOTRlYjg2NWVjNzVh
NjZmZWZiNGI3MjQ2ZjAwOGE4MzhhODhhYWJjLi4xMzM0ZGM3ZDZkYjdlZGIzOTA4NmI5NmUzYzc4
NjRjYTE3OGYzNDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1
bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50
aW5nQWdlbnRzLmgKQEAgLTUyLDYgKzUyLDcgQEAgY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dDsKIGNsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudDsKIGNsYXNzIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JXb3JrZXJBZ2VudDsKK2NsYXNzIEluc3BlY3RvcldlYkdM
QWdlbnQ7CiBjbGFzcyBQYWdlOwogY2xhc3MgUGFnZVJ1bnRpbWVBZ2VudDsKIGNsYXNzIFdvcmtl
ckNvbnRleHQ7CkBAIC04Niw2ICs4Nyw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoV09SS0VSUykK
ICAgICAgICAgLCBtX2luc3BlY3RvcldvcmtlckFnZW50KDApCiAjZW5kaWYKKyNpZiBFTkFCTEUo
V0VCR0wpCisgICAgICAgICwgbV9pbnNwZWN0b3JXZWJHTEFnZW50KDApCisjZW5kaWYKICAgICB7
IH0KICAgICB+SW5zdHJ1bWVudGluZ0FnZW50cygpIHsgfQogCkBAIC0xNDIsMTEgKzE0NiwxNyBA
QCBwdWJsaWM6CiAgICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogaW5zcGVjdG9yUHJvZmlsZXJB
Z2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yUHJvZmlsZXJBZ2VudDsgfQogICAgIHZv
aWQgc2V0SW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJbnNwZWN0b3JQcm9maWxlckFnZW50KiBhZ2Vu
dCkgeyBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQgPSBhZ2VudDsgfQogI2VuZGlmCisKICNpZiBF
TkFCTEUoV09SS0VSUykKICAgICBJbnNwZWN0b3JXb3JrZXJBZ2VudCogaW5zcGVjdG9yV29ya2Vy
QWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvcldvcmtlckFnZW50OyB9CiAgICAgdm9p
ZCBzZXRJbnNwZWN0b3JXb3JrZXJBZ2VudChJbnNwZWN0b3JXb3JrZXJBZ2VudCogYWdlbnQpIHsg
bV9pbnNwZWN0b3JXb3JrZXJBZ2VudCA9IGFnZW50OyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShX
RUJHTCkKKyAgICBJbnNwZWN0b3JXZWJHTEFnZW50KiBpbnNwZWN0b3JXZWJHTEFnZW50KCkgY29u
c3QgeyByZXR1cm4gbV9pbnNwZWN0b3JXZWJHTEFnZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0
b3JXZWJHTEFnZW50KEluc3BlY3RvcldlYkdMQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yV2Vi
R0xBZ2VudCA9IGFnZW50OyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBJbnNwZWN0b3JBZ2Vu
dCogbV9pbnNwZWN0b3JBZ2VudDsKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1faW5zcGVjdG9y
UGFnZUFnZW50OwpAQCAtMTczLDYgKzE4Myw5IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFdPUktF
UlMpCiAgICAgSW5zcGVjdG9yV29ya2VyQWdlbnQqIG1faW5zcGVjdG9yV29ya2VyQWdlbnQ7CiAj
ZW5kaWYKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgSW5zcGVjdG9yV2ViR0xBZ2VudCogbV9pbnNw
ZWN0b3JXZWJHTEFnZW50OworI2VuZGlmCiB9OwogCiBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0
cnVtZW50YXRpb25Gb3JQYWdlKFBhZ2UqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145555</attachid>
            <date>2012-06-04 03:45:48 -0700</date>
            <delta_ts>2012-06-06 01:47:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120604144546.patch</filename>
            <type>text/plain</type>
            <size>54640</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVjOGRlMmRmODgwNjYy
NDUxOWQ3ZjFhMmM0YTJmMzUwMjZiYWRhOC4uMjlkYjdlNDRkNGE4NDM4NjM1ZDU2YjY3NzI2YWE5
MmRlYTRhZTc3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA2LTAzICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNv
cmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1M
Q2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0
V2ViR0xTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpk
aXNjYXJkSW5qZWN0ZWRTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0NvZGVHZW5l
cmF0b3JJbnNwZWN0b3IucHk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVk
U2NyaXB0TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaDoKKyAgICAgICAgKEluamVjdGVkU2NyaXB0TWFuYWdlcik6CisgICAgICAgICogaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNo
ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkdMQWdlbnRTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0
aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJH
TFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAg
ICAoSW5zdHJ1bWVudGluZ0FnZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5n
QWdlbnRzOjppbnNwZWN0b3JXZWJHTEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6OnNldEluc3BlY3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERh
dGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpIHNob3VsZCBzeW5jaHJvbm91c2x5IHJl
dHVybiBlbnRyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjZWIxZGI0MDZjYjBhZTQ2OTcxNzlj
NmViZWI2NTRmZDRiZGEyMzBhLi5kYzNkNzAzYzc3YjgxNGZjMjJhN2UxZThiNjJjNzViNjA3ZjNk
NDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTYyLDYgKzk2Miw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5j
cHAKQEAgLTE2OTMsNyArMTY5NCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAg
ICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAg
TW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAor
CiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3
b3JraW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVs
ZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjYwNCw2ICsyNjA1
LDE3IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAk
e0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAog
CisjIEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJH
TCkKKyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09V
UkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1B
SU5fREVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAg
ICAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3Iv
eHhkLnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09S
RV9ESVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAg
ICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNI
X1RPT0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNw
cCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAyZmM5ZjE4NjUyMjQzNGYz
ZDJmYWUxMjMzY2U3N2U3YTk1YTE0MC4uMGVkZjIyMTQ1ZTI3YmMyZjg3YjJmMTYzNDJiMWRkOWRm
MjBjYWUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAog
IyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFj
ayA8Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFy
ZSBtZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAor
IyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03
ODAsMTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQo
UFJPSkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZp
bmRzdHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAg
IFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQo
V2ViQ29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChV
U0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAog
aWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5B
QkxFX01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtl
X25hbWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdz
L3NjcmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0t
LS0tLS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAog
RXZlbnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9t
YWtlX2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBA
QCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5o
IEV4Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9z
Y3JpcHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0t
LS0tLS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVu
dCBmYWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBk
b20vbWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpA
QCAtOTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3Rl
ZFNjcmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29y
ZSkvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAK
K2FsbCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUp
L2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUp
L2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEg
KCQoZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19X
WCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBlNWY0ODQ0Njk1Mjg2MjM2MmQ3Yjlk
YjMyMjNhODIxMzQ2NmQzOWJiLi5lMzQ5OGY0ODQ0Y2YwMDYzM2IwNzdhODBjYmJlYjBiMmQ1OGI1
MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BF
Q1RPUl9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5z
cGVjdG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NP
VVJDRSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERF
QlVHR0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5q
cwogCiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDEx
ICs3NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VO
RVJBVE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGlu
amVjdGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVj
dGVkU2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0
ZWRTY3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
ICR7UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwg
JCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJ
TEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0
X3RvX3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQog
Ci0jIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBp
bGVyCisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291
cmNlIGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElO
SkVDVEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29t
bWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9
IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3Ig
ZGVidWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0
cHV0ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQg
PSBERUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9
IHBlcmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FN
QUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDgz
NjhjNmQ0NDcyM2RjOWJiZGZkYmE1MGFkMTczOGY1MTBjNTU2NGIuLmYwYzUyYWI3Y2FlYjUzMjkx
NGQ5NzI2NDE5ODE0ZTlmZTE3ZjQ5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjEsNiAr
ODIxLDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
anM6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0
ZWRTY3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuanMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIElu
amVjdGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJD
b3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4p
JChQRVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpz
ICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYg
RU5BQkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBA
IC0xMDcwLDYgKzEwNzIsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3Uv
TElDRU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0
b3IucHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5q
cyBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
anMgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDVhYzVkZTM2MjQxZDFiODJmYzE4NTVmNzFhZTRhNmM2
NWZkM2UzNDEuLjUyNmY1ZDk5ZDI5ZGJlYTM3MTM4NDA5YTFiNjNiOTJjM2M4YmUyMGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMiw2ICsyNzIzLDkgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYmMwMTE3Yjc1MDYzMTg5
Y2RkMjkxNzQ2NTFiYzZmZDkzZTk5YmFiNC4uMGU3MTk4ZDI1Y2FhMDk4NzFkNjIzN2JlN2RiNWRh
ODEzNTgwMjVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0Rh
dGEuY3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRl
eHRFZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3Bl
Y3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBp
bnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4
IGI3NmQzYmM1YjY1OTNkN2RmOGEwNWY1N2QxMTY1YWFiZDg1NTM0M2IuLjEwZGQ5OGYwMGVjOTk5
NjVlYjczY2QzYTEyMjRiNjYxZDE2N2RhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzcs
NyArMTc3LDcgQEAgX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjE2bG9hZEZyYW1lUmVxdWVzdEVS
S05TXzE2RnJhbWVMb2FkUmVxdWVzdEViYk4zV1RGMTBQYXMKIF9fWk43V2ViQ29yZTExRnJhbWVM
b2FkZXIxN3N0b3BGb3JVc2VyQ2FuY2VsRWIKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMWxv
YWRVUkxJbnRvQ2hpbGRGcmFtZUVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRVBOU181RnJhbWVF
CiBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMjJmaW5kRnJhbWVGb3JOYXZpZ2F0aW9uRVJLTjNX
VEYxMkF0b21pY1N0cmluZ0VQTlNfOERvY3VtZW50RQotX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRl
cjIzdGltZU9mTGFzdENvbXBsZXRlZExvYWRFdiAgICAKK19fWk43V2ViQ29yZTExRnJhbWVMb2Fk
ZXIyM3RpbWVPZkxhc3RDb21wbGV0ZWRMb2FkRXYKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIy
NnJlbG9hZFdpdGhPdmVycmlkZUVuY29kaW5nRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3Jl
MTFGcmFtZUxvYWRlcjMyc2V0T3JpZ2luYWxVUkxGb3JEb3dubG9hZFJlcXVlc3RFUk5TXzE1UmVz
b3VyY2VSZXF1ZXN0RQogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRpbml0RXYKQEAgLTE2ODQs
NyArMTY4NCw3IEBAIF93a0dldEFYVGV4dE1hcmtlclR5cGVJRAogX3drR2V0QVhUZXh0TWFya2Vy
UmFuZ2VUeXBlSUQKIF93a0NyZWF0ZUFYVGV4dE1hcmtlclJhbmdlCiBfd2tDb3B5QVhUZXh0TWFy
a2VyUmFuZ2VTdGFydAotX3drQ29weUFYVGV4dE1hcmtlclJhbmdlRW5kIAorX3drQ29weUFYVGV4
dE1hcmtlclJhbmdlRW5kCiBfd2tDcmVhdGVBWFRleHRNYXJrZXIKIF93a0dldEJ5dGVzRnJvbUFY
VGV4dE1hcmtlcgogX3drQ3JlYXRlQVhVSUVsZW1lbnRSZWYKQEAgLTE3NzYsNyArMTc3Niw3IEBA
IF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMTRyZW1vdmVBbGxJY29uc0V2CiBfX1pON1dlYkNv
cmUxMkljb25EYXRhYmFzZTE1aWNvblJlY29yZENvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRh
dGFiYXNlMTlwYWdlVVJMTWFwcGluZ0NvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNl
MjBhbGxvd0RhdGFiYXNlQ2xlYW51cEV2Ci1fX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIwZGVs
YXlEYXRhYmFzZUNsZWFudXBFdiAgIAorX19aTjdXZWJDb3JlMTJJY29uRGF0YWJhc2UyMGRlbGF5
RGF0YWJhc2VDbGVhbnVwRXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjByZXRhaW5JY29u
Rm9yUGFnZVVSTEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjBy
ZXRhaW5lZFBhZ2VVUkxDb3VudEV2CiBfX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIxcmVsZWFz
ZUljb25Gb3JQYWdlVVJMRVJLTjNXVEY2U3RyaW5nRQpAQCAtMjIxMywzICsyMjEzLDggQEAgX19a
Tks3V2ViQ29yZTROb2RlMzFudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuRXYKICNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKIF9fWk43V2ViQ29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczE4
aXNTaGFkb3dET01FbmFibGVkRQogI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCR0wpCitfX1pON1dl
YkNvcmUxOUluc3BlY3RvcldlYkdMQWdlbnRDMUVQTlNfMTlJbnN0cnVtZW50aW5nQWdlbnRzRVBO
U18xNEluc3BlY3RvclN0YXRlRVBOU18yMUluamVjdGVkU2NyaXB0TWFuYWdlckUKK19fWk43V2Vi
Q29yZTE5SW5zcGVjdG9yV2ViR0xBZ2VudDQzd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvcklu
c3RydW1lbnRhdGlvbkVOU18xMlNjcmlwdE9iamVjdEUKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA3ZDhkN2JlYTg1MjRiNWUwY2QzY2I2YzczM2MwNDkz
MWJmYWFhNTQ5Li5hMjU2MjQ4ZmI3N2YzODI0YzYxYWRkYjQ3MDk4YmQ0YTRmNGZmM2VjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtNDM0LDYgKzQzNCwyOSBAQAog
ICAgICAgXQogICAgIH0sCiAgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ2luamVjdGVkX3dl
YmdsX3NjcmlwdF9zb3VyY2UnLAorICAgICAgJ3R5cGUnOiAnbm9uZScsCisgICAgICAnYWN0aW9u
cyc6IFsKKyAgICAgICAgeworICAgICAgICAgICdhY3Rpb25fbmFtZSc6ICdnZW5lcmF0ZUluamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UnLAorICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAgICAg
ICAnLi4vaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMnLAorICAgICAgICAg
IF0sCisgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJN
RURJQVRFX0RJUikvd2Via2l0L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCcsCisgICAgICAg
ICAgXSwKKyAgICAgICAgICAnYWN0aW9uJzogWworICAgICAgICAgICAgJ3BlcmwnLAorICAgICAg
ICAgICAgJy4uL2luc3BlY3Rvci94eGQucGwnLAorICAgICAgICAgICAgJ0luamVjdGVkV2ViR0xT
Y3JpcHRTb3VyY2VfanMnLAorICAgICAgICAgICAgJzxAKF9pbnB1dHMpJywKKyAgICAgICAgICAg
ICc8QChfb3V0cHV0cyknCisgICAgICAgICAgXSwKKyAgICAgICAgICAnbWVzc2FnZSc6ICdHZW5l
cmF0aW5nIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBmcm9tIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuanMnLAorICAgICAgICB9LAorICAgICAgXQorICAgIH0sCisgICAgewogICAgICAg
J3RhcmdldF9uYW1lJzogJ2RlYnVnZ2VyX3NjcmlwdF9zb3VyY2UnLAogICAgICAgJ3R5cGUnOiAn
bm9uZScsCiAgICAgICAnYWN0aW9ucyc6IFsKQEAgLTEwNzQsNiArMTA5Nyw3IEBACiAgICAgICAg
ICd3ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnLAogICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29s
X3NvdXJjZXMnLAogICAgICAgICAnaW5qZWN0ZWRfc2NyaXB0X3NvdXJjZScsCisgICAgICAgICdp
bmplY3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2RlYnVnZ2VyX3NjcmlwdF9z
b3VyY2UnLAogICAgICAgICAnLi4vLi4vSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lw
L0phdmFTY3JpcHRDb3JlLmd5cDp5YXJyJywKICAgICAgICAgJy4uLy4uL1dURi9XVEYuZ3lwL1dU
Ri5neXA6d3RmJywKQEAgLTExOTcsNiArMTIyMSw3IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzog
WwogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAgICdpbmplY3RlZF9z
Y3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dlYmdsX3NjcmlwdF9zb3VyY2UnLAog
ICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMnLAogICAgICAgICAnd2ViY29yZV9i
aW5kaW5nc19zb3VyY2VzJywKICAgICAgICAgJy4uLy4uL1RoaXJkUGFydHkvZ2x1L2dsdS5neXA6
bGlidGVzcycsCkBAIC0xNDcyLDkgKzE0OTcsOSBAQAogICAgICAgJ2RlcGVuZGVuY2llcyc6IFsK
ICAgICAgICAgJ3dlYmNvcmVfcHJlcmVxdWlzaXRlcycsCiAgICAgICBdLAotICAgICAgJ2RlZmlu
ZXMnOiBbIAotICAgICAgICAnV0VCS0lUX0lNUExFTUVOVEFUSU9OPTEnLCAKLSAgICAgIF0sIAor
ICAgICAgJ2RlZmluZXMnOiBbCisgICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsCisg
ICAgICBdLAogICAgICAgIyBUaGlzIGlzIG5lZWRlZCBmb3IgbWFjIGJlY2F1c2Ugb2Ygd2Via2l0
X3N5c3RlbV9pbnRlcmZhY2UuIEl0J2QgYmUgbmljZQogICAgICAgIyBpZiB0aGlzIGhhcmQgZGVw
ZW5kZW5jeSBjb3VsZCBiZSBzcGxpdCBvZmYgdGhlIHJlc3QuCiAgICAgICAnaGFyZF9kZXBlbmRl
bmN5JzogMSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAwMTMxY2Q0NGZmZDJiMmZjNmQwZWYxN2VhYWRl
YzQzNjlkNGQxMTY5Li5jODkxYzQ5NmU1ZGU3YTM4NGU3MDUyZWVmYTM3NzhlNzg1MmY4OTlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0yODE5LDYgKzI4MTksOSBAQAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9J
bnNwZWN0b3JWYWx1ZXMuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29y
a2VyUmVzb3VyY2UuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdl
bnQuY3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oJywK
KyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCcs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCcsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcCcsCkBAIC02NjQxLDcgKzY2NDQsNyBA
QAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNtYWxsR3Jh
eS5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNt
YWxsV2hpdGUucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9z
ZWFyY2hOZXh0LnBuZycsCi0gICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMv
c2VhcmNoUHJldi5wbmcnLCAgICAgICAgICAgIAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzL3NlYXJjaFByZXYucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJv
bnQtZW5kL0ltYWdlcy9zZWdtZW50LnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250
LWVuZC9JbWFnZXMvc2VnbWVudEVuZC5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzL3NlZ21lbnRIb3Zlci5wbmcnLApAQCAtNzIzOSw2ICs3MjQyLDcgQEAKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1l
cy5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSGVhZGVyRGV0ZWN0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCcsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVyLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggOGRmNzFlZTNiZWJmMTIxZjI4ZDQwMDZmYmM4
YTNkOWY3MmI1ODUyYi4uYzJiMzI3ODM0ODhiMWM4MGNjNmRkNDJhNjUxNTE4OWNkNjlmYTUxZCAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTcz
OTk1LDYgKzczOTk1LDM0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JXZWJHTEFnZW50LmNwcCIKKwkJCQk+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
cldlYkdMQWdlbnQuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgiCisJCQkJ
PgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJ
bnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGYwY2NhNzI1OWI4N2Q5MWY4NDBmN2Q1MTA5YTUxZDFkZmMxYWMxN2QuLjllNzVmYTY0MDQ4
ZDBlOGViYWFhNGY5YzY0YWZiZmViZTlmZTY3Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg0MDcsNiArODQwNyw5IEBACiAJ
CTQ5RUVEMTRDMTA1MTk3MUEwMDA5OUZBQiAvKiBKU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3Rv
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYkdMUmVuZGVy
aW5nQ29udGV4dEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5RUVE
MTREMTA1MTk3MUEwMDA5OUZBQiAvKiBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDYW52YXNSZW5kZXJpbmdD
b250ZXh0Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlGQzdBNEYx
NDQ0QUY1RjAwQTVEODY0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUZDODhCNTE1N0NCMEI5MDA2QUEyODcgLyogSW5z
cGVjdG9yV2ViR0xBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJbnNwZWN0b3JXZWJHTEFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDlGQzg4QjYxNTdDQjBCOTAwNkFBMjg3IC8qIEluc3BlY3RvcldlYkdMQWdlbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yV2ViR0xBZ2VudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0OUZDODhCNzE1N0NCMEI5MDA2QUEyODcgLyogSW5zcGVj
dG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDlGRkJGMUMxMUM4NTUwRTAwNkE3MTE4IC8qIEdyYXBoaWNzQ29udGV4dDNETWFj
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gR3JhcGhpY3NDb250
ZXh0M0RNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5RkZCRjNEMTFDOTNF
RTMwMDZBNzExOCAvKiBXZWJHTExheWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkdMTGF5ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlGRkJGM0Ux
MUM5M0VFMzAwNkE3MTE4IC8qIFdlYkdMTGF5ZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBXZWJHTExheWVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTQ0MzIsNiArMTQ0MzUsOSBAQAogCQkJCTc1NDEzM0E3MTAyRTAwRTgwMDA3NUQwMCAv
KiBJbnNwZWN0b3JUaW1lbGluZUFnZW50LmggKi8sCiAJCQkJNEYzMjg5QjMxMUE0MkFBQjAwNUFC
RTdFIC8qIEluc3BlY3RvclZhbHVlcy5jcHAgKi8sCiAJCQkJNEYzMjg5QjQxMUE0MkFBQjAwNUFC
RTdFIC8qIEluc3BlY3RvclZhbHVlcy5oICovLAorCQkJCTQ5RkM4OEI1MTU3Q0IwQjkwMDZBQTI4
NyAvKiBJbnNwZWN0b3JXZWJHTEFnZW50LmNwcCAqLywKKwkJCQk0OUZDODhCNjE1N0NCMEI5MDA2
QUEyODcgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5oICovLAorCQkJCTQ5RkM4OEI3MTU3Q0IwQjkw
MDZBQTI4NyAvKiBJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oICovLAogCQkJCUYzODEw
QzE5MTM2NUE0OTYwMEVENkUzMyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAgKi8sCiAJCQkJ
RjM4MTBDMUExMzY1QTQ5NjAwRUQ2RTMzIC8qIEluc3BlY3RvcldvcmtlckFnZW50LmggKi8sCiAJ
CQkJRjM3NUNDMDYxMTUwRDMwMDAwOEREQjgxIC8qIEluc3BlY3RvcldvcmtlclJlc291cmNlLmgg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxDYW52YXNF
bGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZh
c0VsZW1lbnRDdXN0b20uY3BwCmluZGV4IGQ1ZmMzY2U5NjM2M2RjNTEyNjg0ZjJmNDA3MWE0MjQ4
NWVhYzA2MTguLmE3MmFmMTA2Mjk0NTdiZWYzZmU5ODU0YzBjNGJiMzRkMDY5ODEzNWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0
b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1l
bnRDdXN0b20uY3BwCkBAIC0yMSw3ICsyMSw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKICNp
bmNsdWRlICJjb25maWcuaCIKQEAgLTMxLDcgKzMxLDkgQEAKICNpbmNsdWRlICJIVE1MQ2FudmFz
RWxlbWVudC5oIgogI2luY2x1ZGUgIkpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgiCiAjaWYg
RU5BQkxFKFdFQkdMKQorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgi
CiAjaW5jbHVkZSAiSlNXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKKyNpbmNsdWRlICJTY3JpcHRP
YmplY3QuaCIKICNpbmNsdWRlICJXZWJHTENvbnRleHRBdHRyaWJ1dGVzLmgiCiAjZW5kaWYKICNp
bmNsdWRlIDx3dGYvR2V0UHRyLmg+CkBAIC03NSw3ICs3NywxNiBAQCBKU1ZhbHVlIEpTSFRNTENh
bnZhc0VsZW1lbnQ6OmdldENvbnRleHQoRXhlY1N0YXRlKiBleGVjKQogICAgIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQqIGNvbnRleHQgPSBjYW52YXMtPmdldENvbnRleHQodXN0cmluZ1RvU3RyaW5n
KGNvbnRleHRJZCksIGF0dHJzLmdldCgpKTsKICAgICBpZiAoIWNvbnRleHQpCiAgICAgICAgIHJl
dHVybiBqc051bGwoKTsKLSAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QoKSwgV1RG
OjpnZXRQdHIoY29udGV4dCkpOworICAgIEpTVmFsdWUganNWYWx1ZSA9IHRvSlMoZXhlYywgZ2xv
YmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGNvbnRleHQpKTsKKyNpZiBFTkFCTEUoV0VCR0wpCisg
ICAgaWYgKGNvbnRleHQtPmlzM2QoKSAmJiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zy
b250ZW5kcygpKSB7CisgICAgICAgIFNjcmlwdE9iamVjdCBnbENvbnRleHQoZXhlYywganNWYWx1
ZS5nZXRPYmplY3QoKSk7CisgICAgICAgIFNjcmlwdE9iamVjdCB3cmFwcGVkID0gSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0
aW9uKGNhbnZhcy0+ZG9jdW1lbnQoKSwgZ2xDb250ZXh0KTsKKyAgICAgICAgaWYgKCF3cmFwcGVk
Lmhhc05vVmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLmpzVmFsdWUoKTsKKyAg
ICB9CisjZW5kaWYKKyAgICByZXR1cm4ganNWYWx1ZTsKIH0KIAogSlNWYWx1ZSBKU0hUTUxDYW52
YXNFbGVtZW50Ojp0b0RhdGFVUkwoRXhlY1N0YXRlKiBleGVjKQpAQCAtOTMsNyArMTA0LDcgQEAg
SlNWYWx1ZSBKU0hUTUxDYW52YXNFbGVtZW50Ojp0b0RhdGFVUkwoRXhlY1N0YXRlKiBleGVjKQog
ICAgICAgICAgICAgcXVhbGl0eVB0ciA9ICZxdWFsaXR5OwogICAgICAgICB9CiAgICAgfQotICAg
IAorCiAgICAgSlNWYWx1ZSByZXN1bHQgPSBqc1N0cmluZyhleGVjLCBjYW52YXMtPnRvRGF0YVVS
TCh0eXBlLCBxdWFsaXR5UHRyLCBlYykpOwogICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAppbmRleCAxNTc2ZDM0NmQwNmRjYTUwYzg0
ZjgzZTVmYjk2ZGQ2MWFmNTlkNjcwLi44MGI0ZTc4OTA2NGQ3NDllMWJhZDdmNGIwNzFkNjVmMWMw
ODRlYmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVk
U2NyaXB0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC03OCw2ICs3OCwxNCBAQCBTY3JpcHRPYmplY3QgSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNv
dXJjZSwgUwogICAgIHJldHVybiBTY3JpcHRPYmplY3QoKTsKIH0KIAorI2lmIEVOQUJMRShXRUJH
TCkKK1NjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0
KGNvbnN0IFN0cmluZyYsIFNjcmlwdE9iamVjdCkKK3sKKyAgICAvLyBGSVhNRSg4Nzk3NSk6IElt
cGxlbWVudCB0aGlzIQorICAgIHJldHVybiBTY3JpcHRPYmplY3QoKTsKK30KKyNlbmRpZgorCiB2
b2lkIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0
YXRlKiBzY3JpcHRTdGF0ZSkKIHsKICAgICBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
ID0ganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oc2NyaXB0U3RhdGUtPmxleGljYWxHbG9iYWxP
YmplY3QoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRT
dGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAKaW5k
ZXggYzE5ZmI5ODkyYmRjOGE5NzY0ZGY3ZTNhYmJmNzk5YjE1ZGJiNjgxNC4uZTIxYzZjYWNlNzUx
N2Q5NDA0YzliOWJjNGMwM2VkMzg3MWMzMjQwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1NjcmlwdFN0YXRlLmNwcApAQCAtOTAsNyArOTAsNyBAQCBTY3JpcHRTdGF0ZSogU2NyaXB0
U3RhdGU6OmZvckNvbnRleHQodjg6OkxvY2FsPHY4OjpDb250ZXh0PiBjb250ZXh0KQogCiAgICAg
djg6OkxvY2FsPHY4OjpPYmplY3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2JhbCgpOwogICAgIC8v
IFNraXAgcHJveHkgb2JqZWN0LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vydml2ZSBwYWdlIG5h
dmlnYXRpb24gd2hpbGUgd2UgbmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBj
b25zaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgorICAgIC8vIGFuIG9i
amVjdCB3aG9zZSBsaWZldGltZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQg
Y29udGV4dC4KICAgICBnbG9iYWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46OkNhc3QoZ2xvYmFs
LT5HZXRQcm90b3R5cGUoKSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGtleSA9IFY4
SGlkZGVuUHJvcGVydHlOYW1lOjpzY3JpcHRTdGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0
b20uY3BwCmluZGV4IDIwZGI1M2Q2NGVjMTAxOWJmMTBkM2M0MmM3OGVmNzAwMjlmMjlkNzguLmUx
OTg5NmZlZTAyMDFiMWI1NGIzNTVkOWQwY2IyMTgzZmQyNzg5ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxl
bWVudEN1c3RvbS5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJWOE5vZGUuaCIKICNp
bmNsdWRlICJWOFByb3h5LmgiCiAjaWYgRU5BQkxFKFdFQkdMKQorI2luY2x1ZGUgIkluc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiVjhXZWJHTFJlbmRlcmluZ0NvbnRl
eHQuaCIKICNlbmRpZgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CkBAIC04OCw4ICs4OSwx
NyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4
dENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudAogICAgIGlmIChyZXN1bHQtPmlzMmQoKSkKICAg
ICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKj4o
cmVzdWx0KSwgYXJncy5HZXRJc29sYXRlKCkpOwogI2lmIEVOQUJMRShXRUJHTCkKLSAgICBlbHNl
IGlmIChyZXN1bHQtPmlzM2QoKSkKLSAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8V2Vi
R0xSZW5kZXJpbmdDb250ZXh0Kj4ocmVzdWx0KSwgYXJncy5HZXRJc29sYXRlKCkpOworICAgIGVs
c2UgaWYgKHJlc3VsdC0+aXMzZCgpKSB7CisgICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2
OFJlc3VsdCA9IHRvVjgoc3RhdGljX2Nhc3Q8V2ViR0xSZW5kZXJpbmdDb250ZXh0Kj4ocmVzdWx0
KSwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICBpZiAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpoYXNGcm9udGVuZHMoKSkgeworICAgICAgICAgICAgU2NyaXB0U3RhdGUqIHNjcmlwdFN0
YXRlID0gU2NyaXB0U3RhdGU6OmZvckNvbnRleHQodjg6OkNvbnRleHQ6OkdldEN1cnJlbnQoKSk7
CisgICAgICAgICAgICBTY3JpcHRPYmplY3QgZ2xDb250ZXh0KHNjcmlwdFN0YXRlLCB2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHY4UmVzdWx0KSk7CisgICAgICAgICAgICBTY3JpcHRPYmpl
Y3Qgd3JhcHBlZCA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d3JhcFdlYkdMUmVuZGVyaW5n
Q29udGV4dEZvckluc3RydW1lbnRhdGlvbihpbXAtPmRvY3VtZW50KCksIGdsQ29udGV4dCk7Cisg
ICAgICAgICAgICBpZiAoIXdyYXBwZWQuaGFzTm9WYWx1ZSgpKQorICAgICAgICAgICAgICAgIHJl
dHVybiB3cmFwcGVkLnY4VmFsdWUoKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdjhSZXN1
bHQ7CisgICAgfQogI2VuZGlmCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJu
IHY4OjpOdWxsKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmlu
ZGV4IDMzM2ZlNTc1Y2IwNzhhMTI3NTY3YzY1YzJjNTFkY2Y3YTQ2ZDFjMjMuLjFjZTU5NWVjODA3
NGMxMjcyYmM2OTJmZDYxOTA5ZGZlYWJlZDk1OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNw
cApAQCAtMTEwLDEwICsxMTAsMzQgQEAgU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdl
cjo6Y3JlYXRlSW5qZWN0ZWRTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHRTb3UKICAgICAgIHY4
OjpOdW1iZXI6Ok5ldyhpZCksCiAgICAgfTsKICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBpbmpl
Y3RlZFNjcmlwdFZhbHVlID0gdjg6OkZ1bmN0aW9uOjpDYXN0KCp2KS0+Q2FsbCh3aW5kb3dHbG9i
YWwsIDMsIGFyZ3MpOwotICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBpbmplY3RlZFNjcmlwdCh2
ODo6T2JqZWN0OjpDYXN0KCppbmplY3RlZFNjcmlwdFZhbHVlKSk7Ci0gICAgcmV0dXJuIFNjcmlw
dE9iamVjdChpbnNwZWN0ZWRTY3JpcHRTdGF0ZSwgaW5qZWN0ZWRTY3JpcHQpOworICAgIHJldHVy
biBTY3JpcHRPYmplY3QoaW5zcGVjdGVkU2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD46OkNhc3QoaW5qZWN0ZWRTY3JpcHRWYWx1ZSkpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQor
U2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0V2ViR0xTY3JpcHQoY29u
c3QgU3RyaW5nJiBzY3JpcHRTb3VyY2UsIFNjcmlwdE9iamVjdCBnbENvbnRleHQpCit7CisgICAg
djg6OkhhbmRsZVNjb3BlIHNjb3BlOworCisgICAgU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjcmlw
dFN0YXRlID0gZ2xDb250ZXh0LnNjcmlwdFN0YXRlKCk7CisgICAgdjg6OkxvY2FsPHY4OjpDb250
ZXh0PiBpbnNwZWN0ZWRDb250ZXh0ID0gaW5zcGVjdGVkU2NyaXB0U3RhdGUtPmNvbnRleHQoKTsK
KyAgICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKGluc3BlY3RlZENvbnRleHQpOwor
CisgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IHdpbmRvd0dsb2JhbCA9IGluc3BlY3RlZENvbnRl
eHQtPkdsb2JhbCgpOworCisgICAgdjg6OkxvY2FsPHY4OjpTY3JpcHQ+IHNjcmlwdCA9IHY4OjpT
Y3JpcHQ6OkNvbXBpbGUodjhTdHJpbmcoc2NyaXB0U291cmNlKSk7CisgICAgVjhSZWN1cnNpb25T
Y29wZTo6TWljcm90YXNrU3VwcHJlc3Npb24gcmVjdXJzaW9uU2NvcGU7CisgICAgdjg6OkxvY2Fs
PHY4OjpWYWx1ZT4gdiA9IHNjcmlwdC0+UnVuKCk7CisgICAgQVNTRVJUKCF2LklzRW1wdHkoKSk7
CisgICAgQVNTRVJUKHYtPklzRnVuY3Rpb24oKSk7CisKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gYXJnc1tdID0geworICAgICAgICBnbENvbnRleHQudjhWYWx1ZSgpLAorICAgIH07CisgICAg
djg6OkxvY2FsPHY4OjpWYWx1ZT4gaW5qZWN0ZWRTY3JpcHRWYWx1ZSA9IHY4OjpGdW5jdGlvbjo6
Q2FzdCgqdiktPkNhbGwod2luZG93R2xvYmFsLCAxLCBhcmdzKTsKKyAgICByZXR1cm4gU2NyaXB0
T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRlLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0
KGluamVjdGVkU2NyaXB0VmFsdWUpKTsKK30KKyNlbmRpZgorCiB2b2lkIEluamVjdGVkU2NyaXB0
TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTY3Jp
cHRTdGF0ZSkKIHsKICAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CkBAIC0xMjIsNyAr
MTQ2LDcgQEAgdm9pZCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRpc2NhcmRJbmplY3RlZFNjcmlw
dChTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3QKIAogICAgIHY4OjpMb2NhbDx2ODo6T2Jq
ZWN0PiBnbG9iYWwgPSBjb250ZXh0LT5HbG9iYWwoKTsKICAgICAvLyBTa2lwIHByb3h5IG9iamVj
dC4gVGhlIHByb3h5IG9iamVjdCB3aWxsIHN1cnZpdmUgcGFnZSBuYXZpZ2F0aW9uIHdoaWxlIHdl
IG5lZWQKLSAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29uc2lkZXMgd2l0aCB0aGF0
IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KKyAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRp
bWUgY29pbmNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCiAgICAgZ2xv
YmFsID0gdjg6OkxvY2FsPHY4OjpPYmplY3Q+OjpDYXN0KGdsb2JhbC0+R2V0UHJvdG90eXBlKCkp
OwogCiAgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBrZXkgPSBWOEhpZGRlblByb3BlcnR5TmFt
ZTo6ZGV2dG9vbHNJbmplY3RlZFNjcmlwdCgpOwpAQCAtMTM3LDcgKzE2MSw3IEBAIEluamVjdGVk
U2NyaXB0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRTY3JpcHRGb3IoU2NyaXB0U3Rh
dGUqIGluc3BlY3RlZFNjCiAKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFsID0gY29u
dGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94eSBvYmpl
Y3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAgLy8gYW4g
b2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVk
IGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRlcyB3aXRo
IHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpMb2NhbDx2
ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4OjpIYW5k
bGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRldnRvb2xzSW5qZWN0
ZWRTY3JpcHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2Vu
ZXJhdG9ySW5zcGVjdG9yLnB5IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0
b3JJbnNwZWN0b3IucHkKaW5kZXggZTlkMzczYjAxZTAzNWQ1YjQ0ZjYyNzYzYzA2NDg2MDcxNWZh
Mjc0Ni4uMzQ1MzEzZDQ0YzJlMzI5ZmQ4NGUwMmJiZDE1ZWU3NzNkNWRiNDdjNSAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkKQEAg
LTQ2LDYgKzQ2LDcgQEAgRE9NQUlOX0RFRklORV9OQU1FX01BUCA9IHsKICAgICAiSW5kZXhlZERC
IjogIklOREVYRURfREFUQUJBU0UiLAogICAgICJQcm9maWxlciI6ICJKQVZBU0NSSVBUX0RFQlVH
R0VSIiwKICAgICAiV29ya2VyIjogIldPUktFUlMiLAorICAgICJXZWJHTCI6ICJXRUJHTCIsCiB9
CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLmNwcAppbmRleCBlNDA2YzRhOGUxNTg1MDY4NmY3NjY0YjJjNWRmZmVmY2I4YTkyZDJiLi4z
MWZmOWY0MWM2MDY2MmE2NDI2NGFhZGU3NWZiN2NlN2RhOGRjYjdmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcApAQCAtMzcsNyAr
MzcsMTEgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdC5oIgogI2luY2x1ZGUgIkluamVjdGVk
U2NyaXB0SG9zdC5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0U291cmNlLmgiCisjaWYgRU5B
QkxFKFdFQkdMKQorI2luY2x1ZGUgIkluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCIKKyNlbmRp
ZgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5o
IgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgogCkBAIC0xNzIsNiArMTc2LDE4IEBAIHBhaXI8aW50LCBTY3JpcHRPYmplY3Q+IEluamVj
dGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0U2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlCiAgICAg
cmV0dXJuIHN0ZDo6bWFrZV9wYWlyKGlkLCBjcmVhdGVJbmplY3RlZFNjcmlwdChzb3VyY2UsIHNj
cmlwdFN0YXRlLCBpZCkpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IElu
amVjdGVkU2NyaXB0TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1l
bnRhdGlvbihTY3JpcHRPYmplY3QgZ2xDb250ZXh0KQoreworICAgIHJldHVybiBpbmplY3RXZWJH
TFNjcmlwdChpbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKCksIGdsQ29udGV4dCk7Cit9CisKK1N0
cmluZyBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UoKQor
eworICAgIHJldHVybiBTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oSW5qZWN0
ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyksIHNpemVvZihJbmplY3RlZFdlYkdMU2NyaXB0U291cmNl
X2pzKSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bmplY3RlZFNjcmlwdE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuaAppbmRleCBhOWJkY2E1MmZjYmMyMjdhYjI5MWFiNzRhNmViODkxOGYw
NGJkOGU0Li42MTNmZWY4MTIzOGE0MDkxOGE4NjMyODQ5MGNhYzAxNTc5NDMzYjRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oCkBAIC03
LDEzICs3LDEzIEBACiAgKiBhcmUgbWV0OgogICoKICAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgogICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uIAorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKiAzLiAgTmVpdGhlciB0aGUgbmFt
ZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgogICog
ICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICAqCiAgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQogICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRApAQCAtNjQsNiArNjQsOSBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBkaXNjYXJkSW5qZWN0ZWRTY3JpcHRzRm9yKERPTVdpbmRvdyopOwogICAgIHZvaWQg
cmVsZWFzZU9iamVjdEdyb3VwKGNvbnN0IFN0cmluZyYgb2JqZWN0R3JvdXApOwogCisjaWYgRU5B
QkxFKFdFQkdMKQorICAgIFNjcmlwdE9iamVjdCB3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9y
SW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9iamVjdCk7CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICB0
eXBlZGVmIGJvb2wgKCpJbnNwZWN0ZWRTdGF0ZUFjY2Vzc0NoZWNrKShTY3JpcHRTdGF0ZSopOwpA
QCAtNzMsNiArNzYsMTEgQEAgcHJpdmF0ZToKICAgICBTY3JpcHRPYmplY3QgY3JlYXRlSW5qZWN0
ZWRTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFNjcmlwdFN0YXRlKiwgaW50IGlkKTsKICAg
ICB2b2lkIGRpc2NhcmRJbmplY3RlZFNjcmlwdChTY3JpcHRTdGF0ZSopOwogCisjaWYgRU5BQkxF
KFdFQkdMKQorICAgIFN0cmluZyBpbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKCk7CisgICAgU2Ny
aXB0T2JqZWN0IGluamVjdFdlYkdMU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTY3JpcHRP
YmplY3QpOworI2VuZGlmCisKICAgICBzdGF0aWMgYm9vbCBjYW5BY2Nlc3NJbnNwZWN0ZWRXaW5k
b3coU2NyaXB0U3RhdGUqKTsKICAgICBzdGF0aWMgYm9vbCBjYW5BY2Nlc3NJbnNwZWN0ZWRXb3Jr
ZXJDb250ZXh0KFNjcmlwdFN0YXRlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmE1NTU0ZDMx
MmEwZWYwYTMxMjJmNThlYzUxZWMyZGRhZDdkYjAyYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCkBAIC0wLDAg
KzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisoZnVuY3Rpb24oZ2xDb250ZXh0KSB7CisKKy8vIEZJWE1FOiBXcmFwIFdlYkdMIGNv
bnRleHQgZm9yIGluc3RydW1lbnRhdGlvbi4KK3JldHVybiBnbENvbnRleHQ7CisKK30pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggYzk5MTE2MDhjNGU4Y2RiYWFi
Njk3ZTA1NzNkZTNlNzRkZTQwYmI1MS4uMDQyYmU4ZjZmM2UwMmYzZGJhMzUzN2E4OWM2YzdjZWY3
ZWJhYWI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMjgx
MSw1ICsyODExLDIxIEBACiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZGlzY29ubmVjdGVkRnJv
bVdvcmtlciIKICAgICAgICAgICAgIH0KICAgICAgICAgXQorICAgIH0sCisgICAgeworICAgICAg
ICAiZG9tYWluIjogIldlYkdMIiwKKyAgICAgICAgImhpZGRlbiI6IHRydWUsCisgICAgICAgICJ0
eXBlcyI6IFtdLAorICAgICAgICAiY29tbWFuZHMiOiBbCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgIm5hbWUiOiAiZW5hYmxlIiwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24i
OiAiRW5hYmxlcyBXZWJHTCBpbnNwZWN0aW9uLiIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZGlzYWJsZSIsCisgICAgICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIFdlYkdMIGluc3BlY3Rpb24uIgorICAgICAgICAgICAg
fQorICAgICAgICBdLAorICAgICAgICAiZXZlbnRzIjogW10KICAgICB9XQogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKaW5kZXggYjEyMjMwNDMy
MzNmOWQ0NDdhNWQzYWI1NTExMDY2OTU5ZWZiZTYyMS4uYmU5MmExM2ZjN2IzY2Q4NTYxMzYzOGU2
MTg4NzdjODJmYjJjMzlhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckFsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQWxsSW5PbmUuY3BwCkBAIC02NSw2ICs2NSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yU3R5
bGVUZXh0RWRpdG9yLmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuY3BwIgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdM
QWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvcldvcmtlckFnZW50LmNwcCIKICNpbmNsdWRl
ICJJbnN0cnVtZW50aW5nQWdlbnRzLmNwcCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VzRGF0
YS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29u
dHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAKaW5kZXggNDZlMGMyYjhjNTRmNGI0MjBjMjM2ODRjN2JlM2E3NTNhNDViYjc2OS4uYWMx
OWM3ZGI5NTNkMjQ1ODM5Y2FkZmEzMjg2ZWY2OGI1Mjk2MmVmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtNjEsNiArNjEsNyBA
QAogI2luY2x1ZGUgIkluc3BlY3RvclJlc291cmNlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JTdGF0ZS5oIgogI2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIKKyNpbmNsdWRl
ICJJbnNwZWN0b3JXZWJHTEFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyQWdlbnQu
aCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiUGFnZUNvbnNv
bGVBZ2VudC5oIgpAQCAtMTQ0LDYgKzE0NSwxMCBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNw
ZWN0b3JDb250cm9sbGVyKFBhZ2UqIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwog
ICAgIG1fYWdlbnRzLmFwcGVuZChJbnNwZWN0b3JXb3JrZXJBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1
bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkpOwogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoV0VCR0wpCisgICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3RvcldlYkdMQWdlbnQ6OmNyZWF0
ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCksIG1faW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLmdldCgpKSk7CisjZW5kaWYKKwogICAgIEFTU0VSVF9BUkcoaW5zcGVjdG9y
Q2xpZW50LCBpbnNwZWN0b3JDbGllbnQpOwogICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5p
bmplY3RlZFNjcmlwdEhvc3QoKS0+aW5pdChtX2luc3BlY3RvckFnZW50CiAgICAgICAgICwgY29u
c29sZUFnZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgKaW5kZXggY2E5NTBiYWY3MGQxNzY4NTZjM2NlNjg3MzBkMjlkODFiY2Rj
MThmMi4uNGViYTRiM2MwYTUyM2FmZGZkMzlhMTJjZjMyOWJhNzYwNzk2ZTc5OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApA
QCAtNjgsNiArNjgsNyBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgU2NyaXB0QXJn
dW1lbnRzOwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDsKK2NsYXNzIFNjcmlwdE9iamVjdDsKIGNsYXNzIFNjcmlwdFByb2ZpbGU7CiBjbGFzcyBT
ZWN1cml0eU9yaWdpbjsKIGNsYXNzIFNoYWRvd1Jvb3Q7CkBAIC0yMzYsNiArMjM3LDEwIEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcihEb2N1
bWVudCosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3Nh
Z2UpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgc3RhdGljIFNjcmlwdE9iamVj
dCB3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKERvY3VtZW50Kiwg
U2NyaXB0T2JqZWN0KTsKKyNlbmRpZgorCiAgICAgc3RhdGljIHZvaWQgbmV0d29ya1N0YXRlQ2hh
bmdlZChQYWdlKik7CiAgICAgc3RhdGljIHZvaWQgdXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1
cyhGcmFtZSopOwogCkBAIC05NzUsNyArOTgwLDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjptYXJrUmVzb3VyY2VBc0NhY2hlZChQYWdlKiBwYWdlLCB1bnNpZ25lZAog
ewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKLSAg
ICAgICAgbWFya1Jlc291cmNlQXNDYWNoZWRJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGlkZW50
aWZpZXIpOyAKKyAgICAgICAgbWFya1Jlc291cmNlQXNDYWNoZWRJbXBsKGluc3RydW1lbnRpbmdB
Z2VudHMsIGlkZW50aWZpZXIpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YWVhMGFhMzg3Y2Ri
Nzg0YzVjYmQyNmE0Zjk4YjY4YTJjYjNlMzBjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCkBAIC0wLDAgKzEsMTA0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdF
QkdMKQorCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5oIgorCisjaW5jbHVkZSAiSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKKyNp
bmNsdWRlICJJbnNwZWN0b3JTdGF0ZS5oIgorI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMu
aCIKKyNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKKyNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK25hbWVzcGFjZSBXZWJHTEFnZW50U3RhdGUgeworc3Rh
dGljIGNvbnN0IGNoYXIgd2ViR0xBZ2VudEVuYWJsZWRbXSA9ICJ3ZWJHTEFnZW50RW5hYmxlZCI7
Cit9OworCitJbnNwZWN0b3JXZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50KEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwg
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgOiBJbnNw
ZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yV2ViR0xBZ2VudD4oIldlYkdMIiwgaW5zdHJ1bWVudGlu
Z0FnZW50cywgc3RhdGUpCisgICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlcihpbmplY3RlZFNj
cmlwdE1hbmFnZXIpCisgICAgLCBtX2Zyb250ZW5kKDApCisgICAgLCBtX2VuYWJsZWQoZmFsc2Up
Cit7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JXZWJHTEFnZW50KHRo
aXMpOworfQorCitJbnNwZWN0b3JXZWJHTEFnZW50Ojp+SW5zcGVjdG9yV2ViR0xBZ2VudCgpCit7
CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JXZWJHTEFnZW50KDApOwor
fQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKEluc3BlY3RvckZyb250
ZW5kKiBmcm9udGVuZCkKK3sKKyAgICBBU1NFUlQoZnJvbnRlbmQpOworICAgIG1fZnJvbnRlbmQg
PSBmcm9udGVuZC0+d2ViZ2woKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpjbGVh
ckZyb250ZW5kKCkKK3sKKyAgICBtX2Zyb250ZW5kID0gMDsKKyAgICBkaXNhYmxlKDApOworfQor
Cit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OnJlc3RvcmUoKQoreworICAgIG1fZW5hYmxlZCA9
IG1fc3RhdGUtPmdldEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCk7
Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlKEVycm9yU3RyaW5nKikKK3sK
KyAgICBpZiAobV9lbmFibGVkKQorICAgICAgICByZXR1cm47CisgICAgbV9lbmFibGVkID0gdHJ1
ZTsKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2ViR0xBZ2VudEVu
YWJsZWQsIG1fZW5hYmxlZCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJs
ZShFcnJvclN0cmluZyopCit7CisgICAgaWYgKCFtX2VuYWJsZWQpCisgICAgICAgIHJldHVybjsK
KyAgICBtX2VuYWJsZWQgPSBmYWxzZTsKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFuKFdlYkdMQWdl
bnRTdGF0ZTo6d2ViR0xBZ2VudEVuYWJsZWQsIG1fZW5hYmxlZCk7Cit9CisKK1NjcmlwdE9iamVj
dCBJbnNwZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1
bWVudGF0aW9uKFNjcmlwdE9iamVjdCBnbENvbnRleHQpCit7CisgICAgcmV0dXJuIG1faW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLT53cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0
aW9uKGdsQ29udGV4dCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwZDA4Y2EyY2Q3ZTAw
MjJkOTYwOTNmMjBkNmZjYjRjYWRmODM3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oCkBAIC0wLDAgKzEsODggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIEluc3BlY3RvcldlYkdMQWdlbnRfaAorI2RlZmluZSBJbnNwZWN0b3JXZWJHTEFnZW50X2gK
KworI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKKworI2luY2x1ZGUgIklu
c3BlY3RvckJhc2VBZ2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisjaW5j
bHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJbmplY3RlZFNjcmlwdE1hbmFnZXI7CitjbGFzcyBJ
bnNwZWN0b3JTdGF0ZTsKK2NsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CitjbGFzcyBTY3JpcHRP
YmplY3Q7CisKK3R5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOworCitjbGFzcyBJbnNwZWN0b3JX
ZWJHTEFnZW50IDogcHVibGljIEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JXZWJHTEFnZW50
PiwgcHVibGljIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyOjpXZWJHTENvbW1hbmRIYW5kbGVy
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JXZWJHTEFnZW50PiBj
cmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9y
U3RhdGUqIHN0YXRlLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdl
cikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgSW5zcGVjdG9yV2ViR0xBZ2Vu
dChpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSwgaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKSk7Cisg
ICAgfQorICAgIH5JbnNwZWN0b3JXZWJHTEFnZW50KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0
RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xlYXJGcm9u
dGVuZCgpOworICAgIHZpcnR1YWwgdm9pZCByZXN0b3JlKCk7CisKKyAgICBib29sIGVuYWJsZWQo
KSB7IHJldHVybiBtX2VuYWJsZWQ7IH0KKworICAgIFNjcmlwdE9iamVjdCB3cmFwV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9iamVjdCk7CisKKyAgICAvLyBD
YWxsZWQgZnJvbSB0aGUgZnJvbnQtZW5kLgorICAgIHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JT
dHJpbmcqKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyopOworCisgICAg
Ly8gQ2FsbGVkIGZyb20gdGhlIGluamVjdGVkIHNjcmlwdC4KKworICAgIC8vIENhbGxlZCBmcm9t
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbgorCitwcml2YXRlOgorICAgIEluc3BlY3RvcldlYkdM
QWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0YXRlKiwgSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyKik7CisKKyAgICBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIG1faW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyOworICAgIEluc3BlY3RvckZyb250ZW5kOjpXZWJHTCogbV9mcm9udGVuZDsKKyAg
ICBib29sIG1fZW5hYmxlZDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKKworI2VuZGlmIC8vICFkZWZp
bmVkKEluc3BlY3RvcldlYkdMQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMy
OTdjYjVjYmJmOGUxOWUwZDI4Y2ExMTk2Njk2NDRmM2UwNTVlNQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5o
CkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gK
KyNkZWZpbmUgSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb25faAorCisjaW5jbHVkZSAiSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5o
IgorI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNsdWRlICJTY3JpcHRPYmpl
Y3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0
T2JqZWN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4
dEZvckluc3RydW1lbnRhdGlvbihEb2N1bWVudCogZG9jdW1lbnQsIFNjcmlwdE9iamVjdCBnbENv
bnRleHQpCit7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVu
dChkb2N1bWVudCkpIHsKKyAgICAgICAgSW5zcGVjdG9yV2ViR0xBZ2VudCogd2ViR0xBZ2VudCA9
IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvcldlYkdMQWdlbnQoKTsKKyAgICAgICAgaWYg
KHdlYkdMQWdlbnQgJiYgd2ViR0xBZ2VudC0+ZW5hYmxlZCgpKQorICAgICAgICAgICAgcmV0dXJu
IHdlYkdMQWdlbnQtPndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24o
Z2xDb250ZXh0KTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7Cit9
CisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbl9oKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggMTk0ZWI4
NjVlYzc1YTY2ZmVmYjRiNzI0NmYwMDhhODM4YTg4YWFiYy4uMTMzNGRjN2Q2ZGI3ZWRiMzkwODZi
OTZlM2M3ODY0Y2ExNzhmMzQxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3RydW1lbnRpbmdBZ2VudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
dHJ1bWVudGluZ0FnZW50cy5oCkBAIC01Miw2ICs1Miw3IEBAIGNsYXNzIEluc3BlY3RvclJlc291
cmNlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JSdW50aW1lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JU
aW1lbGluZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yV29ya2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0
b3JXZWJHTEFnZW50OwogY2xhc3MgUGFnZTsKIGNsYXNzIFBhZ2VSdW50aW1lQWdlbnQ7CiBjbGFz
cyBXb3JrZXJDb250ZXh0OwpAQCAtODYsNiArODcsOSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdP
UktFUlMpCiAgICAgICAgICwgbV9pbnNwZWN0b3JXb3JrZXJBZ2VudCgwKQogI2VuZGlmCisjaWYg
RU5BQkxFKFdFQkdMKQorICAgICAgICAsIG1faW5zcGVjdG9yV2ViR0xBZ2VudCgwKQorI2VuZGlm
CiAgICAgeyB9CiAgICAgfkluc3RydW1lbnRpbmdBZ2VudHMoKSB7IH0KIApAQCAtMTQyLDExICsx
NDYsMTcgQEAgcHVibGljOgogICAgIEluc3BlY3RvclByb2ZpbGVyQWdlbnQqIGluc3BlY3RvclBy
b2ZpbGVyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQ7IH0K
ICAgICB2b2lkIHNldEluc3BlY3RvclByb2ZpbGVyQWdlbnQoSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dCogYWdlbnQpIHsgbV9pbnNwZWN0b3JQcm9maWxlckFnZW50ID0gYWdlbnQ7IH0KICNlbmRpZgor
CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgSW5zcGVjdG9yV29ya2VyQWdlbnQqIGluc3BlY3Rv
cldvcmtlckFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JXb3JrZXJBZ2VudDsgfQog
ICAgIHZvaWQgc2V0SW5zcGVjdG9yV29ya2VyQWdlbnQoSW5zcGVjdG9yV29ya2VyQWdlbnQqIGFn
ZW50KSB7IG1faW5zcGVjdG9yV29ya2VyQWdlbnQgPSBhZ2VudDsgfQogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoV0VCR0wpCisgICAgSW5zcGVjdG9yV2ViR0xBZ2VudCogaW5zcGVjdG9yV2ViR0xBZ2Vu
dCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yV2ViR0xBZ2VudDsgfQorICAgIHZvaWQgc2V0
SW5zcGVjdG9yV2ViR0xBZ2VudChJbnNwZWN0b3JXZWJHTEFnZW50KiBhZ2VudCkgeyBtX2luc3Bl
Y3RvcldlYkdMQWdlbnQgPSBhZ2VudDsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgSW5zcGVj
dG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQ7CiAgICAgSW5zcGVjdG9yUGFnZUFnZW50KiBtX2lu
c3BlY3RvclBhZ2VBZ2VudDsKQEAgLTE3Myw2ICsxODMsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJM
RShXT1JLRVJTKQogICAgIEluc3BlY3RvcldvcmtlckFnZW50KiBtX2luc3BlY3RvcldvcmtlckFn
ZW50OwogI2VuZGlmCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIEluc3BlY3RvcldlYkdMQWdlbnQq
IG1faW5zcGVjdG9yV2ViR0xBZ2VudDsKKyNlbmRpZgogfTsKIAogSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGF0aW9uRm9yUGFnZShQYWdlKik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145705</attachid>
            <date>2012-06-04 23:58:19 -0700</date>
            <delta_ts>2012-06-06 01:48:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120605105817.patch</filename>
            <type>text/plain</type>
            <size>54136</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVjOGRlMmRmODgwNjYy
NDUxOWQ3ZjFhMmM0YTJmMzUwMjZiYWRhOC4uMjlkYjdlNDRkNGE4NDM4NjM1ZDU2YjY3NzI2YWE5
MmRlYTRhZTc3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA2LTAzICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNv
cmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1M
Q2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0
V2ViR0xTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpk
aXNjYXJkSW5qZWN0ZWRTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0NvZGVHZW5l
cmF0b3JJbnNwZWN0b3IucHk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVk
U2NyaXB0TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaDoKKyAgICAgICAgKEluamVjdGVkU2NyaXB0TWFuYWdlcik6CisgICAgICAgICogaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNo
ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkdMQWdlbnRTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0
aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJH
TFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAg
ICAoSW5zdHJ1bWVudGluZ0FnZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5n
QWdlbnRzOjppbnNwZWN0b3JXZWJHTEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6OnNldEluc3BlY3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERh
dGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpIHNob3VsZCBzeW5jaHJvbm91c2x5IHJl
dHVybiBlbnRyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjZWIxZGI0MDZjYjBhZTQ2OTcxNzlj
NmViZWI2NTRmZDRiZGEyMzBhLi5kYzNkNzAzYzc3YjgxNGZjMjJhN2UxZThiNjJjNzViNjA3ZjNk
NDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTYyLDYgKzk2Miw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5j
cHAKQEAgLTE2OTMsNyArMTY5NCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAg
ICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAg
TW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAor
CiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3
b3JraW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVs
ZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjYwNCw2ICsyNjA1
LDE3IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAk
e0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAog
CisjIEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJH
TCkKKyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09V
UkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1B
SU5fREVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAg
ICAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3Iv
eHhkLnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09S
RV9ESVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAg
ICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNI
X1RPT0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNw
cCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAyZmM5ZjE4NjUyMjQzNGYz
ZDJmYWUxMjMzY2U3N2U3YTk1YTE0MC4uMGVkZjIyMTQ1ZTI3YmMyZjg3YjJmMTYzNDJiMWRkOWRm
MjBjYWUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAog
IyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFj
ayA8Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFy
ZSBtZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAor
IyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03
ODAsMTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQo
UFJPSkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZp
bmRzdHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAg
IFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQo
V2ViQ29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChV
U0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAog
aWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5B
QkxFX01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtl
X25hbWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdz
L3NjcmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0t
LS0tLS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAog
RXZlbnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9t
YWtlX2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBA
QCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5o
IEV4Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9z
Y3JpcHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0t
LS0tLS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVu
dCBmYWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBk
b20vbWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpA
QCAtOTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3Rl
ZFNjcmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29y
ZSkvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAK
K2FsbCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUp
L2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUp
L2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEg
KCQoZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19X
WCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBlNWY0ODQ0Njk1Mjg2MjM2MmQ3Yjlk
YjMyMjNhODIxMzQ2NmQzOWJiLi5lMzQ5OGY0ODQ0Y2YwMDYzM2IwNzdhODBjYmJlYjBiMmQ1OGI1
MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BF
Q1RPUl9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5z
cGVjdG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NP
VVJDRSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERF
QlVHR0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5q
cwogCiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDEx
ICs3NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VO
RVJBVE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGlu
amVjdGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVj
dGVkU2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0
ZWRTY3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
ICR7UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwg
JCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJ
TEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0
X3RvX3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQog
Ci0jIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBp
bGVyCisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291
cmNlIGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElO
SkVDVEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29t
bWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9
IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3Ig
ZGVidWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0
cHV0ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQg
PSBERUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9
IHBlcmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FN
QUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDgz
NjhjNmQ0NDcyM2RjOWJiZGZkYmE1MGFkMTczOGY1MTBjNTU2NGIuLmYwYzUyYWI3Y2FlYjUzMjkx
NGQ5NzI2NDE5ODE0ZTlmZTE3ZjQ5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjEsNiAr
ODIxLDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
anM6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0
ZWRTY3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuanMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIElu
amVjdGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJD
b3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4p
JChQRVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpz
ICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYg
RU5BQkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBA
IC0xMDcwLDYgKzEwNzIsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3Uv
TElDRU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0
b3IucHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5q
cyBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
anMgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDVhYzVkZTM2MjQxZDFiODJmYzE4NTVmNzFhZTRhNmM2
NWZkM2UzNDEuLjUyNmY1ZDk5ZDI5ZGJlYTM3MTM4NDA5YTFiNjNiOTJjM2M4YmUyMGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMiw2ICsyNzIzLDkgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYmMwMTE3Yjc1MDYzMTg5
Y2RkMjkxNzQ2NTFiYzZmZDkzZTk5YmFiNC4uMGU3MTk4ZDI1Y2FhMDk4NzFkNjIzN2JlN2RiNWRh
ODEzNTgwMjVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0Rh
dGEuY3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRl
eHRFZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3Bl
Y3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBp
bnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwCmluZGV4IDdkOGQ3YmVhODUyNGI1ZTBjZDNjYjZjNzMzYzA0OTMxYmZhYWE1
NDkuLmEyNTYyNDhmYjc3ZjM4MjRjNjFhZGRiNDcwOThiZDRhNGY0ZmYzZWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC00MzQsNiArNDM0LDI5IEBACiAgICAgICBd
CiAgICAgfSwKICAgICB7CisgICAgICAndGFyZ2V0X25hbWUnOiAnaW5qZWN0ZWRfd2ViZ2xfc2Ny
aXB0X3NvdXJjZScsCisgICAgICAndHlwZSc6ICdub25lJywKKyAgICAgICdhY3Rpb25zJzogWwor
ICAgICAgICB7CisgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ2dlbmVyYXRlSW5qZWN0ZWRXZWJH
TFNjcmlwdFNvdXJjZScsCisgICAgICAgICAgJ2lucHV0cyc6IFsKKyAgICAgICAgICAgICcuLi9p
bnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcycsCisgICAgICAgICAgXSwKKyAg
ICAgICAgICAnb3V0cHV0cyc6IFsKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVf
RElSKS93ZWJraXQvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICBdLAor
ICAgICAgICAgICdhY3Rpb24nOiBbCisgICAgICAgICAgICAncGVybCcsCisgICAgICAgICAgICAn
Li4vaW5zcGVjdG9yL3h4ZC5wbCcsCisgICAgICAgICAgICAnSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcycsCisgICAgICAgICAgICAnPEAoX2lucHV0cyknLAorICAgICAgICAgICAgJzxAKF9v
dXRwdXRzKScKKyAgICAgICAgICBdLAorICAgICAgICAgICdtZXNzYWdlJzogJ0dlbmVyYXRpbmcg
SW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIGZyb20gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZS5qcycsCisgICAgICAgIH0sCisgICAgICBdCisgICAgfSwKKyAgICB7CiAgICAgICAndGFyZ2V0
X25hbWUnOiAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAndHlwZSc6ICdub25lJywK
ICAgICAgICdhY3Rpb25zJzogWwpAQCAtMTA3NCw2ICsxMDk3LDcgQEAKICAgICAgICAgJ3dlYmNv
cmVfYmluZGluZ3Nfc291cmNlcycsCiAgICAgICAgICdpbnNwZWN0b3JfcHJvdG9jb2xfc291cmNl
cycsCiAgICAgICAgICdpbmplY3RlZF9zY3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVk
X3dlYmdsX3NjcmlwdF9zb3VyY2UnLAogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScs
CiAgICAgICAgICcuLi8uLi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXAvSmF2YVNj
cmlwdENvcmUuZ3lwOnlhcnInLAogICAgICAgICAnLi4vLi4vV1RGL1dURi5neXAvV1RGLmd5cDp3
dGYnLApAQCAtMTE5Nyw2ICsxMjIxLDcgQEAKICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAg
ICAgICdkZWJ1Z2dlcl9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2luamVjdGVkX3NjcmlwdF9z
b3VyY2UnLAorICAgICAgICAnaW5qZWN0ZWRfd2ViZ2xfc2NyaXB0X3NvdXJjZScsCiAgICAgICAg
ICdpbnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycsCiAgICAgICAgICd3ZWJjb3JlX2JpbmRpbmdz
X3NvdXJjZXMnLAogICAgICAgICAnLi4vLi4vVGhpcmRQYXJ0eS9nbHUvZ2x1Lmd5cDpsaWJ0ZXNz
JywKQEAgLTE0NzIsOSArMTQ5Nyw5IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAg
ICAnd2ViY29yZV9wcmVyZXF1aXNpdGVzJywKICAgICAgIF0sCi0gICAgICAnZGVmaW5lcyc6IFsg
Ci0gICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsIAotICAgICAgXSwgCisgICAgICAn
ZGVmaW5lcyc6IFsKKyAgICAgICAgJ1dFQktJVF9JTVBMRU1FTlRBVElPTj0xJywKKyAgICAgIF0s
CiAgICAgICAjIFRoaXMgaXMgbmVlZGVkIGZvciBtYWMgYmVjYXVzZSBvZiB3ZWJraXRfc3lzdGVt
X2ludGVyZmFjZS4gSXQnZCBiZSBuaWNlCiAgICAgICAjIGlmIHRoaXMgaGFyZCBkZXBlbmRlbmN5
IGNvdWxkIGJlIHNwbGl0IG9mZiB0aGUgcmVzdC4KICAgICAgICdoYXJkX2RlcGVuZGVuY3knOiAx
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCmluZGV4IDAxMzFjZDQ0ZmZkMmIyZmM2ZDBlZjE3ZWFhZGVjNDM2OWQ0
ZDExNjkuLmM4OTFjNDk2ZTVkZTdhMzg0ZTcwNTJlZWZhMzc3OGU3ODUyZjg5OWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKQEAgLTI4MTksNiArMjgxOSw5IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNv
dXJjZS5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAn
LAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgnLAorICAgICAg
ICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwJywKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwJywKQEAgLTY2NDEsNyArNjY0NCw3IEBACiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxHcmF5LnBuZycs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxXaGl0
ZS5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaE5l
eHQucG5nJywKLSAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hQ
cmV2LnBuZycsICAgICAgICAgICAgCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9J
bWFnZXMvc2VhcmNoUHJldi5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQv
SW1hZ2VzL3NlZ21lbnQucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0lt
YWdlcy9zZWdtZW50RW5kLnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9J
bWFnZXMvc2VnbWVudEhvdmVyLnBuZycsCkBAIC03MjM5LDYgKzcyNDIsNyBAQAogICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IZWFk
ZXJEZXRlY3Rpb24uaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
aCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9J
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagppbmRleCA4ZGY3MWVlM2JlYmYxMjFmMjhkNDAwNmZiYzhhM2Q5Zjcy
YjU4NTJiLi40ZmRhN2FkMThjZjgyNjg3MTdhNjJlYWU1ZTYzMWI3NmRlODk2MTMzIDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNTk0LDYgKzU5
NCwxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAiCiAJ
CQkJPgogCQkJPC9GaWxlPgpAQCAtNzM5OTUsNiArNzM5OTksMzQgQEAKIAkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3Rvcldl
YkdMQWdlbnQuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
UmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJv
ZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yV2ViR0xBZ2VudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yV2ViR0xJ
bnN0cnVtZW50YXRpb24uaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0
aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvcldvcmtlckFnZW50LmNwcCIKIAkJCQk+CiAJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjBjY2E3MjU5Yjg3ZDkxZjg0MGY3ZDUxMDlhNTFk
MWRmYzFhYzE3ZC4uM2MzZDBmNTlkN2IyODUzZGY5ZDEzOWNiNDJlM2Y3NGFkMjlmOGYyZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtODQwNyw2ICs4NDA3LDExIEBACiAJCTQ5RUVEMTRDMTA1MTk3MUEwMDA5OUZBQiAvKiBKU1dl
YkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQ5RUVEMTREMTA1MTk3MUEwMDA5OUZBQiAvKiBKU0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDlGQzdBNEYxNDQ0QUY1RjAwQTVEODY0IC8qIERpc3BsYXlSZWZyZXNo
TW9uaXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaXNwbGF5
UmVmcmVzaE1vbml0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUZDODhC
NTE1N0NCMEI5MDA2QUEyODcgLyogSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5RkM4OEI1MTU3Q0IwQjkwMDZBQTI4NyAvKiBJ
bmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2Ny
aXB0OyBwYXRoID0gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qczsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDlGQzg4QjUxNTdDQjBCOTAwNkFBMjg3IC8qIEluc3BlY3RvcldlYkdM
QWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9y
V2ViR0xBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5RkM4OEI2MTU3
Q0IwQjkwMDZBQTI4NyAvKiBJbnNwZWN0b3JXZWJHTEFnZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvcldlYkdMQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDlGQzg4QjcxNTdDQjBCOTAwNkFBMjg3IC8qIEluc3BlY3RvcldlYkdMSW5z
dHJ1bWVudGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5
RkZCRjFDMTFDODU1MEUwMDZBNzExOCAvKiBHcmFwaGljc0NvbnRleHQzRE1hYy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEdyYXBoaWNzQ29udGV4dDNETWFjLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUZGQkYzRDExQzkzRUUzMDA2QTcxMTgg
LyogV2ViR0xMYXllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHTExh
eWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5RkZCRjNFMTFDOTNFRTMwMDZB
NzExOCAvKiBXZWJHTExheWVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gV2ViR0xMYXllci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MzE2
LDYgKzE0MzIxLDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJ
N0E1NjNFNTQxMkRFMzJCMDAwRjQ1MzZEIC8qIEluamVjdGVkU2NyaXB0U291cmNlLmggKi8sCisJ
CQkJNDlGQzg4QjUxNTdDQjBCOTAwNkFBMjg3IC8qIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
aCAqLywKIAkJCQk0RjcwN0E5NzExRUY2Nzk0MDBBQ0RBNjkgLyogSW5zcGVjdG9yQmFja2VuZERp
c3BhdGNoZXIuY3BwICovLAogCQkJCTRGNzA3QTk4MTFFRjY3OTQwMEFDREE2OSAvKiBJbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlci5oICovLAogCQkJCTRGNEY1RkZBMTFDQkQyRDIwMEExODZCRiAv
KiBJbnNwZWN0b3JGcm9udGVuZC5jcHAgKi8sCkBAIC0xNDM2MSw2ICsxNDM2Nyw3IEBACiAJCQkJ
RjMxNjM5NjkxMzI5NDgxQTAwQTY0OUNCIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAgKi8s
CiAJCQkJRjMxNjM5NkExMzI5NDgxQTAwQTY0OUNCIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5o
ICovLAogCQkJCTdBNTYzRjk1MTJERjVDOTEwMEY0NTM2RCAvKiBJbmplY3RlZFNjcmlwdFNvdXJj
ZS5qcyAqLywKKwkJCQk0OUZDODhCNTE1N0NCMEI5MDA2QUEyODcgLyogSW5qZWN0ZWRXZWJHTFNj
cmlwdFNvdXJjZS5qcyAqLywKIAkJCQkxQzQzNUNENDE0RTg1NDVCMDA0RTEwRUEgLyogSW5zcGVj
dG9yLTAuMS5qc29uICovLAogCQkJCTFDNDM1Q0Q1MTRFODU0NUIwMDRFMTBFQSAvKiBJbnNwZWN0
b3ItMS4wLmpzb24gKi8sCiAJCQkJMUM0MzVDRDMxNEU4NTQ0RjAwNEUxMEVBIC8qIEluc3BlY3Rv
ci5qc29uICovLApAQCAtMTQ0MzIsNiArMTQ0MzksOSBAQAogCQkJCTc1NDEzM0E3MTAyRTAwRTgw
MDA3NUQwMCAvKiBJbnNwZWN0b3JUaW1lbGluZUFnZW50LmggKi8sCiAJCQkJNEYzMjg5QjMxMUE0
MkFBQjAwNUFCRTdFIC8qIEluc3BlY3RvclZhbHVlcy5jcHAgKi8sCiAJCQkJNEYzMjg5QjQxMUE0
MkFBQjAwNUFCRTdFIC8qIEluc3BlY3RvclZhbHVlcy5oICovLAorCQkJCTQ5RkM4OEI1MTU3Q0Iw
QjkwMDZBQTI4NyAvKiBJbnNwZWN0b3JXZWJHTEFnZW50LmNwcCAqLywKKwkJCQk0OUZDODhCNjE1
N0NCMEI5MDA2QUEyODcgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5oICovLAorCQkJCTQ5RkM4OEI3
MTU3Q0IwQjkwMDZBQTI4NyAvKiBJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oICovLAog
CQkJCUYzODEwQzE5MTM2NUE0OTYwMEVENkUzMyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAg
Ki8sCiAJCQkJRjM4MTBDMUExMzY1QTQ5NjAwRUQ2RTMzIC8qIEluc3BlY3RvcldvcmtlckFnZW50
LmggKi8sCiAJCQkJRjM3NUNDMDYxMTUwRDMwMDAwOEREQjgxIC8qIEluc3BlY3RvcldvcmtlclJl
c291cmNlLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hU
TUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCmluZGV4IGQ1ZmMzY2U5NjM2M2RjNTEyNjg0ZjJm
NDA3MWE0MjQ4NWVhYzA2MTguLmE3MmFmMTA2Mjk0NTdiZWYzZmU5ODU0YzBjNGJiMzRkMDY5ODEz
NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0Vs
ZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENh
bnZhc0VsZW1lbnRDdXN0b20uY3BwCkBAIC0yMSw3ICsyMSw3IEBACiAgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKQEAgLTMxLDcgKzMxLDkgQEAKICNpbmNsdWRlICJI
VE1MQ2FudmFzRWxlbWVudC5oIgogI2luY2x1ZGUgIkpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LmgiCiAjaWYgRU5BQkxFKFdFQkdMKQorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMSW5zdHJ1bWVu
dGF0aW9uLmgiCiAjaW5jbHVkZSAiSlNXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKKyNpbmNsdWRl
ICJTY3JpcHRPYmplY3QuaCIKICNpbmNsdWRlICJXZWJHTENvbnRleHRBdHRyaWJ1dGVzLmgiCiAj
ZW5kaWYKICNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+CkBAIC03NSw3ICs3NywxNiBAQCBKU1ZhbHVl
IEpTSFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHQoRXhlY1N0YXRlKiBleGVjKQogICAgIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQgPSBjYW52YXMtPmdldENvbnRleHQodXN0cmlu
Z1RvU3RyaW5nKGNvbnRleHRJZCksIGF0dHJzLmdldCgpKTsKICAgICBpZiAoIWNvbnRleHQpCiAg
ICAgICAgIHJldHVybiBqc051bGwoKTsKLSAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmpl
Y3QoKSwgV1RGOjpnZXRQdHIoY29udGV4dCkpOworICAgIEpTVmFsdWUganNWYWx1ZSA9IHRvSlMo
ZXhlYywgZ2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGNvbnRleHQpKTsKKyNpZiBFTkFCTEUo
V0VCR0wpCisgICAgaWYgKGNvbnRleHQtPmlzM2QoKSAmJiBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246Omhhc0Zyb250ZW5kcygpKSB7CisgICAgICAgIFNjcmlwdE9iamVjdCBnbENvbnRleHQoZXhl
YywganNWYWx1ZS5nZXRPYmplY3QoKSk7CisgICAgICAgIFNjcmlwdE9iamVjdCB3cmFwcGVkID0g
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5z
dHJ1bWVudGF0aW9uKGNhbnZhcy0+ZG9jdW1lbnQoKSwgZ2xDb250ZXh0KTsKKyAgICAgICAgaWYg
KCF3cmFwcGVkLmhhc05vVmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLmpzVmFs
dWUoKTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4ganNWYWx1ZTsKIH0KIAogSlNWYWx1ZSBK
U0hUTUxDYW52YXNFbGVtZW50Ojp0b0RhdGFVUkwoRXhlY1N0YXRlKiBleGVjKQpAQCAtOTMsNyAr
MTA0LDcgQEAgSlNWYWx1ZSBKU0hUTUxDYW52YXNFbGVtZW50Ojp0b0RhdGFVUkwoRXhlY1N0YXRl
KiBleGVjKQogICAgICAgICAgICAgcXVhbGl0eVB0ciA9ICZxdWFsaXR5OwogICAgICAgICB9CiAg
ICAgfQotICAgIAorCiAgICAgSlNWYWx1ZSByZXN1bHQgPSBqc1N0cmluZyhleGVjLCBjYW52YXMt
PnRvRGF0YVVSTCh0eXBlLCBxdWFsaXR5UHRyLCBlYykpOwogICAgIHNldERPTUV4Y2VwdGlvbihl
eGVjLCBlYyk7CiAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAppbmRleCAxNTc2ZDM0NmQw
NmRjYTUwYzg0ZjgzZTVmYjk2ZGQ2MWFmNTlkNjcwLi44MGI0ZTc4OTA2NGQ3NDllMWJhZDdmNGIw
NzFkNjVmMWMwODRlYmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC03OCw2ICs3OCwxNCBAQCBTY3JpcHRP
YmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBT
dHJpbmcmIHNvdXJjZSwgUwogICAgIHJldHVybiBTY3JpcHRPYmplY3QoKTsKIH0KIAorI2lmIEVO
QUJMRShXRUJHTCkKK1NjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdl
YkdMU2NyaXB0KGNvbnN0IFN0cmluZyYsIFNjcmlwdE9iamVjdCkKK3sKKyAgICAvLyBGSVhNRSg4
Nzk3NSk6IEltcGxlbWVudCB0aGlzIQorICAgIHJldHVybiBTY3JpcHRPYmplY3QoKTsKK30KKyNl
bmRpZgorCiB2b2lkIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0
KFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSkKIHsKICAgICBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0ID0ganNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oc2NyaXB0U3RhdGUtPmxleGlj
YWxHbG9iYWxPYmplY3QoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9TY3JpcHRTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0
ZS5jcHAKaW5kZXggYzE5ZmI5ODkyYmRjOGE5NzY0ZGY3ZTNhYmJmNzk5YjE1ZGJiNjgxNC4uZTIx
YzZjYWNlNzUxN2Q5NDA0YzliOWJjNGMwM2VkMzg3MWMzMjQwZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcApAQCAtOTAsNyArOTAsNyBAQCBTY3JpcHRTdGF0
ZSogU2NyaXB0U3RhdGU6OmZvckNvbnRleHQodjg6OkxvY2FsPHY4OjpDb250ZXh0PiBjb250ZXh0
KQogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2JhbCgp
OwogICAgIC8vIFNraXAgcHJveHkgb2JqZWN0LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vydml2
ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUgd2UgbmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9zZSBs
aWZldGltZSBjb25zaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgorICAg
IC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBp
bnNwZWN0ZWQgY29udGV4dC4KICAgICBnbG9iYWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46OkNh
c3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUoKSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+
IGtleSA9IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpzY3JpcHRTdGF0ZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0Vs
ZW1lbnRDdXN0b20uY3BwCmluZGV4IDIwZGI1M2Q2NGVjMTAxOWJmMTBkM2M0MmM3OGVmNzAwMjlm
MjlkNzguLmUxOTg5NmZlZTAyMDFiMWI1NGIzNTVkOWQwY2IyMTgzZmQyNzg5ZTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50
Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1M
Q2FudmFzRWxlbWVudEN1c3RvbS5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJWOE5v
ZGUuaCIKICNpbmNsdWRlICJWOFByb3h5LmgiCiAjaWYgRU5BQkxFKFdFQkdMKQorI2luY2x1ZGUg
Ikluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiVjhXZWJHTFJlbmRl
cmluZ0NvbnRleHQuaCIKICNlbmRpZgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CkBAIC04
OCw4ICs4OSwxNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhIVE1MQ2FudmFzRWxlbWVudDo6
Z2V0Q29udGV4dENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudAogICAgIGlmIChyZXN1bHQtPmlz
MmQoKSkKICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8Q2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEKj4ocmVzdWx0KSwgYXJncy5HZXRJc29sYXRlKCkpOwogI2lmIEVOQUJMRShXRUJHTCkK
LSAgICBlbHNlIGlmIChyZXN1bHQtPmlzM2QoKSkKLSAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGlj
X2Nhc3Q8V2ViR0xSZW5kZXJpbmdDb250ZXh0Kj4ocmVzdWx0KSwgYXJncy5HZXRJc29sYXRlKCkp
OworICAgIGVsc2UgaWYgKHJlc3VsdC0+aXMzZCgpKSB7CisgICAgICAgIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiB2OFJlc3VsdCA9IHRvVjgoc3RhdGljX2Nhc3Q8V2ViR0xSZW5kZXJpbmdDb250ZXh0
Kj4ocmVzdWx0KSwgYXJncy5HZXRJc29sYXRlKCkpOworICAgICAgICBpZiAoSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpoYXNGcm9udGVuZHMoKSkgeworICAgICAgICAgICAgU2NyaXB0U3RhdGUq
IHNjcmlwdFN0YXRlID0gU2NyaXB0U3RhdGU6OmZvckNvbnRleHQodjg6OkNvbnRleHQ6OkdldEN1
cnJlbnQoKSk7CisgICAgICAgICAgICBTY3JpcHRPYmplY3QgZ2xDb250ZXh0KHNjcmlwdFN0YXRl
LCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHY4UmVzdWx0KSk7CisgICAgICAgICAgICBT
Y3JpcHRPYmplY3Qgd3JhcHBlZCA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d3JhcFdlYkdM
UmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihpbXAtPmRvY3VtZW50KCksIGdsQ29u
dGV4dCk7CisgICAgICAgICAgICBpZiAoIXdyYXBwZWQuaGFzTm9WYWx1ZSgpKQorICAgICAgICAg
ICAgICAgIHJldHVybiB3cmFwcGVkLnY4VmFsdWUoKTsKKyAgICAgICAgfQorICAgICAgICByZXR1
cm4gdjhSZXN1bHQ7CisgICAgfQogI2VuZGlmCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgcmV0dXJuIHY4OjpOdWxsKGFyZ3MuR2V0SXNvbGF0ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFn
ZXIuY3BwCmluZGV4IDMzM2ZlNTc1Y2IwNzhhMTI3NTY3YzY1YzJjNTFkY2Y3YTQ2ZDFjMjMuLjFj
ZTU5NWVjODA3NGMxMjcyYmM2OTJmZDYxOTA5ZGZlYWJlZDk1OWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLmNwcApAQCAtMTEwLDEwICsxMTAsMzQgQEAgU2NyaXB0T2JqZWN0IEluamVjdGVkU2Ny
aXB0TWFuYWdlcjo6Y3JlYXRlSW5qZWN0ZWRTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHRTb3UK
ICAgICAgIHY4OjpOdW1iZXI6Ok5ldyhpZCksCiAgICAgfTsKICAgICB2ODo6TG9jYWw8djg6OlZh
bHVlPiBpbmplY3RlZFNjcmlwdFZhbHVlID0gdjg6OkZ1bmN0aW9uOjpDYXN0KCp2KS0+Q2FsbCh3
aW5kb3dHbG9iYWwsIDMsIGFyZ3MpOwotICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBpbmplY3Rl
ZFNjcmlwdCh2ODo6T2JqZWN0OjpDYXN0KCppbmplY3RlZFNjcmlwdFZhbHVlKSk7Ci0gICAgcmV0
dXJuIFNjcmlwdE9iamVjdChpbnNwZWN0ZWRTY3JpcHRTdGF0ZSwgaW5qZWN0ZWRTY3JpcHQpOwor
ICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5zcGVjdGVkU2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8
djg6Ok9iamVjdD46OkNhc3QoaW5qZWN0ZWRTY3JpcHRWYWx1ZSkpOwogfQogCisjaWYgRU5BQkxF
KFdFQkdMKQorU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0V2ViR0xT
Y3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHRTb3VyY2UsIFNjcmlwdE9iamVjdCBnbENvbnRleHQp
Cit7CisgICAgdjg6OkhhbmRsZVNjb3BlIHNjb3BlOworCisgICAgU2NyaXB0U3RhdGUqIGluc3Bl
Y3RlZFNjcmlwdFN0YXRlID0gZ2xDb250ZXh0LnNjcmlwdFN0YXRlKCk7CisgICAgdjg6OkxvY2Fs
PHY4OjpDb250ZXh0PiBpbnNwZWN0ZWRDb250ZXh0ID0gaW5zcGVjdGVkU2NyaXB0U3RhdGUtPmNv
bnRleHQoKTsKKyAgICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKGluc3BlY3RlZENv
bnRleHQpOworCisgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IHdpbmRvd0dsb2JhbCA9IGluc3Bl
Y3RlZENvbnRleHQtPkdsb2JhbCgpOworCisgICAgdjg6OkxvY2FsPHY4OjpTY3JpcHQ+IHNjcmlw
dCA9IHY4OjpTY3JpcHQ6OkNvbXBpbGUodjhTdHJpbmcoc2NyaXB0U291cmNlKSk7CisgICAgVjhS
ZWN1cnNpb25TY29wZTo6TWljcm90YXNrU3VwcHJlc3Npb24gcmVjdXJzaW9uU2NvcGU7CisgICAg
djg6OkxvY2FsPHY4OjpWYWx1ZT4gdiA9IHNjcmlwdC0+UnVuKCk7CisgICAgQVNTRVJUKCF2Lklz
RW1wdHkoKSk7CisgICAgQVNTRVJUKHYtPklzRnVuY3Rpb24oKSk7CisKKyAgICB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gYXJnc1tdID0geworICAgICAgICBnbENvbnRleHQudjhWYWx1ZSgpLAorICAg
IH07CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gaW5qZWN0ZWRTY3JpcHRWYWx1ZSA9IHY4OjpG
dW5jdGlvbjo6Q2FzdCgqdiktPkNhbGwod2luZG93R2xvYmFsLCAxLCBhcmdzKTsKKyAgICByZXR1
cm4gU2NyaXB0T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRlLCB2ODo6SGFuZGxlPHY4OjpPYmpl
Y3Q+OjpDYXN0KGluamVjdGVkU2NyaXB0VmFsdWUpKTsKK30KKyNlbmRpZgorCiB2b2lkIEluamVj
dGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKiBpbnNw
ZWN0ZWRTY3JpcHRTdGF0ZSkKIHsKICAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CkBA
IC0xMjIsNyArMTQ2LDcgQEAgdm9pZCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRpc2NhcmRJbmpl
Y3RlZFNjcmlwdChTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3QKIAogICAgIHY4OjpMb2Nh
bDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBjb250ZXh0LT5HbG9iYWwoKTsKICAgICAvLyBTa2lwIHBy
b3h5IG9iamVjdC4gVGhlIHByb3h5IG9iamVjdCB3aWxsIHN1cnZpdmUgcGFnZSBuYXZpZ2F0aW9u
IHdoaWxlIHdlIG5lZWQKLSAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29uc2lkZXMg
d2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KKyAgICAvLyBhbiBvYmplY3Qgd2hv
c2UgbGlmZXRpbWUgY29pbmNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQu
CiAgICAgZ2xvYmFsID0gdjg6OkxvY2FsPHY4OjpPYmplY3Q+OjpDYXN0KGdsb2JhbC0+R2V0UHJv
dG90eXBlKCkpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBrZXkgPSBWOEhpZGRlblBy
b3BlcnR5TmFtZTo6ZGV2dG9vbHNJbmplY3RlZFNjcmlwdCgpOwpAQCAtMTM3LDcgKzE2MSw3IEBA
IEluamVjdGVkU2NyaXB0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRTY3JpcHRGb3Io
U2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjCiAKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xv
YmFsID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBw
cm94eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0g
ICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUg
aW5zcGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5j
aWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4
OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAg
IHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRldnRv
b2xzSW5qZWN0ZWRTY3JpcHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0Nv
ZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkKaW5kZXggZTlkMzczYjAxZTAzNWQ1YjQ0ZjYyNzYzYzA2
NDg2MDcxNWZhMjc0Ni4uMzQ1MzEzZDQ0YzJlMzI5ZmQ4NGUwMmJiZDE1ZWU3NzNkNWRiNDdjNSAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0
b3IucHkKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0
b3IucHkKQEAgLTQ2LDYgKzQ2LDcgQEAgRE9NQUlOX0RFRklORV9OQU1FX01BUCA9IHsKICAgICAi
SW5kZXhlZERCIjogIklOREVYRURfREFUQUJBU0UiLAogICAgICJQcm9maWxlciI6ICJKQVZBU0NS
SVBUX0RFQlVHR0VSIiwKICAgICAiV29ya2VyIjogIldPUktFUlMiLAorICAgICJXZWJHTCI6ICJX
RUJHTCIsCiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLmNwcAppbmRleCBlNDA2YzRhOGUxNTg1MDY4NmY3NjY0YjJjNWRmZmVmY2I4
YTkyZDJiLi4zMWZmOWY0MWM2MDY2MmE2NDI2NGFhZGU3NWZiN2NlN2RhOGRjYjdmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcApA
QCAtMzcsNyArMzcsMTEgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdC5oIgogI2luY2x1ZGUg
IkluamVjdGVkU2NyaXB0SG9zdC5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0U291cmNlLmgi
CisjaWYgRU5BQkxFKFdFQkdMKQorI2luY2x1ZGUgIkluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
aCIKKyNlbmRpZgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgorI2luY2x1ZGUgIlNjcmlw
dE9iamVjdC5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1N0
ZExpYkV4dHJhcy5oPgogCkBAIC0xNzIsNiArMTc2LDE4IEBAIHBhaXI8aW50LCBTY3JpcHRPYmpl
Y3Q+IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0U2NyaXB0KGNvbnN0IFN0cmluZyYgc291
cmNlCiAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKGlkLCBjcmVhdGVJbmplY3RlZFNjcmlwdChz
b3VyY2UsIHNjcmlwdFN0YXRlLCBpZCkpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0
T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZv
ckluc3RydW1lbnRhdGlvbihTY3JpcHRPYmplY3QgZ2xDb250ZXh0KQoreworICAgIHJldHVybiBp
bmplY3RXZWJHTFNjcmlwdChpbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKCksIGdsQ29udGV4dCk7
Cit9CisKK1N0cmluZyBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UoKQoreworICAgIHJldHVybiBTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFy
Kj4oSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyksIHNpemVvZihJbmplY3RlZFdlYkdMU2Ny
aXB0U291cmNlX2pzKSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaAppbmRleCBhOWJkY2E1MmZjYmMyMjdhYjI5MWFiNzRh
NmViODkxOGYwNGJkOGU0Li42MTNmZWY4MTIzOGE0MDkxOGE4NjMyODQ5MGNhYzAxNTc5NDMzYjRh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdl
ci5oCkBAIC03LDEzICs3LDEzIEBACiAgKiBhcmUgbWV0OgogICoKICAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4gCisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uIAorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKiAzLiAgTmVpdGhl
ciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1l
cyBvZgogICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICogICAgIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICAqCiAg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQogICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRApAQCAtNjQsNiArNjQsOSBAQCBw
dWJsaWM6CiAgICAgdm9pZCBkaXNjYXJkSW5qZWN0ZWRTY3JpcHRzRm9yKERPTVdpbmRvdyopOwog
ICAgIHZvaWQgcmVsZWFzZU9iamVjdEdyb3VwKGNvbnN0IFN0cmluZyYgb2JqZWN0R3JvdXApOwog
CisjaWYgRU5BQkxFKFdFQkdMKQorICAgIFNjcmlwdE9iamVjdCB3cmFwV2ViR0xSZW5kZXJpbmdD
b250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9iamVjdCk7CisjZW5kaWYKIAogcHJpdmF0
ZToKICAgICB0eXBlZGVmIGJvb2wgKCpJbnNwZWN0ZWRTdGF0ZUFjY2Vzc0NoZWNrKShTY3JpcHRT
dGF0ZSopOwpAQCAtNzMsNiArNzYsMTEgQEAgcHJpdmF0ZToKICAgICBTY3JpcHRPYmplY3QgY3Jl
YXRlSW5qZWN0ZWRTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFNjcmlwdFN0YXRlKiwgaW50
IGlkKTsKICAgICB2b2lkIGRpc2NhcmRJbmplY3RlZFNjcmlwdChTY3JpcHRTdGF0ZSopOwogCisj
aWYgRU5BQkxFKFdFQkdMKQorICAgIFN0cmluZyBpbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKCk7
CisgICAgU2NyaXB0T2JqZWN0IGluamVjdFdlYkdMU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNl
LCBTY3JpcHRPYmplY3QpOworI2VuZGlmCisKICAgICBzdGF0aWMgYm9vbCBjYW5BY2Nlc3NJbnNw
ZWN0ZWRXaW5kb3coU2NyaXB0U3RhdGUqKTsKICAgICBzdGF0aWMgYm9vbCBjYW5BY2Nlc3NJbnNw
ZWN0ZWRXb3JrZXJDb250ZXh0KFNjcmlwdFN0YXRlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NmE1NTU0ZDMxMmEwZWYwYTMxMjJmNThlYzUxZWMyZGRhZDdkYjAyYgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpz
CkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisoZnVuY3Rpb24oZ2xDb250ZXh0KSB7CisKKy8vIEZJWE1FOiBXcmFw
IFdlYkdMIGNvbnRleHQgZm9yIGluc3RydW1lbnRhdGlvbi4KK3JldHVybiBnbENvbnRleHQ7CisK
K30pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24g
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggYzk5MTE2MDhj
NGU4Y2RiYWFiNjk3ZTA1NzNkZTNlNzRkZTQwYmI1MS4uMDQyYmU4ZjZmM2UwMmYzZGJhMzUzN2E4
OWM2YzdjZWY3ZWJhYWI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNv
bgpAQCAtMjgxMSw1ICsyODExLDIxIEBACiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZGlzY29u
bmVjdGVkRnJvbVdvcmtlciIKICAgICAgICAgICAgIH0KICAgICAgICAgXQorICAgIH0sCisgICAg
eworICAgICAgICAiZG9tYWluIjogIldlYkdMIiwKKyAgICAgICAgImhpZGRlbiI6IHRydWUsCisg
ICAgICAgICJ0eXBlcyI6IFtdLAorICAgICAgICAiY29tbWFuZHMiOiBbCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZW5hYmxlIiwKKyAgICAgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiRW5hYmxlcyBXZWJHTCBpbnNwZWN0aW9uLiIKKyAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZGlzYWJsZSIsCisgICAgICAg
ICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIFdlYkdMIGluc3BlY3Rpb24uIgorICAg
ICAgICAgICAgfQorICAgICAgICBdLAorICAgICAgICAiZXZlbnRzIjogW10KICAgICB9XQogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKaW5kZXgg
YjEyMjMwNDMyMzNmOWQ0NDdhNWQzYWI1NTExMDY2OTU5ZWZiZTYyMS4uYmU5MmExM2ZjN2IzY2Q4
NTYxMzYzOGU2MTg4NzdjODJmYjJjMzlhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCkBAIC02NSw2ICs2NSw3IEBACiAjaW5jbHVkZSAiSW5z
cGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuY3BwIgorI2luY2x1ZGUgIkluc3Bl
Y3RvcldlYkdMQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvcldvcmtlckFnZW50LmNwcCIK
ICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmNwcCIKICNpbmNsdWRlICJOZXR3b3JrUmVz
b3VyY2VzRGF0YS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5jcHAKaW5kZXggNDZlMGMyYjhjNTRmNGI0MjBjMjM2ODRjN2JlM2E3NTNhNDVi
Yjc2OS4uYWMxOWM3ZGI5NTNkMjQ1ODM5Y2FkZmEzMjg2ZWY2OGI1Mjk2MmVmMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtNjEs
NiArNjEsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvclJlc291cmNlQWdlbnQuaCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JTdGF0ZS5oIgogI2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIK
KyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29y
a2VyQWdlbnQuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAi
UGFnZUNvbnNvbGVBZ2VudC5oIgpAQCAtMTQ0LDYgKzE0NSwxMCBAQCBJbnNwZWN0b3JDb250cm9s
bGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UqIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5z
cGVjdG9yQwogICAgIG1fYWdlbnRzLmFwcGVuZChJbnNwZWN0b3JXb3JrZXJBZ2VudDo6Y3JlYXRl
KG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkpOwogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoV0VCR0wpCisgICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3RvcldlYkdMQWdl
bnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCksIG1f
aW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpKSk7CisjZW5kaWYKKwogICAgIEFTU0VSVF9BUkco
aW5zcGVjdG9yQ2xpZW50LCBpbnNwZWN0b3JDbGllbnQpOwogICAgIG1faW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLT5pbmplY3RlZFNjcmlwdEhvc3QoKS0+aW5pdChtX2luc3BlY3RvckFnZW50CiAgICAg
ICAgICwgY29uc29sZUFnZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggY2E5NTBiYWY3MGQxNzY4NTZjM2NlNjg3MzBk
MjlkODFiY2RjMThmMi4uNGViYTRiM2MwYTUyM2FmZGZkMzlhMTJjZjMyOWJhNzYwNzk2ZTc5OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaApAQCAtNjgsNiArNjgsNyBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3Mg
U2NyaXB0QXJndW1lbnRzOwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDsKK2NsYXNzIFNjcmlwdE9iamVjdDsKIGNsYXNzIFNjcmlwdFByb2ZpbGU7
CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFNoYWRvd1Jvb3Q7CkBAIC0yMzYsNiArMjM3
LDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVF
cnJvcihEb2N1bWVudCosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBl
cnJvck1lc3NhZ2UpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgc3RhdGljIFNj
cmlwdE9iamVjdCB3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKERv
Y3VtZW50KiwgU2NyaXB0T2JqZWN0KTsKKyNlbmRpZgorCiAgICAgc3RhdGljIHZvaWQgbmV0d29y
a1N0YXRlQ2hhbmdlZChQYWdlKik7CiAgICAgc3RhdGljIHZvaWQgdXBkYXRlQXBwbGljYXRpb25D
YWNoZVN0YXR1cyhGcmFtZSopOwogCkBAIC05NzUsNyArOTgwLDcgQEAgaW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjptYXJrUmVzb3VyY2VBc0NhY2hlZChQYWdlKiBwYWdlLCB1
bnNpZ25lZAogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShw
YWdlKSkKLSAgICAgICAgbWFya1Jlc291cmNlQXNDYWNoZWRJbXBsKGluc3RydW1lbnRpbmdBZ2Vu
dHMsIGlkZW50aWZpZXIpOyAKKyAgICAgICAgbWFya1Jlc291cmNlQXNDYWNoZWRJbXBsKGluc3Ry
dW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YWVh
MGFhMzg3Y2RiNzg0YzVjYmQyNmE0Zjk4YjY4YTJjYjNlMzBjCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCkBAIC0wLDAg
KzEsMTA0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYg
RU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5oIgorCisjaW5j
bHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRl
bmQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JTdGF0ZS5oIgorI2luY2x1ZGUgIkluc3RydW1lbnRp
bmdBZ2VudHMuaCIKKyNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKKyNpbmNsdWRlICJTY3JpcHRT
dGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK25hbWVzcGFjZSBXZWJHTEFnZW50U3Rh
dGUgeworc3RhdGljIGNvbnN0IGNoYXIgd2ViR0xBZ2VudEVuYWJsZWRbXSA9ICJ3ZWJHTEFnZW50
RW5hYmxlZCI7Cit9OworCitJbnNwZWN0b3JXZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRl
KiBzdGF0ZSwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisg
ICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yV2ViR0xBZ2VudD4oIldlYkdMIiwgaW5z
dHJ1bWVudGluZ0FnZW50cywgc3RhdGUpCisgICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlcihp
bmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgLCBtX2Zyb250ZW5kKDApCisgICAgLCBtX2VuYWJs
ZWQoZmFsc2UpCit7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JXZWJH
TEFnZW50KHRoaXMpOworfQorCitJbnNwZWN0b3JXZWJHTEFnZW50Ojp+SW5zcGVjdG9yV2ViR0xB
Z2VudCgpCit7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JXZWJHTEFn
ZW50KDApOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKEluc3Bl
Y3RvckZyb250ZW5kKiBmcm9udGVuZCkKK3sKKyAgICBBU1NFUlQoZnJvbnRlbmQpOworICAgIG1f
ZnJvbnRlbmQgPSBmcm9udGVuZC0+d2ViZ2woKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFn
ZW50OjpjbGVhckZyb250ZW5kKCkKK3sKKyAgICBtX2Zyb250ZW5kID0gMDsKKyAgICBkaXNhYmxl
KDApOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OnJlc3RvcmUoKQoreworICAgIG1f
ZW5hYmxlZCA9IG1fc3RhdGUtPmdldEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50
RW5hYmxlZCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlKEVycm9yU3Ry
aW5nKikKK3sKKyAgICBpZiAobV9lbmFibGVkKQorICAgICAgICByZXR1cm47CisgICAgbV9lbmFi
bGVkID0gdHJ1ZTsKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2Vi
R0xBZ2VudEVuYWJsZWQsIG1fZW5hYmxlZCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2Vu
dDo6ZGlzYWJsZShFcnJvclN0cmluZyopCit7CisgICAgaWYgKCFtX2VuYWJsZWQpCisgICAgICAg
IHJldHVybjsKKyAgICBtX2VuYWJsZWQgPSBmYWxzZTsKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFu
KFdlYkdMQWdlbnRTdGF0ZTo6d2ViR0xBZ2VudEVuYWJsZWQsIG1fZW5hYmxlZCk7Cit9CisKK1Nj
cmlwdE9iamVjdCBJbnNwZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0
Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9iamVjdCBnbENvbnRleHQpCit7CisgICAgcmV0dXJu
IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT53cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5z
dHJ1bWVudGF0aW9uKGdsQ29udGV4dCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwZDA4
Y2EyY2Q3ZTAwMjJkOTYwOTNmMjBkNmZjYjRjYWRmODM3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oCkBAIC0wLDAgKzEs
ODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIEluc3BlY3RvcldlYkdMQWdlbnRfaAorI2RlZmluZSBJbnNwZWN0b3JXZWJH
TEFnZW50X2gKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKKworI2lu
Y2x1ZGUgIkluc3BlY3RvckJhc2VBZ2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5k
LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlICJTY3JpcHRTdGF0ZS5o
IgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJbmplY3RlZFNjcmlwdE1hbmFnZXI7
CitjbGFzcyBJbnNwZWN0b3JTdGF0ZTsKK2NsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CitjbGFz
cyBTY3JpcHRPYmplY3Q7CisKK3R5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOworCitjbGFzcyBJ
bnNwZWN0b3JXZWJHTEFnZW50IDogcHVibGljIEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JX
ZWJHTEFnZW50PiwgcHVibGljIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyOjpXZWJHTENvbW1h
bmRIYW5kbGVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JXZWJH
TEFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywg
SW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2Ny
aXB0TWFuYWdlcikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgSW5zcGVjdG9y
V2ViR0xBZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSwgaW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKSk7CisgICAgfQorICAgIH5JbnNwZWN0b3JXZWJHTEFnZW50KCk7CisKKyAgICB2aXJ0dWFs
IHZvaWQgc2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqKTsKKyAgICB2aXJ0dWFsIHZvaWQg
Y2xlYXJGcm9udGVuZCgpOworICAgIHZpcnR1YWwgdm9pZCByZXN0b3JlKCk7CisKKyAgICBib29s
IGVuYWJsZWQoKSB7IHJldHVybiBtX2VuYWJsZWQ7IH0KKworICAgIFNjcmlwdE9iamVjdCB3cmFw
V2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9iamVjdCk7CisK
KyAgICAvLyBDYWxsZWQgZnJvbSB0aGUgZnJvbnQtZW5kLgorICAgIHZpcnR1YWwgdm9pZCBlbmFi
bGUoRXJyb3JTdHJpbmcqKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyop
OworCisgICAgLy8gQ2FsbGVkIGZyb20gdGhlIGluamVjdGVkIHNjcmlwdC4KKworICAgIC8vIENh
bGxlZCBmcm9tIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbgorCitwcml2YXRlOgorICAgIEluc3Bl
Y3RvcldlYkdMQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0YXRlKiwgSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisKKyAgICBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIG1faW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyOworICAgIEluc3BlY3RvckZyb250ZW5kOjpXZWJHTCogbV9mcm9u
dGVuZDsKKyAgICBib29sIG1fZW5hYmxlZDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKKworI2VuZGlm
IC8vICFkZWZpbmVkKEluc3BlY3RvcldlYkdMQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzMyOTdjYjVjYmJmOGUxOWUwZDI4Y2ExMTk2Njk2NDRmM2UwNTVlNQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1l
bnRhdGlvbi5oCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVu
dGF0aW9uX2gKKyNkZWZpbmUgSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb25faAorCisjaW5j
bHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yV2Vi
R0xBZ2VudC5oIgorI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNsdWRlICJT
Y3JpcHRPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisjaWYgRU5BQkxFKFdFQkdM
KQorU2NyaXB0T2JqZWN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d3JhcFdlYkdMUmVuZGVy
aW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihEb2N1bWVudCogZG9jdW1lbnQsIFNjcmlwdE9i
amVjdCBnbENvbnRleHQpCit7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNG
b3JEb2N1bWVudChkb2N1bWVudCkpIHsKKyAgICAgICAgSW5zcGVjdG9yV2ViR0xBZ2VudCogd2Vi
R0xBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvcldlYkdMQWdlbnQoKTsKKyAg
ICAgICAgaWYgKHdlYkdMQWdlbnQgJiYgd2ViR0xBZ2VudC0+ZW5hYmxlZCgpKQorICAgICAgICAg
ICAgcmV0dXJuIHdlYkdMQWdlbnQtPndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVt
ZW50YXRpb24oZ2xDb250ZXh0KTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4gU2NyaXB0T2Jq
ZWN0KCk7Cit9CisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbl9o
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2Vu
dHMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKaW5k
ZXggMTk0ZWI4NjVlYzc1YTY2ZmVmYjRiNzI0NmYwMDhhODM4YTg4YWFiYy4uMTMzNGRjN2Q2ZGI3
ZWRiMzkwODZiOTZlM2M3ODY0Y2ExNzhmMzQxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCkBAIC01Miw2ICs1Miw3IEBAIGNsYXNzIEluc3Bl
Y3RvclJlc291cmNlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JSdW50aW1lQWdlbnQ7CiBjbGFzcyBJ
bnNwZWN0b3JUaW1lbGluZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yV29ya2VyQWdlbnQ7CitjbGFz
cyBJbnNwZWN0b3JXZWJHTEFnZW50OwogY2xhc3MgUGFnZTsKIGNsYXNzIFBhZ2VSdW50aW1lQWdl
bnQ7CiBjbGFzcyBXb3JrZXJDb250ZXh0OwpAQCAtODYsNiArODcsOSBAQCBwdWJsaWM6CiAjaWYg
RU5BQkxFKFdPUktFUlMpCiAgICAgICAgICwgbV9pbnNwZWN0b3JXb3JrZXJBZ2VudCgwKQogI2Vu
ZGlmCisjaWYgRU5BQkxFKFdFQkdMKQorICAgICAgICAsIG1faW5zcGVjdG9yV2ViR0xBZ2VudCgw
KQorI2VuZGlmCiAgICAgeyB9CiAgICAgfkluc3RydW1lbnRpbmdBZ2VudHMoKSB7IH0KIApAQCAt
MTQyLDExICsxNDYsMTcgQEAgcHVibGljOgogICAgIEluc3BlY3RvclByb2ZpbGVyQWdlbnQqIGlu
c3BlY3RvclByb2ZpbGVyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvclByb2ZpbGVy
QWdlbnQ7IH0KICAgICB2b2lkIHNldEluc3BlY3RvclByb2ZpbGVyQWdlbnQoSW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JQcm9maWxlckFnZW50ID0gYWdlbnQ7IH0K
ICNlbmRpZgorCiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgSW5zcGVjdG9yV29ya2VyQWdlbnQq
IGluc3BlY3RvcldvcmtlckFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JXb3JrZXJB
Z2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yV29ya2VyQWdlbnQoSW5zcGVjdG9yV29ya2Vy
QWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yV29ya2VyQWdlbnQgPSBhZ2VudDsgfQogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgSW5zcGVjdG9yV2ViR0xBZ2VudCogaW5zcGVjdG9y
V2ViR0xBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yV2ViR0xBZ2VudDsgfQorICAg
IHZvaWQgc2V0SW5zcGVjdG9yV2ViR0xBZ2VudChJbnNwZWN0b3JXZWJHTEFnZW50KiBhZ2VudCkg
eyBtX2luc3BlY3RvcldlYkdMQWdlbnQgPSBhZ2VudDsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAg
ICAgSW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQ7CiAgICAgSW5zcGVjdG9yUGFnZUFn
ZW50KiBtX2luc3BlY3RvclBhZ2VBZ2VudDsKQEAgLTE3Myw2ICsxODMsOSBAQCBwcml2YXRlOgog
I2lmIEVOQUJMRShXT1JLRVJTKQogICAgIEluc3BlY3RvcldvcmtlckFnZW50KiBtX2luc3BlY3Rv
cldvcmtlckFnZW50OwogI2VuZGlmCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIEluc3BlY3Rvcldl
YkdMQWdlbnQqIG1faW5zcGVjdG9yV2ViR0xBZ2VudDsKKyNlbmRpZgogfTsKIAogSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGF0aW9uRm9yUGFnZShQYWdlKik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145714</attachid>
            <date>2012-06-05 00:46:25 -0700</date>
            <delta_ts>2012-06-06 01:48:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120605114623.patch</filename>
            <type>text/plain</type>
            <size>56195</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVjOGRlMmRmODgwNjYy
NDUxOWQ3ZjFhMmM0YTJmMzUwMjZiYWRhOC4uMjlkYjdlNDRkNGE4NDM4NjM1ZDU2YjY3NzI2YWE5
MmRlYTRhZTc3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA2LTAzICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNv
cmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1M
Q2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0
V2ViR0xTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpk
aXNjYXJkSW5qZWN0ZWRTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0NvZGVHZW5l
cmF0b3JJbnNwZWN0b3IucHk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVk
U2NyaXB0TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaDoKKyAgICAgICAgKEluamVjdGVkU2NyaXB0TWFuYWdlcik6CisgICAgICAgICogaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNo
ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkdMQWdlbnRTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0
aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJH
TFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAg
ICAoSW5zdHJ1bWVudGluZ0FnZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5n
QWdlbnRzOjppbnNwZWN0b3JXZWJHTEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6OnNldEluc3BlY3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERh
dGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpIHNob3VsZCBzeW5jaHJvbm91c2x5IHJl
dHVybiBlbnRyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjZWIxZGI0MDZjYjBhZTQ2OTcxNzlj
NmViZWI2NTRmZDRiZGEyMzBhLi5kYzNkNzAzYzc3YjgxNGZjMjJhN2UxZThiNjJjNzViNjA3ZjNk
NDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTYyLDYgKzk2Miw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5j
cHAKQEAgLTE2OTMsNyArMTY5NCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAg
ICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAg
TW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAor
CiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3
b3JraW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVs
ZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjYwNCw2ICsyNjA1
LDE3IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAk
e0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAog
CisjIEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJH
TCkKKyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09V
UkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1B
SU5fREVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAg
ICAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3Iv
eHhkLnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09S
RV9ESVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAg
ICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNI
X1RPT0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNw
cCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAyZmM5ZjE4NjUyMjQzNGYz
ZDJmYWUxMjMzY2U3N2U3YTk1YTE0MC4uMGVkZjIyMTQ1ZTI3YmMyZjg3YjJmMTYzNDJiMWRkOWRm
MjBjYWUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAog
IyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFj
ayA8Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFy
ZSBtZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAor
IyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03
ODAsMTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQo
UFJPSkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZp
bmRzdHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAg
IFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQo
V2ViQ29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChV
U0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAog
aWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5B
QkxFX01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtl
X25hbWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdz
L3NjcmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0t
LS0tLS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAog
RXZlbnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9t
YWtlX2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBA
QCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5o
IEV4Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9z
Y3JpcHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0t
LS0tLS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVu
dCBmYWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBk
b20vbWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpA
QCAtOTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3Rl
ZFNjcmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29y
ZSkvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAK
K2FsbCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUp
L2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUp
L2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEg
KCQoZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19X
WCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBlNWY0ODQ0Njk1Mjg2MjM2MmQ3Yjlk
YjMyMjNhODIxMzQ2NmQzOWJiLi5lMzQ5OGY0ODQ0Y2YwMDYzM2IwNzdhODBjYmJlYjBiMmQ1OGI1
MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BF
Q1RPUl9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5z
cGVjdG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NP
VVJDRSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERF
QlVHR0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5q
cwogCiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDEx
ICs3NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VO
RVJBVE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGlu
amVjdGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVj
dGVkU2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0
ZWRTY3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
ICR7UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwg
JCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJ
TEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0
X3RvX3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQog
Ci0jIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBp
bGVyCisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291
cmNlIGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElO
SkVDVEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29t
bWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9
IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3Ig
ZGVidWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0
cHV0ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQg
PSBERUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9
IHBlcmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FN
QUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDgz
NjhjNmQ0NDcyM2RjOWJiZGZkYmE1MGFkMTczOGY1MTBjNTU2NGIuLmYwYzUyYWI3Y2FlYjUzMjkx
NGQ5NzI2NDE5ODE0ZTlmZTE3ZjQ5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjEsNiAr
ODIxLDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
anM6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0
ZWRTY3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuanMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIElu
amVjdGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJD
b3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4p
JChQRVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpz
ICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYg
RU5BQkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBA
IC0xMDcwLDYgKzEwNzIsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3Uv
TElDRU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0
b3IucHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5q
cyBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
anMgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDVhYzVkZTM2MjQxZDFiODJmYzE4NTVmNzFhZTRhNmM2
NWZkM2UzNDEuLjUyNmY1ZDk5ZDI5ZGJlYTM3MTM4NDA5YTFiNjNiOTJjM2M4YmUyMGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMiw2ICsyNzIzLDkgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYmMwMTE3Yjc1MDYzMTg5
Y2RkMjkxNzQ2NTFiYzZmZDkzZTk5YmFiNC4uMGU3MTk4ZDI1Y2FhMDk4NzFkNjIzN2JlN2RiNWRh
ODEzNTgwMjVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0Rh
dGEuY3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRl
eHRFZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3Bl
Y3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBp
bnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4
IGI3NmQzYmM1YjY1OTNkN2RmOGEwNWY1N2QxMTY1YWFiZDg1NTM0M2IuLjEwZGQ5OGYwMGVjOTk5
NjVlYjczY2QzYTEyMjRiNjYxZDE2N2RhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzcs
NyArMTc3LDcgQEAgX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjE2bG9hZEZyYW1lUmVxdWVzdEVS
S05TXzE2RnJhbWVMb2FkUmVxdWVzdEViYk4zV1RGMTBQYXMKIF9fWk43V2ViQ29yZTExRnJhbWVM
b2FkZXIxN3N0b3BGb3JVc2VyQ2FuY2VsRWIKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMWxv
YWRVUkxJbnRvQ2hpbGRGcmFtZUVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRVBOU181RnJhbWVF
CiBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMjJmaW5kRnJhbWVGb3JOYXZpZ2F0aW9uRVJLTjNX
VEYxMkF0b21pY1N0cmluZ0VQTlNfOERvY3VtZW50RQotX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRl
cjIzdGltZU9mTGFzdENvbXBsZXRlZExvYWRFdiAgICAKK19fWk43V2ViQ29yZTExRnJhbWVMb2Fk
ZXIyM3RpbWVPZkxhc3RDb21wbGV0ZWRMb2FkRXYKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIy
NnJlbG9hZFdpdGhPdmVycmlkZUVuY29kaW5nRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3Jl
MTFGcmFtZUxvYWRlcjMyc2V0T3JpZ2luYWxVUkxGb3JEb3dubG9hZFJlcXVlc3RFUk5TXzE1UmVz
b3VyY2VSZXF1ZXN0RQogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRpbml0RXYKQEAgLTE2ODQs
NyArMTY4NCw3IEBAIF93a0dldEFYVGV4dE1hcmtlclR5cGVJRAogX3drR2V0QVhUZXh0TWFya2Vy
UmFuZ2VUeXBlSUQKIF93a0NyZWF0ZUFYVGV4dE1hcmtlclJhbmdlCiBfd2tDb3B5QVhUZXh0TWFy
a2VyUmFuZ2VTdGFydAotX3drQ29weUFYVGV4dE1hcmtlclJhbmdlRW5kIAorX3drQ29weUFYVGV4
dE1hcmtlclJhbmdlRW5kCiBfd2tDcmVhdGVBWFRleHRNYXJrZXIKIF93a0dldEJ5dGVzRnJvbUFY
VGV4dE1hcmtlcgogX3drQ3JlYXRlQVhVSUVsZW1lbnRSZWYKQEAgLTE3NzYsNyArMTc3Niw3IEBA
IF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMTRyZW1vdmVBbGxJY29uc0V2CiBfX1pON1dlYkNv
cmUxMkljb25EYXRhYmFzZTE1aWNvblJlY29yZENvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRh
dGFiYXNlMTlwYWdlVVJMTWFwcGluZ0NvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNl
MjBhbGxvd0RhdGFiYXNlQ2xlYW51cEV2Ci1fX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIwZGVs
YXlEYXRhYmFzZUNsZWFudXBFdiAgIAorX19aTjdXZWJDb3JlMTJJY29uRGF0YWJhc2UyMGRlbGF5
RGF0YWJhc2VDbGVhbnVwRXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjByZXRhaW5JY29u
Rm9yUGFnZVVSTEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjBy
ZXRhaW5lZFBhZ2VVUkxDb3VudEV2CiBfX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIxcmVsZWFz
ZUljb25Gb3JQYWdlVVJMRVJLTjNXVEY2U3RyaW5nRQpAQCAtMjIxMywzICsyMjEzLDggQEAgX19a
Tks3V2ViQ29yZTROb2RlMzFudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuRXYKICNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKIF9fWk43V2ViQ29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczE4
aXNTaGFkb3dET01FbmFibGVkRQogI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCR0wpCitfX1pON1dl
YkNvcmUxOUluc3BlY3RvcldlYkdMQWdlbnRDMUVQTlNfMTlJbnN0cnVtZW50aW5nQWdlbnRzRVBO
U18xNEluc3BlY3RvclN0YXRlRVBOU18yMUluamVjdGVkU2NyaXB0TWFuYWdlckUKK19fWk43V2Vi
Q29yZTE5SW5zcGVjdG9yV2ViR0xBZ2VudDQzd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvcklu
c3RydW1lbnRhdGlvbkVOU18xMlNjcmlwdE9iamVjdEUKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA3ZDhkN2JlYTg1MjRiNWUwY2QzY2I2YzczM2MwNDkz
MWJmYWFhNTQ5Li5hMjU2MjQ4ZmI3N2YzODI0YzYxYWRkYjQ3MDk4YmQ0YTRmNGZmM2VjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtNDM0LDYgKzQzNCwyOSBAQAog
ICAgICAgXQogICAgIH0sCiAgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ2luamVjdGVkX3dl
YmdsX3NjcmlwdF9zb3VyY2UnLAorICAgICAgJ3R5cGUnOiAnbm9uZScsCisgICAgICAnYWN0aW9u
cyc6IFsKKyAgICAgICAgeworICAgICAgICAgICdhY3Rpb25fbmFtZSc6ICdnZW5lcmF0ZUluamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UnLAorICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAgICAg
ICAnLi4vaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMnLAorICAgICAgICAg
IF0sCisgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJN
RURJQVRFX0RJUikvd2Via2l0L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCcsCisgICAgICAg
ICAgXSwKKyAgICAgICAgICAnYWN0aW9uJzogWworICAgICAgICAgICAgJ3BlcmwnLAorICAgICAg
ICAgICAgJy4uL2luc3BlY3Rvci94eGQucGwnLAorICAgICAgICAgICAgJ0luamVjdGVkV2ViR0xT
Y3JpcHRTb3VyY2VfanMnLAorICAgICAgICAgICAgJzxAKF9pbnB1dHMpJywKKyAgICAgICAgICAg
ICc8QChfb3V0cHV0cyknCisgICAgICAgICAgXSwKKyAgICAgICAgICAnbWVzc2FnZSc6ICdHZW5l
cmF0aW5nIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBmcm9tIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuanMnLAorICAgICAgICB9LAorICAgICAgXQorICAgIH0sCisgICAgewogICAgICAg
J3RhcmdldF9uYW1lJzogJ2RlYnVnZ2VyX3NjcmlwdF9zb3VyY2UnLAogICAgICAgJ3R5cGUnOiAn
bm9uZScsCiAgICAgICAnYWN0aW9ucyc6IFsKQEAgLTEwNzQsNiArMTA5Nyw3IEBACiAgICAgICAg
ICd3ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnLAogICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29s
X3NvdXJjZXMnLAogICAgICAgICAnaW5qZWN0ZWRfc2NyaXB0X3NvdXJjZScsCisgICAgICAgICdp
bmplY3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2RlYnVnZ2VyX3NjcmlwdF9z
b3VyY2UnLAogICAgICAgICAnLi4vLi4vSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lw
L0phdmFTY3JpcHRDb3JlLmd5cDp5YXJyJywKICAgICAgICAgJy4uLy4uL1dURi9XVEYuZ3lwL1dU
Ri5neXA6d3RmJywKQEAgLTExOTcsNiArMTIyMSw3IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzog
WwogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAgICdpbmplY3RlZF9z
Y3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dlYmdsX3NjcmlwdF9zb3VyY2UnLAog
ICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMnLAogICAgICAgICAnd2ViY29yZV9i
aW5kaW5nc19zb3VyY2VzJywKICAgICAgICAgJy4uLy4uL1RoaXJkUGFydHkvZ2x1L2dsdS5neXA6
bGlidGVzcycsCkBAIC0xNDcyLDkgKzE0OTcsOSBAQAogICAgICAgJ2RlcGVuZGVuY2llcyc6IFsK
ICAgICAgICAgJ3dlYmNvcmVfcHJlcmVxdWlzaXRlcycsCiAgICAgICBdLAotICAgICAgJ2RlZmlu
ZXMnOiBbIAotICAgICAgICAnV0VCS0lUX0lNUExFTUVOVEFUSU9OPTEnLCAKLSAgICAgIF0sIAor
ICAgICAgJ2RlZmluZXMnOiBbCisgICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsCisg
ICAgICBdLAogICAgICAgIyBUaGlzIGlzIG5lZWRlZCBmb3IgbWFjIGJlY2F1c2Ugb2Ygd2Via2l0
X3N5c3RlbV9pbnRlcmZhY2UuIEl0J2QgYmUgbmljZQogICAgICAgIyBpZiB0aGlzIGhhcmQgZGVw
ZW5kZW5jeSBjb3VsZCBiZSBzcGxpdCBvZmYgdGhlIHJlc3QuCiAgICAgICAnaGFyZF9kZXBlbmRl
bmN5JzogMSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAwMTMxY2Q0NGZmZDJiMmZjNmQwZWYxN2VhYWRl
YzQzNjlkNGQxMTY5Li5jODkxYzQ5NmU1ZGU3YTM4NGU3MDUyZWVmYTM3NzhlNzg1MmY4OTlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0yODE5LDYgKzI4MTksOSBAQAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9J
bnNwZWN0b3JWYWx1ZXMuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29y
a2VyUmVzb3VyY2UuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdl
bnQuY3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oJywK
KyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCcs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCcsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcCcsCkBAIC02NjQxLDcgKzY2NDQsNyBA
QAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNtYWxsR3Jh
eS5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNt
YWxsV2hpdGUucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9z
ZWFyY2hOZXh0LnBuZycsCi0gICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMv
c2VhcmNoUHJldi5wbmcnLCAgICAgICAgICAgIAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzL3NlYXJjaFByZXYucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJv
bnQtZW5kL0ltYWdlcy9zZWdtZW50LnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250
LWVuZC9JbWFnZXMvc2VnbWVudEVuZC5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzL3NlZ21lbnRIb3Zlci5wbmcnLApAQCAtNzIzOSw2ICs3MjQyLDcgQEAKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1l
cy5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSGVhZGVyRGV0ZWN0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCcsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVyLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggOGRmNzFlZTNiZWJmMTIxZjI4ZDQwMDZmYmM4
YTNkOWY3MmI1ODUyYi4uNGZkYTdhZDE4Y2Y4MjY4NzE3YTYyZWFlNWU2MzFiNzZkZTg5NjEzMyAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTU5
NCw2ICs1OTQsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgiCisJCQkJPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIu
Y3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTczOTk1LDYgKzczOTk5LDM0IEBACiAJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNw
ZWN0b3JXZWJHTEFnZW50LmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvcldlYkdMQWdlbnQuaCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAiCiAJ
CQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYwY2NhNzI1OWI4N2Q5MWY4NDBmN2Q1
MTA5YTUxZDFkZmMxYWMxN2QuLjNjM2QwZjU5ZDdiMjg1M2RmOWQxMzljYjQyZTNmNzRhZDI5Zjhm
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTg0MDcsNiArODQwNywxMSBAQAogCQk0OUVFRDE0QzEwNTE5NzFBMDAwOTlGQUIg
LyogSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUVFRDE0RDEwNTE5NzFBMDAwOTlGQUIgLyogSlND
YW52YXNSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5RkM3QTRGMTQ0NEFGNUYwMEE1RDg2NCAvKiBEaXNwbGF5
UmVmcmVzaE1vbml0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDlGQzg4QjUxNTdDQjBCOTAwNkFBMjg3IC8qIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUZDODhCNTE1N0NCMEI5MDA2QUEy
ODcgLyogSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
amF2YXNjcmlwdDsgcGF0aCA9IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanM7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5RkM4OEI1MTU3Q0IwQjkwMDZBQTI4NyAvKiBJbnNwZWN0
b3JXZWJHTEFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElu
c3BlY3RvcldlYkdMQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUZD
ODhCNjE1N0NCMEI5MDA2QUEyODcgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JXZWJHTEFnZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQ5RkM4OEI3MTU3Q0IwQjkwMDZBQTI4NyAvKiBJbnNwZWN0b3JX
ZWJHTEluc3RydW1lbnRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJ
bnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0OUZGQkYxQzExQzg1NTBFMDA2QTcxMTggLyogR3JhcGhpY3NDb250ZXh0M0RNYWMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHcmFwaGljc0NvbnRleHQz
RE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlGRkJGM0QxMUM5M0VFMzAw
NkE3MTE4IC8qIFdlYkdMTGF5ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViR0xMYXllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUZGQkYzRTExQzkz
RUUzMDA2QTcxMTggLyogV2ViR0xMYXllci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdlYkdMTGF5ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNDMxNiw2ICsxNDMyMSw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAogCQkJCTdBNTYzRTU0MTJERTMyQjAwMEY0NTM2RCAvKiBJbmplY3RlZFNjcmlwdFNvdXJjZS5o
ICovLAorCQkJCTQ5RkM4OEI1MTU3Q0IwQjkwMDZBQTI4NyAvKiBJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmggKi8sCiAJCQkJNEY3MDdBOTcxMUVGNjc5NDAwQUNEQTY5IC8qIEluc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVyLmNwcCAqLywKIAkJCQk0RjcwN0E5ODExRUY2Nzk0MDBBQ0RBNjkgLyog
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCAqLywKIAkJCQk0RjRGNUZGQTExQ0JEMkQyMDBB
MTg2QkYgLyogSW5zcGVjdG9yRnJvbnRlbmQuY3BwICovLApAQCAtMTQzNjEsNiArMTQzNjcsNyBA
QAogCQkJCUYzMTYzOTY5MTMyOTQ4MUEwMEE2NDlDQiAvKiBJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwICovLAogCQkJCUYzMTYzOTZBMTMyOTQ4MUEwMEE2NDlDQiAvKiBJbmplY3RlZFNjcmlwdE1h
bmFnZXIuaCAqLywKIAkJCQk3QTU2M0Y5NTEyREY1QzkxMDBGNDUzNkQgLyogSW5qZWN0ZWRTY3Jp
cHRTb3VyY2UuanMgKi8sCisJCQkJNDlGQzg4QjUxNTdDQjBCOTAwNkFBMjg3IC8qIEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuanMgKi8sCiAJCQkJMUM0MzVDRDQxNEU4NTQ1QjAwNEUxMEVBIC8q
IEluc3BlY3Rvci0wLjEuanNvbiAqLywKIAkJCQkxQzQzNUNENTE0RTg1NDVCMDA0RTEwRUEgLyog
SW5zcGVjdG9yLTEuMC5qc29uICovLAogCQkJCTFDNDM1Q0QzMTRFODU0NEYwMDRFMTBFQSAvKiBJ
bnNwZWN0b3IuanNvbiAqLywKQEAgLTE0NDMyLDYgKzE0NDM5LDkgQEAKIAkJCQk3NTQxMzNBNzEw
MkUwMEU4MDAwNzVEMDAgLyogSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oICovLAogCQkJCTRGMzI4
OUIzMTFBNDJBQUIwMDVBQkU3RSAvKiBJbnNwZWN0b3JWYWx1ZXMuY3BwICovLAogCQkJCTRGMzI4
OUI0MTFBNDJBQUIwMDVBQkU3RSAvKiBJbnNwZWN0b3JWYWx1ZXMuaCAqLywKKwkJCQk0OUZDODhC
NTE1N0NCMEI5MDA2QUEyODcgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgKi8sCisJCQkJNDlG
Qzg4QjYxNTdDQjBCOTAwNkFBMjg3IC8qIEluc3BlY3RvcldlYkdMQWdlbnQuaCAqLywKKwkJCQk0
OUZDODhCNzE1N0NCMEI5MDA2QUEyODcgLyogSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24u
aCAqLywKIAkJCQlGMzgxMEMxOTEzNjVBNDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdl
bnQuY3BwICovLAogCQkJCUYzODEwQzFBMTM2NUE0OTYwMEVENkUzMyAvKiBJbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5oICovLAogCQkJCUYzNzVDQzA2MTE1MEQzMDAwMDhEREI4MSAvKiBJbnNwZWN0b3JX
b3JrZXJSZXNvdXJjZS5oICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0hUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAppbmRleCBkNWZjM2NlOTYzNjNkYzUx
MjY4NGYyZjQwNzFhNDI0ODVlYWMwNjE4Li5hNzJhZjEwNjI5NDU3YmVmM2ZlOTg1NGMwYzRiYjM0
ZDA2OTgxMzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxD
YW52YXNFbGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0hUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcApAQCAtMjEsNyArMjEsNyBAQAogICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC0zMSw3ICszMSw5IEBACiAjaW5j
bHVkZSAiSFRNTENhbnZhc0VsZW1lbnQuaCIKICNpbmNsdWRlICJKU0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRC5oIgogI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTElu
c3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkpTV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCisj
aW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViR0xDb250ZXh0QXR0cmlidXRl
cy5oIgogI2VuZGlmCiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgpAQCAtNzUsNyArNzcsMTYgQEAg
SlNWYWx1ZSBKU0hUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KEV4ZWNTdGF0ZSogZXhlYykK
ICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0ID0gY2FudmFzLT5nZXRDb250ZXh0
KHVzdHJpbmdUb1N0cmluZyhjb250ZXh0SWQpLCBhdHRycy5nZXQoKSk7CiAgICAgaWYgKCFjb250
ZXh0KQogICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xv
YmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGNvbnRleHQpKTsKKyAgICBKU1ZhbHVlIGpzVmFsdWUg
PSB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihjb250ZXh0KSk7CisjaWYg
RU5BQkxFKFdFQkdMKQorICAgIGlmIChjb250ZXh0LT5pczNkKCkgJiYgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpoYXNGcm9udGVuZHMoKSkgeworICAgICAgICBTY3JpcHRPYmplY3QgZ2xDb250
ZXh0KGV4ZWMsIGpzVmFsdWUuZ2V0T2JqZWN0KCkpOworICAgICAgICBTY3JpcHRPYmplY3Qgd3Jh
cHBlZCA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4
dEZvckluc3RydW1lbnRhdGlvbihjYW52YXMtPmRvY3VtZW50KCksIGdsQ29udGV4dCk7CisgICAg
ICAgIGlmICghd3JhcHBlZC5oYXNOb1ZhbHVlKCkpCisgICAgICAgICAgICByZXR1cm4gd3JhcHBl
ZC5qc1ZhbHVlKCk7CisgICAgfQorI2VuZGlmCisgICAgcmV0dXJuIGpzVmFsdWU7CiB9CiAKIEpT
VmFsdWUgSlNIVE1MQ2FudmFzRWxlbWVudDo6dG9EYXRhVVJMKEV4ZWNTdGF0ZSogZXhlYykKQEAg
LTkzLDcgKzEwNCw3IEBAIEpTVmFsdWUgSlNIVE1MQ2FudmFzRWxlbWVudDo6dG9EYXRhVVJMKEV4
ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgIHF1YWxpdHlQdHIgPSAmcXVhbGl0eTsKICAgICAg
ICAgfQogICAgIH0KLSAgICAKKwogICAgIEpTVmFsdWUgcmVzdWx0ID0ganNTdHJpbmcoZXhlYywg
Y2FudmFzLT50b0RhdGFVUkwodHlwZSwgcXVhbGl0eVB0ciwgZWMpKTsKICAgICBzZXRET01FeGNl
cHRpb24oZXhlYywgZWMpOwogICAgIHJldHVybiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5kZXggMTU3
NmQzNDZkMDZkY2E1MGM4NGY4M2U1ZmI5NmRkNjFhZjU5ZDY3MC4uODBiNGU3ODkwNjRkNzQ5ZTFi
YWQ3ZjRiMDcxZDY1ZjFjMDg0ZWJlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcApAQCAtNzgsNiArNzgsMTQgQEAg
U2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6Y3JlYXRlSW5qZWN0ZWRTY3JpcHQo
Y29uc3QgU3RyaW5nJiBzb3VyY2UsIFMKICAgICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7CiB9CiAK
KyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpp
bmplY3RXZWJHTFNjcmlwdChjb25zdCBTdHJpbmcmLCBTY3JpcHRPYmplY3QpCit7CisgICAgLy8g
RklYTUUoODc5NzUpOiBJbXBsZW1lbnQgdGhpcyEKKyAgICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7
Cit9CisjZW5kaWYKKwogdm9pZCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRpc2NhcmRJbmplY3Rl
ZFNjcmlwdChTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUpCiB7CiAgICAgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCA9IGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KHNjcmlwdFN0YXRl
LT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0U3RhdGUuY3BwCmluZGV4IGMxOWZiOTg5MmJkYzhhOTc2NGRmN2UzYWJiZjc5OWIxNWRiYjY4
MTQuLmUyMWM2Y2FjZTc1MTdkOTQwNGM5YjliYzRjMDNlZDM4NzFjMzI0MGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAKQEAgLTkwLDcgKzkwLDcgQEAgU2Ny
aXB0U3RhdGUqIFNjcmlwdFN0YXRlOjpmb3JDb250ZXh0KHY4OjpMb2NhbDx2ODo6Q29udGV4dD4g
Y29udGV4dCkKIAogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBjb250ZXh0LT5H
bG9iYWwoKTsKICAgICAvLyBTa2lwIHByb3h5IG9iamVjdC4gVGhlIHByb3h5IG9iamVjdCB3aWxs
IHN1cnZpdmUgcGFnZSBuYXZpZ2F0aW9uIHdoaWxlIHdlIG5lZWQKLSAgICAvLyBhbiBvYmplY3Qg
d2hvc2UgbGlmZXRpbWUgY29uc2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4
dC4KKyAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29pbmNpZGVzIHdpdGggdGhhdCBv
ZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCiAgICAgZ2xvYmFsID0gdjg6OkxvY2FsPHY4OjpPYmpl
Y3Q+OjpDYXN0KGdsb2JhbC0+R2V0UHJvdG90eXBlKCkpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6
U3RyaW5nPiBrZXkgPSBWOEhpZGRlblByb3BlcnR5TmFtZTo6c2NyaXB0U3RhdGUoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVt
ZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxD
YW52YXNFbGVtZW50Q3VzdG9tLmNwcAppbmRleCAyMGRiNTNkNjRlYzEwMTliZjEwZDNjNDJjNzhl
ZjcwMDI5ZjI5ZDc4Li5lMTk4OTZmZWUwMjAxYjFiNTRiMzU1ZDlkMGNiMjE4M2ZkMjc4OWU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFz
RWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVk
ZSAiVjhOb2RlLmgiCiAjaW5jbHVkZSAiVjhQcm94eS5oIgogI2lmIEVOQUJMRShXRUJHTCkKKyNp
bmNsdWRlICJJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlY4V2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmgiCiAjZW5kaWYKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5o
PgpAQCAtODgsOCArODksMTcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SFRNTENhbnZhc0Vs
ZW1lbnQ6OmdldENvbnRleHRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnQKICAgICBpZiAocmVz
dWx0LT5pczJkKCkpCiAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRCo+KHJlc3VsdCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICNpZiBFTkFCTEUo
V0VCR0wpCi0gICAgZWxzZSBpZiAocmVzdWx0LT5pczNkKCkpCi0gICAgICAgIHJldHVybiB0b1Y4
KHN0YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5nQ29udGV4dCo+KHJlc3VsdCksIGFyZ3MuR2V0SXNv
bGF0ZSgpKTsKKyAgICBlbHNlIGlmIChyZXN1bHQtPmlzM2QoKSkgeworICAgICAgICB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gdjhSZXN1bHQgPSB0b1Y4KHN0YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5n
Q29udGV4dCo+KHJlc3VsdCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICAgICAgaWYgKEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpIHsKKyAgICAgICAgICAgIFNjcmlw
dFN0YXRlKiBzY3JpcHRTdGF0ZSA9IFNjcmlwdFN0YXRlOjpmb3JDb250ZXh0KHY4OjpDb250ZXh0
OjpHZXRDdXJyZW50KCkpOworICAgICAgICAgICAgU2NyaXB0T2JqZWN0IGdsQ29udGV4dChzY3Jp
cHRTdGF0ZSwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdCh2OFJlc3VsdCkpOworICAgICAg
ICAgICAgU2NyaXB0T2JqZWN0IHdyYXBwZWQgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Ondy
YXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oaW1wLT5kb2N1bWVudCgp
LCBnbENvbnRleHQpOworICAgICAgICAgICAgaWYgKCF3cmFwcGVkLmhhc05vVmFsdWUoKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52OFZhbHVlKCk7CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuIHY4UmVzdWx0OworICAgIH0KICNlbmRpZgogICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgIHJldHVybiB2ODo6TnVsbChhcmdzLkdldElzb2xhdGUoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLmNwcAppbmRleCAzMzNmZTU3NWNiMDc4YTEyNzU2N2M2NWMyYzUxZGNmN2E0NmQx
YzIzLi4xY2U1OTVlYzgwNzRjMTI3MmJjNjkyZmQ2MTkwOWRmZWFiZWQ5NTljIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFn
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVk
U2NyaXB0TWFuYWdlci5jcHAKQEAgLTExMCwxMCArMTEwLDM0IEBAIFNjcmlwdE9iamVjdCBJbmpl
Y3RlZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUluamVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc2Ny
aXB0U291CiAgICAgICB2ODo6TnVtYmVyOjpOZXcoaWQpLAogICAgIH07CiAgICAgdjg6OkxvY2Fs
PHY4OjpWYWx1ZT4gaW5qZWN0ZWRTY3JpcHRWYWx1ZSA9IHY4OjpGdW5jdGlvbjo6Q2FzdCgqdikt
PkNhbGwod2luZG93R2xvYmFsLCAzLCBhcmdzKTsKLSAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4g
aW5qZWN0ZWRTY3JpcHQodjg6Ok9iamVjdDo6Q2FzdCgqaW5qZWN0ZWRTY3JpcHRWYWx1ZSkpOwot
ICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5zcGVjdGVkU2NyaXB0U3RhdGUsIGluamVjdGVkU2Ny
aXB0KTsKKyAgICByZXR1cm4gU2NyaXB0T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRlLCB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGluamVjdGVkU2NyaXB0VmFsdWUpKTsKIH0KIAorI2lm
IEVOQUJMRShXRUJHTCkKK1NjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVj
dFdlYkdMU2NyaXB0KGNvbnN0IFN0cmluZyYgc2NyaXB0U291cmNlLCBTY3JpcHRPYmplY3QgZ2xD
b250ZXh0KQoreworICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsKKworICAgIFNjcmlwdFN0YXRl
KiBpbnNwZWN0ZWRTY3JpcHRTdGF0ZSA9IGdsQ29udGV4dC5zY3JpcHRTdGF0ZSgpOworICAgIHY4
OjpMb2NhbDx2ODo6Q29udGV4dD4gaW5zcGVjdGVkQ29udGV4dCA9IGluc3BlY3RlZFNjcmlwdFN0
YXRlLT5jb250ZXh0KCk7CisgICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZShpbnNw
ZWN0ZWRDb250ZXh0KTsKKworICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiB3aW5kb3dHbG9iYWwg
PSBpbnNwZWN0ZWRDb250ZXh0LT5HbG9iYWwoKTsKKworICAgIHY4OjpMb2NhbDx2ODo6U2NyaXB0
PiBzY3JpcHQgPSB2ODo6U2NyaXB0OjpDb21waWxlKHY4U3RyaW5nKHNjcmlwdFNvdXJjZSkpOwor
ICAgIFY4UmVjdXJzaW9uU2NvcGU6Ok1pY3JvdGFza1N1cHByZXNzaW9uIHJlY3Vyc2lvblNjb3Bl
OworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHYgPSBzY3JpcHQtPlJ1bigpOworICAgIEFTU0VS
VCghdi5Jc0VtcHR5KCkpOworICAgIEFTU0VSVCh2LT5Jc0Z1bmN0aW9uKCkpOworCisgICAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3NbXSA9IHsKKyAgICAgICAgZ2xDb250ZXh0LnY4VmFsdWUo
KSwKKyAgICB9OworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGluamVjdGVkU2NyaXB0VmFsdWUg
PSB2ODo6RnVuY3Rpb246OkNhc3QoKnYpLT5DYWxsKHdpbmRvd0dsb2JhbCwgMSwgYXJncyk7Cisg
ICAgcmV0dXJuIFNjcmlwdE9iamVjdChpbnNwZWN0ZWRTY3JpcHRTdGF0ZSwgdjg6OkhhbmRsZTx2
ODo6T2JqZWN0Pjo6Q2FzdChpbmplY3RlZFNjcmlwdFZhbHVlKSk7Cit9CisjZW5kaWYKKwogdm9p
ZCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRpc2NhcmRJbmplY3RlZFNjcmlwdChTY3JpcHRTdGF0
ZSogaW5zcGVjdGVkU2NyaXB0U3RhdGUpCiB7CiAgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNj
b3BlOwpAQCAtMTIyLDcgKzE0Niw3IEBAIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNj
YXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0CiAKICAgICB2
ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8g
U2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2
aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNv
bnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2Jq
ZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBj
b250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwt
PkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhI
aWRkZW5Qcm9wZXJ0eU5hbWU6OmRldnRvb2xzSW5qZWN0ZWRTY3JpcHQoKTsKQEAgLTEzNyw3ICsx
NjEsNyBAQCBJbmplY3RlZFNjcmlwdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkU2Ny
aXB0Rm9yKFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTYwogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmpl
Y3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2JhbCgpOwogICAgIC8vIFNraXAgcHJveHkgb2JqZWN0
LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vydml2ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUgd2Ug
bmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb25zaWRlcyB3aXRoIHRoYXQg
b2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgorICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGlt
ZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KICAgICBnbG9i
YWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46OkNhc3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUoKSk7
CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGtleSA9IFY4SGlkZGVuUHJvcGVydHlOYW1l
OjpkZXZ0b29sc0luamVjdGVkU2NyaXB0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5CmluZGV4IGU5ZDM3M2IwMWUwMzVkNWI0NGY2
Mjc2M2MwNjQ4NjA3MTVmYTI3NDYuLjM0NTMxM2Q0NGMyZTMyOWZkODRlMDJiYmQxNWVlNzczZDVk
YjQ3YzUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9y
SW5zcGVjdG9yLnB5CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9y
SW5zcGVjdG9yLnB5CkBAIC00Niw2ICs0Niw3IEBAIERPTUFJTl9ERUZJTkVfTkFNRV9NQVAgPSB7
CiAgICAgIkluZGV4ZWREQiI6ICJJTkRFWEVEX0RBVEFCQVNFIiwKICAgICAiUHJvZmlsZXIiOiAi
SkFWQVNDUklQVF9ERUJVR0dFUiIsCiAgICAgIldvcmtlciI6ICJXT1JLRVJTIiwKKyAgICAiV2Vi
R0wiOiAiV0VCR0wiLAogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5kZXggZTQwNmM0YThlMTU4NTA2ODZmNzY2NGIyYzVk
ZmZlZmNiOGE5MmQyYi4uMzFmZjlmNDFjNjA2NjJhNjQyNjRhYWRlNzVmYjdjZTdkYThkY2I3ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdl
ci5jcHAKQEAgLTM3LDcgKzM3LDExIEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHQuaCIKICNp
bmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdFNv
dXJjZS5oIgorI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNsdWRlICJJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmgiCisjZW5kaWYKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKKyNpbmNsdWRl
ICJTY3JpcHRPYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApAQCAtMTcyLDYgKzE3NiwxOCBAQCBwYWlyPGludCwgU2Ny
aXB0T2JqZWN0PiBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFNjcmlwdChjb25zdCBTdHJp
bmcmIHNvdXJjZQogICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihpZCwgY3JlYXRlSW5qZWN0ZWRT
Y3JpcHQoc291cmNlLCBzY3JpcHRTdGF0ZSwgaWQpKTsKIH0KIAorI2lmIEVOQUJMRShXRUJHTCkK
K1NjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OndyYXBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAgICBy
ZXR1cm4gaW5qZWN0V2ViR0xTY3JpcHQoaW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpLCBnbENv
bnRleHQpOworfQorCitTdHJpbmcgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlKCkKK3sKKyAgICByZXR1cm4gU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgY2hhcio+KEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMpLCBzaXplb2YoSW5qZWN0ZWRX
ZWJHTFNjcmlwdFNvdXJjZV9qcykpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKaW5kZXggYTliZGNhNTJmY2JjMjI3YWIy
OTFhYjc0YTZlYjg5MThmMDRiZDhlNC4uNjEzZmVmODEyMzhhNDA5MThhODYzMjg0OTBjYWMwMTU3
OTQzM2I0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dE1hbmFnZXIuaApAQCAtNywxMyArNywxMyBAQAogICogYXJlIG1ldDoKICAqCiAgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICogMy4g
IE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0
aGUgbmFtZXMgb2YKICAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqICAgICBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CiAgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKICAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKQEAgLTY0LDYgKzY0
LDkgQEAgcHVibGljOgogICAgIHZvaWQgZGlzY2FyZEluamVjdGVkU2NyaXB0c0ZvcihET01XaW5k
b3cqKTsKICAgICB2b2lkIHJlbGVhc2VPYmplY3RHcm91cChjb25zdCBTdHJpbmcmIG9iamVjdEdy
b3VwKTsKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBTY3JpcHRPYmplY3Qgd3JhcFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihTY3JpcHRPYmplY3QpOworI2VuZGlmCiAK
IHByaXZhdGU6CiAgICAgdHlwZWRlZiBib29sICgqSW5zcGVjdGVkU3RhdGVBY2Nlc3NDaGVjayko
U2NyaXB0U3RhdGUqKTsKQEAgLTczLDYgKzc2LDExIEBAIHByaXZhdGU6CiAgICAgU2NyaXB0T2Jq
ZWN0IGNyZWF0ZUluamVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTY3JpcHRTdGF0
ZSosIGludCBpZCk7CiAgICAgdm9pZCBkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUq
KTsKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBTdHJpbmcgaW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZSgpOworICAgIFNjcmlwdE9iamVjdCBpbmplY3RXZWJHTFNjcmlwdChjb25zdCBTdHJpbmcm
IHNvdXJjZSwgU2NyaXB0T2JqZWN0KTsKKyNlbmRpZgorCiAgICAgc3RhdGljIGJvb2wgY2FuQWNj
ZXNzSW5zcGVjdGVkV2luZG93KFNjcmlwdFN0YXRlKik7CiAgICAgc3RhdGljIGJvb2wgY2FuQWNj
ZXNzSW5zcGVjdGVkV29ya2VyQ29udGV4dChTY3JpcHRTdGF0ZSopOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjZhNTU1NGQzMTJhMGVmMGEzMTIyZjU4ZWM1MWVjMmRkYWQ3ZGIwMmIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZS5qcwpAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworKGZ1bmN0aW9uKGdsQ29udGV4dCkgeworCisvLyBGSVhN
RTogV3JhcCBXZWJHTCBjb250ZXh0IGZvciBpbnN0cnVtZW50YXRpb24uCityZXR1cm4gZ2xDb250
ZXh0OworCit9KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IGM5
OTExNjA4YzRlOGNkYmFhYjY5N2UwNTczZGUzZTc0ZGU0MGJiNTEuLjA0MmJlOGY2ZjNlMDJmM2Ri
YTM1MzdhODljNmM3Y2VmN2ViYWFiNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yLmpzb24KQEAgLTI4MTEsNSArMjgxMSwyMSBAQAogICAgICAgICAgICAgICAgICJuYW1lIjog
ImRpc2Nvbm5lY3RlZEZyb21Xb3JrZXIiCiAgICAgICAgICAgICB9CiAgICAgICAgIF0KKyAgICB9
LAorICAgIHsKKyAgICAgICAgImRvbWFpbiI6ICJXZWJHTCIsCisgICAgICAgICJoaWRkZW4iOiB0
cnVlLAorICAgICAgICAidHlwZXMiOiBbXSwKKyAgICAgICAgImNvbW1hbmRzIjogWworICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICJuYW1lIjogImVuYWJsZSIsCisgICAgICAgICAgICAg
ICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgV2ViR0wgaW5zcGVjdGlvbi4iCisgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1lIjogImRpc2FibGUiLAor
ICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNhYmxlcyBXZWJHTCBpbnNwZWN0aW9u
LiIKKyAgICAgICAgICAgIH0KKyAgICAgICAgXSwKKyAgICAgICAgImV2ZW50cyI6IFtdCiAgICAg
fV0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJ
bk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3Bw
CmluZGV4IGIxMjIzMDQzMjMzZjlkNDQ3YTVkM2FiNTUxMTA2Njk1OWVmYmU2MjEuLmJlOTJhMTNm
YzdiM2NkODU2MTM2MzhlNjE4ODc3YzgyZmIyYzM5YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcApAQCAtNjUsNiArNjUsNyBAQAogI2luY2x1
ZGUgIkluc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmNwcCIKKyNpbmNsdWRl
ICJJbnNwZWN0b3JXZWJHTEFnZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JXb3JrZXJBZ2Vu
dC5jcHAiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAiCiAjaW5jbHVkZSAiTmV0
d29ya1Jlc291cmNlc0RhdGEuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDQ2ZTBjMmI4YzU0ZjRiNDIwYzIzNjg0YzdiZTNh
NzUzYTQ1YmI3NjkuLmFjMTljN2RiOTUzZDI0NTgzOWNhZGZhMzI4NmVmNjhiNTI5NjJlZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAK
QEAgLTYxLDYgKzYxLDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yU3RhdGUuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvcldvcmtlckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgogI2lu
Y2x1ZGUgIlBhZ2VDb25zb2xlQWdlbnQuaCIKQEAgLTE0NCw2ICsxNDUsMTAgQEAgSW5zcGVjdG9y
Q29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGll
bnQqIGluc3BlY3RvckMKICAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yV29ya2VyQWdlbnQ6
OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKTsKICNl
bmRpZgogCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIG1fYWdlbnRzLmFwcGVuZChJbnNwZWN0b3JX
ZWJHTEFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdl
dCgpLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlci5nZXQoKSkpOworI2VuZGlmCisKICAgICBBU1NF
UlRfQVJHKGluc3BlY3RvckNsaWVudCwgaW5zcGVjdG9yQ2xpZW50KTsKICAgICBtX2luamVjdGVk
U2NyaXB0TWFuYWdlci0+aW5qZWN0ZWRTY3JpcHRIb3N0KCktPmluaXQobV9pbnNwZWN0b3JBZ2Vu
dAogICAgICAgICAsIGNvbnNvbGVBZ2VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IGNhOTUwYmFmNzBkMTc2ODU2YzNj
ZTY4NzMwZDI5ZDgxYmNkYzE4ZjIuLjRlYmE0YjNjMGE1MjNhZmRmZDM5YTEyY2YzMjliYTc2MDc5
NmU3OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgKQEAgLTY4LDYgKzY4LDcgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsK
IGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CitjbGFzcyBTY3JpcHRPYmplY3Q7CiBjbGFzcyBTY3JpcHRQ
cm9maWxlOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBTaGFkb3dSb290OwpAQCAtMjM2
LDYgKzIzNywxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVdlYlNvY2tl
dEZyYW1lRXJyb3IoRG9jdW1lbnQqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIHN0
YXRpYyBTY3JpcHRPYmplY3Qgd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRh
dGlvbihEb2N1bWVudCosIFNjcmlwdE9iamVjdCk7CisjZW5kaWYKKwogICAgIHN0YXRpYyB2b2lk
IG5ldHdvcmtTdGF0ZUNoYW5nZWQoUGFnZSopOwogICAgIHN0YXRpYyB2b2lkIHVwZGF0ZUFwcGxp
Y2F0aW9uQ2FjaGVTdGF0dXMoRnJhbWUqKTsKIApAQCAtOTc1LDcgKzk4MCw3IEBAIGlubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNoZWQoUGFnZSog
cGFnZSwgdW5zaWduZWQKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0Zv
clBhZ2UocGFnZSkpCi0gICAgICAgIG1hcmtSZXNvdXJjZUFzQ2FjaGVkSW1wbChpbnN0cnVtZW50
aW5nQWdlbnRzLCBpZGVudGlmaWVyKTsgCisgICAgICAgIG1hcmtSZXNvdXJjZUFzQ2FjaGVkSW1w
bChpbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyKTsKICNlbmRpZgogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNmFlYTBhYTM4N2NkYjc4NGM1Y2JkMjZhNGY5OGI2OGEyY2IzZTMwYwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcApA
QCAtMCwwICsxLDEwNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShJTlNQRUNU
T1IpICYmIEVOQUJMRShXRUJHTCkKKworI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIK
KworI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgorI2luY2x1ZGUgIkluc3BlY3Rv
ckZyb250ZW5kLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yU3RhdGUuaCIKKyNpbmNsdWRlICJJbnN0
cnVtZW50aW5nQWdlbnRzLmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCisjaW5jbHVkZSAi
U2NyaXB0U3RhdGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgV2ViR0xB
Z2VudFN0YXRlIHsKK3N0YXRpYyBjb25zdCBjaGFyIHdlYkdMQWdlbnRFbmFibGVkW10gPSAid2Vi
R0xBZ2VudEVuYWJsZWQiOworfTsKKworSW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5zcGVjdG9yV2Vi
R0xBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0
b3JTdGF0ZSogc3RhdGUsIEluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKQorICAgIDogSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvcldlYkdMQWdlbnQ+KCJXZWJH
TCIsIGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlKQorICAgICwgbV9pbmplY3RlZFNjcmlwdE1h
bmFnZXIoaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgICwgbV9mcm9udGVuZCgwKQorICAgICwg
bV9lbmFibGVkKGZhbHNlKQoreworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVj
dG9yV2ViR0xBZ2VudCh0aGlzKTsKK30KKworSW5zcGVjdG9yV2ViR0xBZ2VudDo6fkluc3BlY3Rv
cldlYkdMQWdlbnQoKQoreworICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9y
V2ViR0xBZ2VudCgwKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpzZXRGcm9udGVu
ZChJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpCit7CisgICAgQVNTRVJUKGZyb250ZW5kKTsK
KyAgICBtX2Zyb250ZW5kID0gZnJvbnRlbmQtPndlYmdsKCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9y
V2ViR0xBZ2VudDo6Y2xlYXJGcm9udGVuZCgpCit7CisgICAgbV9mcm9udGVuZCA9IDA7CisgICAg
ZGlzYWJsZSgwKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpyZXN0b3JlKCkKK3sK
KyAgICBtX2VuYWJsZWQgPSBtX3N0YXRlLT5nZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2Vi
R0xBZ2VudEVuYWJsZWQpOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZShF
cnJvclN0cmluZyopCit7CisgICAgaWYgKG1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworICAg
IG1fZW5hYmxlZCA9IHRydWU7CisgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihXZWJHTEFnZW50U3Rh
dGU6OndlYkdMQWdlbnRFbmFibGVkLCBtX2VuYWJsZWQpOworfQorCit2b2lkIEluc3BlY3Rvcldl
YkdMQWdlbnQ6OmRpc2FibGUoRXJyb3JTdHJpbmcqKQoreworICAgIGlmICghbV9lbmFibGVkKQor
ICAgICAgICByZXR1cm47CisgICAgbV9lbmFibGVkID0gZmFsc2U7CisgICAgbV9zdGF0ZS0+c2V0
Qm9vbGVhbihXZWJHTEFnZW50U3RhdGU6OndlYkdMQWdlbnRFbmFibGVkLCBtX2VuYWJsZWQpOwor
fQorCitTY3JpcHRPYmplY3QgSW5zcGVjdG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5n
Q29udGV4dEZvckluc3RydW1lbnRhdGlvbihTY3JpcHRPYmplY3QgZ2xDb250ZXh0KQoreworICAg
IHJldHVybiBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4
dEZvckluc3RydW1lbnRhdGlvbihnbENvbnRleHQpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wMGQwOGNhMmNkN2UwMDIyZDk2MDkzZjIwZDZmY2I0Y2FkZjgzN2Q2Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaApAQCAt
MCwwICsxLDg4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBJbnNwZWN0b3JXZWJHTEFnZW50X2gKKyNkZWZpbmUgSW5zcGVj
dG9yV2ViR0xBZ2VudF9oCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wp
CisKKyNpbmNsdWRlICJJbnNwZWN0b3JCYXNlQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JG
cm9udGVuZC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSAiU2NyaXB0
U3RhdGUuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOworY2xhc3MgSW5zcGVjdG9yU3RhdGU7CitjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRz
OworY2xhc3MgU2NyaXB0T2JqZWN0OworCit0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKKwor
Y2xhc3MgSW5zcGVjdG9yV2ViR0xBZ2VudCA6IHB1YmxpYyBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5z
cGVjdG9yV2ViR0xBZ2VudD4sIHB1YmxpYyBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6V2Vi
R0xDb21tYW5kSGFuZGxlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVj
dG9yV2ViR0xBZ2VudD4gY3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdB
Z2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmpl
Y3RlZFNjcmlwdE1hbmFnZXIpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IElu
c3BlY3RvcldlYkdMQWdlbnQoaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUsIGluamVjdGVkU2Ny
aXB0TWFuYWdlcikpOworICAgIH0KKyAgICB+SW5zcGVjdG9yV2ViR0xBZ2VudCgpOworCisgICAg
dmlydHVhbCB2b2lkIHNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKik7CisgICAgdmlydHVh
bCB2b2lkIGNsZWFyRnJvbnRlbmQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzdG9yZSgpOworCisg
ICAgYm9vbCBlbmFibGVkKCkgeyByZXR1cm4gbV9lbmFibGVkOyB9CisKKyAgICBTY3JpcHRPYmpl
Y3Qgd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihTY3JpcHRPYmpl
Y3QpOworCisgICAgLy8gQ2FsbGVkIGZyb20gdGhlIGZyb250LWVuZC4KKyAgICB2aXJ0dWFsIHZv
aWQgZW5hYmxlKEVycm9yU3RyaW5nKik7CisgICAgdmlydHVhbCB2b2lkIGRpc2FibGUoRXJyb3JT
dHJpbmcqKTsKKworICAgIC8vIENhbGxlZCBmcm9tIHRoZSBpbmplY3RlZCBzY3JpcHQuCisKKyAg
ICAvLyBDYWxsZWQgZnJvbSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24KKworcHJpdmF0ZToKKyAg
ICBJbnNwZWN0b3JXZWJHTEFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JTdGF0
ZSosIEluamVjdGVkU2NyaXB0TWFuYWdlciopOworCisgICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
KiBtX2luamVjdGVkU2NyaXB0TWFuYWdlcjsKKyAgICBJbnNwZWN0b3JGcm9udGVuZDo6V2ViR0wq
IG1fZnJvbnRlbmQ7CisgICAgYm9vbCBtX2VuYWJsZWQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisK
KyNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JXZWJHTEFnZW50X2gpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjMzMjk3Y2I1Y2JiZjhlMTllMGQyOGNhMTE5NjY5NjQ0ZjNlMDU1ZTUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJ
bnN0cnVtZW50YXRpb24uaApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJbnNwZWN0b3JXZWJHTElu
c3RydW1lbnRhdGlvbl9oCisjZGVmaW5lIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gK
KworI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgIkluc3Bl
Y3RvcldlYkdMQWdlbnQuaCIKKyNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisjaW5j
bHVkZSAiU2NyaXB0T2JqZWN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworI2lmIEVOQUJM
RShXRUJHTCkKK1NjcmlwdE9iamVjdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJH
TFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oRG9jdW1lbnQqIGRvY3VtZW50LCBT
Y3JpcHRPYmplY3QgZ2xDb250ZXh0KQoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgaWYg
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKSB7CisgICAgICAgIEluc3BlY3RvcldlYkdMQWdl
bnQqIHdlYkdMQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JXZWJHTEFnZW50
KCk7CisgICAgICAgIGlmICh3ZWJHTEFnZW50ICYmIHdlYkdMQWdlbnQtPmVuYWJsZWQoKSkKKyAg
ICAgICAgICAgIHJldHVybiB3ZWJHTEFnZW50LT53cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9y
SW5zdHJ1bWVudGF0aW9uKGdsQ29udGV4dCk7CisgICAgfQorI2VuZGlmCisgICAgcmV0dXJuIFNj
cmlwdE9iamVjdCgpOworfQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50
YXRpb25faCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50
aW5nQWdlbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50
cy5oCmluZGV4IDE5NGViODY1ZWM3NWE2NmZlZmI0YjcyNDZmMDA4YTgzOGE4OGFhYmMuLjEzMzRk
YzdkNmRiN2VkYjM5MDg2Yjk2ZTNjNzg2NGNhMTc4ZjM0MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFz
cyBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yUnVudGltZUFnZW50Owog
Y2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDsKIGNsYXNzIEluc3BlY3RvcldvcmtlckFnZW50
OworY2xhc3MgSW5zcGVjdG9yV2ViR0xBZ2VudDsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBQYWdlUnVu
dGltZUFnZW50OwogY2xhc3MgV29ya2VyQ29udGV4dDsKQEAgLTg2LDYgKzg3LDkgQEAgcHVibGlj
OgogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgICAgICAsIG1faW5zcGVjdG9yV29ya2VyQWdlbnQo
MCkKICNlbmRpZgorI2lmIEVOQUJMRShXRUJHTCkKKyAgICAgICAgLCBtX2luc3BlY3RvcldlYkdM
QWdlbnQoMCkKKyNlbmRpZgogICAgIHsgfQogICAgIH5JbnN0cnVtZW50aW5nQWdlbnRzKCkgeyB9
CiAKQEAgLTE0MiwxMSArMTQ2LDE3IEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JQcm9maWxlckFn
ZW50KiBpbnNwZWN0b3JQcm9maWxlckFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JQ
cm9maWxlckFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JQcm9maWxlckFnZW50KEluc3Bl
Y3RvclByb2ZpbGVyQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yUHJvZmlsZXJBZ2VudCA9IGFn
ZW50OyB9CiAjZW5kaWYKKwogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgIEluc3BlY3Rvcldvcmtl
ckFnZW50KiBpbnNwZWN0b3JXb3JrZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9y
V29ya2VyQWdlbnQ7IH0KICAgICB2b2lkIHNldEluc3BlY3RvcldvcmtlckFnZW50KEluc3BlY3Rv
cldvcmtlckFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvcldvcmtlckFnZW50ID0gYWdlbnQ7IH0K
ICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIEluc3BlY3RvcldlYkdMQWdlbnQqIGlu
c3BlY3RvcldlYkdMQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvcldlYkdMQWdlbnQ7
IH0KKyAgICB2b2lkIHNldEluc3BlY3RvcldlYkdMQWdlbnQoSW5zcGVjdG9yV2ViR0xBZ2VudCog
YWdlbnQpIHsgbV9pbnNwZWN0b3JXZWJHTEFnZW50ID0gYWdlbnQ7IH0KKyNlbmRpZgorCiBwcml2
YXRlOgogICAgIEluc3BlY3RvckFnZW50KiBtX2luc3BlY3RvckFnZW50OwogICAgIEluc3BlY3Rv
clBhZ2VBZ2VudCogbV9pbnNwZWN0b3JQYWdlQWdlbnQ7CkBAIC0xNzMsNiArMTgzLDkgQEAgcHJp
dmF0ZToKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICBJbnNwZWN0b3JXb3JrZXJBZ2VudCogbV9p
bnNwZWN0b3JXb3JrZXJBZ2VudDsKICNlbmRpZgorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBJbnNw
ZWN0b3JXZWJHTEFnZW50KiBtX2luc3BlY3RvcldlYkdMQWdlbnQ7CisjZW5kaWYKIH07CiAKIElu
c3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRhdGlvbkZvclBhZ2UoUGFnZSopOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145734</attachid>
            <date>2012-06-05 02:12:05 -0700</date>
            <delta_ts>2012-06-06 01:48:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120605131203.patch</filename>
            <type>text/plain</type>
            <size>56901</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVjOGRlMmRmODgwNjYy
NDUxOWQ3ZjFhMmM0YTJmMzUwMjZiYWRhOC4uMjlkYjdlNDRkNGE4NDM4NjM1ZDU2YjY3NzI2YWE5
MmRlYTRhZTc3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA2LTAzICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNv
cmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1M
Q2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0
V2ViR0xTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpk
aXNjYXJkSW5qZWN0ZWRTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0NvZGVHZW5l
cmF0b3JJbnNwZWN0b3IucHk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVk
U2NyaXB0TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaDoKKyAgICAgICAgKEluamVjdGVkU2NyaXB0TWFuYWdlcik6CisgICAgICAgICogaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNo
ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkdMQWdlbnRTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0
aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJH
TFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAg
ICAoSW5zdHJ1bWVudGluZ0FnZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5n
QWdlbnRzOjppbnNwZWN0b3JXZWJHTEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6OnNldEluc3BlY3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERh
dGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpIHNob3VsZCBzeW5jaHJvbm91c2x5IHJl
dHVybiBlbnRyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjZWIxZGI0MDZjYjBhZTQ2OTcxNzlj
NmViZWI2NTRmZDRiZGEyMzBhLi5kYzNkNzAzYzc3YjgxNGZjMjJhN2UxZThiNjJjNzViNjA3ZjNk
NDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTYyLDYgKzk2Miw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5j
cHAKQEAgLTE2OTMsNyArMTY5NCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAg
ICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAg
TW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAor
CiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3
b3JraW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVs
ZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjYwNCw2ICsyNjA1
LDE3IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAk
e0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAog
CisjIEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJH
TCkKKyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09V
UkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1B
SU5fREVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAg
ICAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3Iv
eHhkLnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09S
RV9ESVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAg
ICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNI
X1RPT0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNw
cCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAyZmM5ZjE4NjUyMjQzNGYz
ZDJmYWUxMjMzY2U3N2U3YTk1YTE0MC4uMGVkZjIyMTQ1ZTI3YmMyZjg3YjJmMTYzNDJiMWRkOWRm
MjBjYWUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAog
IyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFj
ayA8Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFy
ZSBtZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAor
IyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03
ODAsMTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQo
UFJPSkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZp
bmRzdHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAg
IFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQo
V2ViQ29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChV
U0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAog
aWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5B
QkxFX01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtl
X25hbWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdz
L3NjcmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0t
LS0tLS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAog
RXZlbnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9t
YWtlX2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBA
QCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5o
IEV4Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9z
Y3JpcHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0t
LS0tLS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVu
dCBmYWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBk
b20vbWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpA
QCAtOTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3Rl
ZFNjcmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29y
ZSkvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAK
K2FsbCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUp
L2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUp
L2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEg
KCQoZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19X
WCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBlNWY0ODQ0Njk1Mjg2MjM2MmQ3Yjlk
YjMyMjNhODIxMzQ2NmQzOWJiLi5lMzQ5OGY0ODQ0Y2YwMDYzM2IwNzdhODBjYmJlYjBiMmQ1OGI1
MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BF
Q1RPUl9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5z
cGVjdG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NP
VVJDRSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERF
QlVHR0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5q
cwogCiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDEx
ICs3NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VO
RVJBVE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGlu
amVjdGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVj
dGVkU2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0
ZWRTY3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
ICR7UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwg
JCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJ
TEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0
X3RvX3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQog
Ci0jIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBp
bGVyCisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291
cmNlIGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElO
SkVDVEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29t
bWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9
IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3Ig
ZGVidWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0
cHV0ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQg
PSBERUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9
IHBlcmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FN
QUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDgz
NjhjNmQ0NDcyM2RjOWJiZGZkYmE1MGFkMTczOGY1MTBjNTU2NGIuLmYwYzUyYWI3Y2FlYjUzMjkx
NGQ5NzI2NDE5ODE0ZTlmZTE3ZjQ5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjEsNiAr
ODIxLDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
anM6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0
ZWRTY3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuanMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIElu
amVjdGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJD
b3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4p
JChQRVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpz
ICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYg
RU5BQkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBA
IC0xMDcwLDYgKzEwNzIsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3Uv
TElDRU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0
b3IucHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5q
cyBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
anMgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDVhYzVkZTM2MjQxZDFiODJmYzE4NTVmNzFhZTRhNmM2
NWZkM2UzNDEuLjUyNmY1ZDk5ZDI5ZGJlYTM3MTM4NDA5YTFiNjNiOTJjM2M4YmUyMGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMiw2ICsyNzIzLDkgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYmMwMTE3Yjc1MDYzMTg5
Y2RkMjkxNzQ2NTFiYzZmZDkzZTk5YmFiNC4uMGU3MTk4ZDI1Y2FhMDk4NzFkNjIzN2JlN2RiNWRh
ODEzNTgwMjVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0Rh
dGEuY3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRl
eHRFZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3Bl
Y3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBp
bnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4
IGI3NmQzYmM1YjY1OTNkN2RmOGEwNWY1N2QxMTY1YWFiZDg1NTM0M2IuLjEwZGQ5OGYwMGVjOTk5
NjVlYjczY2QzYTEyMjRiNjYxZDE2N2RhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzcs
NyArMTc3LDcgQEAgX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjE2bG9hZEZyYW1lUmVxdWVzdEVS
S05TXzE2RnJhbWVMb2FkUmVxdWVzdEViYk4zV1RGMTBQYXMKIF9fWk43V2ViQ29yZTExRnJhbWVM
b2FkZXIxN3N0b3BGb3JVc2VyQ2FuY2VsRWIKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMWxv
YWRVUkxJbnRvQ2hpbGRGcmFtZUVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRVBOU181RnJhbWVF
CiBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMjJmaW5kRnJhbWVGb3JOYXZpZ2F0aW9uRVJLTjNX
VEYxMkF0b21pY1N0cmluZ0VQTlNfOERvY3VtZW50RQotX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRl
cjIzdGltZU9mTGFzdENvbXBsZXRlZExvYWRFdiAgICAKK19fWk43V2ViQ29yZTExRnJhbWVMb2Fk
ZXIyM3RpbWVPZkxhc3RDb21wbGV0ZWRMb2FkRXYKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIy
NnJlbG9hZFdpdGhPdmVycmlkZUVuY29kaW5nRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3Jl
MTFGcmFtZUxvYWRlcjMyc2V0T3JpZ2luYWxVUkxGb3JEb3dubG9hZFJlcXVlc3RFUk5TXzE1UmVz
b3VyY2VSZXF1ZXN0RQogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRpbml0RXYKQEAgLTE2ODQs
NyArMTY4NCw3IEBAIF93a0dldEFYVGV4dE1hcmtlclR5cGVJRAogX3drR2V0QVhUZXh0TWFya2Vy
UmFuZ2VUeXBlSUQKIF93a0NyZWF0ZUFYVGV4dE1hcmtlclJhbmdlCiBfd2tDb3B5QVhUZXh0TWFy
a2VyUmFuZ2VTdGFydAotX3drQ29weUFYVGV4dE1hcmtlclJhbmdlRW5kIAorX3drQ29weUFYVGV4
dE1hcmtlclJhbmdlRW5kCiBfd2tDcmVhdGVBWFRleHRNYXJrZXIKIF93a0dldEJ5dGVzRnJvbUFY
VGV4dE1hcmtlcgogX3drQ3JlYXRlQVhVSUVsZW1lbnRSZWYKQEAgLTE3NzYsNyArMTc3Niw3IEBA
IF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMTRyZW1vdmVBbGxJY29uc0V2CiBfX1pON1dlYkNv
cmUxMkljb25EYXRhYmFzZTE1aWNvblJlY29yZENvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRh
dGFiYXNlMTlwYWdlVVJMTWFwcGluZ0NvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNl
MjBhbGxvd0RhdGFiYXNlQ2xlYW51cEV2Ci1fX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIwZGVs
YXlEYXRhYmFzZUNsZWFudXBFdiAgIAorX19aTjdXZWJDb3JlMTJJY29uRGF0YWJhc2UyMGRlbGF5
RGF0YWJhc2VDbGVhbnVwRXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjByZXRhaW5JY29u
Rm9yUGFnZVVSTEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjBy
ZXRhaW5lZFBhZ2VVUkxDb3VudEV2CiBfX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIxcmVsZWFz
ZUljb25Gb3JQYWdlVVJMRVJLTjNXVEY2U3RyaW5nRQpAQCAtMjIxMywzICsyMjEzLDggQEAgX19a
Tks3V2ViQ29yZTROb2RlMzFudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuRXYKICNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKIF9fWk43V2ViQ29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczE4
aXNTaGFkb3dET01FbmFibGVkRQogI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCR0wpCitfX1pON1dl
YkNvcmUxOUluc3BlY3RvcldlYkdMQWdlbnRDMUVQTlNfMTlJbnN0cnVtZW50aW5nQWdlbnRzRVBO
U18xNEluc3BlY3RvclN0YXRlRVBOU18yMUluamVjdGVkU2NyaXB0TWFuYWdlckUKK19fWk43V2Vi
Q29yZTE5SW5zcGVjdG9yV2ViR0xBZ2VudDQzd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvcklu
c3RydW1lbnRhdGlvbkVOU18xMlNjcmlwdE9iamVjdEUKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA3ZDhkN2JlYTg1MjRiNWUwY2QzY2I2YzczM2MwNDkz
MWJmYWFhNTQ5Li5hMjU2MjQ4ZmI3N2YzODI0YzYxYWRkYjQ3MDk4YmQ0YTRmNGZmM2VjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtNDM0LDYgKzQzNCwyOSBAQAog
ICAgICAgXQogICAgIH0sCiAgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ2luamVjdGVkX3dl
YmdsX3NjcmlwdF9zb3VyY2UnLAorICAgICAgJ3R5cGUnOiAnbm9uZScsCisgICAgICAnYWN0aW9u
cyc6IFsKKyAgICAgICAgeworICAgICAgICAgICdhY3Rpb25fbmFtZSc6ICdnZW5lcmF0ZUluamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UnLAorICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAgICAg
ICAnLi4vaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMnLAorICAgICAgICAg
IF0sCisgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJN
RURJQVRFX0RJUikvd2Via2l0L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCcsCisgICAgICAg
ICAgXSwKKyAgICAgICAgICAnYWN0aW9uJzogWworICAgICAgICAgICAgJ3BlcmwnLAorICAgICAg
ICAgICAgJy4uL2luc3BlY3Rvci94eGQucGwnLAorICAgICAgICAgICAgJ0luamVjdGVkV2ViR0xT
Y3JpcHRTb3VyY2VfanMnLAorICAgICAgICAgICAgJzxAKF9pbnB1dHMpJywKKyAgICAgICAgICAg
ICc8QChfb3V0cHV0cyknCisgICAgICAgICAgXSwKKyAgICAgICAgICAnbWVzc2FnZSc6ICdHZW5l
cmF0aW5nIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBmcm9tIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuanMnLAorICAgICAgICB9LAorICAgICAgXQorICAgIH0sCisgICAgewogICAgICAg
J3RhcmdldF9uYW1lJzogJ2RlYnVnZ2VyX3NjcmlwdF9zb3VyY2UnLAogICAgICAgJ3R5cGUnOiAn
bm9uZScsCiAgICAgICAnYWN0aW9ucyc6IFsKQEAgLTEwNzQsNiArMTA5Nyw3IEBACiAgICAgICAg
ICd3ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnLAogICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29s
X3NvdXJjZXMnLAogICAgICAgICAnaW5qZWN0ZWRfc2NyaXB0X3NvdXJjZScsCisgICAgICAgICdp
bmplY3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2RlYnVnZ2VyX3NjcmlwdF9z
b3VyY2UnLAogICAgICAgICAnLi4vLi4vSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lw
L0phdmFTY3JpcHRDb3JlLmd5cDp5YXJyJywKICAgICAgICAgJy4uLy4uL1dURi9XVEYuZ3lwL1dU
Ri5neXA6d3RmJywKQEAgLTExOTcsNiArMTIyMSw3IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzog
WwogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAgICdpbmplY3RlZF9z
Y3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dlYmdsX3NjcmlwdF9zb3VyY2UnLAog
ICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMnLAogICAgICAgICAnd2ViY29yZV9i
aW5kaW5nc19zb3VyY2VzJywKICAgICAgICAgJy4uLy4uL1RoaXJkUGFydHkvZ2x1L2dsdS5neXA6
bGlidGVzcycsCkBAIC0xNDcyLDkgKzE0OTcsOSBAQAogICAgICAgJ2RlcGVuZGVuY2llcyc6IFsK
ICAgICAgICAgJ3dlYmNvcmVfcHJlcmVxdWlzaXRlcycsCiAgICAgICBdLAotICAgICAgJ2RlZmlu
ZXMnOiBbIAotICAgICAgICAnV0VCS0lUX0lNUExFTUVOVEFUSU9OPTEnLCAKLSAgICAgIF0sIAor
ICAgICAgJ2RlZmluZXMnOiBbCisgICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsCisg
ICAgICBdLAogICAgICAgIyBUaGlzIGlzIG5lZWRlZCBmb3IgbWFjIGJlY2F1c2Ugb2Ygd2Via2l0
X3N5c3RlbV9pbnRlcmZhY2UuIEl0J2QgYmUgbmljZQogICAgICAgIyBpZiB0aGlzIGhhcmQgZGVw
ZW5kZW5jeSBjb3VsZCBiZSBzcGxpdCBvZmYgdGhlIHJlc3QuCiAgICAgICAnaGFyZF9kZXBlbmRl
bmN5JzogMSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAwMTMxY2Q0NGZmZDJiMmZjNmQwZWYxN2VhYWRl
YzQzNjlkNGQxMTY5Li5jODkxYzQ5NmU1ZGU3YTM4NGU3MDUyZWVmYTM3NzhlNzg1MmY4OTlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0yODE5LDYgKzI4MTksOSBAQAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9J
bnNwZWN0b3JWYWx1ZXMuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29y
a2VyUmVzb3VyY2UuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdl
bnQuY3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oJywK
KyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCcs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCcsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcCcsCkBAIC02NjQxLDcgKzY2NDQsNyBA
QAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNtYWxsR3Jh
eS5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNt
YWxsV2hpdGUucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9z
ZWFyY2hOZXh0LnBuZycsCi0gICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMv
c2VhcmNoUHJldi5wbmcnLCAgICAgICAgICAgIAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzL3NlYXJjaFByZXYucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJv
bnQtZW5kL0ltYWdlcy9zZWdtZW50LnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250
LWVuZC9JbWFnZXMvc2VnbWVudEVuZC5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzL3NlZ21lbnRIb3Zlci5wbmcnLApAQCAtNzIzOSw2ICs3MjQyLDcgQEAKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1l
cy5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSGVhZGVyRGV0ZWN0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCcsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVyLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUub3JkZXIgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCmluZGV4IDI4
YjdiN2ExOGIwNjg2NjBiYjlkNzhmZmE0OTQxN2EwNmYxMDA2NDMuLjJmYTMwYmEyOGMxMjg0OTY4
MWJmZjk4YmY2NzVhMDFkNmJiOTEwOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUub3JkZXIKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgpAQCAtMzE5MjQsMyAr
MzE5MjQsNSBAQCBfX1pON1dlYkNvcmU1VGltZXJJTlNfMTJSZW5kZXJCdXR0b25FRUQwRXYKIF9f
Wk43V2ViQ29yZTIxanNEb2N1bWVudE9ubW91c2Vtb3ZlRVBOM0pTQzlFeGVjU3RhdGVFTlMwXzdK
U1ZhbHVlRVJLTlMwXzEwSWRlbnRpZmllckUKIF9fWk43V2ViQ29yZTE0U3RvcmFnZVRyYWNrZXI4
aXNBY3RpdmVFdgogX19aTjdXZWJDb3JlMTRTdG9yYWdlVHJhY2tlcjEyZGVsZXRlT3JpZ2luRVJL
TjNXVEY2U3RyaW5nRQorX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JXZWJHTEFnZW50QzFFUE5TXzE5
SW5zdHJ1bWVudGluZ0FnZW50c0VQTlNfMTRJbnNwZWN0b3JTdGF0ZUVQTlNfMjFJbmplY3RlZFNj
cmlwdE1hbmFnZXJFCitfX1pON1dlYkNvcmUxOUluc3BlY3RvcldlYkdMQWdlbnQ0M3dyYXBXZWJH
TFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb25FTlNfMTJTY3JpcHRPYmplY3RFCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDhkZjcx
ZWUzYmViZjEyMWYyOGQ0MDA2ZmJjOGEzZDlmNzJiNTg1MmIuLjRmZGE3YWQxOGNmODI2ODcxN2E2
MmVhZTVlNjMxYjc2ZGU4OTYxMzMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCkBAIC01OTQsNiArNTk0LDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgog
CQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5o
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEluc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaGVyLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC03Mzk5NSw2
ICs3Mzk5OSwzNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAiCisJCQkJPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxl
PgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JXZWJH
TEFnZW50LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcSW5zcGVj
dG9yV29ya2VyQWdlbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBm
MGNjYTcyNTliODdkOTFmODQwZjdkNTEwOWE1MWQxZGZjMWFjMTdkLi4zYzNkMGY1OWQ3YjI4NTNk
ZjlkMTM5Y2I0MmUzZjc0YWQyOWY4ZjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04NDA3LDYgKzg0MDcsMTEgQEAKIAkJNDlF
RUQxNEMxMDUxOTcxQTAwMDk5RkFCIC8qIEpTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViR0xSZW5kZXJpbmdD
b250ZXh0Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlFRUQxNEQx
MDUxOTcxQTAwMDk5RkFCIC8qIEpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUZDN0E0RjE0NDRB
RjVGMDBBNUQ4NjQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5RkM4OEI1MTU3Q0IwQjkwMDZBQTI4NyAvKiBJbmplY3Rl
ZFdlYkdMU2NyaXB0U291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDlGQzg4QjUxNTdDQjBCOTAwNkFBMjg3IC8qIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBJbmplY3RlZFdlYkdMU2Ny
aXB0U291cmNlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUZDODhCNTE1N0NC
MEI5MDA2QUEyODcgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JXZWJHTEFnZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDlGQzg4QjYxNTdDQjBCOTAwNkFBMjg3IC8qIEluc3BlY3Rvcldl
YkdMQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yV2Vi
R0xBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUZDODhCNzE1N0NCMEI5
MDA2QUEyODcgLyogSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlGRkJGMUMxMUM4NTUwRTAwNkE3MTE4IC8qIEdy
YXBoaWNzQ29udGV4dDNETWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gR3JhcGhpY3NDb250ZXh0M0RNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ5RkZCRjNEMTFDOTNFRTMwMDZBNzExOCAvKiBXZWJHTExheWVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdMTGF5ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDlGRkJGM0UxMUM5M0VFMzAwNkE3MTE4IC8qIFdlYkdMTGF5ZXIubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJHTExheWVyLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQzMTYsNiArMTQzMjEsNyBAQAogCQkJaXNhID0gUEJY
R3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQk3QTU2M0U1NDEyREUzMkIwMDBGNDUzNkQgLyog
SW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCAqLywKKwkJCQk0OUZDODhCNTE1N0NCMEI5MDA2QUEyODcg
LyogSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oICovLAogCQkJCTRGNzA3QTk3MTFFRjY3OTQw
MEFDREE2OSAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgKi8sCiAJCQkJNEY3MDdB
OTgxMUVGNjc5NDAwQUNEQTY5IC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmggKi8sCiAJ
CQkJNEY0RjVGRkExMUNCRDJEMjAwQTE4NkJGIC8qIEluc3BlY3RvckZyb250ZW5kLmNwcCAqLywK
QEAgLTE0MzYxLDYgKzE0MzY3LDcgQEAKIAkJCQlGMzE2Mzk2OTEzMjk0ODFBMDBBNjQ5Q0IgLyog
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCAqLywKIAkJCQlGMzE2Mzk2QTEzMjk0ODFBMDBBNjQ5
Q0IgLyogSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggKi8sCiAJCQkJN0E1NjNGOTUxMkRGNUM5MTAw
RjQ1MzZEIC8qIEluamVjdGVkU2NyaXB0U291cmNlLmpzICovLAorCQkJCTQ5RkM4OEI1MTU3Q0Iw
QjkwMDZBQTI4NyAvKiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzICovLAogCQkJCTFDNDM1
Q0Q0MTRFODU0NUIwMDRFMTBFQSAvKiBJbnNwZWN0b3ItMC4xLmpzb24gKi8sCiAJCQkJMUM0MzVD
RDUxNEU4NTQ1QjAwNEUxMEVBIC8qIEluc3BlY3Rvci0xLjAuanNvbiAqLywKIAkJCQkxQzQzNUNE
MzE0RTg1NDRGMDA0RTEwRUEgLyogSW5zcGVjdG9yLmpzb24gKi8sCkBAIC0xNDQzMiw2ICsxNDQz
OSw5IEBACiAJCQkJNzU0MTMzQTcxMDJFMDBFODAwMDc1RDAwIC8qIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQuaCAqLywKIAkJCQk0RjMyODlCMzExQTQyQUFCMDA1QUJFN0UgLyogSW5zcGVjdG9yVmFs
dWVzLmNwcCAqLywKIAkJCQk0RjMyODlCNDExQTQyQUFCMDA1QUJFN0UgLyogSW5zcGVjdG9yVmFs
dWVzLmggKi8sCisJCQkJNDlGQzg4QjUxNTdDQjBCOTAwNkFBMjg3IC8qIEluc3BlY3RvcldlYkdM
QWdlbnQuY3BwICovLAorCQkJCTQ5RkM4OEI2MTU3Q0IwQjkwMDZBQTI4NyAvKiBJbnNwZWN0b3JX
ZWJHTEFnZW50LmggKi8sCisJCQkJNDlGQzg4QjcxNTdDQjBCOTAwNkFBMjg3IC8qIEluc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmggKi8sCiAJCQkJRjM4MTBDMTkxMzY1QTQ5NjAwRUQ2RTMz
IC8qIEluc3BlY3RvcldvcmtlckFnZW50LmNwcCAqLywKIAkJCQlGMzgxMEMxQTEzNjVBNDk2MDBF
RDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuaCAqLywKIAkJCQlGMzc1Q0MwNjExNTBEMzAw
MDA4RERCODEgLyogSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaCAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAK
aW5kZXggZDVmYzNjZTk2MzYzZGM1MTI2ODRmMmY0MDcxYTQyNDg1ZWFjMDYxOC4uYTcyYWYxMDYy
OTQ1N2JlZjNmZTk4NTRjMGM0YmIzNGQwNjk4MTM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKQEAgLTIx
LDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpA
QCAtMzEsNyArMzEsOSBAQAogI2luY2x1ZGUgIkhUTUxDYW52YXNFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5j
bHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJKU1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgogI2luY2x1ZGUg
IldlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaCIKICNlbmRpZgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIu
aD4KQEAgLTc1LDcgKzc3LDE2IEBAIEpTVmFsdWUgSlNIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29u
dGV4dChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCogY29udGV4
dCA9IGNhbnZhcy0+Z2V0Q29udGV4dCh1c3RyaW5nVG9TdHJpbmcoY29udGV4dElkKSwgYXR0cnMu
Z2V0KCkpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAg
IHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihjb250ZXh0KSk7
CisgICAgSlNWYWx1ZSBqc1ZhbHVlID0gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QoKSwgV1RGOjpn
ZXRQdHIoY29udGV4dCkpOworI2lmIEVOQUJMRShXRUJHTCkKKyAgICBpZiAoY29udGV4dC0+aXMz
ZCgpICYmIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpIHsKKyAgICAg
ICAgU2NyaXB0T2JqZWN0IGdsQ29udGV4dChleGVjLCBqc1ZhbHVlLmdldE9iamVjdCgpKTsKKyAg
ICAgICAgU2NyaXB0T2JqZWN0IHdyYXBwZWQgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Ondy
YXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oY2FudmFzLT5kb2N1bWVu
dCgpLCBnbENvbnRleHQpOworICAgICAgICBpZiAoIXdyYXBwZWQuaGFzTm9WYWx1ZSgpKQorICAg
ICAgICAgICAgcmV0dXJuIHdyYXBwZWQuanNWYWx1ZSgpOworICAgIH0KKyNlbmRpZgorICAgIHJl
dHVybiBqc1ZhbHVlOwogfQogCiBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVS
TChFeGVjU3RhdGUqIGV4ZWMpCkBAIC05Myw3ICsxMDQsNyBAQCBKU1ZhbHVlIEpTSFRNTENhbnZh
c0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgICAgICBxdWFsaXR5
UHRyID0gJnF1YWxpdHk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBKU1ZhbHVlIHJl
c3VsdCA9IGpzU3RyaW5nKGV4ZWMsIGNhbnZhcy0+dG9EYXRhVVJMKHR5cGUsIHF1YWxpdHlQdHIs
IGVjKSk7CiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKICAgICByZXR1cm4gcmVzdWx0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlw
dE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlw
dE1hbmFnZXIuY3BwCmluZGV4IDE1NzZkMzQ2ZDA2ZGNhNTBjODRmODNlNWZiOTZkZDYxYWY1OWQ2
NzAuLjgwYjRlNzg5MDY0ZDc0OWUxYmFkN2Y0YjA3MWQ2NWYxYzA4NGViZTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5j
cHAKQEAgLTc4LDYgKzc4LDE0IEBAIFNjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6
OmNyZWF0ZUluamVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTCiAgICAgcmV0dXJu
IFNjcmlwdE9iamVjdCgpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IElu
amVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5nJiwgU2Ny
aXB0T2JqZWN0KQoreworICAgIC8vIEZJWE1FKDg3OTc1KTogSW1wbGVtZW50IHRoaXMhCisgICAg
cmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQorI2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKQog
ewogICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBqc0Nhc3Q8SlNET01HbG9i
YWxPYmplY3QqPihzY3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAppbmRleCBjMTlmYjk4OTJiZGM4YTk3
NjRkZjdlM2FiYmY3OTliMTVkYmI2ODE0Li5lMjFjNmNhY2U3NTE3ZDk0MDRjOWI5YmM0YzAzZWQz
ODcxYzMyNDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRT
dGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3Bw
CkBAIC05MCw3ICs5MCw3IEBAIFNjcmlwdFN0YXRlKiBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCh2
ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQpCiAKICAgICB2ODo6TG9jYWw8djg6Ok9iamVj
dD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmplY3Qu
IFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3ZSBu
ZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhhdCBv
ZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1l
IGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgogICAgIGdsb2Jh
bCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgpKTsK
IAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6
OnNjcmlwdFN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggMjBkYjUz
ZDY0ZWMxMDE5YmYxMGQzYzQyYzc4ZWY3MDAyOWYyOWQ3OC4uZTE5ODk2ZmVlMDIwMWIxYjU0YjM1
NWQ5ZDBjYjIxODNmZDI3ODllNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcApAQCAt
NDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlY4Tm9kZS5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIK
ICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRp
b24uaCIKICNpbmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlmCiAjaW5j
bHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTg4LDggKzg5LDE3IEBAIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBWOEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0Q2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50CiAgICAgaWYgKHJlc3VsdC0+aXMyZCgpKQogICAgICAgICByZXR1cm4gdG9WOChz
dGF0aWNfY2FzdDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQqPihyZXN1bHQpLCBhcmdzLkdldElz
b2xhdGUoKSk7CiAjaWYgRU5BQkxFKFdFQkdMKQotICAgIGVsc2UgaWYgKHJlc3VsdC0+aXMzZCgp
KQotICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQq
PihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgZWxzZSBpZiAocmVzdWx0LT5pczNk
KCkpIHsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHY4UmVzdWx0ID0gdG9WOChzdGF0
aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUo
KSk7CisgICAgICAgIGlmIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygp
KSB7CisgICAgICAgICAgICBTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUgPSBTY3JpcHRTdGF0ZTo6
Zm9yQ29udGV4dCh2ODo6Q29udGV4dDo6R2V0Q3VycmVudCgpKTsKKyAgICAgICAgICAgIFNjcmlw
dE9iamVjdCBnbENvbnRleHQoc2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNh
c3QodjhSZXN1bHQpKTsKKyAgICAgICAgICAgIFNjcmlwdE9iamVjdCB3cmFwcGVkID0gSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVu
dGF0aW9uKGltcC0+ZG9jdW1lbnQoKSwgZ2xDb250ZXh0KTsKKyAgICAgICAgICAgIGlmICghd3Jh
cHBlZC5oYXNOb1ZhbHVlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudjhWYWx1
ZSgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiB2OFJlc3VsdDsKKyAgICB9CiAjZW5kaWYK
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gdjg6Ok51bGwoYXJncy5HZXRJ
c29sYXRlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5kZXggMzMzZmU1NzVjYjA3OGEx
Mjc1NjdjNjVjMmM1MWRjZjdhNDZkMWMyMy4uMWNlNTk1ZWM4MDc0YzEyNzJiYzY5MmZkNjE5MDlk
ZmVhYmVkOTU5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0xMTAsMTAgKzExMCwz
NCBAQCBTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNj
cmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNvdQogICAgICAgdjg6Ok51bWJlcjo6TmV3KGlkKSwK
ICAgICB9OwogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGluamVjdGVkU2NyaXB0VmFsdWUgPSB2
ODo6RnVuY3Rpb246OkNhc3QoKnYpLT5DYWxsKHdpbmRvd0dsb2JhbCwgMywgYXJncyk7Ci0gICAg
djg6OkxvY2FsPHY4OjpPYmplY3Q+IGluamVjdGVkU2NyaXB0KHY4OjpPYmplY3Q6OkNhc3QoKmlu
amVjdGVkU2NyaXB0VmFsdWUpKTsKLSAgICByZXR1cm4gU2NyaXB0T2JqZWN0KGluc3BlY3RlZFNj
cmlwdFN0YXRlLCBpbmplY3RlZFNjcmlwdCk7CisgICAgcmV0dXJuIFNjcmlwdE9iamVjdChpbnNw
ZWN0ZWRTY3JpcHRTdGF0ZSwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChpbmplY3RlZFNj
cmlwdFZhbHVlKSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RXZWJHTFNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNv
dXJjZSwgU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAgICB2ODo6SGFuZGxlU2NvcGUgc2Nv
cGU7CisKKyAgICBTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3RhdGUgPSBnbENvbnRleHQu
c2NyaXB0U3RhdGUoKTsKKyAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGluc3BlY3RlZENvbnRl
eHQgPSBpbnNwZWN0ZWRTY3JpcHRTdGF0ZS0+Y29udGV4dCgpOworICAgIHY4OjpDb250ZXh0OjpT
Y29wZSBjb250ZXh0U2NvcGUoaW5zcGVjdGVkQ29udGV4dCk7CisKKyAgICB2ODo6TG9jYWw8djg6
Ok9iamVjdD4gd2luZG93R2xvYmFsID0gaW5zcGVjdGVkQ29udGV4dC0+R2xvYmFsKCk7CisKKyAg
ICB2ODo6TG9jYWw8djg6OlNjcmlwdD4gc2NyaXB0ID0gdjg6OlNjcmlwdDo6Q29tcGlsZSh2OFN0
cmluZyhzY3JpcHRTb3VyY2UpKTsKKyAgICBWOFJlY3Vyc2lvblNjb3BlOjpNaWNyb3Rhc2tTdXBw
cmVzc2lvbiByZWN1cnNpb25TY29wZTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2ID0gc2Ny
aXB0LT5SdW4oKTsKKyAgICBBU1NFUlQoIXYuSXNFbXB0eSgpKTsKKyAgICBBU1NFUlQodi0+SXNG
dW5jdGlvbigpKTsKKworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmdzW10gPSB7CisgICAg
ICAgIGdsQ29udGV4dC52OFZhbHVlKCksCisgICAgfTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVl
PiBpbmplY3RlZFNjcmlwdFZhbHVlID0gdjg6OkZ1bmN0aW9uOjpDYXN0KCp2KS0+Q2FsbCh3aW5k
b3dHbG9iYWwsIDEsIGFyZ3MpOworICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5zcGVjdGVkU2Ny
aXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoaW5qZWN0ZWRTY3JpcHRWYWx1
ZSkpOworfQorI2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5q
ZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0YXRlKQogewogICAgIHY4
OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKQEAgLTEyMiw3ICsxNDYsNyBAQCB2b2lkIEluamVj
dGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKiBpbnNw
ZWN0ZWRTY3JpcHRTdAogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGdsb2JhbCA9IGNvbnRl
eHQtPkdsb2JhbCgpOwogICAgIC8vIFNraXAgcHJveHkgb2JqZWN0LiBUaGUgcHJveHkgb2JqZWN0
IHdpbGwgc3Vydml2ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUgd2UgbmVlZAotICAgIC8vIGFuIG9i
amVjdCB3aG9zZSBsaWZldGltZSBjb25zaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBj
b250ZXh0LgorICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb2luY2lkZXMgd2l0aCB0
aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KICAgICBnbG9iYWwgPSB2ODo6TG9jYWw8djg6
Ok9iamVjdD46OkNhc3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUoKSk7CiAKICAgICB2ODo6SGFuZGxl
PHY4OjpTdHJpbmc+IGtleSA9IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkZXZ0b29sc0luamVjdGVk
U2NyaXB0KCk7CkBAIC0xMzcsNyArMTYxLDcgQEAgSW5qZWN0ZWRTY3JpcHQgSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcihTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2MKIAog
ICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBjb250ZXh0LT5HbG9iYWwoKTsKICAg
ICAvLyBTa2lwIHByb3h5IG9iamVjdC4gVGhlIHByb3h5IG9iamVjdCB3aWxsIHN1cnZpdmUgcGFn
ZSBuYXZpZ2F0aW9uIHdoaWxlIHdlIG5lZWQKLSAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRp
bWUgY29uc2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KKyAgICAvLyBh
biBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29pbmNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVj
dGVkIGNvbnRleHQuCiAgICAgZ2xvYmFsID0gdjg6OkxvY2FsPHY4OjpPYmplY3Q+OjpDYXN0KGds
b2JhbC0+R2V0UHJvdG90eXBlKCkpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBrZXkg
PSBWOEhpZGRlblByb3BlcnR5TmFtZTo6ZGV2dG9vbHNJbmplY3RlZFNjcmlwdCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQppbmRl
eCBlOWQzNzNiMDFlMDM1ZDViNDRmNjI3NjNjMDY0ODYwNzE1ZmEyNzQ2Li4zNDUzMTNkNDRjMmUz
MjlmZDg0ZTAyYmJkMTVlZTc3M2Q1ZGI0N2M1IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQpAQCAtNDYsNiArNDYsNyBAQCBET01B
SU5fREVGSU5FX05BTUVfTUFQID0gewogICAgICJJbmRleGVkREIiOiAiSU5ERVhFRF9EQVRBQkFT
RSIsCiAgICAgIlByb2ZpbGVyIjogIkpBVkFTQ1JJUFRfREVCVUdHRVIiLAogICAgICJXb3JrZXIi
OiAiV09SS0VSUyIsCisgICAgIldlYkdMIjogIldFQkdMIiwKIH0KIAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IGU0MDZj
NGE4ZTE1ODUwNjg2Zjc2NjRiMmM1ZGZmZWZjYjhhOTJkMmIuLjMxZmY5ZjQxYzYwNjYyYTY0MjY0
YWFkZTc1ZmI3Y2U3ZGE4ZGNiN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0zNyw3ICszNywxMSBAQAogI2luY2x1ZGUg
IkluamVjdGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5j
bHVkZSAiSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCIKKyNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVk
ZSAiSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiSW5zcGVj
dG9yVmFsdWVzLmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTE3Miw2ICsx
NzYsMTggQEAgcGFpcjxpbnQsIFNjcmlwdE9iamVjdD4gSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpp
bmplY3RTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UKICAgICByZXR1cm4gc3RkOjptYWtlX3Bh
aXIoaWQsIGNyZWF0ZUluamVjdGVkU2NyaXB0KHNvdXJjZSwgc2NyaXB0U3RhdGUsIGlkKSk7CiB9
CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9iamVj
dCBnbENvbnRleHQpCit7CisgICAgcmV0dXJuIGluamVjdFdlYkdMU2NyaXB0KGluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UoKSwgZ2xDb250ZXh0KTsKK30KKworU3RyaW5nIEluamVjdGVkU2NyaXB0
TWFuYWdlcjo6aW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpCit7CisgICAgcmV0dXJuIFN0cmlu
ZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihJbmplY3RlZFdlYkdMU2NyaXB0U291cmNl
X2pzKSwgc2l6ZW9mKEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMpKTsKK30KKyNlbmRpZgor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdl
ci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oCmlu
ZGV4IGE5YmRjYTUyZmNiYzIyN2FiMjkxYWI3NGE2ZWI4OTE4ZjA0YmQ4ZTQuLjYxM2ZlZjgxMjM4
YTQwOTE4YTg2MzI4NDkwY2FjMDE1Nzk0MzNiNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKQEAgLTcsMTMgKzcsMTMgQEAKICAqIGFy
ZSBtZXQ6CiAgKgogICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKICAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KICAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVy
LCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAgKiAgICAgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICog
ICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4gCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgogICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCiAgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECkBAIC02NCw2ICs2NCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2NhcmRJbmpl
Y3RlZFNjcmlwdHNGb3IoRE9NV2luZG93Kik7CiAgICAgdm9pZCByZWxlYXNlT2JqZWN0R3JvdXAo
Y29uc3QgU3RyaW5nJiBvYmplY3RHcm91cCk7CiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgU2Ny
aXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2Ny
aXB0T2JqZWN0KTsKKyNlbmRpZgogCiBwcml2YXRlOgogICAgIHR5cGVkZWYgYm9vbCAoKkluc3Bl
Y3RlZFN0YXRlQWNjZXNzQ2hlY2spKFNjcmlwdFN0YXRlKik7CkBAIC03Myw2ICs3NiwxMSBAQCBw
cml2YXRlOgogICAgIFNjcmlwdE9iamVjdCBjcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBTdHJp
bmcmIHNvdXJjZSwgU2NyaXB0U3RhdGUqLCBpbnQgaWQpOwogICAgIHZvaWQgZGlzY2FyZEluamVj
dGVkU2NyaXB0KFNjcmlwdFN0YXRlKik7CiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgU3RyaW5n
IGluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UoKTsKKyAgICBTY3JpcHRPYmplY3QgaW5qZWN0V2Vi
R0xTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFNjcmlwdE9iamVjdCk7CisjZW5kaWYKKwog
ICAgIHN0YXRpYyBib29sIGNhbkFjY2Vzc0luc3BlY3RlZFdpbmRvdyhTY3JpcHRTdGF0ZSopOwog
ICAgIHN0YXRpYyBib29sIGNhbkFjY2Vzc0luc3BlY3RlZFdvcmtlckNvbnRleHQoU2NyaXB0U3Rh
dGUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJH
TFNjcmlwdFNvdXJjZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YTU1NTRkMzEyYTBlZjBhMzEyMmY1OGVjNTFl
YzJkZGFkN2RiMDJiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyhmdW5jdGlvbihn
bENvbnRleHQpIHsKKworLy8gRklYTUU6IFdyYXAgV2ViR0wgY29udGV4dCBmb3IgaW5zdHJ1bWVu
dGF0aW9uLgorcmV0dXJuIGdsQ29udGV4dDsKKworfSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3IuanNvbgppbmRleCBjOTkxMTYwOGM0ZThjZGJhYWI2OTdlMDU3M2RlM2U3NGRlNDBi
YjUxLi4wNDJiZThmNmYzZTAyZjNkYmEzNTM3YTg5YzZjN2NlZjdlYmFhYjRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0yODExLDUgKzI4MTEsMjEgQEAKICAg
ICAgICAgICAgICAgICAibmFtZSI6ICJkaXNjb25uZWN0ZWRGcm9tV29ya2VyIgogICAgICAgICAg
ICAgfQogICAgICAgICBdCisgICAgfSwKKyAgICB7CisgICAgICAgICJkb21haW4iOiAiV2ViR0wi
LAorICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKKyAgICAgICAgInR5cGVzIjogW10sCisgICAgICAg
ICJjb21tYW5kcyI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJl
bmFibGUiLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGVzIFdlYkdMIGlu
c3BlY3Rpb24uIgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAibmFtZSI6ICJkaXNhYmxlIiwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGlz
YWJsZXMgV2ViR0wgaW5zcGVjdGlvbi4iCisgICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAg
ICAgICJldmVudHMiOiBbXQogICAgIH1dCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckFsbEluT25lLmNwcAppbmRleCBiMTIyMzA0MzIzM2Y5ZDQ0N2E1ZDNhYjU1MTEw
NjY5NTllZmJlNjIxLi5iZTkyYTEzZmM3YjNjZDg1NjEzNjM4ZTYxODg3N2M4MmZiMmMzOWFjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKQEAg
LTY1LDYgKzY1LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JTdHlsZVRleHRFZGl0b3IuY3BwIgog
I2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3Rv
clZhbHVlcy5jcHAiCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2Vu
dHMuY3BwIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA0NmUwYzJi
OGM1NGY0YjQyMGMyMzY4NGM3YmUzYTc1M2E0NWJiNzY5Li5hYzE5YzdkYjk1M2QyNDU4MzljYWRm
YTMyODZlZjY4YjUyOTYyZWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC02MSw2ICs2MSw3IEBACiAjaW5jbHVkZSAiSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdl
bnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JXb3JrZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3Ry
dW1lbnRpbmdBZ2VudHMuaCIKICNpbmNsdWRlICJQYWdlQ29uc29sZUFnZW50LmgiCkBAIC0xNDQs
NiArMTQ1LDEwIEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFn
ZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAgICAgbV9hZ2VudHMuYXBwZW5k
KEluc3BlY3RvcldvcmtlckFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgp
LCBtX3N0YXRlLmdldCgpKSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBtX2Fn
ZW50cy5hcHBlbmQoSW5zcGVjdG9yV2ViR0xBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0Fn
ZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkp
KTsKKyNlbmRpZgorCiAgICAgQVNTRVJUX0FSRyhpbnNwZWN0b3JDbGllbnQsIGluc3BlY3RvckNs
aWVudCk7CiAgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0SG9zdCgp
LT5pbml0KG1faW5zcGVjdG9yQWdlbnQKICAgICAgICAgLCBjb25zb2xlQWdlbnQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRl
eCBjYTk1MGJhZjcwZDE3Njg1NmMzY2U2ODczMGQyOWQ4MWJjZGMxOGYyLi40ZWJhNGIzYzBhNTIz
YWZkZmQzOWExMmNmMzI5YmE3NjA3OTZlNzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC02OCw2ICs2OCw3IEBAIGNs
YXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBTY3JpcHRBcmd1bWVudHM7CiBjbGFzcyBTY3Jp
cHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworY2xhc3MgU2NyaXB0
T2JqZWN0OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xh
c3MgU2hhZG93Um9vdDsKQEAgLTIzNiw2ICsyMzcsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB2
b2lkIGRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUVycm9yKERvY3VtZW50KiwgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSk7CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShXRUJHTCkKKyAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oRG9jdW1lbnQqLCBTY3JpcHRPYmplY3QpOworI2Vu
ZGlmCisKICAgICBzdGF0aWMgdm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VkKFBhZ2UqKTsKICAgICBz
dGF0aWMgdm9pZCB1cGRhdGVBcHBsaWNhdGlvbkNhY2hlU3RhdHVzKEZyYW1lKik7CiAKQEAgLTk3
NSw3ICs5ODAsNyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1hcmtS
ZXNvdXJjZUFzQ2FjaGVkKFBhZ2UqIHBhZ2UsIHVuc2lnbmVkCiB7CiAjaWYgRU5BQkxFKElOU1BF
Q1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9
IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQotICAgICAgICBtYXJrUmVzb3VyY2VB
c0NhY2hlZEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaWRlbnRpZmllcik7IAorICAgICAgICBt
YXJrUmVzb3VyY2VBc0NhY2hlZEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaWRlbnRpZmllcik7
CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvcldlYkdMQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcldl
YkdMQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhZWEwYWEzODdjZGI3ODRjNWNiZDI2YTRmOThiNjhh
MmNiM2UzMGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yV2ViR0xBZ2VudC5jcHAKQEAgLTAsMCArMSwxMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisKKyNpbmNsdWRlICJJ
bnNwZWN0b3JXZWJHTEFnZW50LmgiCisKKyNpbmNsdWRlICJJbmplY3RlZFNjcmlwdE1hbmFnZXIu
aCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorI2luY2x1ZGUgIkluc3BlY3RvclN0
YXRlLmgiCisjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgorI2luY2x1ZGUgIlNjcmlw
dE9iamVjdC5oIgorI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworbmFtZXNwYWNlIFdlYkdMQWdlbnRTdGF0ZSB7CitzdGF0aWMgY29uc3QgY2hhciB3ZWJH
TEFnZW50RW5hYmxlZFtdID0gIndlYkdMQWdlbnRFbmFibGVkIjsKK307CisKK0luc3BlY3Rvcldl
YkdMQWdlbnQ6Okluc3BlY3RvcldlYkdMQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbmplY3RlZFNjcmlwdE1hbmFn
ZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNw
ZWN0b3JXZWJHTEFnZW50PigiV2ViR0wiLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKKyAg
ICAsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICAs
IG1fZnJvbnRlbmQoMCkKKyAgICAsIG1fZW5hYmxlZChmYWxzZSkKK3sKKyAgICBtX2luc3RydW1l
bnRpbmdBZ2VudHMtPnNldEluc3BlY3RvcldlYkdMQWdlbnQodGhpcyk7Cit9CisKK0luc3BlY3Rv
cldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50KCkKK3sKKyAgICBtX2luc3RydW1lbnRp
bmdBZ2VudHMtPnNldEluc3BlY3RvcldlYkdMQWdlbnQoMCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9y
V2ViR0xBZ2VudDo6c2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKQorewor
ICAgIEFTU0VSVChmcm9udGVuZCk7CisgICAgbV9mcm9udGVuZCA9IGZyb250ZW5kLT53ZWJnbCgp
OworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQoKQoreworICAg
IG1fZnJvbnRlbmQgPSAwOworICAgIGRpc2FibGUoMCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2Vi
R0xBZ2VudDo6cmVzdG9yZSgpCit7CisgICAgbV9lbmFibGVkID0gbV9zdGF0ZS0+Z2V0Qm9vbGVh
bihXZWJHTEFnZW50U3RhdGU6OndlYkdMQWdlbnRFbmFibGVkKTsKK30KKwordm9pZCBJbnNwZWN0
b3JXZWJHTEFnZW50OjplbmFibGUoRXJyb3JTdHJpbmcqKQoreworICAgIGlmIChtX2VuYWJsZWQp
CisgICAgICAgIHJldHVybjsKKyAgICBtX2VuYWJsZWQgPSB0cnVlOworICAgIG1fc3RhdGUtPnNl
dEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCwgbV9lbmFibGVkKTsK
K30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKK3sK
KyAgICBpZiAoIW1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fZW5hYmxlZCA9IGZh
bHNlOworICAgIG1fc3RhdGUtPnNldEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50
RW5hYmxlZCwgbV9lbmFibGVkKTsKK30KKworU2NyaXB0T2JqZWN0IEluc3BlY3RvcldlYkdMQWdl
bnQ6OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2Jq
ZWN0IGdsQ29udGV4dCkKK3sKKyAgICByZXR1cm4gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPndy
YXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oZ2xDb250ZXh0KTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikg
JiYgRU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldlYkdMQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JX
ZWJHTEFnZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDBkMDhjYTJjZDdlMDAyMmQ5NjA5M2YyMGQ2ZmNiNGNh
ZGY4MzdkNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JXZWJHTEFnZW50LmgKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yV2ViR0xB
Z2VudF9oCisjZGVmaW5lIEluc3BlY3RvcldlYkdMQWdlbnRfaAorCisjaWYgRU5BQkxFKElOU1BF
Q1RPUikgJiYgRU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAiSW5zcGVjdG9yQmFzZUFnZW50Lmgi
CisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmlu
Zy5oIgorI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIEluamVjdGVkU2NyaXB0TWFuYWdlcjsKK2NsYXNzIEluc3BlY3RvclN0YXRlOworY2xh
c3MgSW5zdHJ1bWVudGluZ0FnZW50czsKK2NsYXNzIFNjcmlwdE9iamVjdDsKKwordHlwZWRlZiBT
dHJpbmcgRXJyb3JTdHJpbmc7CisKK2NsYXNzIEluc3BlY3RvcldlYkdMQWdlbnQgOiBwdWJsaWMg
SW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvcldlYkdMQWdlbnQ+LCBwdWJsaWMgSW5zcGVjdG9y
QmFja2VuZERpc3BhdGNoZXI6OldlYkdMQ29tbWFuZEhhbmRsZXIgeworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvcldlYkdMQWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIEluamVj
dGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JXZWJHTEFnZW50KGluc3RydW1lbnRpbmdBZ2Vu
dHMsIHN0YXRlLCBpbmplY3RlZFNjcmlwdE1hbmFnZXIpKTsKKyAgICB9CisgICAgfkluc3BlY3Rv
cldlYkdMQWdlbnQoKTsKKworICAgIHZpcnR1YWwgdm9pZCBzZXRGcm9udGVuZChJbnNwZWN0b3JG
cm9udGVuZCopOworICAgIHZpcnR1YWwgdm9pZCBjbGVhckZyb250ZW5kKCk7CisgICAgdmlydHVh
bCB2b2lkIHJlc3RvcmUoKTsKKworICAgIGJvb2wgZW5hYmxlZCgpIHsgcmV0dXJuIG1fZW5hYmxl
ZDsgfQorCisgICAgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0
cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0KTsKKworICAgIC8vIENhbGxlZCBmcm9tIHRoZSBmcm9u
dC1lbmQuCisgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopOworICAgIHZpcnR1
YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKik7CisKKyAgICAvLyBDYWxsZWQgZnJvbSB0aGUg
aW5qZWN0ZWQgc2NyaXB0LgorCisgICAgLy8gQ2FsbGVkIGZyb20gSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uCisKK3ByaXZhdGU6CisgICAgSW5zcGVjdG9yV2ViR0xBZ2VudChJbnN0cnVtZW50aW5n
QWdlbnRzKiwgSW5zcGVjdG9yU3RhdGUqLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKKworICAg
IEluamVjdGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlwdE1hbmFnZXI7CisgICAgSW5z
cGVjdG9yRnJvbnRlbmQ6OldlYkdMKiBtX2Zyb250ZW5kOworICAgIGJvb2wgbV9lbmFibGVkOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikgJiYgRU5BQkxFKFdFQkdMKQorCisjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yV2ViR0xB
Z2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcldl
YkdMSW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
V2ViR0xJbnN0cnVtZW50YXRpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzI5N2NiNWNiYmY4ZTE5ZTBkMjhj
YTExOTY2OTY0NGYzZTA1NWU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgKQEAgLTAsMCArMSw1NyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb25faAorI2RlZmluZSBJbnNwZWN0b3JX
ZWJHTEluc3RydW1lbnRhdGlvbl9oCisKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50LmgiCisjaW5jbHVkZSAiSW5zdHJ1
bWVudGluZ0FnZW50cy5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9u
KERvY3VtZW50KiBkb2N1bWVudCwgU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyNpZiBFTkFC
TEUoSU5TUEVDVE9SKQorICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkgeworICAg
ICAgICBJbnNwZWN0b3JXZWJHTEFnZW50KiB3ZWJHTEFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy0+aW5zcGVjdG9yV2ViR0xBZ2VudCgpOworICAgICAgICBpZiAod2ViR0xBZ2VudCAmJiB3ZWJH
TEFnZW50LT5lbmFibGVkKCkpCisgICAgICAgICAgICByZXR1cm4gd2ViR0xBZ2VudC0+d3JhcFdl
YkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihnbENvbnRleHQpOworICAgIH0K
KyNlbmRpZgorICAgIHJldHVybiBTY3JpcHRPYmplY3QoKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUo
V0VCR0wpCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vICFkZWZpbmVkKElu
c3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAppbmRleCAxOTRlYjg2NWVjNzVhNjZmZWZiNGI3MjQ2
ZjAwOGE4MzhhODhhYWJjLi4xMzM0ZGM3ZDZkYjdlZGIzOTA4NmI5NmUzYzc4NjRjYTE3OGYzNDFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgK
QEAgLTUyLDYgKzUyLDcgQEAgY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsKIGNsYXNzIElu
c3BlY3RvclJ1bnRpbWVBZ2VudDsKIGNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ7CiBjbGFz
cyBJbnNwZWN0b3JXb3JrZXJBZ2VudDsKK2NsYXNzIEluc3BlY3RvcldlYkdMQWdlbnQ7CiBjbGFz
cyBQYWdlOwogY2xhc3MgUGFnZVJ1bnRpbWVBZ2VudDsKIGNsYXNzIFdvcmtlckNvbnRleHQ7CkBA
IC04Niw2ICs4Nyw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICAgICAgLCBt
X2luc3BlY3RvcldvcmtlckFnZW50KDApCiAjZW5kaWYKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAg
ICAgICwgbV9pbnNwZWN0b3JXZWJHTEFnZW50KDApCisjZW5kaWYKICAgICB7IH0KICAgICB+SW5z
dHJ1bWVudGluZ0FnZW50cygpIHsgfQogCkBAIC0xNDIsMTEgKzE0NiwxNyBAQCBwdWJsaWM6CiAg
ICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogaW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpIGNvbnN0
IHsgcmV0dXJuIG1faW5zcGVjdG9yUHJvZmlsZXJBZ2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVj
dG9yUHJvZmlsZXJBZ2VudChJbnNwZWN0b3JQcm9maWxlckFnZW50KiBhZ2VudCkgeyBtX2luc3Bl
Y3RvclByb2ZpbGVyQWdlbnQgPSBhZ2VudDsgfQogI2VuZGlmCisKICNpZiBFTkFCTEUoV09SS0VS
UykKICAgICBJbnNwZWN0b3JXb3JrZXJBZ2VudCogaW5zcGVjdG9yV29ya2VyQWdlbnQoKSBjb25z
dCB7IHJldHVybiBtX2luc3BlY3RvcldvcmtlckFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0
b3JXb3JrZXJBZ2VudChJbnNwZWN0b3JXb3JrZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JX
b3JrZXJBZ2VudCA9IGFnZW50OyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBJ
bnNwZWN0b3JXZWJHTEFnZW50KiBpbnNwZWN0b3JXZWJHTEFnZW50KCkgY29uc3QgeyByZXR1cm4g
bV9pbnNwZWN0b3JXZWJHTEFnZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JXZWJHTEFnZW50
KEluc3BlY3RvcldlYkdMQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yV2ViR0xBZ2VudCA9IGFn
ZW50OyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBJbnNwZWN0b3JBZ2VudCogbV9pbnNwZWN0
b3JBZ2VudDsKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1faW5zcGVjdG9yUGFnZUFnZW50OwpA
QCAtMTczLDYgKzE4Myw5IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgSW5z
cGVjdG9yV29ya2VyQWdlbnQqIG1faW5zcGVjdG9yV29ya2VyQWdlbnQ7CiAjZW5kaWYKKyNpZiBF
TkFCTEUoV0VCR0wpCisgICAgSW5zcGVjdG9yV2ViR0xBZ2VudCogbV9pbnNwZWN0b3JXZWJHTEFn
ZW50OworI2VuZGlmCiB9OwogCiBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50YXRpb25G
b3JQYWdlKFBhZ2UqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145765</attachid>
            <date>2012-06-05 05:16:48 -0700</date>
            <delta_ts>2012-06-06 01:48:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120605161646.patch</filename>
            <type>text/plain</type>
            <size>57435</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVjOGRlMmRmODgwNjYy
NDUxOWQ3ZjFhMmM0YTJmMzUwMjZiYWRhOC4uMjlkYjdlNDRkNGE4NDM4NjM1ZDU2YjY3NzI2YWE5
MmRlYTRhZTc3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA2LTAzICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNv
cmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1M
Q2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0
V2ViR0xTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpk
aXNjYXJkSW5qZWN0ZWRTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0NvZGVHZW5l
cmF0b3JJbnNwZWN0b3IucHk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVk
U2NyaXB0TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaDoKKyAgICAgICAgKEluamVjdGVkU2NyaXB0TWFuYWdlcik6CisgICAgICAgICogaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNo
ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkdMQWdlbnRTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0
aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJH
TFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAg
ICAoSW5zdHJ1bWVudGluZ0FnZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5n
QWdlbnRzOjppbnNwZWN0b3JXZWJHTEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6OnNldEluc3BlY3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERh
dGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpIHNob3VsZCBzeW5jaHJvbm91c2x5IHJl
dHVybiBlbnRyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjZWIxZGI0MDZjYjBhZTQ2OTcxNzlj
NmViZWI2NTRmZDRiZGEyMzBhLi5kYzNkNzAzYzc3YjgxNGZjMjJhN2UxZThiNjJjNzViNjA3ZjNk
NDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTYyLDYgKzk2Miw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5j
cHAKQEAgLTE2OTMsNyArMTY5NCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAg
ICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAg
TW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAor
CiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3
b3JraW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVs
ZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjYwNCw2ICsyNjA1
LDE3IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAk
e0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAog
CisjIEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJH
TCkKKyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09V
UkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1B
SU5fREVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAg
ICAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3Iv
eHhkLnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09S
RV9ESVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAg
ICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNI
X1RPT0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNw
cCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAyZmM5ZjE4NjUyMjQzNGYz
ZDJmYWUxMjMzY2U3N2U3YTk1YTE0MC4uMGVkZjIyMTQ1ZTI3YmMyZjg3YjJmMTYzNDJiMWRkOWRm
MjBjYWUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAog
IyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFj
ayA8Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFy
ZSBtZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAor
IyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03
ODAsMTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQo
UFJPSkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZp
bmRzdHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAg
IFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQo
V2ViQ29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChV
U0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAog
aWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5B
QkxFX01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtl
X25hbWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdz
L3NjcmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0t
LS0tLS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAog
RXZlbnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9t
YWtlX2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBA
QCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5o
IEV4Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9z
Y3JpcHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0t
LS0tLS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVu
dCBmYWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBk
b20vbWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpA
QCAtOTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3Rl
ZFNjcmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29y
ZSkvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAK
K2FsbCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUp
L2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUp
L2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEg
KCQoZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19X
WCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBlNWY0ODQ0Njk1Mjg2MjM2MmQ3Yjlk
YjMyMjNhODIxMzQ2NmQzOWJiLi5lMzQ5OGY0ODQ0Y2YwMDYzM2IwNzdhODBjYmJlYjBiMmQ1OGI1
MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BF
Q1RPUl9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5z
cGVjdG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NP
VVJDRSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERF
QlVHR0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5q
cwogCiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDEx
ICs3NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VO
RVJBVE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGlu
amVjdGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVj
dGVkU2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0
ZWRTY3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
ICR7UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwg
JCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJ
TEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0
X3RvX3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQog
Ci0jIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBp
bGVyCisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291
cmNlIGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElO
SkVDVEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29t
bWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9
IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3Ig
ZGVidWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0
cHV0ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQg
PSBERUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9
IHBlcmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FN
QUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDgz
NjhjNmQ0NDcyM2RjOWJiZGZkYmE1MGFkMTczOGY1MTBjNTU2NGIuLmYwYzUyYWI3Y2FlYjUzMjkx
NGQ5NzI2NDE5ODE0ZTlmZTE3ZjQ5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjEsNiAr
ODIxLDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
anM6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0
ZWRTY3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuanMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIElu
amVjdGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJD
b3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4p
JChQRVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpz
ICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYg
RU5BQkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBA
IC0xMDcwLDYgKzEwNzIsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3Uv
TElDRU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0
b3IucHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5q
cyBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
anMgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDVhYzVkZTM2MjQxZDFiODJmYzE4NTVmNzFhZTRhNmM2
NWZkM2UzNDEuLjUyNmY1ZDk5ZDI5ZGJlYTM3MTM4NDA5YTFiNjNiOTJjM2M4YmUyMGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMiw2ICsyNzIzLDkgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYmMwMTE3Yjc1MDYzMTg5
Y2RkMjkxNzQ2NTFiYzZmZDkzZTk5YmFiNC4uMGU3MTk4ZDI1Y2FhMDk4NzFkNjIzN2JlN2RiNWRh
ODEzNTgwMjVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0Rh
dGEuY3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRl
eHRFZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3Bl
Y3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBp
bnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4
IGI3NmQzYmM1YjY1OTNkN2RmOGEwNWY1N2QxMTY1YWFiZDg1NTM0M2IuLjEwZGQ5OGYwMGVjOTk5
NjVlYjczY2QzYTEyMjRiNjYxZDE2N2RhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzcs
NyArMTc3LDcgQEAgX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjE2bG9hZEZyYW1lUmVxdWVzdEVS
S05TXzE2RnJhbWVMb2FkUmVxdWVzdEViYk4zV1RGMTBQYXMKIF9fWk43V2ViQ29yZTExRnJhbWVM
b2FkZXIxN3N0b3BGb3JVc2VyQ2FuY2VsRWIKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMWxv
YWRVUkxJbnRvQ2hpbGRGcmFtZUVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRVBOU181RnJhbWVF
CiBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMjJmaW5kRnJhbWVGb3JOYXZpZ2F0aW9uRVJLTjNX
VEYxMkF0b21pY1N0cmluZ0VQTlNfOERvY3VtZW50RQotX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRl
cjIzdGltZU9mTGFzdENvbXBsZXRlZExvYWRFdiAgICAKK19fWk43V2ViQ29yZTExRnJhbWVMb2Fk
ZXIyM3RpbWVPZkxhc3RDb21wbGV0ZWRMb2FkRXYKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIy
NnJlbG9hZFdpdGhPdmVycmlkZUVuY29kaW5nRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3Jl
MTFGcmFtZUxvYWRlcjMyc2V0T3JpZ2luYWxVUkxGb3JEb3dubG9hZFJlcXVlc3RFUk5TXzE1UmVz
b3VyY2VSZXF1ZXN0RQogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRpbml0RXYKQEAgLTE2ODQs
NyArMTY4NCw3IEBAIF93a0dldEFYVGV4dE1hcmtlclR5cGVJRAogX3drR2V0QVhUZXh0TWFya2Vy
UmFuZ2VUeXBlSUQKIF93a0NyZWF0ZUFYVGV4dE1hcmtlclJhbmdlCiBfd2tDb3B5QVhUZXh0TWFy
a2VyUmFuZ2VTdGFydAotX3drQ29weUFYVGV4dE1hcmtlclJhbmdlRW5kIAorX3drQ29weUFYVGV4
dE1hcmtlclJhbmdlRW5kCiBfd2tDcmVhdGVBWFRleHRNYXJrZXIKIF93a0dldEJ5dGVzRnJvbUFY
VGV4dE1hcmtlcgogX3drQ3JlYXRlQVhVSUVsZW1lbnRSZWYKQEAgLTE3NzYsNyArMTc3Niw3IEBA
IF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMTRyZW1vdmVBbGxJY29uc0V2CiBfX1pON1dlYkNv
cmUxMkljb25EYXRhYmFzZTE1aWNvblJlY29yZENvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRh
dGFiYXNlMTlwYWdlVVJMTWFwcGluZ0NvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNl
MjBhbGxvd0RhdGFiYXNlQ2xlYW51cEV2Ci1fX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIwZGVs
YXlEYXRhYmFzZUNsZWFudXBFdiAgIAorX19aTjdXZWJDb3JlMTJJY29uRGF0YWJhc2UyMGRlbGF5
RGF0YWJhc2VDbGVhbnVwRXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjByZXRhaW5JY29u
Rm9yUGFnZVVSTEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjBy
ZXRhaW5lZFBhZ2VVUkxDb3VudEV2CiBfX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIxcmVsZWFz
ZUljb25Gb3JQYWdlVVJMRVJLTjNXVEY2U3RyaW5nRQpAQCAtMjIxMywzICsyMjEzLDggQEAgX19a
Tks3V2ViQ29yZTROb2RlMzFudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuRXYKICNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKIF9fWk43V2ViQ29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczE4
aXNTaGFkb3dET01FbmFibGVkRQogI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCR0wpCitfX1pON1dl
YkNvcmUxOUluc3BlY3RvcldlYkdMQWdlbnRDMUVQTlNfMTlJbnN0cnVtZW50aW5nQWdlbnRzRVBO
U18xNEluc3BlY3RvclN0YXRlRVBOU18yMUluamVjdGVkU2NyaXB0TWFuYWdlckUKK19fWk43V2Vi
Q29yZTE5SW5zcGVjdG9yV2ViR0xBZ2VudDQzd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvcklu
c3RydW1lbnRhdGlvbkVOU18xMlNjcmlwdE9iamVjdEUKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA3ZDhkN2JlYTg1MjRiNWUwY2QzY2I2YzczM2MwNDkz
MWJmYWFhNTQ5Li5hMjU2MjQ4ZmI3N2YzODI0YzYxYWRkYjQ3MDk4YmQ0YTRmNGZmM2VjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtNDM0LDYgKzQzNCwyOSBAQAog
ICAgICAgXQogICAgIH0sCiAgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ2luamVjdGVkX3dl
YmdsX3NjcmlwdF9zb3VyY2UnLAorICAgICAgJ3R5cGUnOiAnbm9uZScsCisgICAgICAnYWN0aW9u
cyc6IFsKKyAgICAgICAgeworICAgICAgICAgICdhY3Rpb25fbmFtZSc6ICdnZW5lcmF0ZUluamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UnLAorICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAgICAg
ICAnLi4vaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMnLAorICAgICAgICAg
IF0sCisgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJN
RURJQVRFX0RJUikvd2Via2l0L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCcsCisgICAgICAg
ICAgXSwKKyAgICAgICAgICAnYWN0aW9uJzogWworICAgICAgICAgICAgJ3BlcmwnLAorICAgICAg
ICAgICAgJy4uL2luc3BlY3Rvci94eGQucGwnLAorICAgICAgICAgICAgJ0luamVjdGVkV2ViR0xT
Y3JpcHRTb3VyY2VfanMnLAorICAgICAgICAgICAgJzxAKF9pbnB1dHMpJywKKyAgICAgICAgICAg
ICc8QChfb3V0cHV0cyknCisgICAgICAgICAgXSwKKyAgICAgICAgICAnbWVzc2FnZSc6ICdHZW5l
cmF0aW5nIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBmcm9tIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuanMnLAorICAgICAgICB9LAorICAgICAgXQorICAgIH0sCisgICAgewogICAgICAg
J3RhcmdldF9uYW1lJzogJ2RlYnVnZ2VyX3NjcmlwdF9zb3VyY2UnLAogICAgICAgJ3R5cGUnOiAn
bm9uZScsCiAgICAgICAnYWN0aW9ucyc6IFsKQEAgLTEwNzQsNiArMTA5Nyw3IEBACiAgICAgICAg
ICd3ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnLAogICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29s
X3NvdXJjZXMnLAogICAgICAgICAnaW5qZWN0ZWRfc2NyaXB0X3NvdXJjZScsCisgICAgICAgICdp
bmplY3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2RlYnVnZ2VyX3NjcmlwdF9z
b3VyY2UnLAogICAgICAgICAnLi4vLi4vSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lw
L0phdmFTY3JpcHRDb3JlLmd5cDp5YXJyJywKICAgICAgICAgJy4uLy4uL1dURi9XVEYuZ3lwL1dU
Ri5neXA6d3RmJywKQEAgLTExOTcsNiArMTIyMSw3IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzog
WwogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAgICdpbmplY3RlZF9z
Y3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dlYmdsX3NjcmlwdF9zb3VyY2UnLAog
ICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMnLAogICAgICAgICAnd2ViY29yZV9i
aW5kaW5nc19zb3VyY2VzJywKICAgICAgICAgJy4uLy4uL1RoaXJkUGFydHkvZ2x1L2dsdS5neXA6
bGlidGVzcycsCkBAIC0xNDcyLDkgKzE0OTcsOSBAQAogICAgICAgJ2RlcGVuZGVuY2llcyc6IFsK
ICAgICAgICAgJ3dlYmNvcmVfcHJlcmVxdWlzaXRlcycsCiAgICAgICBdLAotICAgICAgJ2RlZmlu
ZXMnOiBbIAotICAgICAgICAnV0VCS0lUX0lNUExFTUVOVEFUSU9OPTEnLCAKLSAgICAgIF0sIAor
ICAgICAgJ2RlZmluZXMnOiBbCisgICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsCisg
ICAgICBdLAogICAgICAgIyBUaGlzIGlzIG5lZWRlZCBmb3IgbWFjIGJlY2F1c2Ugb2Ygd2Via2l0
X3N5c3RlbV9pbnRlcmZhY2UuIEl0J2QgYmUgbmljZQogICAgICAgIyBpZiB0aGlzIGhhcmQgZGVw
ZW5kZW5jeSBjb3VsZCBiZSBzcGxpdCBvZmYgdGhlIHJlc3QuCiAgICAgICAnaGFyZF9kZXBlbmRl
bmN5JzogMSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAwMTMxY2Q0NGZmZDJiMmZjNmQwZWYxN2VhYWRl
YzQzNjlkNGQxMTY5Li5jODkxYzQ5NmU1ZGU3YTM4NGU3MDUyZWVmYTM3NzhlNzg1MmY4OTlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0yODE5LDYgKzI4MTksOSBAQAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9J
bnNwZWN0b3JWYWx1ZXMuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29y
a2VyUmVzb3VyY2UuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdl
bnQuY3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oJywK
KyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCcs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCcsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcCcsCkBAIC02NjQxLDcgKzY2NDQsNyBA
QAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNtYWxsR3Jh
eS5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNt
YWxsV2hpdGUucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9z
ZWFyY2hOZXh0LnBuZycsCi0gICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMv
c2VhcmNoUHJldi5wbmcnLCAgICAgICAgICAgIAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzL3NlYXJjaFByZXYucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJv
bnQtZW5kL0ltYWdlcy9zZWdtZW50LnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250
LWVuZC9JbWFnZXMvc2VnbWVudEVuZC5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzL3NlZ21lbnRIb3Zlci5wbmcnLApAQCAtNzIzOSw2ICs3MjQyLDcgQEAKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1l
cy5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSGVhZGVyRGV0ZWN0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCcsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVyLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggOGRmNzFlZTNiZWJmMTIxZjI4ZDQwMDZmYmM4
YTNkOWY3MmI1ODUyYi4uNGZkYTdhZDE4Y2Y4MjY4NzE3YTYyZWFlNWU2MzFiNzZkZTg5NjEzMyAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTU5
NCw2ICs1OTQsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgiCisJCQkJPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIu
Y3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTczOTk1LDYgKzczOTk5LDM0IEBACiAJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNw
ZWN0b3JXZWJHTEFnZW50LmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvcldlYkdMQWdlbnQuaCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAiCiAJ
CQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYwY2NhNzI1OWI4N2Q5MWY4NDBmN2Q1
MTA5YTUxZDFkZmMxYWMxN2QuLmM5ZjVlMDk3ZmRmNDgwYWZmMGUxOTlhOWZmYTQwNjIyZjk5ZDAw
ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTg0MDcsNiArODQwNyw5IEBACiAJCTQ5RUVEMTRDMTA1MTk3MUEwMDA5OUZBQiAv
KiBKU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5RUVEMTREMTA1MTk3MUEwMDA5OUZBQiAvKiBKU0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlGQzdBNEYxNDQ0QUY1RjAwQTVEODY0IC8qIERpc3BsYXlS
ZWZyZXNoTW9uaXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBE
aXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
OUZDODhCNTE1N0NCMEI5MDA2QUEyODcgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JXZWJHTEFnZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlGQzg4QjYxNTdDQjBCOTAwNkFBMjg3IC8q
IEluc3BlY3RvcldlYkdMQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SW5zcGVjdG9yV2ViR0xBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUZD
ODhCNzE1N0NCMEI5MDA2QUEyODcgLyogSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50
YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlGRkJGMUMxMUM4NTUwRTAw
NkE3MTE4IC8qIEdyYXBoaWNzQ29udGV4dDNETWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gR3JhcGhpY3NDb250ZXh0M0RNYWMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ5RkZCRjNEMTFDOTNFRTMwMDZBNzExOCAvKiBXZWJHTExheWVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdMTGF5ZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlGRkJGM0UxMUM5M0VFMzAwNkE3MTE4IC8qIFdlYkdMTGF5
ZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJHTExheWVy
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE0MzQsNiArMTE0MzcsOCBAQAog
CQlBQTA5NzhFRTBBQkFBNkUxMDA4NzQ0ODAgLyogQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTRDM0E3NDBCMkIxNjc5MDAyMzM0QTIgLyogU3R5
bGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHls
ZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTRDM0E3NTBCMkIx
Njc5MDAyMzM0QTIgLyogU3R5bGVFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTdHlsZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5
MDMwRkUxNTdFMTZBMDAwMjc2MjQ3IC8qIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQTkwMzBGRTE1N0UxNkEwMDAyNzYyNDcg
LyogSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2
YXNjcmlwdDsgcGF0aCA9IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanM7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUFBRjVCN0IxMTUyNEI0QkQwMDA0Q0I0OSAvKiBXZWJTb2NrZXRG
cmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJTb2NrZXRG
cmFtZS5jcHA7IHBhdGggPSBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0RnJhbWUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjIzQTMyNTA5QkJBN0QwMDA2N0NDNTMgLyog
QmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQUIyM0EzMjYwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRl
ZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCZWZvcmVUZXh0SW5z
ZXJ0ZWRFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQzMTYsNiArMTQz
MjEsNyBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQk3QTU2M0U1
NDEyREUzMkIwMDBGNDUzNkQgLyogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCAqLywKKwkJCQlBQTkw
MzBGRTE1N0UxNkEwMDAyNzYyNDcgLyogSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oICovLAog
CQkJCTRGNzA3QTk3MTFFRjY3OTQwMEFDREE2OSAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hl
ci5jcHAgKi8sCiAJCQkJNEY3MDdBOTgxMUVGNjc5NDAwQUNEQTY5IC8qIEluc3BlY3RvckJhY2tl
bmREaXNwYXRjaGVyLmggKi8sCiAJCQkJNEY0RjVGRkExMUNCRDJEMjAwQTE4NkJGIC8qIEluc3Bl
Y3RvckZyb250ZW5kLmNwcCAqLywKQEAgLTE0MzYxLDYgKzE0MzY3LDcgQEAKIAkJCQlGMzE2Mzk2
OTEzMjk0ODFBMDBBNjQ5Q0IgLyogSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCAqLywKIAkJCQlG
MzE2Mzk2QTEzMjk0ODFBMDBBNjQ5Q0IgLyogSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggKi8sCiAJ
CQkJN0E1NjNGOTUxMkRGNUM5MTAwRjQ1MzZEIC8qIEluamVjdGVkU2NyaXB0U291cmNlLmpzICov
LAorCQkJCUFBOTAzMEZFMTU3RTE2QTAwMDI3NjI0NyAvKiBJbmplY3RlZFdlYkdMU2NyaXB0U291
cmNlLmpzICovLAogCQkJCTFDNDM1Q0Q0MTRFODU0NUIwMDRFMTBFQSAvKiBJbnNwZWN0b3ItMC4x
Lmpzb24gKi8sCiAJCQkJMUM0MzVDRDUxNEU4NTQ1QjAwNEUxMEVBIC8qIEluc3BlY3Rvci0xLjAu
anNvbiAqLywKIAkJCQkxQzQzNUNEMzE0RTg1NDRGMDA0RTEwRUEgLyogSW5zcGVjdG9yLmpzb24g
Ki8sCkBAIC0xNDQzMiw2ICsxNDQzOSw5IEBACiAJCQkJNzU0MTMzQTcxMDJFMDBFODAwMDc1RDAw
IC8qIEluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCAqLywKIAkJCQk0RjMyODlCMzExQTQyQUFCMDA1
QUJFN0UgLyogSW5zcGVjdG9yVmFsdWVzLmNwcCAqLywKIAkJCQk0RjMyODlCNDExQTQyQUFCMDA1
QUJFN0UgLyogSW5zcGVjdG9yVmFsdWVzLmggKi8sCisJCQkJNDlGQzg4QjUxNTdDQjBCOTAwNkFB
Mjg3IC8qIEluc3BlY3RvcldlYkdMQWdlbnQuY3BwICovLAorCQkJCTQ5RkM4OEI2MTU3Q0IwQjkw
MDZBQTI4NyAvKiBJbnNwZWN0b3JXZWJHTEFnZW50LmggKi8sCisJCQkJNDlGQzg4QjcxNTdDQjBC
OTAwNkFBMjg3IC8qIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggKi8sCiAJCQkJRjM4
MTBDMTkxMzY1QTQ5NjAwRUQ2RTMzIC8qIEluc3BlY3RvcldvcmtlckFnZW50LmNwcCAqLywKIAkJ
CQlGMzgxMEMxQTEzNjVBNDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuaCAqLywK
IAkJCQlGMzc1Q0MwNjExNTBEMzAwMDA4RERCODEgLyogSW5zcGVjdG9yV29ya2VyUmVzb3VyY2Uu
aCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZh
c0VsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2Fu
dmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggZDVmYzNjZTk2MzYzZGM1MTI2ODRmMmY0MDcxYTQy
NDg1ZWFjMDYxOC4uYTcyYWYxMDYyOTQ1N2JlZjNmZTk4NTRjMGM0YmIzNGQwNjk4MTM1ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxl
bWVudEN1c3RvbS5jcHAKQEAgLTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAog
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAog
I2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtMzEsNyArMzEsOSBAQAogI2luY2x1ZGUgIkhUTUxDYW52
YXNFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCIKICNp
ZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24u
aCIKICNpbmNsdWRlICJKU1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgorI2luY2x1ZGUgIlNjcmlw
dE9iamVjdC5oIgogI2luY2x1ZGUgIldlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaCIKICNlbmRpZgog
I2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KQEAgLTc1LDcgKzc3LDE2IEBAIEpTVmFsdWUgSlNIVE1M
Q2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dCogY29udGV4dCA9IGNhbnZhcy0+Z2V0Q29udGV4dCh1c3RyaW5nVG9TdHJp
bmcoY29udGV4dElkKSwgYXR0cnMuZ2V0KCkpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAg
cmV0dXJuIGpzTnVsbCgpOwotICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBX
VEY6OmdldFB0cihjb250ZXh0KSk7CisgICAgSlNWYWx1ZSBqc1ZhbHVlID0gdG9KUyhleGVjLCBn
bG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoY29udGV4dCkpOworI2lmIEVOQUJMRShXRUJHTCkK
KyAgICBpZiAoY29udGV4dC0+aXMzZCgpICYmIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFz
RnJvbnRlbmRzKCkpIHsKKyAgICAgICAgU2NyaXB0T2JqZWN0IGdsQ29udGV4dChleGVjLCBqc1Zh
bHVlLmdldE9iamVjdCgpKTsKKyAgICAgICAgU2NyaXB0T2JqZWN0IHdyYXBwZWQgPSBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50
YXRpb24oY2FudmFzLT5kb2N1bWVudCgpLCBnbENvbnRleHQpOworICAgICAgICBpZiAoIXdyYXBw
ZWQuaGFzTm9WYWx1ZSgpKQorICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQuanNWYWx1ZSgpOwor
ICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBqc1ZhbHVlOwogfQogCiBKU1ZhbHVlIEpTSFRNTENh
bnZhc0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCkBAIC05Myw3ICsxMDQsNyBA
QCBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMp
CiAgICAgICAgICAgICBxdWFsaXR5UHRyID0gJnF1YWxpdHk7CiAgICAgICAgIH0KICAgICB9Ci0g
ICAgCisKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzU3RyaW5nKGV4ZWMsIGNhbnZhcy0+dG9EYXRh
VVJMKHR5cGUsIHF1YWxpdHlQdHIsIGVjKSk7CiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVj
KTsKICAgICByZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDE1NzZkMzQ2ZDA2ZGNhNTBj
ODRmODNlNWZiOTZkZDYxYWY1OWQ2NzAuLjgwYjRlNzg5MDY0ZDc0OWUxYmFkN2Y0YjA3MWQ2NWYx
YzA4NGViZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lu
amVjdGVkU2NyaXB0TWFuYWdlci5jcHAKQEAgLTc4LDYgKzc4LDE0IEBAIFNjcmlwdE9iamVjdCBJ
bmplY3RlZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUluamVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYg
c291cmNlLCBTCiAgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOwogfQogCisjaWYgRU5BQkxFKFdF
QkdMKQorU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0V2ViR0xTY3Jp
cHQoY29uc3QgU3RyaW5nJiwgU2NyaXB0T2JqZWN0KQoreworICAgIC8vIEZJWE1FKDg3OTc1KTog
SW1wbGVtZW50IHRoaXMhCisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQorI2VuZGlmCisK
IHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0
U3RhdGUqIHNjcmlwdFN0YXRlKQogewogICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihzY3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcApp
bmRleCBjMTlmYjk4OTJiZGM4YTk3NjRkZjdlM2FiYmY3OTliMTVkYmI2ODE0Li5lMjFjNmNhY2U3
NTE3ZDk0MDRjOWI5YmM0YzAzZWQzODcxYzMyNDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0U3RhdGUuY3BwCkBAIC05MCw3ICs5MCw3IEBAIFNjcmlwdFN0YXRlKiBTY3Jp
cHRTdGF0ZTo6Zm9yQ29udGV4dCh2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQpCiAKICAg
ICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAg
Ly8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2Ug
bmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1l
IGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4g
b2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3Rl
ZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9i
YWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0g
VjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OnNjcmlwdFN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1
c3RvbS5jcHAKaW5kZXggMjBkYjUzZDY0ZWMxMDE5YmYxMGQzYzQyYzc4ZWY3MDAyOWYyOWQ3OC4u
ZTE5ODk2ZmVlMDIwMWIxYjU0YjM1NWQ5ZDBjYjIxODNmZDI3ODllNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNF
bGVtZW50Q3VzdG9tLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlY4Tm9kZS5oIgog
I2luY2x1ZGUgIlY4UHJveHkuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVj
dG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29u
dGV4dC5oIgogI2VuZGlmCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTg4LDggKzg5
LDE3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250
ZXh0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50CiAgICAgaWYgKHJlc3VsdC0+aXMyZCgpKQog
ICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQq
PihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CiAjaWYgRU5BQkxFKFdFQkdMKQotICAgIGVs
c2UgaWYgKHJlc3VsdC0+aXMzZCgpKQotICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxX
ZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAg
ZWxzZSBpZiAocmVzdWx0LT5pczNkKCkpIHsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHY4UmVzdWx0ID0gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1
bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIGlmIChJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246Omhhc0Zyb250ZW5kcygpKSB7CisgICAgICAgICAgICBTY3JpcHRTdGF0ZSogc2NyaXB0
U3RhdGUgPSBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCh2ODo6Q29udGV4dDo6R2V0Q3VycmVudCgp
KTsKKyAgICAgICAgICAgIFNjcmlwdE9iamVjdCBnbENvbnRleHQoc2NyaXB0U3RhdGUsIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD46OkNhc3QodjhSZXN1bHQpKTsKKyAgICAgICAgICAgIFNjcmlwdE9i
amVjdCB3cmFwcGVkID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJp
bmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGltcC0+ZG9jdW1lbnQoKSwgZ2xDb250ZXh0KTsK
KyAgICAgICAgICAgIGlmICghd3JhcHBlZC5oYXNOb1ZhbHVlKCkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIHdyYXBwZWQudjhWYWx1ZSgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiB2OFJl
c3VsdDsKKyAgICB9CiAjZW5kaWYKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1
cm4gdjg6Ok51bGwoYXJncy5HZXRJc29sYXRlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAK
aW5kZXggMzMzZmU1NzVjYjA3OGExMjc1NjdjNjVjMmM1MWRjZjdhNDZkMWMyMy4uMWNlNTk1ZWM4
MDc0YzEyNzJiYzY5MmZkNjE5MDlkZmVhYmVkOTU5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwCkBAIC0xMTAsMTAgKzExMCwzNCBAQCBTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNvdQogICAgICAg
djg6Ok51bWJlcjo6TmV3KGlkKSwKICAgICB9OwogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGlu
amVjdGVkU2NyaXB0VmFsdWUgPSB2ODo6RnVuY3Rpb246OkNhc3QoKnYpLT5DYWxsKHdpbmRvd0ds
b2JhbCwgMywgYXJncyk7Ci0gICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGluamVjdGVkU2NyaXB0
KHY4OjpPYmplY3Q6OkNhc3QoKmluamVjdGVkU2NyaXB0VmFsdWUpKTsKLSAgICByZXR1cm4gU2Ny
aXB0T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRlLCBpbmplY3RlZFNjcmlwdCk7CisgICAgcmV0
dXJuIFNjcmlwdE9iamVjdChpbnNwZWN0ZWRTY3JpcHRTdGF0ZSwgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0Pjo6Q2FzdChpbmplY3RlZFNjcmlwdFZhbHVlKSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wp
CitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RXZWJHTFNjcmlwdChj
b25zdCBTdHJpbmcmIHNjcmlwdFNvdXJjZSwgU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAg
ICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CisKKyAgICBTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2Ny
aXB0U3RhdGUgPSBnbENvbnRleHQuc2NyaXB0U3RhdGUoKTsKKyAgICB2ODo6TG9jYWw8djg6OkNv
bnRleHQ+IGluc3BlY3RlZENvbnRleHQgPSBpbnNwZWN0ZWRTY3JpcHRTdGF0ZS0+Y29udGV4dCgp
OworICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUoaW5zcGVjdGVkQ29udGV4dCk7
CisKKyAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gd2luZG93R2xvYmFsID0gaW5zcGVjdGVkQ29u
dGV4dC0+R2xvYmFsKCk7CisKKyAgICB2ODo6TG9jYWw8djg6OlNjcmlwdD4gc2NyaXB0ID0gdjg6
OlNjcmlwdDo6Q29tcGlsZSh2OFN0cmluZyhzY3JpcHRTb3VyY2UpKTsKKyAgICBWOFJlY3Vyc2lv
blNjb3BlOjpNaWNyb3Rhc2tTdXBwcmVzc2lvbiByZWN1cnNpb25TY29wZTsKKyAgICB2ODo6TG9j
YWw8djg6OlZhbHVlPiB2ID0gc2NyaXB0LT5SdW4oKTsKKyAgICBBU1NFUlQoIXYuSXNFbXB0eSgp
KTsKKyAgICBBU1NFUlQodi0+SXNGdW5jdGlvbigpKTsKKworICAgIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBhcmdzW10gPSB7CisgICAgICAgIGdsQ29udGV4dC52OFZhbHVlKCksCisgICAgfTsKKyAg
ICB2ODo6TG9jYWw8djg6OlZhbHVlPiBpbmplY3RlZFNjcmlwdFZhbHVlID0gdjg6OkZ1bmN0aW9u
OjpDYXN0KCp2KS0+Q2FsbCh3aW5kb3dHbG9iYWwsIDEsIGFyZ3MpOworICAgIHJldHVybiBTY3Jp
cHRPYmplY3QoaW5zcGVjdGVkU2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNh
c3QoaW5qZWN0ZWRTY3JpcHRWYWx1ZSkpOworfQorI2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNj
cmlwdFN0YXRlKQogewogICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKQEAgLTEyMiw3
ICsxNDYsNyBAQCB2b2lkIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2Ny
aXB0KFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTY3JpcHRTdAogCiAgICAgdjg6OkxvY2FsPHY4OjpP
YmplY3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2JhbCgpOwogICAgIC8vIFNraXAgcHJveHkgb2Jq
ZWN0LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vydml2ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUg
d2UgbmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb25zaWRlcyB3aXRoIHRo
YXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgorICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZl
dGltZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KICAgICBn
bG9iYWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46OkNhc3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUo
KSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGtleSA9IFY4SGlkZGVuUHJvcGVydHlO
YW1lOjpkZXZ0b29sc0luamVjdGVkU2NyaXB0KCk7CkBAIC0xMzcsNyArMTYxLDcgQEAgSW5qZWN0
ZWRTY3JpcHQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcihTY3JpcHRT
dGF0ZSogaW5zcGVjdGVkU2MKIAogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBj
b250ZXh0LT5HbG9iYWwoKTsKICAgICAvLyBTa2lwIHByb3h5IG9iamVjdC4gVGhlIHByb3h5IG9i
amVjdCB3aWxsIHN1cnZpdmUgcGFnZSBuYXZpZ2F0aW9uIHdoaWxlIHdlIG5lZWQKLSAgICAvLyBh
biBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29uc2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0
ZWQgY29udGV4dC4KKyAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29pbmNpZGVzIHdp
dGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCiAgICAgZ2xvYmFsID0gdjg6OkxvY2Fs
PHY4OjpPYmplY3Q+OjpDYXN0KGdsb2JhbC0+R2V0UHJvdG90eXBlKCkpOwogCiAgICAgdjg6Okhh
bmRsZTx2ODo6U3RyaW5nPiBrZXkgPSBWOEhpZGRlblByb3BlcnR5TmFtZTo6ZGV2dG9vbHNJbmpl
Y3RlZFNjcmlwdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVH
ZW5lcmF0b3JJbnNwZWN0b3IucHkgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVy
YXRvckluc3BlY3Rvci5weQppbmRleCBlOWQzNzNiMDFlMDM1ZDViNDRmNjI3NjNjMDY0ODYwNzE1
ZmEyNzQ2Li4zNDUzMTNkNDRjMmUzMjlmZDg0ZTAyYmJkMTVlZTc3M2Q1ZGI0N2M1IDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQpA
QCAtNDYsNiArNDYsNyBAQCBET01BSU5fREVGSU5FX05BTUVfTUFQID0gewogICAgICJJbmRleGVk
REIiOiAiSU5ERVhFRF9EQVRBQkFTRSIsCiAgICAgIlByb2ZpbGVyIjogIkpBVkFTQ1JJUFRfREVC
VUdHRVIiLAogICAgICJXb3JrZXIiOiAiV09SS0VSUyIsCisgICAgIldlYkdMIjogIldFQkdMIiwK
IH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1h
bmFnZXIuY3BwCmluZGV4IGU0MDZjNGE4ZTE1ODUwNjg2Zjc2NjRiMmM1ZGZmZWZjYjhhOTJkMmIu
LjMxZmY5ZjQxYzYwNjYyYTY0MjY0YWFkZTc1ZmI3Y2U3ZGE4ZGNiN2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0zNyw3
ICszNywxMSBAQAogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAiSW5qZWN0
ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCIKKyNpZiBF
TkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIgorI2Vu
ZGlmCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0
LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0
cmFzLmg+CiAKQEAgLTE3Miw2ICsxNzYsMTggQEAgcGFpcjxpbnQsIFNjcmlwdE9iamVjdD4gSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UKICAg
ICByZXR1cm4gc3RkOjptYWtlX3BhaXIoaWQsIGNyZWF0ZUluamVjdGVkU2NyaXB0KHNvdXJjZSwg
c2NyaXB0U3RhdGUsIGlkKSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3Qg
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1
bWVudGF0aW9uKFNjcmlwdE9iamVjdCBnbENvbnRleHQpCit7CisgICAgcmV0dXJuIGluamVjdFdl
YkdMU2NyaXB0KGluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UoKSwgZ2xDb250ZXh0KTsKK30KKwor
U3RyaW5nIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgp
Cit7CisgICAgcmV0dXJuIFN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihJbmpl
Y3RlZFdlYkdMU2NyaXB0U291cmNlX2pzKSwgc2l6ZW9mKEluamVjdGVkV2ViR0xTY3JpcHRTb3Vy
Y2VfanMpKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAv
LyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0TWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0TWFuYWdlci5oCmluZGV4IGE5YmRjYTUyZmNiYzIyN2FiMjkxYWI3NGE2ZWI4OTE4
ZjA0YmQ4ZTQuLjYxM2ZlZjgxMjM4YTQwOTE4YTg2MzI4NDkwY2FjMDE1Nzk0MzNiNGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKQEAg
LTcsMTMgKzcsMTMgQEAKICAqIGFyZSBtZXQ6CiAgKgogICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCiAgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICAqIDMuICBOZWl0aGVyIHRoZSBu
YW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAg
KiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgogICoKICAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZCiAgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC02NCw2ICs2NCw5IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGRpc2NhcmRJbmplY3RlZFNjcmlwdHNGb3IoRE9NV2luZG93Kik7CiAgICAgdm9p
ZCByZWxlYXNlT2JqZWN0R3JvdXAoY29uc3QgU3RyaW5nJiBvYmplY3RHcm91cCk7CiAKKyNpZiBF
TkFCTEUoV0VCR0wpCisgICAgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRG
b3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0KTsKKyNlbmRpZgogCiBwcml2YXRlOgogICAg
IHR5cGVkZWYgYm9vbCAoKkluc3BlY3RlZFN0YXRlQWNjZXNzQ2hlY2spKFNjcmlwdFN0YXRlKik7
CkBAIC03Myw2ICs3NiwxMSBAQCBwcml2YXRlOgogICAgIFNjcmlwdE9iamVjdCBjcmVhdGVJbmpl
Y3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgU2NyaXB0U3RhdGUqLCBpbnQgaWQpOwog
ICAgIHZvaWQgZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKik7CiAKKyNpZiBFTkFC
TEUoV0VCR0wpCisgICAgU3RyaW5nIGluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UoKTsKKyAgICBT
Y3JpcHRPYmplY3QgaW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFNjcmlw
dE9iamVjdCk7CisjZW5kaWYKKwogICAgIHN0YXRpYyBib29sIGNhbkFjY2Vzc0luc3BlY3RlZFdp
bmRvdyhTY3JpcHRTdGF0ZSopOwogICAgIHN0YXRpYyBib29sIGNhbkFjY2Vzc0luc3BlY3RlZFdv
cmtlckNvbnRleHQoU2NyaXB0U3RhdGUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YTU1NTRk
MzEyYTBlZjBhMzEyMmY1OGVjNTFlYzJkZGFkN2RiMDJiCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMKQEAgLTAs
MCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyhmdW5jdGlvbihnbENvbnRleHQpIHsKKworLy8gRklYTUU6IFdyYXAgV2ViR0wg
Y29udGV4dCBmb3IgaW5zdHJ1bWVudGF0aW9uLgorcmV0dXJuIGdsQ29udGV4dDsKKworfSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCBjOTkxMTYwOGM0ZThjZGJh
YWI2OTdlMDU3M2RlM2U3NGRlNDBiYjUxLi4wNDJiZThmNmYzZTAyZjNkYmEzNTM3YTg5YzZjN2Nl
ZjdlYmFhYjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Lmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0y
ODExLDUgKzI4MTEsMjEgQEAKICAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNjb25uZWN0ZWRG
cm9tV29ya2VyIgogICAgICAgICAgICAgfQogICAgICAgICBdCisgICAgfSwKKyAgICB7CisgICAg
ICAgICJkb21haW4iOiAiV2ViR0wiLAorICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKKyAgICAgICAg
InR5cGVzIjogW10sCisgICAgICAgICJjb21tYW5kcyI6IFsKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAibmFtZSI6ICJlbmFibGUiLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJFbmFibGVzIFdlYkdMIGluc3BlY3Rpb24uIgorICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNhYmxlIiwKKyAgICAgICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAiRGlzYWJsZXMgV2ViR0wgaW5zcGVjdGlvbi4iCisgICAgICAgICAg
ICB9CisgICAgICAgIF0sCisgICAgICAgICJldmVudHMiOiBbXQogICAgIH1dCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAppbmRleCBiMTIyMzA0
MzIzM2Y5ZDQ0N2E1ZDNhYjU1MTEwNjY5NTllZmJlNjIxLi5iZTkyYTEzZmM3YjNjZDg1NjEzNjM4
ZTYxODg3N2M4MmZiMmMzOWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JBbGxJbk9uZS5jcHAKQEAgLTY1LDYgKzY1LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JT
dHlsZVRleHRFZGl0b3IuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuY3Bw
IgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5jcHAiCisjaW5jbHVkZSAiSW5zcGVjdG9yV2Vi
R0xBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIgogI2luY2x1
ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuY3BwIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZXNE
YXRhLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9s
bGVyLmNwcAppbmRleCA0NmUwYzJiOGM1NGY0YjQyMGMyMzY4NGM3YmUzYTc1M2E0NWJiNzY5Li5h
YzE5YzdkYjk1M2QyNDU4MzljYWRmYTMyODZlZjY4YjUyOTYyZWYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC02MSw2ICs2MSw3
IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIgorI2luY2x1
ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JXb3JrZXJBZ2Vu
dC5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKICNpbmNsdWRlICJQYWdlQ29u
c29sZUFnZW50LmgiCkBAIC0xNDQsNiArMTQ1LDEwIEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Oklu
c3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JD
CiAgICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3RvcldvcmtlckFnZW50OjpjcmVhdGUobV9pbnN0
cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpKSk7CiAjZW5kaWYKIAorI2lmIEVO
QUJMRShXRUJHTCkKKyAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yV2ViR0xBZ2VudDo6Y3Jl
YXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSwgbV9pbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKTsKKyNlbmRpZgorCiAgICAgQVNTRVJUX0FSRyhpbnNwZWN0
b3JDbGllbnQsIGluc3BlY3RvckNsaWVudCk7CiAgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIt
PmluamVjdGVkU2NyaXB0SG9zdCgpLT5pbml0KG1faW5zcGVjdG9yQWdlbnQKICAgICAgICAgLCBj
b25zb2xlQWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaAppbmRleCBjYTk1MGJhZjcwZDE3Njg1NmMzY2U2ODczMGQyOWQ4MWJj
ZGMxOGYyLi40ZWJhNGIzYzBhNTIzYWZkZmQzOWExMmNmMzI5YmE3NjA3OTZlNzk5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
CkBAIC02OCw2ICs2OCw3IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBTY3JpcHRB
cmd1bWVudHM7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OworY2xhc3MgU2NyaXB0T2JqZWN0OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIGNsYXNz
IFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU2hhZG93Um9vdDsKQEAgLTIzNiw2ICsyMzcsMTAgQEAg
cHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUVycm9yKERv
Y3VtZW50KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVz
c2FnZSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBzdGF0aWMgU2NyaXB0T2Jq
ZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oRG9jdW1lbnQq
LCBTY3JpcHRPYmplY3QpOworI2VuZGlmCisKICAgICBzdGF0aWMgdm9pZCBuZXR3b3JrU3RhdGVD
aGFuZ2VkKFBhZ2UqKTsKICAgICBzdGF0aWMgdm9pZCB1cGRhdGVBcHBsaWNhdGlvbkNhY2hlU3Rh
dHVzKEZyYW1lKik7CiAKQEAgLTk3NSw3ICs5ODAsNyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKFBhZ2UqIHBhZ2UsIHVuc2lnbmVk
CiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQot
ICAgICAgICBtYXJrUmVzb3VyY2VBc0NhY2hlZEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaWRl
bnRpZmllcik7IAorICAgICAgICBtYXJrUmVzb3VyY2VBc0NhY2hlZEltcGwoaW5zdHJ1bWVudGlu
Z0FnZW50cywgaWRlbnRpZmllcik7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhZWEwYWEzODdj
ZGI3ODRjNWNiZDI2YTRmOThiNjhhMmNiM2UzMGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAKQEAgLTAsMCArMSwxMDQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUo
V0VCR0wpCisKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50LmgiCisKKyNpbmNsdWRlICJJ
bmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgor
I2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCisjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50
cy5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgorI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworbmFtZXNwYWNlIFdlYkdMQWdlbnRTdGF0ZSB7Citz
dGF0aWMgY29uc3QgY2hhciB3ZWJHTEFnZW50RW5hYmxlZFtdID0gIndlYkdMQWdlbnRFbmFibGVk
IjsKK307CisKK0luc3BlY3RvcldlYkdMQWdlbnQ6Okluc3BlY3RvcldlYkdMQWdlbnQoSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRl
LCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IElu
c3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JXZWJHTEFnZW50PigiV2ViR0wiLCBpbnN0cnVtZW50
aW5nQWdlbnRzLCBzdGF0ZSkKKyAgICAsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKGluamVjdGVk
U2NyaXB0TWFuYWdlcikKKyAgICAsIG1fZnJvbnRlbmQoMCkKKyAgICAsIG1fZW5hYmxlZChmYWxz
ZSkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvcldlYkdMQWdlbnQo
dGhpcyk7Cit9CisKK0luc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50KCkK
K3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvcldlYkdMQWdlbnQoMCk7
Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6c2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJv
bnRlbmQqIGZyb250ZW5kKQoreworICAgIEFTU0VSVChmcm9udGVuZCk7CisgICAgbV9mcm9udGVu
ZCA9IGZyb250ZW5kLT53ZWJnbCgpOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OmNs
ZWFyRnJvbnRlbmQoKQoreworICAgIG1fZnJvbnRlbmQgPSAwOworICAgIGRpc2FibGUoMCk7Cit9
CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSgpCit7CisgICAgbV9lbmFibGVk
ID0gbV9zdGF0ZS0+Z2V0Qm9vbGVhbihXZWJHTEFnZW50U3RhdGU6OndlYkdMQWdlbnRFbmFibGVk
KTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUoRXJyb3JTdHJpbmcqKQor
eworICAgIGlmIChtX2VuYWJsZWQpCisgICAgICAgIHJldHVybjsKKyAgICBtX2VuYWJsZWQgPSB0
cnVlOworICAgIG1fc3RhdGUtPnNldEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50
RW5hYmxlZCwgbV9lbmFibGVkKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpkaXNh
YmxlKEVycm9yU3RyaW5nKikKK3sKKyAgICBpZiAoIW1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJu
OworICAgIG1fZW5hYmxlZCA9IGZhbHNlOworICAgIG1fc3RhdGUtPnNldEJvb2xlYW4oV2ViR0xB
Z2VudFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCwgbV9lbmFibGVkKTsKK30KKworU2NyaXB0T2Jq
ZWN0IEluc3BlY3RvcldlYkdMQWdlbnQ6OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0
cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAgICByZXR1cm4gbV9pbmpl
Y3RlZFNjcmlwdE1hbmFnZXItPndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50
YXRpb24oZ2xDb250ZXh0KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDBkMDhjYTJjZDdl
MDAyMmQ5NjA5M2YyMGQ2ZmNiNGNhZGY4MzdkNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgKQEAgLTAsMCArMSw4OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgSW5zcGVjdG9yV2ViR0xBZ2VudF9oCisjZGVmaW5lIEluc3BlY3RvcldlYkdMQWdlbnRf
aAorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAi
SW5zcGVjdG9yQmFzZUFnZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKKyNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEluamVjdGVkU2NyaXB0TWFuYWdlcjsKK2NsYXNz
IEluc3BlY3RvclN0YXRlOworY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKK2NsYXNzIFNjcmlw
dE9iamVjdDsKKwordHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CisKK2NsYXNzIEluc3BlY3Rv
cldlYkdMQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvcldlYkdMQWdl
bnQ+LCBwdWJsaWMgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OldlYkdMQ29tbWFuZEhhbmRs
ZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvcldlYkdMQWdlbnQ+
IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0
b3JTdGF0ZSogc3RhdGUsIEluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JXZWJHTEFn
ZW50KGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlLCBpbmplY3RlZFNjcmlwdE1hbmFnZXIpKTsK
KyAgICB9CisgICAgfkluc3BlY3RvcldlYkdMQWdlbnQoKTsKKworICAgIHZpcnR1YWwgdm9pZCBz
ZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCopOworICAgIHZpcnR1YWwgdm9pZCBjbGVhckZy
b250ZW5kKCk7CisgICAgdmlydHVhbCB2b2lkIHJlc3RvcmUoKTsKKworICAgIGJvb2wgZW5hYmxl
ZCgpIHsgcmV0dXJuIG1fZW5hYmxlZDsgfQorCisgICAgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJl
bmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0KTsKKworICAgIC8v
IENhbGxlZCBmcm9tIHRoZSBmcm9udC1lbmQuCisgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJv
clN0cmluZyopOworICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKik7CisKKyAg
ICAvLyBDYWxsZWQgZnJvbSB0aGUgaW5qZWN0ZWQgc2NyaXB0LgorCisgICAgLy8gQ2FsbGVkIGZy
b20gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uCisKK3ByaXZhdGU6CisgICAgSW5zcGVjdG9yV2Vi
R0xBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yU3RhdGUqLCBJbmplY3RlZFNj
cmlwdE1hbmFnZXIqKTsKKworICAgIEluamVjdGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNj
cmlwdE1hbmFnZXI7CisgICAgSW5zcGVjdG9yRnJvbnRlbmQ6OldlYkdMKiBtX2Zyb250ZW5kOwor
ICAgIGJvb2wgbV9lbmFibGVkOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQorCisjZW5kaWYgLy8gIWRl
ZmluZWQoSW5zcGVjdG9yV2ViR0xBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
MzI5N2NiNWNiYmY4ZTE5ZTBkMjhjYTExOTY2OTY0NGYzZTA1NWU1Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9u
LmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb25f
aAorI2RlZmluZSBJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbl9oCisKKyNpbmNsdWRlICJJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50
LmgiCisjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgorI2luY2x1ZGUgIlNjcmlwdE9i
amVjdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3Jp
cHRPYmplY3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250
ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKERvY3VtZW50KiBkb2N1bWVudCwgU2NyaXB0T2JqZWN0IGds
Q29udGV4dCkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIGlmIChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3Vt
ZW50KGRvY3VtZW50KSkgeworICAgICAgICBJbnNwZWN0b3JXZWJHTEFnZW50KiB3ZWJHTEFnZW50
ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yV2ViR0xBZ2VudCgpOworICAgICAgICBp
ZiAod2ViR0xBZ2VudCAmJiB3ZWJHTEFnZW50LT5lbmFibGVkKCkpCisgICAgICAgICAgICByZXR1
cm4gd2ViR0xBZ2VudC0+d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bihnbENvbnRleHQpOworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBTY3JpcHRPYmplY3QoKTsK
K30KKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAppbmRleCAxOTRl
Yjg2NWVjNzVhNjZmZWZiNGI3MjQ2ZjAwOGE4MzhhODhhYWJjLi4xMzM0ZGM3ZDZkYjdlZGIzOTA4
NmI5NmUzYzc4NjRjYTE3OGYzNDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTUyLDYgKzUyLDcgQEAgY2xhc3MgSW5zcGVjdG9yUmVz
b3VyY2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudDsKIGNsYXNzIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JXb3JrZXJBZ2VudDsKK2NsYXNzIEluc3Bl
Y3RvcldlYkdMQWdlbnQ7CiBjbGFzcyBQYWdlOwogY2xhc3MgUGFnZVJ1bnRpbWVBZ2VudDsKIGNs
YXNzIFdvcmtlckNvbnRleHQ7CkBAIC04Niw2ICs4Nyw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUo
V09SS0VSUykKICAgICAgICAgLCBtX2luc3BlY3RvcldvcmtlckFnZW50KDApCiAjZW5kaWYKKyNp
ZiBFTkFCTEUoV0VCR0wpCisgICAgICAgICwgbV9pbnNwZWN0b3JXZWJHTEFnZW50KDApCisjZW5k
aWYKICAgICB7IH0KICAgICB+SW5zdHJ1bWVudGluZ0FnZW50cygpIHsgfQogCkBAIC0xNDIsMTEg
KzE0NiwxNyBAQCBwdWJsaWM6CiAgICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogaW5zcGVjdG9y
UHJvZmlsZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yUHJvZmlsZXJBZ2VudDsg
fQogICAgIHZvaWQgc2V0SW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJbnNwZWN0b3JQcm9maWxlckFn
ZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQgPSBhZ2VudDsgfQogI2VuZGlm
CisKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICBJbnNwZWN0b3JXb3JrZXJBZ2VudCogaW5zcGVj
dG9yV29ya2VyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvcldvcmtlckFnZW50OyB9
CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JXb3JrZXJBZ2VudChJbnNwZWN0b3JXb3JrZXJBZ2VudCog
YWdlbnQpIHsgbV9pbnNwZWN0b3JXb3JrZXJBZ2VudCA9IGFnZW50OyB9CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShXRUJHTCkKKyAgICBJbnNwZWN0b3JXZWJHTEFnZW50KiBpbnNwZWN0b3JXZWJHTEFn
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JXZWJHTEFnZW50OyB9CisgICAgdm9pZCBz
ZXRJbnNwZWN0b3JXZWJHTEFnZW50KEluc3BlY3RvcldlYkdMQWdlbnQqIGFnZW50KSB7IG1faW5z
cGVjdG9yV2ViR0xBZ2VudCA9IGFnZW50OyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBJbnNw
ZWN0b3JBZ2VudCogbV9pbnNwZWN0b3JBZ2VudDsKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1f
aW5zcGVjdG9yUGFnZUFnZW50OwpAQCAtMTczLDYgKzE4Myw5IEBAIHByaXZhdGU6CiAjaWYgRU5B
QkxFKFdPUktFUlMpCiAgICAgSW5zcGVjdG9yV29ya2VyQWdlbnQqIG1faW5zcGVjdG9yV29ya2Vy
QWdlbnQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgSW5zcGVjdG9yV2ViR0xBZ2Vu
dCogbV9pbnNwZWN0b3JXZWJHTEFnZW50OworI2VuZGlmCiB9OwogCiBJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50YXRpb25Gb3JQYWdlKFBhZ2UqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145770</attachid>
            <date>2012-06-05 05:51:03 -0700</date>
            <delta_ts>2012-06-06 01:49:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120605165101.patch</filename>
            <type>text/plain</type>
            <size>57435</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVjOGRlMmRmODgwNjYy
NDUxOWQ3ZjFhMmM0YTJmMzUwMjZiYWRhOC4uMjlkYjdlNDRkNGE4NDM4NjM1ZDU2YjY3NzI2YWE5
MmRlYTRhZTc3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA2LTAzICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNv
cmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1M
Q2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0
V2ViR0xTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpk
aXNjYXJkSW5qZWN0ZWRTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0NvZGVHZW5l
cmF0b3JJbnNwZWN0b3IucHk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVk
U2NyaXB0TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaDoKKyAgICAgICAgKEluamVjdGVkU2NyaXB0TWFuYWdlcik6CisgICAgICAgICogaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNo
ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkdMQWdlbnRTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0
aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJH
TFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAg
ICAoSW5zdHJ1bWVudGluZ0FnZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5n
QWdlbnRzOjppbnNwZWN0b3JXZWJHTEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6OnNldEluc3BlY3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERh
dGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpIHNob3VsZCBzeW5jaHJvbm91c2x5IHJl
dHVybiBlbnRyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjZWIxZGI0MDZjYjBhZTQ2OTcxNzlj
NmViZWI2NTRmZDRiZGEyMzBhLi5kYzNkNzAzYzc3YjgxNGZjMjJhN2UxZThiNjJjNzViNjA3ZjNk
NDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTYyLDYgKzk2Miw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5j
cHAKQEAgLTE2OTMsNyArMTY5NCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAg
ICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAg
TW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAor
CiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3
b3JraW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVs
ZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjYwNCw2ICsyNjA1
LDE3IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAk
e0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAog
CisjIEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJH
TCkKKyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09V
UkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1B
SU5fREVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAg
ICAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3Iv
eHhkLnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09S
RV9ESVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAg
ICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNI
X1RPT0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNw
cCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAyZmM5ZjE4NjUyMjQzNGYz
ZDJmYWUxMjMzY2U3N2U3YTk1YTE0MC4uMGVkZjIyMTQ1ZTI3YmMyZjg3YjJmMTYzNDJiMWRkOWRm
MjBjYWUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAog
IyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFj
ayA8Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFy
ZSBtZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAor
IyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03
ODAsMTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQo
UFJPSkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZp
bmRzdHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAg
IFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQo
V2ViQ29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChV
U0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAog
aWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5B
QkxFX01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtl
X25hbWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdz
L3NjcmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0t
LS0tLS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAog
RXZlbnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9t
YWtlX2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBA
QCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5o
IEV4Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9z
Y3JpcHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0t
LS0tLS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVu
dCBmYWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBk
b20vbWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpA
QCAtOTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3Rl
ZFNjcmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29y
ZSkvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAK
K2FsbCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUp
L2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUp
L2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEg
KCQoZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19X
WCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBlNWY0ODQ0Njk1Mjg2MjM2MmQ3Yjlk
YjMyMjNhODIxMzQ2NmQzOWJiLi5lMzQ5OGY0ODQ0Y2YwMDYzM2IwNzdhODBjYmJlYjBiMmQ1OGI1
MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BF
Q1RPUl9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5z
cGVjdG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NP
VVJDRSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERF
QlVHR0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5q
cwogCiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDEx
ICs3NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VO
RVJBVE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGlu
amVjdGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVj
dGVkU2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0
ZWRTY3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
ICR7UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwg
JCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJ
TEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0
X3RvX3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQog
Ci0jIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBp
bGVyCisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291
cmNlIGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElO
SkVDVEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29t
bWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9
IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3Ig
ZGVidWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0
cHV0ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQg
PSBERUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9
IHBlcmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FN
QUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDgz
NjhjNmQ0NDcyM2RjOWJiZGZkYmE1MGFkMTczOGY1MTBjNTU2NGIuLmYwYzUyYWI3Y2FlYjUzMjkx
NGQ5NzI2NDE5ODE0ZTlmZTE3ZjQ5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjEsNiAr
ODIxLDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
anM6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0
ZWRTY3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuanMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIElu
amVjdGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJD
b3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4p
JChQRVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpz
ICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYg
RU5BQkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBA
IC0xMDcwLDYgKzEwNzIsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3Uv
TElDRU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0
b3IucHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5q
cyBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
anMgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDVhYzVkZTM2MjQxZDFiODJmYzE4NTVmNzFhZTRhNmM2
NWZkM2UzNDEuLjUyNmY1ZDk5ZDI5ZGJlYTM3MTM4NDA5YTFiNjNiOTJjM2M4YmUyMGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMiw2ICsyNzIzLDkgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYmMwMTE3Yjc1MDYzMTg5
Y2RkMjkxNzQ2NTFiYzZmZDkzZTk5YmFiNC4uMGU3MTk4ZDI1Y2FhMDk4NzFkNjIzN2JlN2RiNWRh
ODEzNTgwMjVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0Rh
dGEuY3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRl
eHRFZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3Bl
Y3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBp
bnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4
IGI3NmQzYmM1YjY1OTNkN2RmOGEwNWY1N2QxMTY1YWFiZDg1NTM0M2IuLjEwZGQ5OGYwMGVjOTk5
NjVlYjczY2QzYTEyMjRiNjYxZDE2N2RhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzcs
NyArMTc3LDcgQEAgX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjE2bG9hZEZyYW1lUmVxdWVzdEVS
S05TXzE2RnJhbWVMb2FkUmVxdWVzdEViYk4zV1RGMTBQYXMKIF9fWk43V2ViQ29yZTExRnJhbWVM
b2FkZXIxN3N0b3BGb3JVc2VyQ2FuY2VsRWIKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMWxv
YWRVUkxJbnRvQ2hpbGRGcmFtZUVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRVBOU181RnJhbWVF
CiBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMjJmaW5kRnJhbWVGb3JOYXZpZ2F0aW9uRVJLTjNX
VEYxMkF0b21pY1N0cmluZ0VQTlNfOERvY3VtZW50RQotX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRl
cjIzdGltZU9mTGFzdENvbXBsZXRlZExvYWRFdiAgICAKK19fWk43V2ViQ29yZTExRnJhbWVMb2Fk
ZXIyM3RpbWVPZkxhc3RDb21wbGV0ZWRMb2FkRXYKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIy
NnJlbG9hZFdpdGhPdmVycmlkZUVuY29kaW5nRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3Jl
MTFGcmFtZUxvYWRlcjMyc2V0T3JpZ2luYWxVUkxGb3JEb3dubG9hZFJlcXVlc3RFUk5TXzE1UmVz
b3VyY2VSZXF1ZXN0RQogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRpbml0RXYKQEAgLTE2ODQs
NyArMTY4NCw3IEBAIF93a0dldEFYVGV4dE1hcmtlclR5cGVJRAogX3drR2V0QVhUZXh0TWFya2Vy
UmFuZ2VUeXBlSUQKIF93a0NyZWF0ZUFYVGV4dE1hcmtlclJhbmdlCiBfd2tDb3B5QVhUZXh0TWFy
a2VyUmFuZ2VTdGFydAotX3drQ29weUFYVGV4dE1hcmtlclJhbmdlRW5kIAorX3drQ29weUFYVGV4
dE1hcmtlclJhbmdlRW5kCiBfd2tDcmVhdGVBWFRleHRNYXJrZXIKIF93a0dldEJ5dGVzRnJvbUFY
VGV4dE1hcmtlcgogX3drQ3JlYXRlQVhVSUVsZW1lbnRSZWYKQEAgLTE3NzYsNyArMTc3Niw3IEBA
IF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMTRyZW1vdmVBbGxJY29uc0V2CiBfX1pON1dlYkNv
cmUxMkljb25EYXRhYmFzZTE1aWNvblJlY29yZENvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRh
dGFiYXNlMTlwYWdlVVJMTWFwcGluZ0NvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNl
MjBhbGxvd0RhdGFiYXNlQ2xlYW51cEV2Ci1fX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIwZGVs
YXlEYXRhYmFzZUNsZWFudXBFdiAgIAorX19aTjdXZWJDb3JlMTJJY29uRGF0YWJhc2UyMGRlbGF5
RGF0YWJhc2VDbGVhbnVwRXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjByZXRhaW5JY29u
Rm9yUGFnZVVSTEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjBy
ZXRhaW5lZFBhZ2VVUkxDb3VudEV2CiBfX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIxcmVsZWFz
ZUljb25Gb3JQYWdlVVJMRVJLTjNXVEY2U3RyaW5nRQpAQCAtMjIxMywzICsyMjEzLDggQEAgX19a
Tks3V2ViQ29yZTROb2RlMzFudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuRXYKICNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKIF9fWk43V2ViQ29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczE4
aXNTaGFkb3dET01FbmFibGVkRQogI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCR0wpCitfX1pON1dl
YkNvcmUxOUluc3BlY3RvcldlYkdMQWdlbnRDMUVQTlNfMTlJbnN0cnVtZW50aW5nQWdlbnRzRVBO
U18xNEluc3BlY3RvclN0YXRlRVBOU18yMUluamVjdGVkU2NyaXB0TWFuYWdlckUKK19fWk43V2Vi
Q29yZTE5SW5zcGVjdG9yV2ViR0xBZ2VudDQzd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvcklu
c3RydW1lbnRhdGlvbkVOU18xMlNjcmlwdE9iamVjdEUKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA3ZDhkN2JlYTg1MjRiNWUwY2QzY2I2YzczM2MwNDkz
MWJmYWFhNTQ5Li5hMjU2MjQ4ZmI3N2YzODI0YzYxYWRkYjQ3MDk4YmQ0YTRmNGZmM2VjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtNDM0LDYgKzQzNCwyOSBAQAog
ICAgICAgXQogICAgIH0sCiAgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ2luamVjdGVkX3dl
YmdsX3NjcmlwdF9zb3VyY2UnLAorICAgICAgJ3R5cGUnOiAnbm9uZScsCisgICAgICAnYWN0aW9u
cyc6IFsKKyAgICAgICAgeworICAgICAgICAgICdhY3Rpb25fbmFtZSc6ICdnZW5lcmF0ZUluamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UnLAorICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAgICAg
ICAnLi4vaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMnLAorICAgICAgICAg
IF0sCisgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJN
RURJQVRFX0RJUikvd2Via2l0L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCcsCisgICAgICAg
ICAgXSwKKyAgICAgICAgICAnYWN0aW9uJzogWworICAgICAgICAgICAgJ3BlcmwnLAorICAgICAg
ICAgICAgJy4uL2luc3BlY3Rvci94eGQucGwnLAorICAgICAgICAgICAgJ0luamVjdGVkV2ViR0xT
Y3JpcHRTb3VyY2VfanMnLAorICAgICAgICAgICAgJzxAKF9pbnB1dHMpJywKKyAgICAgICAgICAg
ICc8QChfb3V0cHV0cyknCisgICAgICAgICAgXSwKKyAgICAgICAgICAnbWVzc2FnZSc6ICdHZW5l
cmF0aW5nIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBmcm9tIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuanMnLAorICAgICAgICB9LAorICAgICAgXQorICAgIH0sCisgICAgewogICAgICAg
J3RhcmdldF9uYW1lJzogJ2RlYnVnZ2VyX3NjcmlwdF9zb3VyY2UnLAogICAgICAgJ3R5cGUnOiAn
bm9uZScsCiAgICAgICAnYWN0aW9ucyc6IFsKQEAgLTEwNzQsNiArMTA5Nyw3IEBACiAgICAgICAg
ICd3ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnLAogICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29s
X3NvdXJjZXMnLAogICAgICAgICAnaW5qZWN0ZWRfc2NyaXB0X3NvdXJjZScsCisgICAgICAgICdp
bmplY3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2RlYnVnZ2VyX3NjcmlwdF9z
b3VyY2UnLAogICAgICAgICAnLi4vLi4vSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lw
L0phdmFTY3JpcHRDb3JlLmd5cDp5YXJyJywKICAgICAgICAgJy4uLy4uL1dURi9XVEYuZ3lwL1dU
Ri5neXA6d3RmJywKQEAgLTExOTcsNiArMTIyMSw3IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzog
WwogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAgICdpbmplY3RlZF9z
Y3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dlYmdsX3NjcmlwdF9zb3VyY2UnLAog
ICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMnLAogICAgICAgICAnd2ViY29yZV9i
aW5kaW5nc19zb3VyY2VzJywKICAgICAgICAgJy4uLy4uL1RoaXJkUGFydHkvZ2x1L2dsdS5neXA6
bGlidGVzcycsCkBAIC0xNDcyLDkgKzE0OTcsOSBAQAogICAgICAgJ2RlcGVuZGVuY2llcyc6IFsK
ICAgICAgICAgJ3dlYmNvcmVfcHJlcmVxdWlzaXRlcycsCiAgICAgICBdLAotICAgICAgJ2RlZmlu
ZXMnOiBbIAotICAgICAgICAnV0VCS0lUX0lNUExFTUVOVEFUSU9OPTEnLCAKLSAgICAgIF0sIAor
ICAgICAgJ2RlZmluZXMnOiBbCisgICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsCisg
ICAgICBdLAogICAgICAgIyBUaGlzIGlzIG5lZWRlZCBmb3IgbWFjIGJlY2F1c2Ugb2Ygd2Via2l0
X3N5c3RlbV9pbnRlcmZhY2UuIEl0J2QgYmUgbmljZQogICAgICAgIyBpZiB0aGlzIGhhcmQgZGVw
ZW5kZW5jeSBjb3VsZCBiZSBzcGxpdCBvZmYgdGhlIHJlc3QuCiAgICAgICAnaGFyZF9kZXBlbmRl
bmN5JzogMSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAwMTMxY2Q0NGZmZDJiMmZjNmQwZWYxN2VhYWRl
YzQzNjlkNGQxMTY5Li5jODkxYzQ5NmU1ZGU3YTM4NGU3MDUyZWVmYTM3NzhlNzg1MmY4OTlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0yODE5LDYgKzI4MTksOSBAQAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9J
bnNwZWN0b3JWYWx1ZXMuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29y
a2VyUmVzb3VyY2UuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdl
bnQuY3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oJywK
KyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCcs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCcsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcCcsCkBAIC02NjQxLDcgKzY2NDQsNyBA
QAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNtYWxsR3Jh
eS5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNt
YWxsV2hpdGUucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9z
ZWFyY2hOZXh0LnBuZycsCi0gICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMv
c2VhcmNoUHJldi5wbmcnLCAgICAgICAgICAgIAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzL3NlYXJjaFByZXYucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJv
bnQtZW5kL0ltYWdlcy9zZWdtZW50LnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250
LWVuZC9JbWFnZXMvc2VnbWVudEVuZC5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzL3NlZ21lbnRIb3Zlci5wbmcnLApAQCAtNzIzOSw2ICs3MjQyLDcgQEAKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1l
cy5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSGVhZGVyRGV0ZWN0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCcsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVyLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggOGRmNzFlZTNiZWJmMTIxZjI4ZDQwMDZmYmM4
YTNkOWY3MmI1ODUyYi4uNGZkYTdhZDE4Y2Y4MjY4NzE3YTYyZWFlNWU2MzFiNzZkZTg5NjEzMyAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTU5
NCw2ICs1OTQsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgiCisJCQkJPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIu
Y3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTczOTk1LDYgKzczOTk5LDM0IEBACiAJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNw
ZWN0b3JXZWJHTEFnZW50LmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvcldlYkdMQWdlbnQuaCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAiCiAJ
CQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYwY2NhNzI1OWI4N2Q5MWY4NDBmN2Q1
MTA5YTUxZDFkZmMxYWMxN2QuLjRiZGVlMTViNGQxYTYyOTYzMGUyZmZjY2ZjOTBjZWYyNThiYjk3
MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTg0MDcsNiArODQwNyw5IEBACiAJCTQ5RUVEMTRDMTA1MTk3MUEwMDA5OUZBQiAv
KiBKU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5RUVEMTREMTA1MTk3MUEwMDA5OUZBQiAvKiBKU0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlGQzdBNEYxNDQ0QUY1RjAwQTVEODY0IC8qIERpc3BsYXlS
ZWZyZXNoTW9uaXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBE
aXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
OUZDODhCNTE1N0NCMEI5MDA2QUEyODcgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JXZWJHTEFnZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlGQzg4QjYxNTdDQjBCOTAwNkFBMjg3IC8q
IEluc3BlY3RvcldlYkdMQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SW5zcGVjdG9yV2ViR0xBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUZD
ODhCNzE1N0NCMEI5MDA2QUEyODcgLyogSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50
YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlGRkJGMUMxMUM4NTUwRTAw
NkE3MTE4IC8qIEdyYXBoaWNzQ29udGV4dDNETWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gR3JhcGhpY3NDb250ZXh0M0RNYWMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ5RkZCRjNEMTFDOTNFRTMwMDZBNzExOCAvKiBXZWJHTExheWVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdMTGF5ZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlGRkJGM0UxMUM5M0VFMzAwNkE3MTE4IC8qIFdlYkdMTGF5
ZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJHTExheWVy
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE0MzQsNiArMTE0MzcsOCBAQAog
CQlBQTA5NzhFRTBBQkFBNkUxMDA4NzQ0ODAgLyogQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTRDM0E3NDBCMkIxNjc5MDAyMzM0QTIgLyogU3R5
bGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHls
ZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTRDM0E3NTBCMkIx
Njc5MDAyMzM0QTIgLyogU3R5bGVFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTdHlsZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5
MDMwRkUxNTdFMTZBMDAwMjc2MjQ3IC8qIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQTkxMjc1MDE1N0UzNUE1
MDA0NTRFNTQgLyogSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUFBRjVCN0IxMTUyNEI0QkQwMDA0Q0I0OSAvKiBXZWJTb2NrZXRG
cmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJTb2NrZXRG
cmFtZS5jcHA7IHBhdGggPSBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0RnJhbWUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjIzQTMyNTA5QkJBN0QwMDA2N0NDNTMgLyog
QmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQUIyM0EzMjYwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRl
ZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCZWZvcmVUZXh0SW5z
ZXJ0ZWRFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQzMTYsNiArMTQz
MjEsNyBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQk3QTU2M0U1
NDEyREUzMkIwMDBGNDUzNkQgLyogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCAqLywKKwkJCQlBQTkx
Mjc1MDE1N0UzNUE1MDA0NTRFNTQgLyogSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oICovLAog
CQkJCTRGNzA3QTk3MTFFRjY3OTQwMEFDREE2OSAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hl
ci5jcHAgKi8sCiAJCQkJNEY3MDdBOTgxMUVGNjc5NDAwQUNEQTY5IC8qIEluc3BlY3RvckJhY2tl
bmREaXNwYXRjaGVyLmggKi8sCiAJCQkJNEY0RjVGRkExMUNCRDJEMjAwQTE4NkJGIC8qIEluc3Bl
Y3RvckZyb250ZW5kLmNwcCAqLywKQEAgLTE0MzYxLDYgKzE0MzY3LDcgQEAKIAkJCQlGMzE2Mzk2
OTEzMjk0ODFBMDBBNjQ5Q0IgLyogSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCAqLywKIAkJCQlG
MzE2Mzk2QTEzMjk0ODFBMDBBNjQ5Q0IgLyogSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggKi8sCiAJ
CQkJN0E1NjNGOTUxMkRGNUM5MTAwRjQ1MzZEIC8qIEluamVjdGVkU2NyaXB0U291cmNlLmpzICov
LAorCQkJCUFBOTAzMEZFMTU3RTE2QTAwMDI3NjI0NyAvKiBJbmplY3RlZFdlYkdMU2NyaXB0U291
cmNlLmpzICovLAogCQkJCTFDNDM1Q0Q0MTRFODU0NUIwMDRFMTBFQSAvKiBJbnNwZWN0b3ItMC4x
Lmpzb24gKi8sCiAJCQkJMUM0MzVDRDUxNEU4NTQ1QjAwNEUxMEVBIC8qIEluc3BlY3Rvci0xLjAu
anNvbiAqLywKIAkJCQkxQzQzNUNEMzE0RTg1NDRGMDA0RTEwRUEgLyogSW5zcGVjdG9yLmpzb24g
Ki8sCkBAIC0xNDQzMiw2ICsxNDQzOSw5IEBACiAJCQkJNzU0MTMzQTcxMDJFMDBFODAwMDc1RDAw
IC8qIEluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCAqLywKIAkJCQk0RjMyODlCMzExQTQyQUFCMDA1
QUJFN0UgLyogSW5zcGVjdG9yVmFsdWVzLmNwcCAqLywKIAkJCQk0RjMyODlCNDExQTQyQUFCMDA1
QUJFN0UgLyogSW5zcGVjdG9yVmFsdWVzLmggKi8sCisJCQkJNDlGQzg4QjUxNTdDQjBCOTAwNkFB
Mjg3IC8qIEluc3BlY3RvcldlYkdMQWdlbnQuY3BwICovLAorCQkJCTQ5RkM4OEI2MTU3Q0IwQjkw
MDZBQTI4NyAvKiBJbnNwZWN0b3JXZWJHTEFnZW50LmggKi8sCisJCQkJNDlGQzg4QjcxNTdDQjBC
OTAwNkFBMjg3IC8qIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggKi8sCiAJCQkJRjM4
MTBDMTkxMzY1QTQ5NjAwRUQ2RTMzIC8qIEluc3BlY3RvcldvcmtlckFnZW50LmNwcCAqLywKIAkJ
CQlGMzgxMEMxQTEzNjVBNDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuaCAqLywK
IAkJCQlGMzc1Q0MwNjExNTBEMzAwMDA4RERCODEgLyogSW5zcGVjdG9yV29ya2VyUmVzb3VyY2Uu
aCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZh
c0VsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2Fu
dmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggZDVmYzNjZTk2MzYzZGM1MTI2ODRmMmY0MDcxYTQy
NDg1ZWFjMDYxOC4uYTcyYWYxMDYyOTQ1N2JlZjNmZTk4NTRjMGM0YmIzNGQwNjk4MTM1ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxl
bWVudEN1c3RvbS5jcHAKQEAgLTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAog
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAog
I2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtMzEsNyArMzEsOSBAQAogI2luY2x1ZGUgIkhUTUxDYW52
YXNFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCIKICNp
ZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24u
aCIKICNpbmNsdWRlICJKU1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgorI2luY2x1ZGUgIlNjcmlw
dE9iamVjdC5oIgogI2luY2x1ZGUgIldlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaCIKICNlbmRpZgog
I2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KQEAgLTc1LDcgKzc3LDE2IEBAIEpTVmFsdWUgSlNIVE1M
Q2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dCogY29udGV4dCA9IGNhbnZhcy0+Z2V0Q29udGV4dCh1c3RyaW5nVG9TdHJp
bmcoY29udGV4dElkKSwgYXR0cnMuZ2V0KCkpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAg
cmV0dXJuIGpzTnVsbCgpOwotICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBX
VEY6OmdldFB0cihjb250ZXh0KSk7CisgICAgSlNWYWx1ZSBqc1ZhbHVlID0gdG9KUyhleGVjLCBn
bG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoY29udGV4dCkpOworI2lmIEVOQUJMRShXRUJHTCkK
KyAgICBpZiAoY29udGV4dC0+aXMzZCgpICYmIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFz
RnJvbnRlbmRzKCkpIHsKKyAgICAgICAgU2NyaXB0T2JqZWN0IGdsQ29udGV4dChleGVjLCBqc1Zh
bHVlLmdldE9iamVjdCgpKTsKKyAgICAgICAgU2NyaXB0T2JqZWN0IHdyYXBwZWQgPSBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50
YXRpb24oY2FudmFzLT5kb2N1bWVudCgpLCBnbENvbnRleHQpOworICAgICAgICBpZiAoIXdyYXBw
ZWQuaGFzTm9WYWx1ZSgpKQorICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQuanNWYWx1ZSgpOwor
ICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBqc1ZhbHVlOwogfQogCiBKU1ZhbHVlIEpTSFRNTENh
bnZhc0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCkBAIC05Myw3ICsxMDQsNyBA
QCBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMp
CiAgICAgICAgICAgICBxdWFsaXR5UHRyID0gJnF1YWxpdHk7CiAgICAgICAgIH0KICAgICB9Ci0g
ICAgCisKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzU3RyaW5nKGV4ZWMsIGNhbnZhcy0+dG9EYXRh
VVJMKHR5cGUsIHF1YWxpdHlQdHIsIGVjKSk7CiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVj
KTsKICAgICByZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDE1NzZkMzQ2ZDA2ZGNhNTBj
ODRmODNlNWZiOTZkZDYxYWY1OWQ2NzAuLjgwYjRlNzg5MDY0ZDc0OWUxYmFkN2Y0YjA3MWQ2NWYx
YzA4NGViZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lu
amVjdGVkU2NyaXB0TWFuYWdlci5jcHAKQEAgLTc4LDYgKzc4LDE0IEBAIFNjcmlwdE9iamVjdCBJ
bmplY3RlZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUluamVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYg
c291cmNlLCBTCiAgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOwogfQogCisjaWYgRU5BQkxFKFdF
QkdMKQorU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0V2ViR0xTY3Jp
cHQoY29uc3QgU3RyaW5nJiwgU2NyaXB0T2JqZWN0KQoreworICAgIC8vIEZJWE1FKDg3OTc1KTog
SW1wbGVtZW50IHRoaXMhCisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQorI2VuZGlmCisK
IHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0
U3RhdGUqIHNjcmlwdFN0YXRlKQogewogICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihzY3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcApp
bmRleCBjMTlmYjk4OTJiZGM4YTk3NjRkZjdlM2FiYmY3OTliMTVkYmI2ODE0Li5lMjFjNmNhY2U3
NTE3ZDk0MDRjOWI5YmM0YzAzZWQzODcxYzMyNDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0U3RhdGUuY3BwCkBAIC05MCw3ICs5MCw3IEBAIFNjcmlwdFN0YXRlKiBTY3Jp
cHRTdGF0ZTo6Zm9yQ29udGV4dCh2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQpCiAKICAg
ICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAg
Ly8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2Ug
bmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1l
IGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4g
b2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3Rl
ZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9i
YWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0g
VjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OnNjcmlwdFN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1
c3RvbS5jcHAKaW5kZXggMjBkYjUzZDY0ZWMxMDE5YmYxMGQzYzQyYzc4ZWY3MDAyOWYyOWQ3OC4u
ZTE5ODk2ZmVlMDIwMWIxYjU0YjM1NWQ5ZDBjYjIxODNmZDI3ODllNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNF
bGVtZW50Q3VzdG9tLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlY4Tm9kZS5oIgog
I2luY2x1ZGUgIlY4UHJveHkuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVj
dG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29u
dGV4dC5oIgogI2VuZGlmCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KQEAgLTg4LDggKzg5
LDE3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250
ZXh0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50CiAgICAgaWYgKHJlc3VsdC0+aXMyZCgpKQog
ICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQq
PihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CiAjaWYgRU5BQkxFKFdFQkdMKQotICAgIGVs
c2UgaWYgKHJlc3VsdC0+aXMzZCgpKQotICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxX
ZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAg
ZWxzZSBpZiAocmVzdWx0LT5pczNkKCkpIHsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHY4UmVzdWx0ID0gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1
bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgICAgIGlmIChJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246Omhhc0Zyb250ZW5kcygpKSB7CisgICAgICAgICAgICBTY3JpcHRTdGF0ZSogc2NyaXB0
U3RhdGUgPSBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCh2ODo6Q29udGV4dDo6R2V0Q3VycmVudCgp
KTsKKyAgICAgICAgICAgIFNjcmlwdE9iamVjdCBnbENvbnRleHQoc2NyaXB0U3RhdGUsIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD46OkNhc3QodjhSZXN1bHQpKTsKKyAgICAgICAgICAgIFNjcmlwdE9i
amVjdCB3cmFwcGVkID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJp
bmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGltcC0+ZG9jdW1lbnQoKSwgZ2xDb250ZXh0KTsK
KyAgICAgICAgICAgIGlmICghd3JhcHBlZC5oYXNOb1ZhbHVlKCkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIHdyYXBwZWQudjhWYWx1ZSgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiB2OFJl
c3VsdDsKKyAgICB9CiAjZW5kaWYKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1
cm4gdjg6Ok51bGwoYXJncy5HZXRJc29sYXRlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAK
aW5kZXggMzMzZmU1NzVjYjA3OGExMjc1NjdjNjVjMmM1MWRjZjdhNDZkMWMyMy4uMWNlNTk1ZWM4
MDc0YzEyNzJiYzY5MmZkNjE5MDlkZmVhYmVkOTU5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwCkBAIC0xMTAsMTAgKzExMCwzNCBAQCBTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNvdQogICAgICAg
djg6Ok51bWJlcjo6TmV3KGlkKSwKICAgICB9OwogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGlu
amVjdGVkU2NyaXB0VmFsdWUgPSB2ODo6RnVuY3Rpb246OkNhc3QoKnYpLT5DYWxsKHdpbmRvd0ds
b2JhbCwgMywgYXJncyk7Ci0gICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGluamVjdGVkU2NyaXB0
KHY4OjpPYmplY3Q6OkNhc3QoKmluamVjdGVkU2NyaXB0VmFsdWUpKTsKLSAgICByZXR1cm4gU2Ny
aXB0T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRlLCBpbmplY3RlZFNjcmlwdCk7CisgICAgcmV0
dXJuIFNjcmlwdE9iamVjdChpbnNwZWN0ZWRTY3JpcHRTdGF0ZSwgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0Pjo6Q2FzdChpbmplY3RlZFNjcmlwdFZhbHVlKSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wp
CitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RXZWJHTFNjcmlwdChj
b25zdCBTdHJpbmcmIHNjcmlwdFNvdXJjZSwgU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAg
ICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CisKKyAgICBTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2Ny
aXB0U3RhdGUgPSBnbENvbnRleHQuc2NyaXB0U3RhdGUoKTsKKyAgICB2ODo6TG9jYWw8djg6OkNv
bnRleHQ+IGluc3BlY3RlZENvbnRleHQgPSBpbnNwZWN0ZWRTY3JpcHRTdGF0ZS0+Y29udGV4dCgp
OworICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUoaW5zcGVjdGVkQ29udGV4dCk7
CisKKyAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gd2luZG93R2xvYmFsID0gaW5zcGVjdGVkQ29u
dGV4dC0+R2xvYmFsKCk7CisKKyAgICB2ODo6TG9jYWw8djg6OlNjcmlwdD4gc2NyaXB0ID0gdjg6
OlNjcmlwdDo6Q29tcGlsZSh2OFN0cmluZyhzY3JpcHRTb3VyY2UpKTsKKyAgICBWOFJlY3Vyc2lv
blNjb3BlOjpNaWNyb3Rhc2tTdXBwcmVzc2lvbiByZWN1cnNpb25TY29wZTsKKyAgICB2ODo6TG9j
YWw8djg6OlZhbHVlPiB2ID0gc2NyaXB0LT5SdW4oKTsKKyAgICBBU1NFUlQoIXYuSXNFbXB0eSgp
KTsKKyAgICBBU1NFUlQodi0+SXNGdW5jdGlvbigpKTsKKworICAgIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBhcmdzW10gPSB7CisgICAgICAgIGdsQ29udGV4dC52OFZhbHVlKCksCisgICAgfTsKKyAg
ICB2ODo6TG9jYWw8djg6OlZhbHVlPiBpbmplY3RlZFNjcmlwdFZhbHVlID0gdjg6OkZ1bmN0aW9u
OjpDYXN0KCp2KS0+Q2FsbCh3aW5kb3dHbG9iYWwsIDEsIGFyZ3MpOworICAgIHJldHVybiBTY3Jp
cHRPYmplY3QoaW5zcGVjdGVkU2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNh
c3QoaW5qZWN0ZWRTY3JpcHRWYWx1ZSkpOworfQorI2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNj
cmlwdFN0YXRlKQogewogICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKQEAgLTEyMiw3
ICsxNDYsNyBAQCB2b2lkIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2Ny
aXB0KFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTY3JpcHRTdAogCiAgICAgdjg6OkxvY2FsPHY4OjpP
YmplY3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2JhbCgpOwogICAgIC8vIFNraXAgcHJveHkgb2Jq
ZWN0LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vydml2ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUg
d2UgbmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb25zaWRlcyB3aXRoIHRo
YXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgorICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZl
dGltZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KICAgICBn
bG9iYWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46OkNhc3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUo
KSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGtleSA9IFY4SGlkZGVuUHJvcGVydHlO
YW1lOjpkZXZ0b29sc0luamVjdGVkU2NyaXB0KCk7CkBAIC0xMzcsNyArMTYxLDcgQEAgSW5qZWN0
ZWRTY3JpcHQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcihTY3JpcHRT
dGF0ZSogaW5zcGVjdGVkU2MKIAogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBj
b250ZXh0LT5HbG9iYWwoKTsKICAgICAvLyBTa2lwIHByb3h5IG9iamVjdC4gVGhlIHByb3h5IG9i
amVjdCB3aWxsIHN1cnZpdmUgcGFnZSBuYXZpZ2F0aW9uIHdoaWxlIHdlIG5lZWQKLSAgICAvLyBh
biBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29uc2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0
ZWQgY29udGV4dC4KKyAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29pbmNpZGVzIHdp
dGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCiAgICAgZ2xvYmFsID0gdjg6OkxvY2Fs
PHY4OjpPYmplY3Q+OjpDYXN0KGdsb2JhbC0+R2V0UHJvdG90eXBlKCkpOwogCiAgICAgdjg6Okhh
bmRsZTx2ODo6U3RyaW5nPiBrZXkgPSBWOEhpZGRlblByb3BlcnR5TmFtZTo6ZGV2dG9vbHNJbmpl
Y3RlZFNjcmlwdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVH
ZW5lcmF0b3JJbnNwZWN0b3IucHkgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVy
YXRvckluc3BlY3Rvci5weQppbmRleCBlOWQzNzNiMDFlMDM1ZDViNDRmNjI3NjNjMDY0ODYwNzE1
ZmEyNzQ2Li4zNDUzMTNkNDRjMmUzMjlmZDg0ZTAyYmJkMTVlZTc3M2Q1ZGI0N2M1IDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQpA
QCAtNDYsNiArNDYsNyBAQCBET01BSU5fREVGSU5FX05BTUVfTUFQID0gewogICAgICJJbmRleGVk
REIiOiAiSU5ERVhFRF9EQVRBQkFTRSIsCiAgICAgIlByb2ZpbGVyIjogIkpBVkFTQ1JJUFRfREVC
VUdHRVIiLAogICAgICJXb3JrZXIiOiAiV09SS0VSUyIsCisgICAgIldlYkdMIjogIldFQkdMIiwK
IH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1h
bmFnZXIuY3BwCmluZGV4IGU0MDZjNGE4ZTE1ODUwNjg2Zjc2NjRiMmM1ZGZmZWZjYjhhOTJkMmIu
LjMxZmY5ZjQxYzYwNjYyYTY0MjY0YWFkZTc1ZmI3Y2U3ZGE4ZGNiN2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0zNyw3
ICszNywxMSBAQAogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAiSW5qZWN0
ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCIKKyNpZiBF
TkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIgorI2Vu
ZGlmCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0
LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0
cmFzLmg+CiAKQEAgLTE3Miw2ICsxNzYsMTggQEAgcGFpcjxpbnQsIFNjcmlwdE9iamVjdD4gSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UKICAg
ICByZXR1cm4gc3RkOjptYWtlX3BhaXIoaWQsIGNyZWF0ZUluamVjdGVkU2NyaXB0KHNvdXJjZSwg
c2NyaXB0U3RhdGUsIGlkKSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3Qg
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1
bWVudGF0aW9uKFNjcmlwdE9iamVjdCBnbENvbnRleHQpCit7CisgICAgcmV0dXJuIGluamVjdFdl
YkdMU2NyaXB0KGluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UoKSwgZ2xDb250ZXh0KTsKK30KKwor
U3RyaW5nIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgp
Cit7CisgICAgcmV0dXJuIFN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihJbmpl
Y3RlZFdlYkdMU2NyaXB0U291cmNlX2pzKSwgc2l6ZW9mKEluamVjdGVkV2ViR0xTY3JpcHRTb3Vy
Y2VfanMpKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAv
LyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0TWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0TWFuYWdlci5oCmluZGV4IGE5YmRjYTUyZmNiYzIyN2FiMjkxYWI3NGE2ZWI4OTE4
ZjA0YmQ4ZTQuLjYxM2ZlZjgxMjM4YTQwOTE4YTg2MzI4NDkwY2FjMDE1Nzk0MzNiNGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKQEAg
LTcsMTMgKzcsMTMgQEAKICAqIGFyZSBtZXQ6CiAgKgogICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LiAKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCiAgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICAqIDMuICBOZWl0aGVyIHRoZSBu
YW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAg
KiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgogICoKICAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZCiAgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC02NCw2ICs2NCw5IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGRpc2NhcmRJbmplY3RlZFNjcmlwdHNGb3IoRE9NV2luZG93Kik7CiAgICAgdm9p
ZCByZWxlYXNlT2JqZWN0R3JvdXAoY29uc3QgU3RyaW5nJiBvYmplY3RHcm91cCk7CiAKKyNpZiBF
TkFCTEUoV0VCR0wpCisgICAgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRG
b3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0KTsKKyNlbmRpZgogCiBwcml2YXRlOgogICAg
IHR5cGVkZWYgYm9vbCAoKkluc3BlY3RlZFN0YXRlQWNjZXNzQ2hlY2spKFNjcmlwdFN0YXRlKik7
CkBAIC03Myw2ICs3NiwxMSBAQCBwcml2YXRlOgogICAgIFNjcmlwdE9iamVjdCBjcmVhdGVJbmpl
Y3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgU2NyaXB0U3RhdGUqLCBpbnQgaWQpOwog
ICAgIHZvaWQgZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKik7CiAKKyNpZiBFTkFC
TEUoV0VCR0wpCisgICAgU3RyaW5nIGluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UoKTsKKyAgICBT
Y3JpcHRPYmplY3QgaW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFNjcmlw
dE9iamVjdCk7CisjZW5kaWYKKwogICAgIHN0YXRpYyBib29sIGNhbkFjY2Vzc0luc3BlY3RlZFdp
bmRvdyhTY3JpcHRTdGF0ZSopOwogICAgIHN0YXRpYyBib29sIGNhbkFjY2Vzc0luc3BlY3RlZFdv
cmtlckNvbnRleHQoU2NyaXB0U3RhdGUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YTU1NTRk
MzEyYTBlZjBhMzEyMmY1OGVjNTFlYzJkZGFkN2RiMDJiCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMKQEAgLTAs
MCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyhmdW5jdGlvbihnbENvbnRleHQpIHsKKworLy8gRklYTUU6IFdyYXAgV2ViR0wg
Y29udGV4dCBmb3IgaW5zdHJ1bWVudGF0aW9uLgorcmV0dXJuIGdsQ29udGV4dDsKKworfSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCBjOTkxMTYwOGM0ZThjZGJh
YWI2OTdlMDU3M2RlM2U3NGRlNDBiYjUxLi4wNDJiZThmNmYzZTAyZjNkYmEzNTM3YTg5YzZjN2Nl
ZjdlYmFhYjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Lmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0y
ODExLDUgKzI4MTEsMjEgQEAKICAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNjb25uZWN0ZWRG
cm9tV29ya2VyIgogICAgICAgICAgICAgfQogICAgICAgICBdCisgICAgfSwKKyAgICB7CisgICAg
ICAgICJkb21haW4iOiAiV2ViR0wiLAorICAgICAgICAiaGlkZGVuIjogdHJ1ZSwKKyAgICAgICAg
InR5cGVzIjogW10sCisgICAgICAgICJjb21tYW5kcyI6IFsKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICAibmFtZSI6ICJlbmFibGUiLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJFbmFibGVzIFdlYkdMIGluc3BlY3Rpb24uIgorICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNhYmxlIiwKKyAgICAgICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAiRGlzYWJsZXMgV2ViR0wgaW5zcGVjdGlvbi4iCisgICAgICAgICAg
ICB9CisgICAgICAgIF0sCisgICAgICAgICJldmVudHMiOiBbXQogICAgIH1dCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAppbmRleCBiMTIyMzA0
MzIzM2Y5ZDQ0N2E1ZDNhYjU1MTEwNjY5NTllZmJlNjIxLi5iZTkyYTEzZmM3YjNjZDg1NjEzNjM4
ZTYxODg3N2M4MmZiMmMzOWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JBbGxJbk9uZS5jcHAKQEAgLTY1LDYgKzY1LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JT
dHlsZVRleHRFZGl0b3IuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuY3Bw
IgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5jcHAiCisjaW5jbHVkZSAiSW5zcGVjdG9yV2Vi
R0xBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIgogI2luY2x1
ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuY3BwIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZXNE
YXRhLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9s
bGVyLmNwcAppbmRleCA0NmUwYzJiOGM1NGY0YjQyMGMyMzY4NGM3YmUzYTc1M2E0NWJiNzY5Li5h
YzE5YzdkYjk1M2QyNDU4MzljYWRmYTMyODZlZjY4YjUyOTYyZWYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC02MSw2ICs2MSw3
IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIgorI2luY2x1
ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JXb3JrZXJBZ2Vu
dC5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKICNpbmNsdWRlICJQYWdlQ29u
c29sZUFnZW50LmgiCkBAIC0xNDQsNiArMTQ1LDEwIEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Oklu
c3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JD
CiAgICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3RvcldvcmtlckFnZW50OjpjcmVhdGUobV9pbnN0
cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpKSk7CiAjZW5kaWYKIAorI2lmIEVO
QUJMRShXRUJHTCkKKyAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yV2ViR0xBZ2VudDo6Y3Jl
YXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSwgbV9pbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKTsKKyNlbmRpZgorCiAgICAgQVNTRVJUX0FSRyhpbnNwZWN0
b3JDbGllbnQsIGluc3BlY3RvckNsaWVudCk7CiAgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIt
PmluamVjdGVkU2NyaXB0SG9zdCgpLT5pbml0KG1faW5zcGVjdG9yQWdlbnQKICAgICAgICAgLCBj
b25zb2xlQWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaAppbmRleCBjYTk1MGJhZjcwZDE3Njg1NmMzY2U2ODczMGQyOWQ4MWJj
ZGMxOGYyLi40ZWJhNGIzYzBhNTIzYWZkZmQzOWExMmNmMzI5YmE3NjA3OTZlNzk5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
CkBAIC02OCw2ICs2OCw3IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBTY3JpcHRB
cmd1bWVudHM7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OworY2xhc3MgU2NyaXB0T2JqZWN0OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIGNsYXNz
IFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU2hhZG93Um9vdDsKQEAgLTIzNiw2ICsyMzcsMTAgQEAg
cHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUVycm9yKERv
Y3VtZW50KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVz
c2FnZSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBzdGF0aWMgU2NyaXB0T2Jq
ZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oRG9jdW1lbnQq
LCBTY3JpcHRPYmplY3QpOworI2VuZGlmCisKICAgICBzdGF0aWMgdm9pZCBuZXR3b3JrU3RhdGVD
aGFuZ2VkKFBhZ2UqKTsKICAgICBzdGF0aWMgdm9pZCB1cGRhdGVBcHBsaWNhdGlvbkNhY2hlU3Rh
dHVzKEZyYW1lKik7CiAKQEAgLTk3NSw3ICs5ODAsNyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKFBhZ2UqIHBhZ2UsIHVuc2lnbmVk
CiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQot
ICAgICAgICBtYXJrUmVzb3VyY2VBc0NhY2hlZEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaWRl
bnRpZmllcik7IAorICAgICAgICBtYXJrUmVzb3VyY2VBc0NhY2hlZEltcGwoaW5zdHJ1bWVudGlu
Z0FnZW50cywgaWRlbnRpZmllcik7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhZWEwYWEzODdj
ZGI3ODRjNWNiZDI2YTRmOThiNjhhMmNiM2UzMGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAKQEAgLTAsMCArMSwxMDQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUo
V0VCR0wpCisKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50LmgiCisKKyNpbmNsdWRlICJJ
bmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgor
I2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCisjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50
cy5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgorI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworbmFtZXNwYWNlIFdlYkdMQWdlbnRTdGF0ZSB7Citz
dGF0aWMgY29uc3QgY2hhciB3ZWJHTEFnZW50RW5hYmxlZFtdID0gIndlYkdMQWdlbnRFbmFibGVk
IjsKK307CisKK0luc3BlY3RvcldlYkdMQWdlbnQ6Okluc3BlY3RvcldlYkdMQWdlbnQoSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRl
LCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IElu
c3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JXZWJHTEFnZW50PigiV2ViR0wiLCBpbnN0cnVtZW50
aW5nQWdlbnRzLCBzdGF0ZSkKKyAgICAsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKGluamVjdGVk
U2NyaXB0TWFuYWdlcikKKyAgICAsIG1fZnJvbnRlbmQoMCkKKyAgICAsIG1fZW5hYmxlZChmYWxz
ZSkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvcldlYkdMQWdlbnQo
dGhpcyk7Cit9CisKK0luc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50KCkK
K3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvcldlYkdMQWdlbnQoMCk7
Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6c2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJv
bnRlbmQqIGZyb250ZW5kKQoreworICAgIEFTU0VSVChmcm9udGVuZCk7CisgICAgbV9mcm9udGVu
ZCA9IGZyb250ZW5kLT53ZWJnbCgpOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OmNs
ZWFyRnJvbnRlbmQoKQoreworICAgIG1fZnJvbnRlbmQgPSAwOworICAgIGRpc2FibGUoMCk7Cit9
CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSgpCit7CisgICAgbV9lbmFibGVk
ID0gbV9zdGF0ZS0+Z2V0Qm9vbGVhbihXZWJHTEFnZW50U3RhdGU6OndlYkdMQWdlbnRFbmFibGVk
KTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUoRXJyb3JTdHJpbmcqKQor
eworICAgIGlmIChtX2VuYWJsZWQpCisgICAgICAgIHJldHVybjsKKyAgICBtX2VuYWJsZWQgPSB0
cnVlOworICAgIG1fc3RhdGUtPnNldEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50
RW5hYmxlZCwgbV9lbmFibGVkKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpkaXNh
YmxlKEVycm9yU3RyaW5nKikKK3sKKyAgICBpZiAoIW1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJu
OworICAgIG1fZW5hYmxlZCA9IGZhbHNlOworICAgIG1fc3RhdGUtPnNldEJvb2xlYW4oV2ViR0xB
Z2VudFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCwgbV9lbmFibGVkKTsKK30KKworU2NyaXB0T2Jq
ZWN0IEluc3BlY3RvcldlYkdMQWdlbnQ6OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0
cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAgICByZXR1cm4gbV9pbmpl
Y3RlZFNjcmlwdE1hbmFnZXItPndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50
YXRpb24oZ2xDb250ZXh0KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDBkMDhjYTJjZDdl
MDAyMmQ5NjA5M2YyMGQ2ZmNiNGNhZGY4MzdkNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgKQEAgLTAsMCArMSw4OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgSW5zcGVjdG9yV2ViR0xBZ2VudF9oCisjZGVmaW5lIEluc3BlY3RvcldlYkdMQWdlbnRf
aAorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAi
SW5zcGVjdG9yQmFzZUFnZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKKyNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEluamVjdGVkU2NyaXB0TWFuYWdlcjsKK2NsYXNz
IEluc3BlY3RvclN0YXRlOworY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKK2NsYXNzIFNjcmlw
dE9iamVjdDsKKwordHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CisKK2NsYXNzIEluc3BlY3Rv
cldlYkdMQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvcldlYkdMQWdl
bnQ+LCBwdWJsaWMgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI6OldlYkdMQ29tbWFuZEhhbmRs
ZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvcldlYkdMQWdlbnQ+
IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0
b3JTdGF0ZSogc3RhdGUsIEluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JXZWJHTEFn
ZW50KGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlLCBpbmplY3RlZFNjcmlwdE1hbmFnZXIpKTsK
KyAgICB9CisgICAgfkluc3BlY3RvcldlYkdMQWdlbnQoKTsKKworICAgIHZpcnR1YWwgdm9pZCBz
ZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCopOworICAgIHZpcnR1YWwgdm9pZCBjbGVhckZy
b250ZW5kKCk7CisgICAgdmlydHVhbCB2b2lkIHJlc3RvcmUoKTsKKworICAgIGJvb2wgZW5hYmxl
ZCgpIHsgcmV0dXJuIG1fZW5hYmxlZDsgfQorCisgICAgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJl
bmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0KTsKKworICAgIC8v
IENhbGxlZCBmcm9tIHRoZSBmcm9udC1lbmQuCisgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJv
clN0cmluZyopOworICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKik7CisKKyAg
ICAvLyBDYWxsZWQgZnJvbSB0aGUgaW5qZWN0ZWQgc2NyaXB0LgorCisgICAgLy8gQ2FsbGVkIGZy
b20gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uCisKK3ByaXZhdGU6CisgICAgSW5zcGVjdG9yV2Vi
R0xBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yU3RhdGUqLCBJbmplY3RlZFNj
cmlwdE1hbmFnZXIqKTsKKworICAgIEluamVjdGVkU2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNj
cmlwdE1hbmFnZXI7CisgICAgSW5zcGVjdG9yRnJvbnRlbmQ6OldlYkdMKiBtX2Zyb250ZW5kOwor
ICAgIGJvb2wgbV9lbmFibGVkOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQorCisjZW5kaWYgLy8gIWRl
ZmluZWQoSW5zcGVjdG9yV2ViR0xBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
MzI5N2NiNWNiYmY4ZTE5ZTBkMjhjYTExOTY2OTY0NGYzZTA1NWU1Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9u
LmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb25f
aAorI2RlZmluZSBJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbl9oCisKKyNpbmNsdWRlICJJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50
LmgiCisjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgorI2luY2x1ZGUgIlNjcmlwdE9i
amVjdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3Jp
cHRPYmplY3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250
ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKERvY3VtZW50KiBkb2N1bWVudCwgU2NyaXB0T2JqZWN0IGds
Q29udGV4dCkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIGlmIChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3Vt
ZW50KGRvY3VtZW50KSkgeworICAgICAgICBJbnNwZWN0b3JXZWJHTEFnZW50KiB3ZWJHTEFnZW50
ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yV2ViR0xBZ2VudCgpOworICAgICAgICBp
ZiAod2ViR0xBZ2VudCAmJiB3ZWJHTEFnZW50LT5lbmFibGVkKCkpCisgICAgICAgICAgICByZXR1
cm4gd2ViR0xBZ2VudC0+d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bihnbENvbnRleHQpOworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBTY3JpcHRPYmplY3QoKTsK
K30KKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAppbmRleCAxOTRl
Yjg2NWVjNzVhNjZmZWZiNGI3MjQ2ZjAwOGE4MzhhODhhYWJjLi4xMzM0ZGM3ZDZkYjdlZGIzOTA4
NmI5NmUzYzc4NjRjYTE3OGYzNDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTUyLDYgKzUyLDcgQEAgY2xhc3MgSW5zcGVjdG9yUmVz
b3VyY2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudDsKIGNsYXNzIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JXb3JrZXJBZ2VudDsKK2NsYXNzIEluc3Bl
Y3RvcldlYkdMQWdlbnQ7CiBjbGFzcyBQYWdlOwogY2xhc3MgUGFnZVJ1bnRpbWVBZ2VudDsKIGNs
YXNzIFdvcmtlckNvbnRleHQ7CkBAIC04Niw2ICs4Nyw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUo
V09SS0VSUykKICAgICAgICAgLCBtX2luc3BlY3RvcldvcmtlckFnZW50KDApCiAjZW5kaWYKKyNp
ZiBFTkFCTEUoV0VCR0wpCisgICAgICAgICwgbV9pbnNwZWN0b3JXZWJHTEFnZW50KDApCisjZW5k
aWYKICAgICB7IH0KICAgICB+SW5zdHJ1bWVudGluZ0FnZW50cygpIHsgfQogCkBAIC0xNDIsMTEg
KzE0NiwxNyBAQCBwdWJsaWM6CiAgICAgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogaW5zcGVjdG9y
UHJvZmlsZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yUHJvZmlsZXJBZ2VudDsg
fQogICAgIHZvaWQgc2V0SW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJbnNwZWN0b3JQcm9maWxlckFn
ZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQgPSBhZ2VudDsgfQogI2VuZGlm
CisKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICBJbnNwZWN0b3JXb3JrZXJBZ2VudCogaW5zcGVj
dG9yV29ya2VyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvcldvcmtlckFnZW50OyB9
CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JXb3JrZXJBZ2VudChJbnNwZWN0b3JXb3JrZXJBZ2VudCog
YWdlbnQpIHsgbV9pbnNwZWN0b3JXb3JrZXJBZ2VudCA9IGFnZW50OyB9CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShXRUJHTCkKKyAgICBJbnNwZWN0b3JXZWJHTEFnZW50KiBpbnNwZWN0b3JXZWJHTEFn
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JXZWJHTEFnZW50OyB9CisgICAgdm9pZCBz
ZXRJbnNwZWN0b3JXZWJHTEFnZW50KEluc3BlY3RvcldlYkdMQWdlbnQqIGFnZW50KSB7IG1faW5z
cGVjdG9yV2ViR0xBZ2VudCA9IGFnZW50OyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBJbnNw
ZWN0b3JBZ2VudCogbV9pbnNwZWN0b3JBZ2VudDsKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1f
aW5zcGVjdG9yUGFnZUFnZW50OwpAQCAtMTczLDYgKzE4Myw5IEBAIHByaXZhdGU6CiAjaWYgRU5B
QkxFKFdPUktFUlMpCiAgICAgSW5zcGVjdG9yV29ya2VyQWdlbnQqIG1faW5zcGVjdG9yV29ya2Vy
QWdlbnQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgSW5zcGVjdG9yV2ViR0xBZ2Vu
dCogbV9pbnNwZWN0b3JXZWJHTEFnZW50OworI2VuZGlmCiB9OwogCiBJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50YXRpb25Gb3JQYWdlKFBhZ2UqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145791</attachid>
            <date>2012-06-05 07:41:27 -0700</date>
            <delta_ts>2012-06-06 01:49:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120605184126.patch</filename>
            <type>text/plain</type>
            <size>72983</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVjOGRlMmRmODgwNjYy
NDUxOWQ3ZjFhMmM0YTJmMzUwMjZiYWRhOC4uMjlkYjdlNDRkNGE4NDM4NjM1ZDU2YjY3NzI2YWE5
MmRlYTRhZTc3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA2LTAzICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNv
cmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1M
Q2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0
V2ViR0xTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpk
aXNjYXJkSW5qZWN0ZWRTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0NvZGVHZW5l
cmF0b3JJbnNwZWN0b3IucHk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVk
U2NyaXB0TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaDoKKyAgICAgICAgKEluamVjdGVkU2NyaXB0TWFuYWdlcik6CisgICAgICAgICogaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNo
ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkdMQWdlbnRTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0
aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJH
TFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAg
ICAoSW5zdHJ1bWVudGluZ0FnZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5n
QWdlbnRzOjppbnNwZWN0b3JXZWJHTEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6OnNldEluc3BlY3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERh
dGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpIHNob3VsZCBzeW5jaHJvbm91c2x5IHJl
dHVybiBlbnRyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjZWIxZGI0MDZjYjBhZTQ2OTcxNzlj
NmViZWI2NTRmZDRiZGEyMzBhLi5kYzNkNzAzYzc3YjgxNGZjMjJhN2UxZThiNjJjNzViNjA3ZjNk
NDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTYyLDYgKzk2Miw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5j
cHAKQEAgLTE2OTMsNyArMTY5NCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAg
ICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAg
TW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAor
CiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3
b3JraW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVs
ZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjYwNCw2ICsyNjA1
LDE3IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAk
e0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAog
CisjIEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJH
TCkKKyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09V
UkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1B
SU5fREVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAg
ICAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3Iv
eHhkLnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09S
RV9ESVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAg
ICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNI
X1RPT0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNw
cCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAyZmM5ZjE4NjUyMjQzNGYz
ZDJmYWUxMjMzY2U3N2U3YTk1YTE0MC4uMGVkZjIyMTQ1ZTI3YmMyZjg3YjJmMTYzNDJiMWRkOWRm
MjBjYWUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAog
IyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFj
ayA8Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFy
ZSBtZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAor
IyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03
ODAsMTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQo
UFJPSkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZp
bmRzdHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAg
IFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQo
V2ViQ29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChV
U0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAog
aWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5B
QkxFX01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtl
X25hbWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdz
L3NjcmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0t
LS0tLS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAog
RXZlbnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9t
YWtlX2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBA
QCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5o
IEV4Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9z
Y3JpcHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0t
LS0tLS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVu
dCBmYWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBk
b20vbWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpA
QCAtOTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3Rl
ZFNjcmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29y
ZSkvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAK
K2FsbCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUp
L2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUp
L2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEg
KCQoZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19X
WCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBlNWY0ODQ0Njk1Mjg2MjM2MmQ3Yjlk
YjMyMjNhODIxMzQ2NmQzOWJiLi5lMzQ5OGY0ODQ0Y2YwMDYzM2IwNzdhODBjYmJlYjBiMmQ1OGI1
MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BF
Q1RPUl9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5z
cGVjdG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NP
VVJDRSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERF
QlVHR0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5q
cwogCiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDEx
ICs3NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VO
RVJBVE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGlu
amVjdGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVj
dGVkU2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0
ZWRTY3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
ICR7UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwg
JCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJ
TEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0
X3RvX3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQog
Ci0jIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBp
bGVyCisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291
cmNlIGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElO
SkVDVEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29t
bWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9
IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3Ig
ZGVidWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0
cHV0ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQg
PSBERUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9
IHBlcmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FN
QUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDgz
NjhjNmQ0NDcyM2RjOWJiZGZkYmE1MGFkMTczOGY1MTBjNTU2NGIuLmYwYzUyYWI3Y2FlYjUzMjkx
NGQ5NzI2NDE5ODE0ZTlmZTE3ZjQ5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjEsNiAr
ODIxLDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
anM6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0
ZWRTY3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuanMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIElu
amVjdGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJD
b3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4p
JChQRVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpz
ICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYg
RU5BQkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBA
IC0xMDcwLDYgKzEwNzIsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3Uv
TElDRU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0
b3IucHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5q
cyBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
anMgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDVhYzVkZTM2MjQxZDFiODJmYzE4NTVmNzFhZTRhNmM2
NWZkM2UzNDEuLjUyNmY1ZDk5ZDI5ZGJlYTM3MTM4NDA5YTFiNjNiOTJjM2M4YmUyMGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMiw2ICsyNzIzLDkgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYmMwMTE3Yjc1MDYzMTg5
Y2RkMjkxNzQ2NTFiYzZmZDkzZTk5YmFiNC4uMGU3MTk4ZDI1Y2FhMDk4NzFkNjIzN2JlN2RiNWRh
ODEzNTgwMjVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0Rh
dGEuY3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRl
eHRFZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3Bl
Y3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBp
bnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4
IGI3NmQzYmM1YjY1OTNkN2RmOGEwNWY1N2QxMTY1YWFiZDg1NTM0M2IuLjEwZGQ5OGYwMGVjOTk5
NjVlYjczY2QzYTEyMjRiNjYxZDE2N2RhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzcs
NyArMTc3LDcgQEAgX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjE2bG9hZEZyYW1lUmVxdWVzdEVS
S05TXzE2RnJhbWVMb2FkUmVxdWVzdEViYk4zV1RGMTBQYXMKIF9fWk43V2ViQ29yZTExRnJhbWVM
b2FkZXIxN3N0b3BGb3JVc2VyQ2FuY2VsRWIKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMWxv
YWRVUkxJbnRvQ2hpbGRGcmFtZUVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRVBOU181RnJhbWVF
CiBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMjJmaW5kRnJhbWVGb3JOYXZpZ2F0aW9uRVJLTjNX
VEYxMkF0b21pY1N0cmluZ0VQTlNfOERvY3VtZW50RQotX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRl
cjIzdGltZU9mTGFzdENvbXBsZXRlZExvYWRFdiAgICAKK19fWk43V2ViQ29yZTExRnJhbWVMb2Fk
ZXIyM3RpbWVPZkxhc3RDb21wbGV0ZWRMb2FkRXYKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIy
NnJlbG9hZFdpdGhPdmVycmlkZUVuY29kaW5nRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3Jl
MTFGcmFtZUxvYWRlcjMyc2V0T3JpZ2luYWxVUkxGb3JEb3dubG9hZFJlcXVlc3RFUk5TXzE1UmVz
b3VyY2VSZXF1ZXN0RQogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRpbml0RXYKQEAgLTE2ODQs
NyArMTY4NCw3IEBAIF93a0dldEFYVGV4dE1hcmtlclR5cGVJRAogX3drR2V0QVhUZXh0TWFya2Vy
UmFuZ2VUeXBlSUQKIF93a0NyZWF0ZUFYVGV4dE1hcmtlclJhbmdlCiBfd2tDb3B5QVhUZXh0TWFy
a2VyUmFuZ2VTdGFydAotX3drQ29weUFYVGV4dE1hcmtlclJhbmdlRW5kIAorX3drQ29weUFYVGV4
dE1hcmtlclJhbmdlRW5kCiBfd2tDcmVhdGVBWFRleHRNYXJrZXIKIF93a0dldEJ5dGVzRnJvbUFY
VGV4dE1hcmtlcgogX3drQ3JlYXRlQVhVSUVsZW1lbnRSZWYKQEAgLTE3NzYsNyArMTc3Niw3IEBA
IF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMTRyZW1vdmVBbGxJY29uc0V2CiBfX1pON1dlYkNv
cmUxMkljb25EYXRhYmFzZTE1aWNvblJlY29yZENvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRh
dGFiYXNlMTlwYWdlVVJMTWFwcGluZ0NvdW50RXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNl
MjBhbGxvd0RhdGFiYXNlQ2xlYW51cEV2Ci1fX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIwZGVs
YXlEYXRhYmFzZUNsZWFudXBFdiAgIAorX19aTjdXZWJDb3JlMTJJY29uRGF0YWJhc2UyMGRlbGF5
RGF0YWJhc2VDbGVhbnVwRXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjByZXRhaW5JY29u
Rm9yUGFnZVVSTEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNlMjBy
ZXRhaW5lZFBhZ2VVUkxDb3VudEV2CiBfX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTIxcmVsZWFz
ZUljb25Gb3JQYWdlVVJMRVJLTjNXVEY2U3RyaW5nRQpAQCAtMjIxMywzICsyMjEzLDggQEAgX19a
Tks3V2ViQ29yZTROb2RlMzFudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuRXYKICNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKIF9fWk43V2ViQ29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczE4
aXNTaGFkb3dET01FbmFibGVkRQogI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCR0wpCitfX1pON1dl
YkNvcmUxOUluc3BlY3RvcldlYkdMQWdlbnRDMUVQTlNfMTlJbnN0cnVtZW50aW5nQWdlbnRzRVBO
U18xNEluc3BlY3RvclN0YXRlRVBOU18yMUluamVjdGVkU2NyaXB0TWFuYWdlckUKK19fWk43V2Vi
Q29yZTE5SW5zcGVjdG9yV2ViR0xBZ2VudDQzd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvcklu
c3RydW1lbnRhdGlvbkVOU18xMlNjcmlwdE9iamVjdEUKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA3ZDhkN2JlYTg1MjRiNWUwY2QzY2I2YzczM2MwNDkz
MWJmYWFhNTQ5Li5hMjU2MjQ4ZmI3N2YzODI0YzYxYWRkYjQ3MDk4YmQ0YTRmNGZmM2VjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtNDM0LDYgKzQzNCwyOSBAQAog
ICAgICAgXQogICAgIH0sCiAgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ2luamVjdGVkX3dl
YmdsX3NjcmlwdF9zb3VyY2UnLAorICAgICAgJ3R5cGUnOiAnbm9uZScsCisgICAgICAnYWN0aW9u
cyc6IFsKKyAgICAgICAgeworICAgICAgICAgICdhY3Rpb25fbmFtZSc6ICdnZW5lcmF0ZUluamVj
dGVkV2ViR0xTY3JpcHRTb3VyY2UnLAorICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAgICAg
ICAnLi4vaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMnLAorICAgICAgICAg
IF0sCisgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJN
RURJQVRFX0RJUikvd2Via2l0L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCcsCisgICAgICAg
ICAgXSwKKyAgICAgICAgICAnYWN0aW9uJzogWworICAgICAgICAgICAgJ3BlcmwnLAorICAgICAg
ICAgICAgJy4uL2luc3BlY3Rvci94eGQucGwnLAorICAgICAgICAgICAgJ0luamVjdGVkV2ViR0xT
Y3JpcHRTb3VyY2VfanMnLAorICAgICAgICAgICAgJzxAKF9pbnB1dHMpJywKKyAgICAgICAgICAg
ICc8QChfb3V0cHV0cyknCisgICAgICAgICAgXSwKKyAgICAgICAgICAnbWVzc2FnZSc6ICdHZW5l
cmF0aW5nIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBmcm9tIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuanMnLAorICAgICAgICB9LAorICAgICAgXQorICAgIH0sCisgICAgewogICAgICAg
J3RhcmdldF9uYW1lJzogJ2RlYnVnZ2VyX3NjcmlwdF9zb3VyY2UnLAogICAgICAgJ3R5cGUnOiAn
bm9uZScsCiAgICAgICAnYWN0aW9ucyc6IFsKQEAgLTEwNzQsNiArMTA5Nyw3IEBACiAgICAgICAg
ICd3ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnLAogICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29s
X3NvdXJjZXMnLAogICAgICAgICAnaW5qZWN0ZWRfc2NyaXB0X3NvdXJjZScsCisgICAgICAgICdp
bmplY3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2RlYnVnZ2VyX3NjcmlwdF9z
b3VyY2UnLAogICAgICAgICAnLi4vLi4vSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lw
L0phdmFTY3JpcHRDb3JlLmd5cDp5YXJyJywKICAgICAgICAgJy4uLy4uL1dURi9XVEYuZ3lwL1dU
Ri5neXA6d3RmJywKQEAgLTExOTcsNiArMTIyMSw3IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzog
WwogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAgICdpbmplY3RlZF9z
Y3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVkX3dlYmdsX3NjcmlwdF9zb3VyY2UnLAog
ICAgICAgICAnaW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMnLAogICAgICAgICAnd2ViY29yZV9i
aW5kaW5nc19zb3VyY2VzJywKICAgICAgICAgJy4uLy4uL1RoaXJkUGFydHkvZ2x1L2dsdS5neXA6
bGlidGVzcycsCkBAIC0xNDcyLDkgKzE0OTcsOSBAQAogICAgICAgJ2RlcGVuZGVuY2llcyc6IFsK
ICAgICAgICAgJ3dlYmNvcmVfcHJlcmVxdWlzaXRlcycsCiAgICAgICBdLAotICAgICAgJ2RlZmlu
ZXMnOiBbIAotICAgICAgICAnV0VCS0lUX0lNUExFTUVOVEFUSU9OPTEnLCAKLSAgICAgIF0sIAor
ICAgICAgJ2RlZmluZXMnOiBbCisgICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsCisg
ICAgICBdLAogICAgICAgIyBUaGlzIGlzIG5lZWRlZCBmb3IgbWFjIGJlY2F1c2Ugb2Ygd2Via2l0
X3N5c3RlbV9pbnRlcmZhY2UuIEl0J2QgYmUgbmljZQogICAgICAgIyBpZiB0aGlzIGhhcmQgZGVw
ZW5kZW5jeSBjb3VsZCBiZSBzcGxpdCBvZmYgdGhlIHJlc3QuCiAgICAgICAnaGFyZF9kZXBlbmRl
bmN5JzogMSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAwMTMxY2Q0NGZmZDJiMmZjNmQwZWYxN2VhYWRl
YzQzNjlkNGQxMTY5Li5jODkxYzQ5NmU1ZGU3YTM4NGU3MDUyZWVmYTM3NzhlNzg1MmY4OTlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0yODE5LDYgKzI4MTksOSBAQAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9J
bnNwZWN0b3JWYWx1ZXMuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29y
a2VyUmVzb3VyY2UuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdl
bnQuY3BwJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oJywK
KyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCcs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCcsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmgnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcCcsCkBAIC02NjQxLDcgKzY2NDQsNyBA
QAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNtYWxsR3Jh
eS5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFNt
YWxsV2hpdGUucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9z
ZWFyY2hOZXh0LnBuZycsCi0gICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMv
c2VhcmNoUHJldi5wbmcnLCAgICAgICAgICAgIAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzL3NlYXJjaFByZXYucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJv
bnQtZW5kL0ltYWdlcy9zZWdtZW50LnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250
LWVuZC9JbWFnZXMvc2VnbWVudEVuZC5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzL3NlZ21lbnRIb3Zlci5wbmcnLApAQCAtNzIzOSw2ICs3MjQyLDcgQEAKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0hUTUxOYW1l
cy5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSGVhZGVyRGV0ZWN0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCcsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVyLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggOGRmNzFlZTNiZWJmMTIxZjI4ZDQwMDZmYmM4
YTNkOWY3MmI1ODUyYi4uNGZkYTdhZDE4Y2Y4MjY4NzE3YTYyZWFlNWU2MzFiNzZkZTg5NjEzMyAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTU5
NCw2ICs1OTQsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgiCisJCQkJPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIu
Y3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTczOTk1LDYgKzczOTk5LDM0IEBACiAJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNw
ZWN0b3JXZWJHTEFnZW50LmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvcldlYkdMQWdlbnQuaCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAiCiAJ
CQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYwY2NhNzI1OWI4N2Q5MWY4NDBmN2Q1
MTA5YTUxZDFkZmMxYWMxN2QuLmE5NWZjNDQ3OWVmYjA5ZDcyOGM3NmRjM2NmYTJjNzAxY2IwMThm
NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTEsNCArMSwzIEBACi0KIC8vICEkKlVURjgqJCEKIHsKIAlhcmNoaXZlVmVyc2lv
biA9IDE7CkBAIC0zMzYsOCArMzM1LDYgQEAKIAkJMTRFMEJDNTYxMzYxNDhBODAwMkFEMTJFIC8q
IEpTRE9NVG9rZW5MaXN0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDE0RTBCQzU1MTM2MTQ4QTgwMDJBRDEyRSAvKiBKU0RPTVRva2VuTGlz
dEN1c3RvbS5jcHAgKi87IH07CiAJCTE0RTgzNzg0MDlGODVEMUMwMEI4NUFFNCAvKiBKU0V2ZW50
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RTgz
NzgzMDlGODVEMUMwMEI4NUFFNCAvKiBKU0V2ZW50LmNwcCAqLzsgfTsKIAkJMTRFODM3OEUwOUY4
NUQ0RjAwQjg1QUU0IC8qIEpTRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDE0RTgzNzhEMDlGODVENEYwMEI4NUFFNCAvKiBKU0V2ZW50LmggKi87
IH07Ci0JCUM2QTcwMzMyNUM5RDBCNkNEQ0JDNEQ3NyAvKiBKU0V2ZW50VGFyZ2V0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2QTcwMzMyNUM5RDBC
NkNEQ0JDNEQ3OCAvKiBKU0V2ZW50VGFyZ2V0LmNwcCAqLzsgfTsKLQkJNUZDN0RDMjZDRkUyNTYz
MjAwQjg1QUU0IC8qIEpTRXZlbnRUYXJnZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFy
Z2V0LmggKi87IH07CiAJCTE0RkZFMzFEMEFFMTk2MzMwMDEzNkJGNSAvKiBIVE1MRnJhbWVFbGVt
ZW50QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTRGRkUzMUIwQUUxOTYzMzAwMTM2QkY1IC8qIEhUTUxGcmFtZUVsZW1lbnRCYXNlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMTRGRkUzMUUwQUUx
OTYzMzAwMTM2QkY1IC8qIEhUTUxGcmFtZUVsZW1lbnRCYXNlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RkZFMzFDMEFFMTk2MzMwMDEzNkJGNSAv
KiBIVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAgKi87IH07CiAJCTE1Qzc3MDhEMTAwRDNDNkIwMDVC
QTI2NyAvKiBWYWxpZGl0eVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxNUM3NzA4QTEwMEQzQzZBMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5o
ICovOyB9OwpAQCAtMTY3NCw2ICsxNjcxLDcgQEAKIAkJNURGN0Y1QzIwRjAxRjkyQTAwNTI2QjRC
IC8qIENTU1Byb3BlcnR5TmFtZXMuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjU4MEVGMDlEMTJCMjAwMDBFNjFENyAvKiBD
U1NQcm9wZXJ0eU5hbWVzLmggKi87IH07CiAJCTVERkU4RjU2MEQxNjQ3N0IwMDc2RTkzNyAvKiBT
Y2hlZHVsZWRBY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkNBMzc4QkEwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAg
Ki87IH07CiAJCTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJCMEQx
NUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLzsgfTsKKwkJNUZDN0RDMjZDRkUy
NTYzMjAwQjg1QUU0IC8qIEpTRXZlbnRUYXJnZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50
VGFyZ2V0LmggKi87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2
aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2MjZDREUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9
OwogCQk2MjZDREUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQy
NEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENGQyAvKiBO
ZXR3b3JraW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE5Mjcs
NiArMTkyNSw4IEBACiAJCTdBRkQ0RkY0MTEzMjc3QjYwMDM1Qjg4MyAvKiBTY3JpcHREZWJ1Z0xp
c3RlbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QUZENEZGMzExMzI3N0I2MDAzNUI4ODMgLyogU2NyaXB0RGVidWdMaXN0ZW5lci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdFMzNDRDAxMTI3RjM0
MEQwMEJFOEYxNyAvKiBQdXJnZVByaW9yaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3RTMzQ0QwMDEyN0YzNDBEMDBCRThGMTcgLyogUHVyZ2VQcmlv
cml0eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTdFMzdFRjJFMTMzOTIwODgwMEIyOTI1MCAvKiBTdWJyZXNvdXJjZUxvYWRlckNGLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFMzdFRjJEMTMzOTIw
ODgwMEIyOTI1MCAvKiBTdWJyZXNvdXJjZUxvYWRlckNGLmNwcCAqLzsgfTsKKwkJN0U5OUFGNTEw
QjEzODQ2NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RTk5QUY1MjBCMTM4NDY0
NjhGQjAxQTUgLyogV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmNwcCAqLzsgfTsKKwkJN0U5
OUFGNTMwQjEzODQ2NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0U5OUFGNTQwQjEz
ODQ2NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdFRTY4NDVGMTJEMjZFMzgw
MEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFRTY4NDRDMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50
aWNhdGlvbkNGLmNwcCAqLzsgfTsKIAkJN0VFNjg0NjAxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhl
bnRpY2F0aW9uQ0YuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdFRTY4NDREMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0VFNjg0NjExMkQy
NkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RUU2ODQ0RTEyRDI2RTM4MDBFNzk0MTUg
LyogQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNDQ1MSw2ICs0NDUxLDkgQEAKIAkJQUEyMUVDQ0QwQUJG
MEZDNjAwMkI4MzRDIC8qIENTU0N1cnNvckltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBMDk3OEVFMEFCQUE2RTEwMDg3NDQ4MCAvKiBD
U1NDdXJzb3JJbWFnZVZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQUE0QzNBNzYwQjJCMTY3OTAwMjMzNEEyIC8qIFN0eWxlRWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTRDM0E3
NDBCMkIxNjc5MDAyMzM0QTIgLyogU3R5bGVFbGVtZW50LmNwcCAqLzsgfTsKIAkJQUE0QzNBNzcw
QjJCMTY3OTAwMjMzNEEyIC8qIFN0eWxlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUE0QzNBNzUwQjJCMTY3OTAwMjMzNEEyIC8qIFN0eWxl
RWxlbWVudC5oICovOyB9OworCQlBQUQ3NjZFQjE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVjdG9y
V2ViR0xBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBQUQ3NjZFODE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAg
Ki87IH07CisJCUFBRDc2NkVDMTU3RTUwMkYwMEU4NTQyMyAvKiBJbnNwZWN0b3JXZWJHTEFnZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUQ3NjZF
OTE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5oICovOyB9OworCQlBQUQ3
NjZFRDE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBRDc2NkVBMTU3
RTUwMkYwMEU4NTQyMyAvKiBJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oICovOyB9Owog
CQlBQUY1QjdCNzE1MjRCNkM1MDAwNENCNDkgLyogV2ViU29ja2V0RnJhbWUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFGNUI3QjExNTI0QjRCRDAw
MDRDQjQ5IC8qIFdlYlNvY2tldEZyYW1lLmNwcCAqLzsgfTsKIAkJQUIyM0EzMjcwOUJCQTdEMDAw
NjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFCMjNBMzI1MDlCQkE3RDAwMDY3Q0M1MyAvKiBC
ZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5jcHAgKi87IH07CiAJCUFCMjNBMzI4MDlCQkE3RDAwMDY3
Q0M1MyAvKiBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyM0EzMjYwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9y
ZVRleHRJbnNlcnRlZEV2ZW50LmggKi87IH07CkBAIC01NDMxLDggKzU0MzQsNiBAQAogCQlCQzgy
NDMyQTBEMENFOEEyMDA0NjBDOEYgLyogSlNTUUxUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4MjQzMjYwRDBDRThBMjAwNDYwQzhG
IC8qIEpTU1FMVHJhbnNhY3Rpb24uaCAqLzsgfTsKIAkJQkM4MjQzRTgwRDBDRkQ3NTAwNDYwQzhG
IC8qIFdpbmRvd0ZlYXR1cmVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDODI0M0U2MEQwQ0ZENzUwMDQ2MEM4RiAvKiBXaW5kb3dGZWF0dXJlcy5j
cHAgKi87IH07CiAJCUJDODI0M0U5MEQwQ0ZENzUwMDQ2MEM4RiAvKiBXaW5kb3dGZWF0dXJlcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4MjQzRTcw
RDBDRkQ3NTAwNDYwQzhGIC8qIFdpbmRvd0ZlYXR1cmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJN0U5OUFGNTEwQjEzODQ2NDY4RkIwMUE1IC8q
IFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RTk5QUY1MjBCMTM4NDY0NjhGQjAxQTUgLyogV2luZG93
Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmNwcCAqLzsgfTsKLQkJN0U5OUFGNTMwQjEzODQ2NDY4RkIw
MUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0U5OUFGNTQwQjEzODQ2NDY4RkIwMUE1IC8qIFdp
bmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUJDODVGMjNEMTUxOTE1RTAwMEJDMTdCRSAvKiBSZW5kZXJO
YW1lZEZsb3dUaHJlYWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDODVGMjNDMTUxOTE1RTAwMEJDMTdCRSAvKiBSZW5kZXJOYW1lZEZsb3dUaHJlYWQu
aCAqLzsgfTsKIAkJQkM4QUUzNEUxMkVBMDk2QTAwRUIzQUU2IC8qIFNjcm9sbGFibGVBcmVhLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOEFFMzRD
MTJFQTA5NkEwMEVCM0FFNiAvKiBTY3JvbGxhYmxlQXJlYS5jcHAgKi87IH07CiAJCUJDOEFFMzRG
MTJFQTA5NkEwMEVCM0FFNiAvKiBTY3JvbGxhYmxlQXJlYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4QUUzNEQxMkVBMDk2QTAwRUIzQUU2IC8qIFNj
cm9sbGFibGVBcmVhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTU3MzQsNiArNTczNSw3IEBACiAJCUM1RDRBQTdBMTE2QkFGQjYwMDY5Q0E5MyAv
KiBHbHlwaE1ldHJpY3NNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1ldHJpY3NNYXAuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDNUU5QjY3
NzEwNjk3RTEzMDBDN0JCMUEgLyogU3RvcmFnZUV2ZW50RGlzcGF0Y2hlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNUU5QjY3NjEwNjk3RTEzMDBD
N0JCMUEgLyogU3RvcmFnZUV2ZW50RGlzcGF0Y2hlci5jcHAgKi87IH07CiAJCUM1RUJERDg0MTA1
RURERUMwMDU2ODE2RiAvKiBTdG9yYWdlRXZlbnREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNUVCREQ4MTEwNUVEREVDMDA1NjgxNkYg
LyogU3RvcmFnZUV2ZW50RGlzcGF0Y2hlci5oICovOyB9OworCQlDNkE3MDMzMjVDOUQwQjZDRENC
QzRENzcgLyogSlNFdmVudFRhcmdldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDNkE3MDMzMjVDOUQwQjZDRENCQzRENzggLyogSlNFdmVudFRhcmdl
dC5jcHAgKi87IH07CiAJCUM2QjMxQjJFMTRGODQxRkIwMDg5RjIzRiAvKiBTY3JvbGxiYXJUaGVt
ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzY5MTYxNDcxNEY2RUJBNzAwNDYzNzVDIC8qIFNjcm9sbGJhclRoZW1lQ2xpZW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzZENzRBRDUwOUFB
MjgyRTAwMEIwQTUyIC8qIE1vZGlmeVNlbGVjdGlvbkxpc3RMZXZlbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZENzRBRDMwOUFBMjgyRTAwMEIwQTUy
IC8qIE1vZGlmeVNlbGVjdGlvbkxpc3RMZXZlbC5oICovOyB9OwogCQlDNkQ3NEFFNDA5QUEyOTBB
MDAwQjBBNTIgLyogTW9kaWZ5U2VsZWN0aW9uTGlzdExldmVsLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM2RDc0QUUzMDlBQTI5MEEwMDBCMEE1MiAv
KiBNb2RpZnlTZWxlY3Rpb25MaXN0TGV2ZWwuY3BwICovOyB9OwpAQCAtNzI1Niw4ICs3MjU4LDYg
QEAKIAkJMTRFODM2RDIwOUY4NTEyMDAwQjg1QUU0IC8qIEV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0RTgz
NzgzMDlGODVEMUMwMEI4NUFFNCAvKiBKU0V2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMTRFODM3OEQwOUY4NUQ0RjAwQjg1QUU0IC8qIEpTRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQzZBNzAzMzI1QzlEMEI2Q0RDQkM0RDc4IC8qIEpTRXZlbnRUYXJnZXQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRXZlbnRUYXJnZXQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVu
dFRhcmdldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdl
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNEZGRTMxQjBBRTE5NjMzMDAxMzZC
RjUgLyogSFRNTEZyYW1lRWxlbWVudEJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSFRNTEZyYW1lRWxlbWVudEJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMTRGRkUzMUMwQUUxOTYzMzAwMTM2QkY1IC8qIEhUTUxGcmFtZUVsZW1lbnRCYXNlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUTUxGcmFtZUVsZW1lbnRCYXNl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTVDNzcwODkxMDBEM0M2QTAwNUJB
MjY3IC8qIFZhbGlkaXR5U3RhdGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFZhbGlkaXR5
U3RhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODcyMCw2ICs4NzIwLDcg
QEAKIAkJNURCMUJDNjgxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9ybVNvdXJjZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUcmFuc2Zvcm1Tb3VyY2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURCMUJDNjkxMDcxNUE2NDAwRUZBQTQ5IC8qIFRyYW5zZm9y
bVNvdXJjZUxpYnhzbHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
VHJhbnNmb3JtU291cmNlTGlieHNsdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTVEQzg3RUVGMTE3MTZERjIwMDFDMEU2RCAvKiBFbXB0eVByb3RvY29sRGVmaW5pdGlvbnMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRW1wdHlQcm90b2NvbERlZmluaXRpb25z
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFF
NSAvKiBKU0V2ZW50VGFyZ2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0V2ZW50VGFyZ2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyNkNERTBDMTE0
MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTcGF0aWFsTmF2aWdhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTYyNkNERTBEMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdh
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTcGF0aWFsTmF2aWdhdGlv
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MjhEMjE0QjEyMTMxRUQxMDA1NURD
RkMgLyogTmV0d29ya2luZ0NvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTmV0d29ya2luZ0NvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTkw
MDUsNiArOTAwNiw4IEBACiAJCTdDNjAxMjgwNjAwNzhCQjcwRTM2N0E5NSAvKiBETlNSZXNvbHZl
UXVldWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE5TUmVzb2x2
ZVF1ZXVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0UzM0NEMDAxMjdGMzQw
RDAwQkU4RjE3IC8qIFB1cmdlUHJpb3JpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUHVyZ2VQcmlvcml0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3RTM3
RUYyRDEzMzkyMDg4MDBCMjkyNTAgLyogU3VicmVzb3VyY2VMb2FkZXJDRi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTdWJyZXNvdXJjZUxvYWRlckNGLmNwcDsgcGF0
aCA9IGNmL1N1YnJlc291cmNlTG9hZGVyQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3RTk5QUY1MjBCMTM4NDY0NjhGQjAxQTUgLyogV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNh
dG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdpbmRvd0ZvY3Vz
QWxsb3dlZEluZGljYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdFOTlB
RjU0MEIxMzg0NjQ2OEZCMDFBNSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdFRTY4NDRDMTJEMjZFMzgwMEU3OTQx
NSAvKiBBdXRoZW50aWNhdGlvbkNGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEF1dGhlbnRpY2F0aW9uQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3RUU2ODQ0RDEyRDI2RTM4MDBFNzk0MTUgLyogQXV0aGVudGljYXRpb25DRi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdXRoZW50aWNhdGlvbkNGLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTdFRTY4NDRFMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE0MzQs
NiArMTE0MzcsMTEgQEAKIAkJQUEwOTc4RUUwQUJBQTZFMTAwODc0NDgwIC8qIENTU0N1cnNvcklt
YWdlVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0N1cnNvcklt
YWdlVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUE0QzNBNzQwQjJCMTY3
OTAwMjMzNEEyIC8qIFN0eWxlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU3R5bGVFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQUE0QzNBNzUwQjJCMTY3OTAwMjMzNEEyIC8qIFN0eWxlRWxlbWVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUFBOTAzMEZFMTU3RTE2QTAwMDI3NjI0NyAvKiBJbmplY3RlZFdlYkdMU2Ny
aXB0U291cmNlLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gSW5q
ZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QUE5MTI3NTAxNTdFMzVBNTAwNDU0RTU0IC8qIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQUQ3NjZFODE1N0U1MDJGMDBFODU0
MjMgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBJbnNwZWN0b3JXZWJHTEFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQUFENzY2RTkxNTdFNTAyRjAwRTg1NDIzIC8qIEluc3BlY3RvcldlYkdMQWdlbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yV2ViR0xBZ2VudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQUQ3NjZFQTE1N0U1MDJGMDBFODU0MjMg
LyogSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQUFGNUI3QjExNTI0QjRCRDAwMDRDQjQ5IC8qIFdlYlNvY2tldEZy
YW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYlNvY2tldEZy
YW1lLmNwcDsgcGF0aCA9IE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRGcmFtZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFCMjNBMzI1MDlCQkE3RDAwMDY3Q0M1MyAvKiBC
ZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBQjIzQTMyNjA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVk
RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJlZm9yZVRleHRJbnNl
cnRlZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjU3Myw4ICsxMjU4
MSw2IEBACiAJCUJDODI0MzI2MEQwQ0U4QTIwMDQ2MEM4RiAvKiBKU1NRTFRyYW5zYWN0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU1FMVHJhbnNhY3Rpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM4MjQzRTYwRDBDRkQ3NTAwNDYwQzhGIC8qIFdp
bmRvd0ZlYXR1cmVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdp
bmRvd0ZlYXR1cmVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM4MjQzRTcw
RDBDRkQ3NTAwNDYwQzhGIC8qIFdpbmRvd0ZlYXR1cmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdpbmRvd0ZlYXR1cmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTdFOTlBRjUyMEIxMzg0NjQ2OEZCMDFBNSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2luZG93Rm9jdXNB
bGxvd2VkSW5kaWNhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0U5OUFG
NTQwQjEzODQ2NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM4NUYyM0MxNTE5MTVFMDAwQkMxN0JF
IC8qIFJlbmRlck5hbWVkRmxvd1RocmVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSZW5kZXJOYW1lZEZsb3dUaHJlYWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQkM4NUYyM0UxNTE5MTg3MzAwQkMxN0JFIC8qIFJlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJOYW1lZEZsb3dUaHJl
YWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzhBRTM0QzEyRUEwOTZBMDBF
QjNBRTYgLyogU2Nyb2xsYWJsZUFyZWEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU2Nyb2xsYWJsZUFyZWEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTI5MDMsNiArMTI5MDksNyBAQAogCQlDNUY3NjVCNDE0RTFENDE0MDA2Qzg5OUIgLyogUGFz
dGVib2FyZFN0cmF0ZWd5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhc3Rl
Ym9hcmRTdHJhdGVneS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNUY3NjVCQTE0
RTFFQ0Y0MDA2Qzg5OUIgLyogUGxhdGZvcm1QYXN0ZWJvYXJkTWFjLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1QYXN0ZWJvYXJkTWFjLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNjkxNjE0NzE0RjZFQkE3MDA0NjM3NUMgLyogU2Ny
b2xsYmFyVGhlbWVDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Ny
b2xsYmFyVGhlbWVDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzZBNzAz
MzI1QzlEMEI2Q0RDQkM0RDc4IC8qIEpTRXZlbnRUYXJnZXQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRXZlbnRUYXJnZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDNkQ3NEFEMzA5QUEyODJFMDAwQjBBNTIgLyogTW9kaWZ5U2VsZWN0aW9u
TGlzdExldmVsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZGlmeVNlbGVj
dGlvbkxpc3RMZXZlbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNkQ3NEFFMzA5
QUEyOTBBMDAwQjBBNTIgLyogTW9kaWZ5U2VsZWN0aW9uTGlzdExldmVsLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1vZGlmeVNlbGVjdGlvbkxpc3RMZXZlbC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM2RjA4RkI5MTQzMEZFOEYwMDY4NTg0OSAv
KiBNdXRhdGlvblJlY29yZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBNdXRhdGlvblJlY29yZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDMx
Niw2ICsxNDMyMyw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJ
CTdBNTYzRTU0MTJERTMyQjAwMEY0NTM2RCAvKiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oICovLAor
CQkJCUFBOTEyNzUwMTU3RTM1QTUwMDQ1NEU1NCAvKiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNl
LmggKi8sCiAJCQkJNEY3MDdBOTcxMUVGNjc5NDAwQUNEQTY5IC8qIEluc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVyLmNwcCAqLywKIAkJCQk0RjcwN0E5ODExRUY2Nzk0MDBBQ0RBNjkgLyogSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIuaCAqLywKIAkJCQk0RjRGNUZGQTExQ0JEMkQyMDBBMTg2QkYg
LyogSW5zcGVjdG9yRnJvbnRlbmQuY3BwICovLApAQCAtMTQzNjEsNiArMTQzNjksNyBAQAogCQkJ
CUYzMTYzOTY5MTMyOTQ4MUEwMEE2NDlDQiAvKiBJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwICov
LAogCQkJCUYzMTYzOTZBMTMyOTQ4MUEwMEE2NDlDQiAvKiBJbmplY3RlZFNjcmlwdE1hbmFnZXIu
aCAqLywKIAkJCQk3QTU2M0Y5NTEyREY1QzkxMDBGNDUzNkQgLyogSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuanMgKi8sCisJCQkJQUE5MDMwRkUxNTdFMTZBMDAwMjc2MjQ3IC8qIEluamVjdGVkV2ViR0xT
Y3JpcHRTb3VyY2UuanMgKi8sCiAJCQkJMUM0MzVDRDQxNEU4NTQ1QjAwNEUxMEVBIC8qIEluc3Bl
Y3Rvci0wLjEuanNvbiAqLywKIAkJCQkxQzQzNUNENTE0RTg1NDVCMDA0RTEwRUEgLyogSW5zcGVj
dG9yLTEuMC5qc29uICovLAogCQkJCTFDNDM1Q0QzMTRFODU0NEYwMDRFMTBFQSAvKiBJbnNwZWN0
b3IuanNvbiAqLywKQEAgLTE0NDMyLDYgKzE0NDQxLDkgQEAKIAkJCQk3NTQxMzNBNzEwMkUwMEU4
MDAwNzVEMDAgLyogSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oICovLAogCQkJCTRGMzI4OUIzMTFB
NDJBQUIwMDVBQkU3RSAvKiBJbnNwZWN0b3JWYWx1ZXMuY3BwICovLAogCQkJCTRGMzI4OUI0MTFB
NDJBQUIwMDVBQkU3RSAvKiBJbnNwZWN0b3JWYWx1ZXMuaCAqLywKKwkJCQlBQUQ3NjZFODE1N0U1
MDJGMDBFODU0MjMgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgKi8sCisJCQkJQUFENzY2RTkx
NTdFNTAyRjAwRTg1NDIzIC8qIEluc3BlY3RvcldlYkdMQWdlbnQuaCAqLywKKwkJCQlBQUQ3NjZF
QTE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCAqLywK
IAkJCQlGMzgxMEMxOTEzNjVBNDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuY3Bw
ICovLAogCQkJCUYzODEwQzFBMTM2NUE0OTYwMEVENkUzMyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2Vu
dC5oICovLAogCQkJCUYzNzVDQzA2MTE1MEQzMDAwMDhEREI4MSAvKiBJbnNwZWN0b3JXb3JrZXJS
ZXNvdXJjZS5oICovLApAQCAtMjMyNjEsNiArMjMyNzMsOCBAQAogCQkJCTc1NDEzM0E4MTAyRTAw
RTgwMDA3NUQwMCAvKiBJbnNwZWN0b3JUaW1lbGluZUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1NzhEQTIwRjE1MjBFQkEzMDA2MTQxQzEgLyogSW5zcGVjdG9yVHlwZUJ1aWxkZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTRGMzI4OUI2MTFBNDJBQUIwMDVBQkU3RSAvKiBJbnNwZWN0b3JWYWx1
ZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBRDc2NkVDMTU3RTUwMkYwMEU4NTQyMyAvKiBJbnNw
ZWN0b3JXZWJHTEFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBQUQ3NjZFRDE1N0U1MDJGMDBF
ODU0MjMgLyogSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCUYzODEwQzFDMTM2NUE0OTYwMEVENkUzMyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2VudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRjM3NUNDMDcxMTUwRDMwMDAwOEREQjgxIC8qIEluc3BlY3Rvcldv
cmtlclJlc291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGM0FCRkUwQzEzMEU5REEwMDBFN0Y3
RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjM4NCw2ICsy
NjM5OCw3IEBACiAJCQkJNzU0MTMzQUExMDJFMDBGNDAwMDc1RDAwIC8qIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTczRDEzNDcxNENFMzlGRjAwNTdBQkNB
IC8qIEluc3BlY3RvclR5cGVCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRGMzI4OUI1
MTFBNDJBQUIwMDVBQkU3RSAvKiBJbnNwZWN0b3JWYWx1ZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQUFENzY2RUIxNTdFNTAyRjAwRTg1NDIzIC8qIEluc3BlY3RvcldlYkdMQWdlbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRjM4MTBDMUIxMzY1QTQ5NjAwRUQ2RTMzIC8qIEluc3BlY3Rvcldv
cmtlckFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUYzNTBCNzM1MTNGMTM3N0QwMDg4MEM0
MyAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyNzUzNTYw
MEIwNTM4MTQwMDJDRTY0RiAvKiBJbnRQb2ludENHLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxDYW52YXNFbGVtZW50Q3Vz
dG9tLmNwcAppbmRleCBkNWZjM2NlOTYzNjNkYzUxMjY4NGYyZjQwNzFhNDI0ODVlYWMwNjE4Li5h
NzJhZjEwNjI5NDU3YmVmM2ZlOTg1NGMwYzRiYjM0ZDA2OTgxMzVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNw
cApAQCAtMjEsNyArMjEsNyBAQAogICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCiAjaW5jbHVkZSAiY29u
ZmlnLmgiCkBAIC0zMSw3ICszMSw5IEBACiAjaW5jbHVkZSAiSFRNTENhbnZhc0VsZW1lbnQuaCIK
ICNpbmNsdWRlICJKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIgogI2lmIEVOQUJMRShXRUJH
TCkKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUg
IkpTV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCiAj
aW5jbHVkZSAiV2ViR0xDb250ZXh0QXR0cmlidXRlcy5oIgogI2VuZGlmCiAjaW5jbHVkZSA8d3Rm
L0dldFB0ci5oPgpAQCAtNzUsNyArNzcsMTYgQEAgSlNWYWx1ZSBKU0hUTUxDYW52YXNFbGVtZW50
OjpnZXRDb250ZXh0KEV4ZWNTdGF0ZSogZXhlYykKICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0
KiBjb250ZXh0ID0gY2FudmFzLT5nZXRDb250ZXh0KHVzdHJpbmdUb1N0cmluZyhjb250ZXh0SWQp
LCBhdHRycy5nZXQoKSk7CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4ganNOdWxs
KCk7Ci0gICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGNv
bnRleHQpKTsKKyAgICBKU1ZhbHVlIGpzVmFsdWUgPSB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgp
LCBXVEY6OmdldFB0cihjb250ZXh0KSk7CisjaWYgRU5BQkxFKFdFQkdMKQorICAgIGlmIChjb250
ZXh0LT5pczNkKCkgJiYgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYXNGcm9udGVuZHMoKSkg
eworICAgICAgICBTY3JpcHRPYmplY3QgZ2xDb250ZXh0KGV4ZWMsIGpzVmFsdWUuZ2V0T2JqZWN0
KCkpOworICAgICAgICBTY3JpcHRPYmplY3Qgd3JhcHBlZCA9IEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihjYW52YXMt
PmRvY3VtZW50KCksIGdsQ29udGV4dCk7CisgICAgICAgIGlmICghd3JhcHBlZC5oYXNOb1ZhbHVl
KCkpCisgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC5qc1ZhbHVlKCk7CisgICAgfQorI2VuZGlm
CisgICAgcmV0dXJuIGpzVmFsdWU7CiB9CiAKIEpTVmFsdWUgSlNIVE1MQ2FudmFzRWxlbWVudDo6
dG9EYXRhVVJMKEV4ZWNTdGF0ZSogZXhlYykKQEAgLTkzLDcgKzEwNCw3IEBAIEpTVmFsdWUgSlNI
VE1MQ2FudmFzRWxlbWVudDo6dG9EYXRhVVJMKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAg
IHF1YWxpdHlQdHIgPSAmcXVhbGl0eTsKICAgICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIEpT
VmFsdWUgcmVzdWx0ID0ganNTdHJpbmcoZXhlYywgY2FudmFzLT50b0RhdGFVUkwodHlwZSwgcXVh
bGl0eVB0ciwgZWMpKTsKICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOwogICAgIHJldHVy
biByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVj
dGVkU2NyaXB0TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVj
dGVkU2NyaXB0TWFuYWdlci5jcHAKaW5kZXggMTU3NmQzNDZkMDZkY2E1MGM4NGY4M2U1ZmI5NmRk
NjFhZjU5ZDY3MC4uODBiNGU3ODkwNjRkNzQ5ZTFiYWQ3ZjRiMDcxZDY1ZjFjMDg0ZWJlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFn
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLmNwcApAQCAtNzgsNiArNzgsMTQgQEAgU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0
TWFuYWdlcjo6Y3JlYXRlSW5qZWN0ZWRTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIFMKICAg
ICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRP
YmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RXZWJHTFNjcmlwdChjb25zdCBTdHJp
bmcmLCBTY3JpcHRPYmplY3QpCit7CisgICAgLy8gRklYTUUoODc5NzUpOiBJbXBsZW1lbnQgdGhp
cyEKKyAgICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7Cit9CisjZW5kaWYKKwogdm9pZCBJbmplY3Rl
ZFNjcmlwdE1hbmFnZXI6OmRpc2NhcmRJbmplY3RlZFNjcmlwdChTY3JpcHRTdGF0ZSogc2NyaXB0
U3RhdGUpCiB7CiAgICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGpzQ2FzdDxK
U0RPTUdsb2JhbE9iamVjdCo+KHNjcmlwdFN0YXRlLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwCmluZGV4IGMxOWZiOTg5
MmJkYzhhOTc2NGRmN2UzYWJiZjc5OWIxNWRiYjY4MTQuLmUyMWM2Y2FjZTc1MTdkOTQwNGM5Yjli
YzRjMDNlZDM4NzFjMzI0MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1NjcmlwdFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRT
dGF0ZS5jcHAKQEAgLTkwLDcgKzkwLDcgQEAgU2NyaXB0U3RhdGUqIFNjcmlwdFN0YXRlOjpmb3JD
b250ZXh0KHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gY29udGV4dCkKIAogICAgIHY4OjpMb2NhbDx2
ODo6T2JqZWN0PiBnbG9iYWwgPSBjb250ZXh0LT5HbG9iYWwoKTsKICAgICAvLyBTa2lwIHByb3h5
IG9iamVjdC4gVGhlIHByb3h5IG9iamVjdCB3aWxsIHN1cnZpdmUgcGFnZSBuYXZpZ2F0aW9uIHdo
aWxlIHdlIG5lZWQKLSAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29uc2lkZXMgd2l0
aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KKyAgICAvLyBhbiBvYmplY3Qgd2hvc2Ug
bGlmZXRpbWUgY29pbmNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCiAg
ICAgZ2xvYmFsID0gdjg6OkxvY2FsPHY4OjpPYmplY3Q+OjpDYXN0KGdsb2JhbC0+R2V0UHJvdG90
eXBlKCkpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBrZXkgPSBWOEhpZGRlblByb3Bl
cnR5TmFtZTo6c2NyaXB0U3RhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAppbmRl
eCAyMGRiNTNkNjRlYzEwMTliZjEwZDNjNDJjNzhlZjcwMDI5ZjI5ZDc4Li5lMTk4OTZmZWUwMjAx
YjFiNTRiMzU1ZDlkMGNiMjE4M2ZkMjc4OWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20u
Y3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiVjhOb2RlLmgiCiAjaW5jbHVkZSAiVjhQ
cm94eS5oIgogI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEluc3Ry
dW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlY4V2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCiAjZW5k
aWYKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgpAQCAtODgsOCArODksMTcgQEAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4SFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHRDYWxsYmFjayhj
b25zdCB2ODo6QXJndW1lbnQKICAgICBpZiAocmVzdWx0LT5pczJkKCkpCiAgICAgICAgIHJldHVy
biB0b1Y4KHN0YXRpY19jYXN0PENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCo+KHJlc3VsdCksIGFy
Z3MuR2V0SXNvbGF0ZSgpKTsKICNpZiBFTkFCTEUoV0VCR0wpCi0gICAgZWxzZSBpZiAocmVzdWx0
LT5pczNkKCkpCi0gICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5n
Q29udGV4dCo+KHJlc3VsdCksIGFyZ3MuR2V0SXNvbGF0ZSgpKTsKKyAgICBlbHNlIGlmIChyZXN1
bHQtPmlzM2QoKSkgeworICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdjhSZXN1bHQgPSB0
b1Y4KHN0YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5nQ29udGV4dCo+KHJlc3VsdCksIGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKKyAgICAgICAgaWYgKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJv
bnRlbmRzKCkpIHsKKyAgICAgICAgICAgIFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSA9IFNjcmlw
dFN0YXRlOjpmb3JDb250ZXh0KHY4OjpDb250ZXh0OjpHZXRDdXJyZW50KCkpOworICAgICAgICAg
ICAgU2NyaXB0T2JqZWN0IGdsQ29udGV4dChzY3JpcHRTdGF0ZSwgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0Pjo6Q2FzdCh2OFJlc3VsdCkpOworICAgICAgICAgICAgU2NyaXB0T2JqZWN0IHdyYXBwZWQg
PSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJ
bnN0cnVtZW50YXRpb24oaW1wLT5kb2N1bWVudCgpLCBnbENvbnRleHQpOworICAgICAgICAgICAg
aWYgKCF3cmFwcGVkLmhhc05vVmFsdWUoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBl
ZC52OFZhbHVlKCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHY4UmVzdWx0OworICAgIH0K
ICNlbmRpZgogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiB2ODo6TnVsbChh
cmdzLkdldElzb2xhdGUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAppbmRleCAzMzNmZTU3
NWNiMDc4YTEyNzU2N2M2NWMyYzUxZGNmN2E0NmQxYzIzLi4xY2U1OTVlYzgwNzRjMTI3MmJjNjky
ZmQ2MTkwOWRmZWFiZWQ5NTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKQEAgLTExMCwx
MCArMTEwLDM0IEBAIFNjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUlu
amVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc2NyaXB0U291CiAgICAgICB2ODo6TnVtYmVyOjpO
ZXcoaWQpLAogICAgIH07CiAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gaW5qZWN0ZWRTY3JpcHRW
YWx1ZSA9IHY4OjpGdW5jdGlvbjo6Q2FzdCgqdiktPkNhbGwod2luZG93R2xvYmFsLCAzLCBhcmdz
KTsKLSAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gaW5qZWN0ZWRTY3JpcHQodjg6Ok9iamVjdDo6
Q2FzdCgqaW5qZWN0ZWRTY3JpcHRWYWx1ZSkpOwotICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5z
cGVjdGVkU2NyaXB0U3RhdGUsIGluamVjdGVkU2NyaXB0KTsKKyAgICByZXR1cm4gU2NyaXB0T2Jq
ZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRlLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGlu
amVjdGVkU2NyaXB0VmFsdWUpKTsKIH0KIAorI2lmIEVOQUJMRShXRUJHTCkKK1NjcmlwdE9iamVj
dCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KGNvbnN0IFN0cmluZyYg
c2NyaXB0U291cmNlLCBTY3JpcHRPYmplY3QgZ2xDb250ZXh0KQoreworICAgIHY4OjpIYW5kbGVT
Y29wZSBzY29wZTsKKworICAgIFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTY3JpcHRTdGF0ZSA9IGds
Q29udGV4dC5zY3JpcHRTdGF0ZSgpOworICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gaW5zcGVj
dGVkQ29udGV4dCA9IGluc3BlY3RlZFNjcmlwdFN0YXRlLT5jb250ZXh0KCk7CisgICAgdjg6OkNv
bnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZShpbnNwZWN0ZWRDb250ZXh0KTsKKworICAgIHY4OjpM
b2NhbDx2ODo6T2JqZWN0PiB3aW5kb3dHbG9iYWwgPSBpbnNwZWN0ZWRDb250ZXh0LT5HbG9iYWwo
KTsKKworICAgIHY4OjpMb2NhbDx2ODo6U2NyaXB0PiBzY3JpcHQgPSB2ODo6U2NyaXB0OjpDb21w
aWxlKHY4U3RyaW5nKHNjcmlwdFNvdXJjZSkpOworICAgIFY4UmVjdXJzaW9uU2NvcGU6Ok1pY3Jv
dGFza1N1cHByZXNzaW9uIHJlY3Vyc2lvblNjb3BlOworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+
IHYgPSBzY3JpcHQtPlJ1bigpOworICAgIEFTU0VSVCghdi5Jc0VtcHR5KCkpOworICAgIEFTU0VS
VCh2LT5Jc0Z1bmN0aW9uKCkpOworCisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3NbXSA9
IHsKKyAgICAgICAgZ2xDb250ZXh0LnY4VmFsdWUoKSwKKyAgICB9OworICAgIHY4OjpMb2NhbDx2
ODo6VmFsdWU+IGluamVjdGVkU2NyaXB0VmFsdWUgPSB2ODo6RnVuY3Rpb246OkNhc3QoKnYpLT5D
YWxsKHdpbmRvd0dsb2JhbCwgMSwgYXJncyk7CisgICAgcmV0dXJuIFNjcmlwdE9iamVjdChpbnNw
ZWN0ZWRTY3JpcHRTdGF0ZSwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChpbmplY3RlZFNj
cmlwdFZhbHVlKSk7Cit9CisjZW5kaWYKKwogdm9pZCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRp
c2NhcmRJbmplY3RlZFNjcmlwdChTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3RhdGUpCiB7
CiAgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOwpAQCAtMTIyLDcgKzE0Niw3IEBAIHZv
aWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3Rh
dGUqIGluc3BlY3RlZFNjcmlwdFN0CiAKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFs
ID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94
eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAg
Ly8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5z
cGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRl
cyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpM
b2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4
OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRldnRvb2xz
SW5qZWN0ZWRTY3JpcHQoKTsKQEAgLTEzNyw3ICsxNjEsNyBAQCBJbmplY3RlZFNjcmlwdCBJbmpl
Y3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkU2NyaXB0Rm9yKFNjcmlwdFN0YXRlKiBpbnNwZWN0
ZWRTYwogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2Jh
bCgpOwogICAgIC8vIFNraXAgcHJveHkgb2JqZWN0LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vy
dml2ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUgd2UgbmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9z
ZSBsaWZldGltZSBjb25zaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0Lgor
ICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRo
ZSBpbnNwZWN0ZWQgY29udGV4dC4KICAgICBnbG9iYWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46
OkNhc3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUoKSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJp
bmc+IGtleSA9IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkZXZ0b29sc0luamVjdGVkU2NyaXB0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3Bl
Y3Rvci5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9y
LnB5CmluZGV4IGU5ZDM3M2IwMWUwMzVkNWI0NGY2Mjc2M2MwNjQ4NjA3MTVmYTI3NDYuLjM0NTMx
M2Q0NGMyZTMyOWZkODRlMDJiYmQxNWVlNzczZDVkYjQ3YzUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5CkBAIC00Niw2ICs0Niw3
IEBAIERPTUFJTl9ERUZJTkVfTkFNRV9NQVAgPSB7CiAgICAgIkluZGV4ZWREQiI6ICJJTkRFWEVE
X0RBVEFCQVNFIiwKICAgICAiUHJvZmlsZXIiOiAiSkFWQVNDUklQVF9ERUJVR0dFUiIsCiAgICAg
IldvcmtlciI6ICJXT1JLRVJTIiwKKyAgICAiV2ViR0wiOiAiV0VCR0wiLAogfQogCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5k
ZXggZTQwNmM0YThlMTU4NTA2ODZmNzY2NGIyYzVkZmZlZmNiOGE5MmQyYi4uMzFmZjlmNDFjNjA2
NjJhNjQyNjRhYWRlNzVmYjdjZTdkYThkY2I3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKQEAgLTM3LDcgKzM3LDExIEBACiAj
aW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHQuaCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3Qu
aCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdFNvdXJjZS5oIgorI2lmIEVOQUJMRShXRUJHTCkK
KyNpbmNsdWRlICJJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgiCisjZW5kaWYKICNpbmNsdWRl
ICJJbnNwZWN0b3JWYWx1ZXMuaCIKKyNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApAQCAt
MTcyLDYgKzE3NiwxOCBAQCBwYWlyPGludCwgU2NyaXB0T2JqZWN0PiBJbmplY3RlZFNjcmlwdE1h
bmFnZXI6OmluamVjdFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZQogICAgIHJldHVybiBzdGQ6
Om1ha2VfcGFpcihpZCwgY3JlYXRlSW5qZWN0ZWRTY3JpcHQoc291cmNlLCBzY3JpcHRTdGF0ZSwg
aWQpKTsKIH0KIAorI2lmIEVOQUJMRShXRUJHTCkKK1NjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlw
dE1hbmFnZXI6OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2Ny
aXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAgICByZXR1cm4gaW5qZWN0V2ViR0xTY3JpcHQoaW5q
ZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpLCBnbENvbnRleHQpOworfQorCitTdHJpbmcgSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKCkKK3sKKyAgICByZXR1
cm4gU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2VfanMpLCBzaXplb2YoSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcykpOworfQor
I2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQ
RUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLmgKaW5kZXggYTliZGNhNTJmY2JjMjI3YWIyOTFhYjc0YTZlYjg5MThmMDRiZDhlNC4uNjEz
ZmVmODEyMzhhNDA5MThhODYzMjg0OTBjYWMwMTU3OTQzM2I0YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaApAQCAtNywxMyArNywxMyBA
QAogICogYXJlIG1ldDoKICAqCiAgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KICAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAogICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LiAKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUg
Q29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKICAqICAgICBpdHMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLiAKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKICAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKQEAgLTY0LDYgKzY0LDkgQEAgcHVibGljOgogICAgIHZvaWQgZGlz
Y2FyZEluamVjdGVkU2NyaXB0c0ZvcihET01XaW5kb3cqKTsKICAgICB2b2lkIHJlbGVhc2VPYmpl
Y3RHcm91cChjb25zdCBTdHJpbmcmIG9iamVjdEdyb3VwKTsKIAorI2lmIEVOQUJMRShXRUJHTCkK
KyAgICBTY3JpcHRPYmplY3Qgd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRh
dGlvbihTY3JpcHRPYmplY3QpOworI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgdHlwZWRlZiBib29s
ICgqSW5zcGVjdGVkU3RhdGVBY2Nlc3NDaGVjaykoU2NyaXB0U3RhdGUqKTsKQEAgLTczLDYgKzc2
LDExIEBAIHByaXZhdGU6CiAgICAgU2NyaXB0T2JqZWN0IGNyZWF0ZUluamVjdGVkU2NyaXB0KGNv
bnN0IFN0cmluZyYgc291cmNlLCBTY3JpcHRTdGF0ZSosIGludCBpZCk7CiAgICAgdm9pZCBkaXNj
YXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqKTsKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAg
ICBTdHJpbmcgaW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpOworICAgIFNjcmlwdE9iamVjdCBp
bmplY3RXZWJHTFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgU2NyaXB0T2JqZWN0KTsKKyNl
bmRpZgorCiAgICAgc3RhdGljIGJvb2wgY2FuQWNjZXNzSW5zcGVjdGVkV2luZG93KFNjcmlwdFN0
YXRlKik7CiAgICAgc3RhdGljIGJvb2wgY2FuQWNjZXNzSW5zcGVjdGVkV29ya2VyQ29udGV4dChT
Y3JpcHRTdGF0ZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Jbmpl
Y3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhNTU1NGQzMTJhMGVmMGEzMTIy
ZjU4ZWM1MWVjMmRkYWQ3ZGIwMmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcwpAQCAtMCwwICsxLDM2IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworKGZ1
bmN0aW9uKGdsQ29udGV4dCkgeworCisvLyBGSVhNRTogV3JhcCBXZWJHTCBjb250ZXh0IGZvciBp
bnN0cnVtZW50YXRpb24uCityZXR1cm4gZ2xDb250ZXh0OworCit9KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IGM5OTExNjA4YzRlOGNkYmFhYjY5N2UwNTczZGUz
ZTc0ZGU0MGJiNTEuLjA0MmJlOGY2ZjNlMDJmM2RiYTM1MzdhODljNmM3Y2VmN2ViYWFiNGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTI4MTEsNSArMjgxMSwy
MSBAQAogICAgICAgICAgICAgICAgICJuYW1lIjogImRpc2Nvbm5lY3RlZEZyb21Xb3JrZXIiCiAg
ICAgICAgICAgICB9CiAgICAgICAgIF0KKyAgICB9LAorICAgIHsKKyAgICAgICAgImRvbWFpbiI6
ICJXZWJHTCIsCisgICAgICAgICJoaWRkZW4iOiB0cnVlLAorICAgICAgICAidHlwZXMiOiBbXSwK
KyAgICAgICAgImNvbW1hbmRzIjogWworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJu
YW1lIjogImVuYWJsZSIsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMg
V2ViR0wgaW5zcGVjdGlvbi4iCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgICJuYW1lIjogImRpc2FibGUiLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJEaXNhYmxlcyBXZWJHTCBpbnNwZWN0aW9uLiIKKyAgICAgICAgICAgIH0KKyAgICAgICAg
XSwKKyAgICAgICAgImV2ZW50cyI6IFtdCiAgICAgfV0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCmluZGV4IGIxMjIzMDQzMjMzZjlkNDQ3YTVk
M2FiNTUxMTA2Njk1OWVmYmU2MjEuLmJlOTJhMTNmYzdiM2NkODU2MTM2MzhlNjE4ODc3YzgyZmIy
YzM5YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJ
bk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25l
LmNwcApAQCAtNjUsNiArNjUsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvclN0eWxlVGV4dEVkaXRv
ci5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yVmFsdWVzLmNwcCIKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50LmNwcCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zdHJ1bWVu
dGluZ0FnZW50cy5jcHAiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlc0RhdGEuY3BwIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4
IDQ2ZTBjMmI4YzU0ZjRiNDIwYzIzNjg0YzdiZTNhNzUzYTQ1YmI3NjkuLmFjMTljN2RiOTUzZDI0
NTgzOWNhZGZhMzI4NmVmNjhiNTI5NjJlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTYxLDYgKzYxLDcgQEAKICNpbmNsdWRl
ICJJbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yU3RhdGUuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9y
V2ViR0xBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvcldvcmtlckFnZW50LmgiCiAjaW5jbHVk
ZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgogI2luY2x1ZGUgIlBhZ2VDb25zb2xlQWdlbnQuaCIK
QEAgLTE0NCw2ICsxNDUsMTAgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJv
bGxlcihQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMKICAgICBtX2FnZW50
cy5hcHBlbmQoSW5zcGVjdG9yV29ya2VyQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2Vu
dHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQkdMKQor
ICAgIG1fYWdlbnRzLmFwcGVuZChJbnNwZWN0b3JXZWJHTEFnZW50OjpjcmVhdGUobV9pbnN0cnVt
ZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpLCBtX2luamVjdGVkU2NyaXB0TWFuYWdl
ci5nZXQoKSkpOworI2VuZGlmCisKICAgICBBU1NFUlRfQVJHKGluc3BlY3RvckNsaWVudCwgaW5z
cGVjdG9yQ2xpZW50KTsKICAgICBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+aW5qZWN0ZWRTY3Jp
cHRIb3N0KCktPmluaXQobV9pbnNwZWN0b3JBZ2VudAogICAgICAgICAsIGNvbnNvbGVBZ2VudApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oCmluZGV4IGNhOTUwYmFmNzBkMTc2ODU2YzNjZTY4NzMwZDI5ZDgxYmNkYzE4ZjIuLjRlYmE0
YjNjMGE1MjNhZmRmZDM5YTEyY2YzMjliYTc2MDc5NmU3OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTY4LDYgKzY4
LDcgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKIGNs
YXNzIFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CitjbGFz
cyBTY3JpcHRPYmplY3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogY2xhc3MgU2VjdXJpdHlPcmln
aW47CiBjbGFzcyBTaGFkb3dSb290OwpAQCAtMjM2LDYgKzIzNywxMCBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIHZvaWQgZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJyb3IoRG9jdW1lbnQqLCB1bnNp
Z25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKTsKICNlbmRp
ZgogCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIHN0YXRpYyBTY3JpcHRPYmplY3Qgd3JhcFdlYkdM
UmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihEb2N1bWVudCosIFNjcmlwdE9iamVj
dCk7CisjZW5kaWYKKwogICAgIHN0YXRpYyB2b2lkIG5ldHdvcmtTdGF0ZUNoYW5nZWQoUGFnZSop
OwogICAgIHN0YXRpYyB2b2lkIHVwZGF0ZUFwcGxpY2F0aW9uQ2FjaGVTdGF0dXMoRnJhbWUqKTsK
IApAQCAtOTc1LDcgKzk4MCw3IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6bWFya1Jlc291cmNlQXNDYWNoZWQoUGFnZSogcGFnZSwgdW5zaWduZWQKIHsKICNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCi0gICAgICAgIG1hcmtS
ZXNvdXJjZUFzQ2FjaGVkSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyKTsgCisg
ICAgICAgIG1hcmtSZXNvdXJjZUFzQ2FjaGVkSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVu
dGlmaWVyKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yV2ViR0xBZ2VudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmFlYTBhYTM4N2NkYjc4NGM1Y2JkMjZh
NGY5OGI2OGEyY2IzZTMwYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcApAQCAtMCwwICsxLDEwNCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJHTCkKKworI2lu
Y2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKKworI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0
TWFuYWdlci5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisjaW5jbHVkZSAiSW5z
cGVjdG9yU3RhdGUuaCIKKyNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisjaW5jbHVk
ZSAiU2NyaXB0T2JqZWN0LmgiCisjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCituYW1lc3BhY2UgV2ViR0xBZ2VudFN0YXRlIHsKK3N0YXRpYyBjb25zdCBj
aGFyIHdlYkdMQWdlbnRFbmFibGVkW10gPSAid2ViR0xBZ2VudEVuYWJsZWQiOworfTsKKworSW5z
cGVjdG9yV2ViR0xBZ2VudDo6SW5zcGVjdG9yV2ViR0xBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIEluamVjdGVkU2Ny
aXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgIDogSW5zcGVjdG9yQmFzZUFn
ZW50PEluc3BlY3RvcldlYkdMQWdlbnQ+KCJXZWJHTCIsIGluc3RydW1lbnRpbmdBZ2VudHMsIHN0
YXRlKQorICAgICwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIoaW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
KQorICAgICwgbV9mcm9udGVuZCgwKQorICAgICwgbV9lbmFibGVkKGZhbHNlKQoreworICAgIG1f
aW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yV2ViR0xBZ2VudCh0aGlzKTsKK30KKwor
SW5zcGVjdG9yV2ViR0xBZ2VudDo6fkluc3BlY3RvcldlYkdMQWdlbnQoKQoreworICAgIG1faW5z
dHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yV2ViR0xBZ2VudCgwKTsKK30KKwordm9pZCBJ
bnNwZWN0b3JXZWJHTEFnZW50OjpzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRl
bmQpCit7CisgICAgQVNTRVJUKGZyb250ZW5kKTsKKyAgICBtX2Zyb250ZW5kID0gZnJvbnRlbmQt
PndlYmdsKCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6Y2xlYXJGcm9udGVuZCgp
Cit7CisgICAgbV9mcm9udGVuZCA9IDA7CisgICAgZGlzYWJsZSgwKTsKK30KKwordm9pZCBJbnNw
ZWN0b3JXZWJHTEFnZW50OjpyZXN0b3JlKCkKK3sKKyAgICBtX2VuYWJsZWQgPSBtX3N0YXRlLT5n
ZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2ViR0xBZ2VudEVuYWJsZWQpOworfQorCit2b2lk
IEluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZShFcnJvclN0cmluZyopCit7CisgICAgaWYgKG1f
ZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fZW5hYmxlZCA9IHRydWU7CisgICAgbV9z
dGF0ZS0+c2V0Qm9vbGVhbihXZWJHTEFnZW50U3RhdGU6OndlYkdMQWdlbnRFbmFibGVkLCBtX2Vu
YWJsZWQpOworfQorCit2b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OmRpc2FibGUoRXJyb3JTdHJp
bmcqKQoreworICAgIGlmICghbV9lbmFibGVkKQorICAgICAgICByZXR1cm47CisgICAgbV9lbmFi
bGVkID0gZmFsc2U7CisgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihXZWJHTEFnZW50U3RhdGU6Ondl
YkdMQWdlbnRFbmFibGVkLCBtX2VuYWJsZWQpOworfQorCitTY3JpcHRPYmplY3QgSW5zcGVjdG9y
V2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihT
Y3JpcHRPYmplY3QgZ2xDb250ZXh0KQoreworICAgIHJldHVybiBtX2luamVjdGVkU2NyaXB0TWFu
YWdlci0+d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihnbENvbnRl
eHQpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldlYkdMQWdlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMGQwOGNhMmNkN2UwMDIyZDk2MDkzZjIw
ZDZmY2I0Y2FkZjgzN2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaApAQCAtMCwwICsxLDg4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJbnNwZWN0
b3JXZWJHTEFnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9yV2ViR0xBZ2VudF9oCisKKyNpZiBFTkFC
TEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisKKyNpbmNsdWRlICJJbnNwZWN0b3JCYXNl
QWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCisjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKKyNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOworY2xhc3MgSW5zcGVjdG9yU3Rh
dGU7CitjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOworY2xhc3MgU2NyaXB0T2JqZWN0OworCit0
eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKKworY2xhc3MgSW5zcGVjdG9yV2ViR0xBZ2VudCA6
IHB1YmxpYyBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yV2ViR0xBZ2VudD4sIHB1YmxpYyBJ
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6V2ViR0xDb21tYW5kSGFuZGxlciB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yV2ViR0xBZ2VudD4gY3JlYXRlKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0
ZSwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgewor
ICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEluc3BlY3RvcldlYkdMQWdlbnQoaW5zdHJ1bWVu
dGluZ0FnZW50cywgc3RhdGUsIGluamVjdGVkU2NyaXB0TWFuYWdlcikpOworICAgIH0KKyAgICB+
SW5zcGVjdG9yV2ViR0xBZ2VudCgpOworCisgICAgdmlydHVhbCB2b2lkIHNldEZyb250ZW5kKElu
c3BlY3RvckZyb250ZW5kKik7CisgICAgdmlydHVhbCB2b2lkIGNsZWFyRnJvbnRlbmQoKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgcmVzdG9yZSgpOworCisgICAgYm9vbCBlbmFibGVkKCkgeyByZXR1cm4g
bV9lbmFibGVkOyB9CisKKyAgICBTY3JpcHRPYmplY3Qgd3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4
dEZvckluc3RydW1lbnRhdGlvbihTY3JpcHRPYmplY3QpOworCisgICAgLy8gQ2FsbGVkIGZyb20g
dGhlIGZyb250LWVuZC4KKyAgICB2aXJ0dWFsIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nKik7Cisg
ICAgdmlydHVhbCB2b2lkIGRpc2FibGUoRXJyb3JTdHJpbmcqKTsKKworICAgIC8vIENhbGxlZCBm
cm9tIHRoZSBpbmplY3RlZCBzY3JpcHQuCisKKyAgICAvLyBDYWxsZWQgZnJvbSBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24KKworcHJpdmF0ZToKKyAgICBJbnNwZWN0b3JXZWJHTEFnZW50KEluc3Ry
dW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JTdGF0ZSosIEluamVjdGVkU2NyaXB0TWFuYWdlciop
OworCisgICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVkU2NyaXB0TWFuYWdlcjsK
KyAgICBJbnNwZWN0b3JGcm9udGVuZDo6V2ViR0wqIG1fZnJvbnRlbmQ7CisgICAgYm9vbCBtX2Vu
YWJsZWQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
SU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisKKyNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0
b3JXZWJHTEFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzMjk3Y2I1Y2JiZjhl
MTllMGQyOGNhMTE5NjY5NjQ0ZjNlMDU1ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaApAQCAtMCwwICsx
LDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbl9oCisjZGVmaW5lIElu
c3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gKKworI2luY2x1ZGUgIkluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKKyNpbmNsdWRl
ICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworI2lmIEVOQUJMRShXRUJHTCkKK1NjcmlwdE9iamVjdCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVt
ZW50YXRpb24oRG9jdW1lbnQqIGRvY3VtZW50LCBTY3JpcHRPYmplY3QgZ2xDb250ZXh0KQorewor
I2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQp
KSB7CisgICAgICAgIEluc3BlY3RvcldlYkdMQWdlbnQqIHdlYkdMQWdlbnQgPSBpbnN0cnVtZW50
aW5nQWdlbnRzLT5pbnNwZWN0b3JXZWJHTEFnZW50KCk7CisgICAgICAgIGlmICh3ZWJHTEFnZW50
ICYmIHdlYkdMQWdlbnQtPmVuYWJsZWQoKSkKKyAgICAgICAgICAgIHJldHVybiB3ZWJHTEFnZW50
LT53cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGdsQ29udGV4dCk7
CisgICAgfQorI2VuZGlmCisgICAgcmV0dXJuIFNjcmlwdE9iamVjdCgpOworfQorI2VuZGlmIC8v
IEVOQUJMRShXRUJHTCkKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gIWRl
ZmluZWQoSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb25faCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCmluZGV4IDE5NGViODY1ZWM3NWE2NmZl
ZmI0YjcyNDZmMDA4YTgzOGE4OGFhYmMuLjEzMzRkYzdkNmRiN2VkYjM5MDg2Yjk2ZTNjNzg2NGNh
MTc4ZjM0MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50
aW5nQWdlbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdB
Z2VudHMuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Owog
Y2xhc3MgSW5zcGVjdG9yUnVudGltZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDsKIGNsYXNzIEluc3BlY3RvcldvcmtlckFnZW50OworY2xhc3MgSW5zcGVjdG9yV2ViR0xBZ2Vu
dDsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBQYWdlUnVudGltZUFnZW50OwogY2xhc3MgV29ya2VyQ29u
dGV4dDsKQEAgLTg2LDYgKzg3LDkgQEAgcHVibGljOgogI2lmIEVOQUJMRShXT1JLRVJTKQogICAg
ICAgICAsIG1faW5zcGVjdG9yV29ya2VyQWdlbnQoMCkKICNlbmRpZgorI2lmIEVOQUJMRShXRUJH
TCkKKyAgICAgICAgLCBtX2luc3BlY3RvcldlYkdMQWdlbnQoMCkKKyNlbmRpZgogICAgIHsgfQog
ICAgIH5JbnN0cnVtZW50aW5nQWdlbnRzKCkgeyB9CiAKQEAgLTE0MiwxMSArMTQ2LDE3IEBAIHB1
YmxpYzoKICAgICBJbnNwZWN0b3JQcm9maWxlckFnZW50KiBpbnNwZWN0b3JQcm9maWxlckFnZW50
KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JQcm9maWxlckFnZW50OyB9CiAgICAgdm9pZCBz
ZXRJbnNwZWN0b3JQcm9maWxlckFnZW50KEluc3BlY3RvclByb2ZpbGVyQWdlbnQqIGFnZW50KSB7
IG1faW5zcGVjdG9yUHJvZmlsZXJBZ2VudCA9IGFnZW50OyB9CiAjZW5kaWYKKwogI2lmIEVOQUJM
RShXT1JLRVJTKQogICAgIEluc3BlY3RvcldvcmtlckFnZW50KiBpbnNwZWN0b3JXb3JrZXJBZ2Vu
dCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yV29ya2VyQWdlbnQ7IH0KICAgICB2b2lkIHNl
dEluc3BlY3RvcldvcmtlckFnZW50KEluc3BlY3RvcldvcmtlckFnZW50KiBhZ2VudCkgeyBtX2lu
c3BlY3RvcldvcmtlckFnZW50ID0gYWdlbnQ7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQkdM
KQorICAgIEluc3BlY3RvcldlYkdMQWdlbnQqIGluc3BlY3RvcldlYkdMQWdlbnQoKSBjb25zdCB7
IHJldHVybiBtX2luc3BlY3RvcldlYkdMQWdlbnQ7IH0KKyAgICB2b2lkIHNldEluc3BlY3Rvcldl
YkdMQWdlbnQoSW5zcGVjdG9yV2ViR0xBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JXZWJHTEFn
ZW50ID0gYWdlbnQ7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIEluc3BlY3RvckFnZW50KiBt
X2luc3BlY3RvckFnZW50OwogICAgIEluc3BlY3RvclBhZ2VBZ2VudCogbV9pbnNwZWN0b3JQYWdl
QWdlbnQ7CkBAIC0xNzMsNiArMTgzLDkgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoV09SS0VSUykK
ICAgICBJbnNwZWN0b3JXb3JrZXJBZ2VudCogbV9pbnNwZWN0b3JXb3JrZXJBZ2VudDsKICNlbmRp
ZgorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBJbnNwZWN0b3JXZWJHTEFnZW50KiBtX2luc3BlY3Rv
cldlYkdMQWdlbnQ7CisjZW5kaWYKIH07CiAKIEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnRhdGlvbkZvclBhZ2UoUGFnZSopOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145802</attachid>
            <date>2012-06-05 08:17:47 -0700</date>
            <delta_ts>2012-06-06 01:49:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87960-20120605191745.patch</filename>
            <type>text/plain</type>
            <size>70924</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVjOGRlMmRmODgwNjYy
NDUxOWQ3ZjFhMmM0YTJmMzUwMjZiYWRhOC4uMjlkYjdlNDRkNGE4NDM4NjM1ZDU2YjY3NzI2YWE5
MmRlYTRhZTc3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA2LTAzICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBX
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNv
cmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1M
Q2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0
V2ViR0xTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpk
aXNjYXJkSW5qZWN0ZWRTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjppbmplY3RlZFNjcmlwdEZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0NvZGVHZW5l
cmF0b3JJbnNwZWN0b3IucHk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVk
U2NyaXB0TWFuYWdlcjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaDoKKyAgICAgICAgKEluamVjdGVkU2NyaXB0TWFuYWdlcik6CisgICAgICAgICogaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanM6IEFkZGVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWFya1Jlc291cmNlQXNDYWNo
ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkdMQWdlbnRTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6cmVzdG9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjplbmFibGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JXZWJHTEFnZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0
aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlZCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJH
TFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAg
ICAoSW5zdHJ1bWVudGluZ0FnZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5n
QWdlbnRzOjppbnNwZWN0b3JXZWJHTEFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1l
bnRpbmdBZ2VudHM6OnNldEluc3BlY3RvcldlYkdMQWdlbnQpOgorCiAyMDEyLTA1LTMxICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERh
dGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpIHNob3VsZCBzeW5jaHJvbm91c2x5IHJl
dHVybiBlbnRyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjZWIxZGI0MDZjYjBhZTQ2OTcxNzlj
NmViZWI2NTRmZDRiZGEyMzBhLi5kYzNkNzAzYzc3YjgxNGZjMjJhN2UxZThiNjJjNzViNjA3ZjNk
NDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTYyLDYgKzk2Miw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcAogICAg
IGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JWYWx1ZXMuY3BwCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmNwcAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5j
cHAKQEAgLTE2OTMsNyArMTY5NCw3IEBAIElGIChFTkFCTEVfTkVUV09SS19JTkZPKQogICAgICAg
ICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdvcmtJbmZvQ29ubmVjdGlvbi5jcHAKICAgICAgICAg
TW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5mb0NvbnRyb2xsZXIuY3BwCiAgICAgKQotIAor
CiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKICAgICAgICAgTW9kdWxlcy9uZXR3
b3JraW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCiAgICAgICAgIE1vZHVs
ZXMvbmV0d29ya2luZm8vTmV0d29ya0luZm9Db25uZWN0aW9uLmlkbApAQCAtMjYwNCw2ICsyNjA1
LDE3IEBAIEFERF9DVVNUT01fQ09NTUFORCgKIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUyAk
e0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAog
CisjIEdlbmVyYXRlIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorSUYgKEVOQUJMRV9XRUJH
TCkKKyAgICBBRERfQ1VTVE9NX0NPTU1BTkQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09V
UkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisgICAgICAgIE1B
SU5fREVQRU5ERU5DWSBpbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworICAg
ICAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3Iv
eHhkLnBsIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMgJHtXRUJDT1JFX0RJUn0vaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09S
RV9ESVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorICAgICAgICBWRVJCQVRJTSkKKyAg
ICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCkKK0VORElGICgpCisKKwogTUFLRV9IQVNI
X1RPT0xTKCR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL0NvbG9yRGF0YSkKIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vQ29sb3JEYXRhLmNw
cCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMTAyZmM5ZjE4NjUyMjQzNGYz
ZDJmYWUxMjMzY2U3N2U3YTk1YTE0MC4uMGVkZjIyMTQ1ZTI3YmMyZjg3YjJmMTYzNDJiMWRkOWRm
MjBjYWUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDUgKzEsNSBAQAog
IyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+IAorIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFj
ayA8Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC03LDEzICs3LDEzIEBACiAjIGFy
ZSBtZXQ6CiAjCiAjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICMgMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CiAjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCiAjIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAjICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0jICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAor
IyAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgogIwogIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogIyBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECkBAIC03
ODAsMTAgKzc4MCwxMCBAQCBYUGF0aEdyYW1tYXIuY3BwIDogeG1sL1hQYXRoR3JhbW1hci55ICQo
UFJPSkVDVF9GSUxFKQogCiAjIHVzZXIgYWdlbnQgc3R5bGUgc2hlZXRzCiAKLVVTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcyAKK1VTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTID0gJChXZWJDb3JlKS9jc3MvaHRtbC5jc3MgJChXZWJDb3JlKS9jc3MvcXVp
cmtzLmNzcyAkKFdlYkNvcmUpL2Nzcy92aWV3LXNvdXJjZS5jc3MgJChXZWJDb3JlKS9jc3MvdGhl
bWVXaW4uY3NzICQoV2ViQ29yZSkvY3NzL3RoZW1lV2luUXVpcmtzLmNzcwogCiBpZmVxICgkKGZp
bmRzdHJpbmcgRU5BQkxFX1NWRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfU1ZHKQotICAg
IFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQo
V2ViQ29yZSkvY3NzL3N2Zy5jc3MgCisgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChV
U0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcwogZW5kaWYKIAog
aWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5B
QkxFX01BVEhNTCkKQEAgLTg5Miw3ICs4OTIsNyBAQCBYTGlua05hbWVzLmNwcCA6IGRvbS9tYWtl
X25hbWVzLnBsIHN2Zy94bGlua2F0dHJzLmluCiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdz
L3NjcmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3N2Zy94bGlua2F0dHJzLmluCiAKICMgLS0t
LS0tLS0KLSAKKwogIyBSZWdpc3RlciBldmVudCBjb25zdHJ1Y3RvcnMgYW5kIHRhcmdldHMKIAog
RXZlbnRGYWN0b3J5LmNwcCBFdmVudEhlYWRlcnMuaCBFdmVudEludGVyZmFjZXMuaCA6IGRvbS9t
YWtlX2V2ZW50X2ZhY3RvcnkucGwgZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTkwNSw3ICs5MDUsNyBA
QCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24uY3BwIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5o
IEV4Y2VwdGlvbkhlYWRlcnMuaCBFeGNlcAogCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9z
Y3JpcHRzICQ8IC0taW5wdXQgJChXZWJDb3JlKS9kb20vRE9NRXhjZXB0aW9ucy5pbgogCiAjIC0t
LS0tLS0tCi0gCisKICMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVu
dCBmYWN0b3J5CiAKIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAgOiBk
b20vbWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4gbWF0aG1sL21hdGhhdHRycy5pbgpA
QCAtOTg0LDYgKzk4NCwxMSBAQCBhbGwgOiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiBJbmplY3Rl
ZFNjcmlwdFNvdXJjZS5oIDogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAlwZXJsICQoV2ViQ29y
ZSkvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBJbmplY3RlZFNjcmlwdFNvdXJjZS5oCiAK
K2FsbCA6IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAorCitJbmplY3RlZFdlYkdMU2NyaXB0
U291cmNlLmggOiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisJcGVybCAkKFdlYkNvcmUp
L2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZV9qcyAkKFdlYkNvcmUp
L2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzIEluamVjdGVkV2ViR0xTY3Jp
cHRTb3VyY2UuaAorCiAtaW5jbHVkZSAkKEpTX0RPTV9IRUFERVJTOi5oPS5kZXApCiAKIGlmZXEg
KCQoZmluZHN0cmluZyBCVUlMRElOR19XWCwkKEZFQVRVUkVfREVGSU5FUykpLCBCVUlMRElOR19X
WCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBlNWY0ODQ0Njk1Mjg2MjM2MmQ3Yjlk
YjMyMjNhODIxMzQ2NmQzOWJiLi5lMzQ5OGY0ODQ0Y2YwMDYzM2IwNzdhODBjYmJlYjBiMmQ1OGI1
MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC02MSw2ICs2MSw4IEBAIElOU1BF
Q1RPUl9CQUNLRU5EX0NPTU1BTkRTX1FSQyA9ICQkUFdEL2luc3BlY3Rvci9mcm9udC1lbmQvSW5z
cGVjdG9yQmFja2VuZENvbW1hCiAKIElOSkVDVEVEX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKIAorSU5KRUNURURfV0VCR0xfU0NSSVBUX1NP
VVJDRSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisKIERF
QlVHR0VSX1NDUklQVF9TT1VSQ0UgPSAkJFBXRC9iaW5kaW5ncy92OC9EZWJ1Z2dlclNjcmlwdC5q
cwogCiBBUlJBWV9CVUZGRVJfVklFV19DVVNUT01fU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbVNjcmlwdC5qcwpAQCAtNzY3LDEx
ICs3NjksMTggQEAgR0VORVJBVE9SUyArPSBpbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMKICMgR0VO
RVJBVE9SIDItYTogaW5zcGVjdG9yIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKIGlu
amVjdGVkU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVkU2NyaXB0U291cmNlLmgKIGluamVj
dGVkU2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfU0NSSVBUX1NPVVJDRQotaW5qZWN0ZWRT
Y3JpcHRTb3VyY2UuY29tbWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0
ZWRTY3JpcHRTb3VyY2VfanMgJCRQV0QvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
ICR7UU1BS0VfRklMRV9PVVR9CitpbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwg
JCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAke1FNQUtFX0ZJ
TEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CiBpbmplY3RlZFNjcmlwdFNvdXJjZS5hZGRfb3V0cHV0
X3RvX3NvdXJjZXMgPSBmYWxzZQogR0VORVJBVE9SUyArPSBpbmplY3RlZFNjcmlwdFNvdXJjZQog
Ci0jIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNvbXBp
bGVyCisjIEdFTkVSQVRPUiAyLWI6IGluc3BlY3RvciB3ZWJnbCBpbmplY3RlZCBzY3JpcHQgc291
cmNlIGNvbXBpbGVyCitJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLm91dHB1dCA9IEluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuaAorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5pbnB1dCA9IElO
SkVDVEVEX1dFQkdMX1NDUklQVF9TT1VSQ0UKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuY29t
bWFuZHMgPSBwZXJsICQkUFdEL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAke1FNQUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CitJbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCitHRU5FUkFUT1JTICs9
IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UKKworIyBHRU5FUkFUT1IgMi1jOiBpbnNwZWN0b3Ig
ZGVidWdnZXIgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogZGVidWdnZXJTY3JpcHRTb3VyY2Uub3V0
cHV0ID0gRGVidWdnZXJTY3JpcHRTb3VyY2UuaAogZGVidWdnZXJTY3JpcHRTb3VyY2UuaW5wdXQg
PSBERUJVR0dFUl9TQ1JJUFRfU09VUkNFCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5jb21tYW5kcyA9
IHBlcmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBEZWJ1Z2dlclNjcmlwdFNvdXJjZV9qcyAke1FN
QUtFX0ZJTEVfSU59ICR7UU1BS0VfRklMRV9PVVR9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDgz
NjhjNmQ0NDcyM2RjOWJiZGZkYmE1MGFkMTczOGY1MTBjNTU2NGIuLmYwYzUyYWI3Y2FlYjUzMjkx
NGQ5NzI2NDE5ODE0ZTlmZTE3ZjQ5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC04MjEsNiAr
ODIxLDggQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
anM6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGUKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0
ZWRTY3JpcHRTb3VyY2UuaDogJChXZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3Vy
Y2UuanMKIAkkKEFNX1ZfR0VOKSQoUEVSTCkgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIElu
amVjdGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
U291cmNlLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oCitE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDogJChXZWJD
b3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcworCSQoQU1fVl9HRU4p
JChQRVJMKSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcyAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpz
ICQoR0VOU09VUkNFU19XRUJDT1JFKS9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmgKIAogaWYg
RU5BQkxFX1dFQl9BVURJTwogIyBJbnN0YWxsaW5nIEhSVEYgZGF0YWJhc2Ugd2F2IGZpbGVzCkBA
IC0xMDcwLDYgKzEwNzIsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pY3Uv
TElDRU5TRSBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0
b3IucHkgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5q
cyBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
anMgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci0xLjAuanNvbiBcCiAJU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC12ZXJzaW9uIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDVhYzVkZTM2MjQxZDFiODJmYzE4NTVmNzFhZTRhNmM2
NWZkM2UzNDEuLjUyNmY1ZDk5ZDI5ZGJlYTM3MTM4NDA5YTFiNjNiOTJjM2M4YmUyMGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjAsNiArMjAsNyBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JGcm9udGVuZC5jcHAgXApAQCAtMjcyMiw2ICsyNzIzLDkgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldvcmtlclJlc291cmNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYmMwMTE3Yjc1MDYzMTg5
Y2RkMjkxNzQ2NTFiYzZmZDkzZTk5YmFiNC4uMGU3MTk4ZDI1Y2FhMDk4NzFkNjIzN2JlN2RiNWRh
ODEzNTgwMjVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC05MjQsNiArOTI0LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAgXAogICAgIGluc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBcCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0Rh
dGEuY3BwIFwKQEAgLTIwNjksNiArMjA3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGluc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0LmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRl
eHRFZGl0b3IuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisg
ICAgaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3Bl
Y3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIFwKICAgICBp
bnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwCmluZGV4IDdkOGQ3YmVhODUyNGI1ZTBjZDNjYjZjNzMzYzA0OTMxYmZhYWE1
NDkuLmEyNTYyNDhmYjc3ZjM4MjRjNjFhZGRiNDcwOThiZDRhNGY0ZmYzZWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC00MzQsNiArNDM0LDI5IEBACiAgICAgICBd
CiAgICAgfSwKICAgICB7CisgICAgICAndGFyZ2V0X25hbWUnOiAnaW5qZWN0ZWRfd2ViZ2xfc2Ny
aXB0X3NvdXJjZScsCisgICAgICAndHlwZSc6ICdub25lJywKKyAgICAgICdhY3Rpb25zJzogWwor
ICAgICAgICB7CisgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ2dlbmVyYXRlSW5qZWN0ZWRXZWJH
TFNjcmlwdFNvdXJjZScsCisgICAgICAgICAgJ2lucHV0cyc6IFsKKyAgICAgICAgICAgICcuLi9p
bnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcycsCisgICAgICAgICAgXSwKKyAg
ICAgICAgICAnb3V0cHV0cyc6IFsKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVf
RElSKS93ZWJraXQvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICBdLAor
ICAgICAgICAgICdhY3Rpb24nOiBbCisgICAgICAgICAgICAncGVybCcsCisgICAgICAgICAgICAn
Li4vaW5zcGVjdG9yL3h4ZC5wbCcsCisgICAgICAgICAgICAnSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZV9qcycsCisgICAgICAgICAgICAnPEAoX2lucHV0cyknLAorICAgICAgICAgICAgJzxAKF9v
dXRwdXRzKScKKyAgICAgICAgICBdLAorICAgICAgICAgICdtZXNzYWdlJzogJ0dlbmVyYXRpbmcg
SW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIGZyb20gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZS5qcycsCisgICAgICAgIH0sCisgICAgICBdCisgICAgfSwKKyAgICB7CiAgICAgICAndGFyZ2V0
X25hbWUnOiAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScsCiAgICAgICAndHlwZSc6ICdub25lJywK
ICAgICAgICdhY3Rpb25zJzogWwpAQCAtMTA3NCw2ICsxMDk3LDcgQEAKICAgICAgICAgJ3dlYmNv
cmVfYmluZGluZ3Nfc291cmNlcycsCiAgICAgICAgICdpbnNwZWN0b3JfcHJvdG9jb2xfc291cmNl
cycsCiAgICAgICAgICdpbmplY3RlZF9zY3JpcHRfc291cmNlJywKKyAgICAgICAgJ2luamVjdGVk
X3dlYmdsX3NjcmlwdF9zb3VyY2UnLAogICAgICAgICAnZGVidWdnZXJfc2NyaXB0X3NvdXJjZScs
CiAgICAgICAgICcuLi8uLi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXAvSmF2YVNj
cmlwdENvcmUuZ3lwOnlhcnInLAogICAgICAgICAnLi4vLi4vV1RGL1dURi5neXAvV1RGLmd5cDp3
dGYnLApAQCAtMTE5Nyw2ICsxMjIxLDcgQEAKICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAg
ICAgICdkZWJ1Z2dlcl9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2luamVjdGVkX3NjcmlwdF9z
b3VyY2UnLAorICAgICAgICAnaW5qZWN0ZWRfd2ViZ2xfc2NyaXB0X3NvdXJjZScsCiAgICAgICAg
ICdpbnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycsCiAgICAgICAgICd3ZWJjb3JlX2JpbmRpbmdz
X3NvdXJjZXMnLAogICAgICAgICAnLi4vLi4vVGhpcmRQYXJ0eS9nbHUvZ2x1Lmd5cDpsaWJ0ZXNz
JywKQEAgLTE0NzIsOSArMTQ5Nyw5IEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAg
ICAnd2ViY29yZV9wcmVyZXF1aXNpdGVzJywKICAgICAgIF0sCi0gICAgICAnZGVmaW5lcyc6IFsg
Ci0gICAgICAgICdXRUJLSVRfSU1QTEVNRU5UQVRJT049MScsIAotICAgICAgXSwgCisgICAgICAn
ZGVmaW5lcyc6IFsKKyAgICAgICAgJ1dFQktJVF9JTVBMRU1FTlRBVElPTj0xJywKKyAgICAgIF0s
CiAgICAgICAjIFRoaXMgaXMgbmVlZGVkIGZvciBtYWMgYmVjYXVzZSBvZiB3ZWJraXRfc3lzdGVt
X2ludGVyZmFjZS4gSXQnZCBiZSBuaWNlCiAgICAgICAjIGlmIHRoaXMgaGFyZCBkZXBlbmRlbmN5
IGNvdWxkIGJlIHNwbGl0IG9mZiB0aGUgcmVzdC4KICAgICAgICdoYXJkX2RlcGVuZGVuY3knOiAx
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCmluZGV4IDAxMzFjZDQ0ZmZkMmIyZmM2ZDBlZjE3ZWFhZGVjNDM2OWQ0
ZDExNjkuLmM4OTFjNDk2ZTVkZTdhMzg0ZTcwNTJlZWZhMzc3OGU3ODUyZjg5OWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKQEAgLTI4MTksNiArMjgxOSw5IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNv
dXJjZS5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAn
LAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmgnLAorICAgICAg
ICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwJywKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwJywKQEAgLTY2NDEsNyArNjY0NCw3IEBACiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxHcmF5LnBuZycs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoU21hbGxXaGl0
ZS5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaE5l
eHQucG5nJywKLSAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hQ
cmV2LnBuZycsICAgICAgICAgICAgCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9J
bWFnZXMvc2VhcmNoUHJldi5wbmcnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQv
SW1hZ2VzL3NlZ21lbnQucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0lt
YWdlcy9zZWdtZW50RW5kLnBuZycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9J
bWFnZXMvc2VnbWVudEhvdmVyLnBuZycsCkBAIC03MjM5LDYgKzcyNDIsNyBAQAogICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSFRNTE5hbWVzLmNwcCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IZWFk
ZXJEZXRlY3Rpb24uaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oJywKKyAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2Uu
aCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9J
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagppbmRleCA4ZGY3MWVlM2JlYmYxMjFmMjhkNDAwNmZiYzhhM2Q5Zjcy
YjU4NTJiLi40ZmRhN2FkMThjZjgyNjg3MTdhNjJlYWU1ZTYzMWI3NmRlODk2MTMzIDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNTk0LDYgKzU5
NCwxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAiCiAJ
CQkJPgogCQkJPC9GaWxlPgpAQCAtNzM5OTUsNiArNzM5OTksMzQgQEAKIAkJCQk+CiAJCQk8L0Zp
bGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3Rvcldl
YkdMQWdlbnQuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
UmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJv
ZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yV2ViR0xBZ2VudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yV2ViR0xJ
bnN0cnVtZW50YXRpb24uaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0
aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvcldvcmtlckFnZW50LmNwcCIKIAkJCQk+CiAJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjBjY2E3MjU5Yjg3ZDkxZjg0MGY3ZDUxMDlhNTFk
MWRmYzFhYzE3ZC4uYTk1ZmM0NDc5ZWZiMDlkNzI4Yzc2ZGMzY2ZhMmM3MDFjYjAxOGY1YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMSw0ICsxLDMgQEAKLQogLy8gISQqVVRGOCokIQogewogCWFyY2hpdmVWZXJzaW9uID0gMTsK
QEAgLTMzNiw4ICszMzUsNiBAQAogCQkxNEUwQkM1NjEzNjE0OEE4MDAyQUQxMkUgLyogSlNET01U
b2tlbkxpc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTRFMEJDNTUxMzYxNDhBODAwMkFEMTJFIC8qIEpTRE9NVG9rZW5MaXN0Q3VzdG9t
LmNwcCAqLzsgfTsKIAkJMTRFODM3ODQwOUY4NUQxQzAwQjg1QUU0IC8qIEpTRXZlbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRFODM3ODMwOUY4
NUQxQzAwQjg1QUU0IC8qIEpTRXZlbnQuY3BwICovOyB9OwogCQkxNEU4Mzc4RTA5Rjg1RDRGMDBC
ODVBRTQgLyogSlNFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTRFODM3OEQwOUY4NUQ0RjAwQjg1QUU0IC8qIEpTRXZlbnQuaCAqLzsgfTsKLQkJ
QzZBNzAzMzI1QzlEMEI2Q0RDQkM0RDc3IC8qIEpTRXZlbnRUYXJnZXQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZBNzAzMzI1QzlEMEI2Q0RDQkM0
RDc4IC8qIEpTRXZlbnRUYXJnZXQuY3BwICovOyB9OwotCQk1RkM3REMyNkNGRTI1NjMyMDBCODVB
RTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJnZXQuaCAq
LzsgfTsKIAkJMTRGRkUzMUQwQUUxOTYzMzAwMTM2QkY1IC8qIEhUTUxGcmFtZUVsZW1lbnRCYXNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEZGRTMx
QjBBRTE5NjMzMDAxMzZCRjUgLyogSFRNTEZyYW1lRWxlbWVudEJhc2UuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxNEZGRTMxRTBBRTE5NjMzMDAx
MzZCRjUgLyogSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRGRkUzMUMwQUUxOTYzMzAwMTM2QkY1IC8qIEhUTUxG
cmFtZUVsZW1lbnRCYXNlLmNwcCAqLzsgfTsKIAkJMTVDNzcwOEQxMDBEM0M2QjAwNUJBMjY3IC8q
IFZhbGlkaXR5U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDE1Qzc3MDhBMTAwRDNDNkEwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRlLmggKi87IH07
CkBAIC0xNjc0LDYgKzE2NzEsNyBAQAogCQk1REY3RjVDMjBGMDFGOTJBMDA1MjZCNEIgLyogQ1NT
UHJvcGVydHlOYW1lcy5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNjU2NTgwRUYwOUQxMkIyMDAwMEU2MUQ3IC8qIENTU1Byb3Bl
cnR5TmFtZXMuaCAqLzsgfTsKIAkJNURGRThGNTYwRDE2NDc3QjAwNzZFOTM3IC8qIFNjaGVkdWxl
ZEFjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0EzNzhCQTBEMTVGNjQyMDBCNzkzRDYgLyogU2NoZWR1bGVkQWN0aW9uLmNwcCAqLzsgfTsK
IAkJNURGRThGNTcwRDE2NDc3QzAwNzZFOTM3IC8qIFNjaGVkdWxlZEFjdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkIwRDE1RjY0MjAw
Qjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlvbi5oICovOyB9OworCQk1RkM3REMyNkNGRTI1NjMyMDBC
ODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJnZXQu
aCAqLzsgfTsKIAkJNjI2Q0RFMEUxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9u
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNE
RTBDMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5jcHAgKi87IH07CiAJCTYy
NkNERTBGMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjI2Q0RFMEQxMTQwNDI0QzAwMUU1
QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNjI4RDIxNEMxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtp
bmdDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2MjhEMjE0QjEyMTMxRUQxMDA1NURDRkMgLyogTmV0d29ya2luZ0NvbnRleHQuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTkyNyw2ICsxOTI1
LDggQEAKIAkJN0FGRDRGRjQxMTMyNzdCNjAwMzVCODgzIC8qIFNjcmlwdERlYnVnTGlzdGVuZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRkQ0RkYz
MTEzMjc3QjYwMDM1Qjg4MyAvKiBTY3JpcHREZWJ1Z0xpc3RlbmVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0UzM0NEMDExMjdGMzQwRDAwQkU4
RjE3IC8qIFB1cmdlUHJpb3JpdHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdFMzNDRDAwMTI3RjM0MEQwMEJFOEYxNyAvKiBQdXJnZVByaW9yaXR5Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0UzN0VG
MkUxMzM5MjA4ODAwQjI5MjUwIC8qIFN1YnJlc291cmNlTG9hZGVyQ0YuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0UzN0VGMkQxMzM5MjA4ODAwQjI5
MjUwIC8qIFN1YnJlc291cmNlTG9hZGVyQ0YuY3BwICovOyB9OworCQk3RTk5QUY1MTBCMTM4NDY0
NjhGQjAxQTUgLyogV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFOTlBRjUyMEIxMzg0NjQ2OEZCMDFB
NSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuY3BwICovOyB9OworCQk3RTk5QUY1MzBC
MTM4NDY0NjhGQjAxQTUgLyogV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RTk5QUY1NDBCMTM4NDY0NjhG
QjAxQTUgLyogV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0VFNjg0NUYxMkQyNkUzODAwRTc5NDE1
IC8qIEF1dGhlbnRpY2F0aW9uQ0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0VFNjg0NEMxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9u
Q0YuY3BwICovOyB9OwogCQk3RUU2ODQ2MDEyRDI2RTM4MDBFNzk0MTUgLyogQXV0aGVudGljYXRp
b25DRi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0VF
Njg0NEQxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ0YuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3RUU2ODQ2MTEyRDI2RTM4MDBF
Nzk0MTUgLyogQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFRTY4NDRFMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CkBAIC00NDUxLDYgKzQ0NTEsOSBAQAogCQlBQTIxRUNDRDBBQkYwRkM2MDAy
QjgzNEMgLyogQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQUEwOTc4RUUwQUJBQTZFMTAwODc0NDgwIC8qIENTU0N1cnNv
ckltYWdlVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlBQTRDM0E3NjBCMkIxNjc5MDAyMzM0QTIgLyogU3R5bGVFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBNEMzQTc0MEIyQjE2
NzkwMDIzMzRBMiAvKiBTdHlsZUVsZW1lbnQuY3BwICovOyB9OwogCQlBQTRDM0E3NzBCMkIxNjc5
MDAyMzM0QTIgLyogU3R5bGVFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBQTRDM0E3NTBCMkIxNjc5MDAyMzM0QTIgLyogU3R5bGVFbGVtZW50
LmggKi87IH07CisJCUFBRDc2NkVCMTU3RTUwMkYwMEU4NTQyMyAvKiBJbnNwZWN0b3JXZWJHTEFn
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFB
RDc2NkU4MTU3RTUwMkYwMEU4NTQyMyAvKiBJbnNwZWN0b3JXZWJHTEFnZW50LmNwcCAqLzsgfTsK
KwkJQUFENzY2RUMxNTdFNTAyRjAwRTg1NDIzIC8qIEluc3BlY3RvcldlYkdMQWdlbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBRDc2NkU5MTU3RTUw
MkYwMEU4NTQyMyAvKiBJbnNwZWN0b3JXZWJHTEFnZW50LmggKi87IH07CisJCUFBRDc2NkVEMTU3
RTUwMkYwMEU4NTQyMyAvKiBJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFENzY2RUExNTdFNTAyRjAw
RTg1NDIzIC8qIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggKi87IH07CiAJCUFBRjVC
N0I3MTUyNEI2QzUwMDA0Q0I0OSAvKiBXZWJTb2NrZXRGcmFtZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUY1QjdCMTE1MjRCNEJEMDAwNENCNDkg
LyogV2ViU29ja2V0RnJhbWUuY3BwICovOyB9OwogCQlBQjIzQTMyNzA5QkJBN0QwMDA2N0NDNTMg
LyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyM0EzMjUwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRl
eHRJbnNlcnRlZEV2ZW50LmNwcCAqLzsgfTsKIAkJQUIyM0EzMjgwOUJCQTdEMDAwNjdDQzUzIC8q
IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBQjIzQTMyNjA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dElu
c2VydGVkRXZlbnQuaCAqLzsgfTsKQEAgLTU0MzEsOCArNTQzNCw2IEBACiAJCUJDODI0MzJBMEQw
Q0U4QTIwMDQ2MEM4RiAvKiBKU1NRTFRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzgyNDMyNjBEMENFOEEyMDA0NjBDOEYgLyogSlNT
UUxUcmFuc2FjdGlvbi5oICovOyB9OwogCQlCQzgyNDNFODBEMENGRDc1MDA0NjBDOEYgLyogV2lu
ZG93RmVhdHVyZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkM4MjQzRTYwRDBDRkQ3NTAwNDYwQzhGIC8qIFdpbmRvd0ZlYXR1cmVzLmNwcCAqLzsg
fTsKIAkJQkM4MjQzRTkwRDBDRkQ3NTAwNDYwQzhGIC8qIFdpbmRvd0ZlYXR1cmVzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzgyNDNFNzBEMENGRDc1
MDA0NjBDOEYgLyogV2luZG93RmVhdHVyZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwotCQk3RTk5QUY1MTBCMTM4NDY0NjhGQjAxQTUgLyogV2luZG93
Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdFOTlBRjUyMEIxMzg0NjQ2OEZCMDFBNSAvKiBXaW5kb3dGb2N1c0Fs
bG93ZWRJbmRpY2F0b3IuY3BwICovOyB9OwotCQk3RTk5QUY1MzBCMTM4NDY0NjhGQjAxQTUgLyog
V2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3RTk5QUY1NDBCMTM4NDY0NjhGQjAxQTUgLyogV2luZG93Rm9j
dXNBbGxvd2VkSW5kaWNhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQkM4NUYyM0QxNTE5MTVFMDAwQkMxN0JFIC8qIFJlbmRlck5hbWVkRmxv
d1RocmVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkM4NUYyM0MxNTE5MTVFMDAwQkMxN0JFIC8qIFJlbmRlck5hbWVkRmxvd1RocmVhZC5oICovOyB9
OwogCQlCQzhBRTM0RTEyRUEwOTZBMDBFQjNBRTYgLyogU2Nyb2xsYWJsZUFyZWEuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4QUUzNEMxMkVBMDk2
QTAwRUIzQUU2IC8qIFNjcm9sbGFibGVBcmVhLmNwcCAqLzsgfTsKIAkJQkM4QUUzNEYxMkVBMDk2
QTAwRUIzQUU2IC8qIFNjcm9sbGFibGVBcmVhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzhBRTM0RDEyRUEwOTZBMDBFQjNBRTYgLyogU2Nyb2xsYWJs
ZUFyZWEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpA
QCAtNTczNCw2ICs1NzM1LDcgQEAKIAkJQzVENEFBN0ExMTZCQUZCNjAwNjlDQTkzIC8qIEdseXBo
TWV0cmljc01hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzVENEFBNzgxMTZCQUZCNjAwNjlDQTkzIC8qIEdseXBoTWV0cmljc01hcC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUM1RTlCNjc3MTA2OTdF
MTMwMEM3QkIxQSAvKiBTdG9yYWdlRXZlbnREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1RTlCNjc2MTA2OTdFMTMwMEM3QkIxQSAv
KiBTdG9yYWdlRXZlbnREaXNwYXRjaGVyLmNwcCAqLzsgfTsKIAkJQzVFQkREODQxMDVFRERFQzAw
NTY4MTZGIC8qIFN0b3JhZ2VFdmVudERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1RUJERDgxMTA1RURERUMwMDU2ODE2RiAvKiBTdG9y
YWdlRXZlbnREaXNwYXRjaGVyLmggKi87IH07CisJCUM2QTcwMzMyNUM5RDBCNkNEQ0JDNEQ3NyAv
KiBKU0V2ZW50VGFyZ2V0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEM2QTcwMzMyNUM5RDBCNkNEQ0JDNEQ3OCAvKiBKU0V2ZW50VGFyZ2V0LmNwcCAq
LzsgfTsKIAkJQzZCMzFCMkUxNEY4NDFGQjAwODlGMjNGIC8qIFNjcm9sbGJhclRoZW1lQ2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNjkxNjE0
NzE0RjZFQkE3MDA0NjM3NUMgLyogU2Nyb2xsYmFyVGhlbWVDbGllbnQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDNkQ3NEFENTA5QUEyODJFMDAw
QjBBNTIgLyogTW9kaWZ5U2VsZWN0aW9uTGlzdExldmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNkQ3NEFEMzA5QUEyODJFMDAwQjBBNTIgLyogTW9k
aWZ5U2VsZWN0aW9uTGlzdExldmVsLmggKi87IH07CiAJCUM2RDc0QUU0MDlBQTI5MEEwMDBCMEE1
MiAvKiBNb2RpZnlTZWxlY3Rpb25MaXN0TGV2ZWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZENzRBRTMwOUFBMjkwQTAwMEIwQTUyIC8qIE1vZGlm
eVNlbGVjdGlvbkxpc3RMZXZlbC5jcHAgKi87IH07CkBAIC03MjU2LDggKzcyNTgsNiBAQAogCQkx
NEU4MzZEMjA5Rjg1MTIwMDBCODVBRTQgLyogRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IEV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTRFODM3ODMwOUY4
NUQxQzAwQjg1QUU0IC8qIEpTRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNEU4
Mzc4RDA5Rjg1RDRGMDBCODVBRTQgLyogSlNFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlDNkE3
MDMzMjVDOUQwQjZDRENCQzRENzggLyogSlNFdmVudFRhcmdldC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFdmVudFRhcmdldC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V2ZW50VGFyZ2V0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0RkZFMzFCMEFFMTk2MzMwMDEzNkJGNSAvKiBI
VE1MRnJhbWVFbGVtZW50QmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBI
VE1MRnJhbWVFbGVtZW50QmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNEZG
RTMxQzBBRTE5NjMzMDAxMzZCRjUgLyogSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNUM3NzA4OTEwMEQzQzZBMDA1QkEyNjcgLyog
VmFsaWRpdHlTdGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVmFsaWRpdHlTdGF0ZS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NzIwLDYgKzg3MjAsNyBAQAogCQk1
REIxQkM2ODEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1REIxQkM2OTEwNzE1QTY0MDBFRkFBNDkgLyogVHJhbnNmb3JtU291cmNl
TGlieHNsdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUcmFuc2Zv
cm1Tb3VyY2VMaWJ4c2x0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNURDODdF
RUYxMTcxNkRGMjAwMUMwRTZEIC8qIEVtcHR5UHJvdG9jb2xEZWZpbml0aW9ucy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFbXB0eVByb3RvY29sRGVmaW5pdGlvbnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8qIEpT
RXZlbnRUYXJnZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXZlbnRU
YXJnZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQwNDI0QzAw
MUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIxMzFFRDEwMDU1RENGQyAvKiBO
ZXR3b3JraW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3
b3JraW5nQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTAwNSw2ICs5
MDA2LDggQEAKIAkJN0M2MDEyODA2MDA3OEJCNzBFMzY3QTk1IC8qIEROU1Jlc29sdmVRdWV1ZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBETlNSZXNvbHZlUXVldWUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3RTMzQ0QwMDEyN0YzNDBEMDBCRThG
MTcgLyogUHVyZ2VQcmlvcml0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
dXJnZVByaW9yaXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdFMzdFRjJEMTMz
OTIwODgwMEIyOTI1MCAvKiBTdWJyZXNvdXJjZUxvYWRlckNGLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFN1YnJlc291cmNlTG9hZGVyQ0YuY3BwOyBwYXRoID0gY2Yv
U3VicmVzb3VyY2VMb2FkZXJDRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdF
OTlBRjUyMEIxMzg0NjQ2OEZCMDFBNSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2luZG93Rm9jdXNBbGxvd2Vk
SW5kaWNhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0U5OUFGNTQwQjEz
ODQ2NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0VFNjg0NEMxMkQyNkUzODAwRTc5NDE1IC8qIEF1
dGhlbnRpY2F0aW9uQ0YuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
QXV0aGVudGljYXRpb25DRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdFRTY4
NDREMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEF1dGhlbnRpY2F0aW9uQ0YuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJN0VFNjg0NEUxMkQyNkUzODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTQzNCw2ICsxMTQz
NywxMSBAQAogCQlBQTA5NzhFRTBBQkFBNkUxMDA4NzQ0ODAgLyogQ1NTQ3Vyc29ySW1hZ2VWYWx1
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTQ3Vyc29ySW1hZ2VWYWx1
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTRDM0E3NDBCMkIxNjc5MDAyMzM0
QTIgLyogU3R5bGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTdHlsZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTRD
M0E3NTBCMkIxNjc5MDAyMzM0QTIgLyogU3R5bGVFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTdHlsZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQUE5MDMwRkUxNTdFMTZBMDAwMjc2MjQ3IC8qIEluamVjdGVkV2ViR0xTY3JpcHRTb3Vy
Y2UuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBJbmplY3RlZFdl
YkdMU2NyaXB0U291cmNlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQTkxMjc1
MDE1N0UzNUE1MDA0NTRFNTQgLyogSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBRDc2NkU4MTU3RTUwMkYwMEU4NTQyMyAvKiBJ
bnNwZWN0b3JXZWJHTEFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEluc3BlY3RvcldlYkdMQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBQUQ3NjZFOTE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JXZWJHTEFnZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBRDc2NkVBMTU3RTUwMkYwMEU4NTQyMyAvKiBJbnNw
ZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBQUY1QjdCMTE1MjRCNEJEMDAwNENCNDkgLyogV2ViU29ja2V0RnJhbWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViU29ja2V0RnJhbWUuY3Bw
OyBwYXRoID0gTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEZyYW1lLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUIyM0EzMjUwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRl
eHRJbnNlcnRlZEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUFCMjNBMzI2MDlCQkE3RDAwMDY3Q0M1MyAvKiBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQmVmb3JlVGV4dEluc2VydGVkRXZl
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyNTczLDggKzEyNTgxLDYgQEAK
IAkJQkM4MjQzMjYwRDBDRThBMjAwNDYwQzhGIC8qIEpTU1FMVHJhbnNhY3Rpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTUUxUcmFuc2FjdGlvbi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCQzgyNDNFNjBEMENGRDc1MDA0NjBDOEYgLyogV2luZG93RmVh
dHVyZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2luZG93RmVh
dHVyZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzgyNDNFNzBEMENGRDc1
MDA0NjBDOEYgLyogV2luZG93RmVhdHVyZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2luZG93RmVhdHVyZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0U5
OUFGNTIwQjEzODQ2NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXaW5kb3dGb2N1c0FsbG93ZWRJ
bmRpY2F0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3RTk5QUY1NDBCMTM4
NDY0NjhGQjAxQTUgLyogV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzg1RjIzQzE1MTkxNUUwMDBCQzE3QkUgLyogUmVu
ZGVyTmFtZWRGbG93VGhyZWFkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
bmRlck5hbWVkRmxvd1RocmVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzg1
RjIzRTE1MTkxODczMDBCQzE3QkUgLyogUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlck5hbWVkRmxvd1RocmVhZC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDOEFFMzRDMTJFQTA5NkEwMEVCM0FFNiAv
KiBTY3JvbGxhYmxlQXJlYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTY3JvbGxhYmxlQXJlYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjkw
Myw2ICsxMjkwOSw3IEBACiAJCUM1Rjc2NUI0MTRFMUQ0MTQwMDZDODk5QiAvKiBQYXN0ZWJvYXJk
U3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFzdGVib2FyZFN0
cmF0ZWd5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1Rjc2NUJBMTRFMUVDRjQw
MDZDODk5QiAvKiBQbGF0Zm9ybVBhc3RlYm9hcmRNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBQbGF0Zm9ybVBhc3RlYm9hcmRNYWMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUM2OTE2MTQ3MTRGNkVCQTcwMDQ2Mzc1QyAvKiBTY3JvbGxiYXJU
aGVtZUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxiYXJU
aGVtZUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNkE3MDMzMjVDOUQw
QjZDRENCQzRENzggLyogSlNFdmVudFRhcmdldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNFdmVudFRhcmdldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUM2RDc0QUQzMDlBQTI4MkUwMDBCMEE1MiAvKiBNb2RpZnlTZWxlY3Rpb25MaXN0TGV2
ZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9kaWZ5U2VsZWN0aW9uTGlz
dExldmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM2RDc0QUUzMDlBQTI5MEEw
MDBCMEE1MiAvKiBNb2RpZnlTZWxlY3Rpb25MaXN0TGV2ZWwuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTW9kaWZ5U2VsZWN0aW9uTGlzdExldmVsLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzZGMDhGQjkxNDMwRkU4RjAwNjg1ODQ5IC8qIE11dGF0
aW9uUmVjb3JkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE11dGF0
aW9uUmVjb3JkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MzE2LDYgKzE0
MzIzLDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJN0E1NjNF
NTQxMkRFMzJCMDAwRjQ1MzZEIC8qIEluamVjdGVkU2NyaXB0U291cmNlLmggKi8sCisJCQkJQUE5
MTI3NTAxNTdFMzVBNTAwNDU0RTU0IC8qIEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCAqLywK
IAkJCQk0RjcwN0E5NzExRUY2Nzk0MDBBQ0RBNjkgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXIuY3BwICovLAogCQkJCTRGNzA3QTk4MTFFRjY3OTQwMEFDREE2OSAvKiBJbnNwZWN0b3JCYWNr
ZW5kRGlzcGF0Y2hlci5oICovLAogCQkJCTRGNEY1RkZBMTFDQkQyRDIwMEExODZCRiAvKiBJbnNw
ZWN0b3JGcm9udGVuZC5jcHAgKi8sCkBAIC0xNDM2MSw2ICsxNDM2OSw3IEBACiAJCQkJRjMxNjM5
NjkxMzI5NDgxQTAwQTY0OUNCIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAgKi8sCiAJCQkJ
RjMxNjM5NkExMzI5NDgxQTAwQTY0OUNCIC8qIEluamVjdGVkU2NyaXB0TWFuYWdlci5oICovLAog
CQkJCTdBNTYzRjk1MTJERjVDOTEwMEY0NTM2RCAvKiBJbmplY3RlZFNjcmlwdFNvdXJjZS5qcyAq
LywKKwkJCQlBQTkwMzBGRTE1N0UxNkEwMDAyNzYyNDcgLyogSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZS5qcyAqLywKIAkJCQkxQzQzNUNENDE0RTg1NDVCMDA0RTEwRUEgLyogSW5zcGVjdG9yLTAu
MS5qc29uICovLAogCQkJCTFDNDM1Q0Q1MTRFODU0NUIwMDRFMTBFQSAvKiBJbnNwZWN0b3ItMS4w
Lmpzb24gKi8sCiAJCQkJMUM0MzVDRDMxNEU4NTQ0RjAwNEUxMEVBIC8qIEluc3BlY3Rvci5qc29u
ICovLApAQCAtMTQ0MzIsNiArMTQ0NDEsOSBAQAogCQkJCTc1NDEzM0E3MTAyRTAwRTgwMDA3NUQw
MCAvKiBJbnNwZWN0b3JUaW1lbGluZUFnZW50LmggKi8sCiAJCQkJNEYzMjg5QjMxMUE0MkFBQjAw
NUFCRTdFIC8qIEluc3BlY3RvclZhbHVlcy5jcHAgKi8sCiAJCQkJNEYzMjg5QjQxMUE0MkFBQjAw
NUFCRTdFIC8qIEluc3BlY3RvclZhbHVlcy5oICovLAorCQkJCUFBRDc2NkU4MTU3RTUwMkYwMEU4
NTQyMyAvKiBJbnNwZWN0b3JXZWJHTEFnZW50LmNwcCAqLywKKwkJCQlBQUQ3NjZFOTE1N0U1MDJG
MDBFODU0MjMgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5oICovLAorCQkJCUFBRDc2NkVBMTU3RTUw
MkYwMEU4NTQyMyAvKiBJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oICovLAogCQkJCUYz
ODEwQzE5MTM2NUE0OTYwMEVENkUzMyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAgKi8sCiAJ
CQkJRjM4MTBDMUExMzY1QTQ5NjAwRUQ2RTMzIC8qIEluc3BlY3RvcldvcmtlckFnZW50LmggKi8s
CiAJCQkJRjM3NUNDMDYxMTUwRDMwMDAwOEREQjgxIC8qIEluc3BlY3RvcldvcmtlclJlc291cmNl
LmggKi8sCkBAIC0yMzI2MSw2ICsyMzI3Myw4IEBACiAJCQkJNzU0MTMzQTgxMDJFMDBFODAwMDc1
RDAwIC8qIEluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3OERB
MjBGMTUyMEVCQTMwMDYxNDFDMSAvKiBJbnNwZWN0b3JUeXBlQnVpbGRlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNEYzMjg5QjYxMUE0MkFBQjAwNUFCRTdFIC8qIEluc3BlY3RvclZhbHVlcy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQUFENzY2RUMxNTdFNTAyRjAwRTg1NDIzIC8qIEluc3BlY3Rvcldl
YkdMQWdlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBRDc2NkVEMTU3RTUwMkYwMEU4NTQyMyAv
KiBJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjM4
MTBDMUMxMzY1QTQ5NjAwRUQ2RTMzIC8qIEluc3BlY3RvcldvcmtlckFnZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlGMzc1Q0MwNzExNTBEMzAwMDA4RERCODEgLyogSW5zcGVjdG9yV29ya2VyUmVz
b3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzQUJGRTBDMTMwRTlEQTAwMEU3RjdEMSAvKiBJ
bnN0cnVtZW50aW5nQWdlbnRzLmggaW4gSGVhZGVycyAqLywKQEAgLTI2Mzg0LDYgKzI2Mzk4LDcg
QEAKIAkJCQk3NTQxMzNBQTEwMkUwMEY0MDAwNzVEMDAgLyogSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzNEMTM0NzE0Q0UzOUZGMDA1N0FCQ0EgLyogSW5z
cGVjdG9yVHlwZUJ1aWxkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEYzMjg5QjUxMUE0MkFB
QjAwNUFCRTdFIC8qIEluc3BlY3RvclZhbHVlcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBQUQ3
NjZFQjE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlGMzgxMEMxQjEzNjVBNDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjM1MEI3MzUxM0YxMzc3RDAwODgwQzQzIC8qIElu
c3RydW1lbnRpbmdBZ2VudHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjI3NTM1NjAwQjA1Mzgx
NDAwMkNFNjRGIC8qIEludFBvaW50Q0cuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3Bw
CmluZGV4IGQ1ZmMzY2U5NjM2M2RjNTEyNjg0ZjJmNDA3MWE0MjQ4NWVhYzA2MTguLmE3MmFmMTA2
Mjk0NTdiZWYzZmU5ODU0YzBjNGJiMzRkMDY5ODEzNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCkBAIC0y
MSw3ICsyMSw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIK
QEAgLTMxLDcgKzMxLDkgQEAKICNpbmNsdWRlICJIVE1MQ2FudmFzRWxlbWVudC5oIgogI2luY2x1
ZGUgIkpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgiCiAjaWYgRU5BQkxFKFdFQkdMKQorI2lu
Y2x1ZGUgIkluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSlNXZWJH
TFJlbmRlcmluZ0NvbnRleHQuaCIKKyNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKICNpbmNsdWRl
ICJXZWJHTENvbnRleHRBdHRyaWJ1dGVzLmgiCiAjZW5kaWYKICNpbmNsdWRlIDx3dGYvR2V0UHRy
Lmg+CkBAIC03NSw3ICs3NywxNiBAQCBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OmdldENv
bnRleHQoRXhlY1N0YXRlKiBleGVjKQogICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQqIGNvbnRl
eHQgPSBjYW52YXMtPmdldENvbnRleHQodXN0cmluZ1RvU3RyaW5nKGNvbnRleHRJZCksIGF0dHJz
LmdldCgpKTsKICAgICBpZiAoIWNvbnRleHQpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsKLSAg
ICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoY29udGV4dCkp
OworICAgIEpTVmFsdWUganNWYWx1ZSA9IHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0KCksIFdURjo6
Z2V0UHRyKGNvbnRleHQpKTsKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgaWYgKGNvbnRleHQtPmlz
M2QoKSAmJiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygpKSB7CisgICAg
ICAgIFNjcmlwdE9iamVjdCBnbENvbnRleHQoZXhlYywganNWYWx1ZS5nZXRPYmplY3QoKSk7Cisg
ICAgICAgIFNjcmlwdE9iamVjdCB3cmFwcGVkID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3
cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGNhbnZhcy0+ZG9jdW1l
bnQoKSwgZ2xDb250ZXh0KTsKKyAgICAgICAgaWYgKCF3cmFwcGVkLmhhc05vVmFsdWUoKSkKKyAg
ICAgICAgICAgIHJldHVybiB3cmFwcGVkLmpzVmFsdWUoKTsKKyAgICB9CisjZW5kaWYKKyAgICBy
ZXR1cm4ganNWYWx1ZTsKIH0KIAogSlNWYWx1ZSBKU0hUTUxDYW52YXNFbGVtZW50Ojp0b0RhdGFV
UkwoRXhlY1N0YXRlKiBleGVjKQpAQCAtOTMsNyArMTA0LDcgQEAgSlNWYWx1ZSBKU0hUTUxDYW52
YXNFbGVtZW50Ojp0b0RhdGFVUkwoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICAgICAgcXVhbGl0
eVB0ciA9ICZxdWFsaXR5OwogICAgICAgICB9CiAgICAgfQotICAgIAorCiAgICAgSlNWYWx1ZSBy
ZXN1bHQgPSBqc1N0cmluZyhleGVjLCBjYW52YXMtPnRvRGF0YVVSTCh0eXBlLCBxdWFsaXR5UHRy
LCBlYykpOwogICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyLmNwcAppbmRleCAxNTc2ZDM0NmQwNmRjYTUwYzg0ZjgzZTVmYjk2ZGQ2MWFmNTlk
NjcwLi44MGI0ZTc4OTA2NGQ3NDllMWJhZDdmNGIwNzFkNjVmMWMwODRlYmUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwCkBAIC03OCw2ICs3OCwxNCBAQCBTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
OjpjcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgUwogICAgIHJldHVy
biBTY3JpcHRPYmplY3QoKTsKIH0KIAorI2lmIEVOQUJMRShXRUJHTCkKK1NjcmlwdE9iamVjdCBJ
bmplY3RlZFNjcmlwdE1hbmFnZXI6OmluamVjdFdlYkdMU2NyaXB0KGNvbnN0IFN0cmluZyYsIFNj
cmlwdE9iamVjdCkKK3sKKyAgICAvLyBGSVhNRSg4Nzk3NSk6IEltcGxlbWVudCB0aGlzIQorICAg
IHJldHVybiBTY3JpcHRPYmplY3QoKTsKK30KKyNlbmRpZgorCiB2b2lkIEluamVjdGVkU2NyaXB0
TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSkK
IHsKICAgICBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0ganNDYXN0PEpTRE9NR2xv
YmFsT2JqZWN0Kj4oc2NyaXB0U3RhdGUtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAKaW5kZXggYzE5ZmI5ODkyYmRjOGE5
NzY0ZGY3ZTNhYmJmNzk5YjE1ZGJiNjgxNC4uZTIxYzZjYWNlNzUxN2Q5NDA0YzliOWJjNGMwM2Vk
Mzg3MWMzMjQwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0
U3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNw
cApAQCAtOTAsNyArOTAsNyBAQCBTY3JpcHRTdGF0ZSogU2NyaXB0U3RhdGU6OmZvckNvbnRleHQo
djg6OkxvY2FsPHY4OjpDb250ZXh0PiBjb250ZXh0KQogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmpl
Y3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2JhbCgpOwogICAgIC8vIFNraXAgcHJveHkgb2JqZWN0
LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vydml2ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUgd2Ug
bmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb25zaWRlcyB3aXRoIHRoYXQg
b2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgorICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGlt
ZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KICAgICBnbG9i
YWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46OkNhc3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUoKSk7
CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGtleSA9IFY4SGlkZGVuUHJvcGVydHlOYW1l
OjpzY3JpcHRTdGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCmluZGV4IDIwZGI1
M2Q2NGVjMTAxOWJmMTBkM2M0MmM3OGVmNzAwMjlmMjlkNzguLmUxOTg5NmZlZTAyMDFiMWI1NGIz
NTVkOWQwY2IyMTgzZmQyNzg5ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKQEAg
LTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJWOE5vZGUuaCIKICNpbmNsdWRlICJWOFByb3h5Lmgi
CiAjaWYgRU5BQkxFKFdFQkdMKQorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0
aW9uLmgiCiAjaW5jbHVkZSAiVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKICNlbmRpZgogI2lu
Y2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CkBAIC04OCw4ICs4OSwxNyBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNrKGNvbnN0IHY4
OjpBcmd1bWVudAogICAgIGlmIChyZXN1bHQtPmlzMmQoKSkKICAgICAgICAgcmV0dXJuIHRvVjgo
c3RhdGljX2Nhc3Q8Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKj4ocmVzdWx0KSwgYXJncy5HZXRJ
c29sYXRlKCkpOwogI2lmIEVOQUJMRShXRUJHTCkKLSAgICBlbHNlIGlmIChyZXN1bHQtPmlzM2Qo
KSkKLSAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8V2ViR0xSZW5kZXJpbmdDb250ZXh0
Kj4ocmVzdWx0KSwgYXJncy5HZXRJc29sYXRlKCkpOworICAgIGVsc2UgaWYgKHJlc3VsdC0+aXMz
ZCgpKSB7CisgICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2OFJlc3VsdCA9IHRvVjgoc3Rh
dGljX2Nhc3Q8V2ViR0xSZW5kZXJpbmdDb250ZXh0Kj4ocmVzdWx0KSwgYXJncy5HZXRJc29sYXRl
KCkpOworICAgICAgICBpZiAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYXNGcm9udGVuZHMo
KSkgeworICAgICAgICAgICAgU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlID0gU2NyaXB0U3RhdGU6
OmZvckNvbnRleHQodjg6OkNvbnRleHQ6OkdldEN1cnJlbnQoKSk7CisgICAgICAgICAgICBTY3Jp
cHRPYmplY3QgZ2xDb250ZXh0KHNjcmlwdFN0YXRlLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpD
YXN0KHY4UmVzdWx0KSk7CisgICAgICAgICAgICBTY3JpcHRPYmplY3Qgd3JhcHBlZCA9IEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1l
bnRhdGlvbihpbXAtPmRvY3VtZW50KCksIGdsQ29udGV4dCk7CisgICAgICAgICAgICBpZiAoIXdy
YXBwZWQuaGFzTm9WYWx1ZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnY4VmFs
dWUoKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdjhSZXN1bHQ7CisgICAgfQogI2VuZGlm
CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIHY4OjpOdWxsKGFyZ3MuR2V0
SXNvbGF0ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDMzM2ZlNTc1Y2IwNzhh
MTI3NTY3YzY1YzJjNTFkY2Y3YTQ2ZDFjMjMuLjFjZTU5NWVjODA3NGMxMjcyYmM2OTJmZDYxOTA5
ZGZlYWJlZDk1OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcApAQCAtMTEwLDEwICsxMTAs
MzQgQEAgU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6Y3JlYXRlSW5qZWN0ZWRT
Y3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHRTb3UKICAgICAgIHY4OjpOdW1iZXI6Ok5ldyhpZCks
CiAgICAgfTsKICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBpbmplY3RlZFNjcmlwdFZhbHVlID0g
djg6OkZ1bmN0aW9uOjpDYXN0KCp2KS0+Q2FsbCh3aW5kb3dHbG9iYWwsIDMsIGFyZ3MpOwotICAg
IHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBpbmplY3RlZFNjcmlwdCh2ODo6T2JqZWN0OjpDYXN0KCpp
bmplY3RlZFNjcmlwdFZhbHVlKSk7Ci0gICAgcmV0dXJuIFNjcmlwdE9iamVjdChpbnNwZWN0ZWRT
Y3JpcHRTdGF0ZSwgaW5qZWN0ZWRTY3JpcHQpOworICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5z
cGVjdGVkU2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoaW5qZWN0ZWRT
Y3JpcHRWYWx1ZSkpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluamVj
dGVkU2NyaXB0TWFuYWdlcjo6aW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5nJiBzY3JpcHRT
b3VyY2UsIFNjcmlwdE9iamVjdCBnbENvbnRleHQpCit7CisgICAgdjg6OkhhbmRsZVNjb3BlIHNj
b3BlOworCisgICAgU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0YXRlID0gZ2xDb250ZXh0
LnNjcmlwdFN0YXRlKCk7CisgICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBpbnNwZWN0ZWRDb250
ZXh0ID0gaW5zcGVjdGVkU2NyaXB0U3RhdGUtPmNvbnRleHQoKTsKKyAgICB2ODo6Q29udGV4dDo6
U2NvcGUgY29udGV4dFNjb3BlKGluc3BlY3RlZENvbnRleHQpOworCisgICAgdjg6OkxvY2FsPHY4
OjpPYmplY3Q+IHdpbmRvd0dsb2JhbCA9IGluc3BlY3RlZENvbnRleHQtPkdsb2JhbCgpOworCisg
ICAgdjg6OkxvY2FsPHY4OjpTY3JpcHQ+IHNjcmlwdCA9IHY4OjpTY3JpcHQ6OkNvbXBpbGUodjhT
dHJpbmcoc2NyaXB0U291cmNlKSk7CisgICAgVjhSZWN1cnNpb25TY29wZTo6TWljcm90YXNrU3Vw
cHJlc3Npb24gcmVjdXJzaW9uU2NvcGU7CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdiA9IHNj
cmlwdC0+UnVuKCk7CisgICAgQVNTRVJUKCF2LklzRW1wdHkoKSk7CisgICAgQVNTRVJUKHYtPklz
RnVuY3Rpb24oKSk7CisKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXJnc1tdID0geworICAg
ICAgICBnbENvbnRleHQudjhWYWx1ZSgpLAorICAgIH07CisgICAgdjg6OkxvY2FsPHY4OjpWYWx1
ZT4gaW5qZWN0ZWRTY3JpcHRWYWx1ZSA9IHY4OjpGdW5jdGlvbjo6Q2FzdCgqdiktPkNhbGwod2lu
ZG93R2xvYmFsLCAxLCBhcmdzKTsKKyAgICByZXR1cm4gU2NyaXB0T2JqZWN0KGluc3BlY3RlZFNj
cmlwdFN0YXRlLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGluamVjdGVkU2NyaXB0VmFs
dWUpKTsKK30KKyNlbmRpZgorCiB2b2lkIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6ZGlzY2FyZElu
amVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTY3JpcHRTdGF0ZSkKIHsKICAgICB2
ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CkBAIC0xMjIsNyArMTQ2LDcgQEAgdm9pZCBJbmpl
Y3RlZFNjcmlwdE1hbmFnZXI6OmRpc2NhcmRJbmplY3RlZFNjcmlwdChTY3JpcHRTdGF0ZSogaW5z
cGVjdGVkU2NyaXB0U3QKIAogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBjb250
ZXh0LT5HbG9iYWwoKTsKICAgICAvLyBTa2lwIHByb3h5IG9iamVjdC4gVGhlIHByb3h5IG9iamVj
dCB3aWxsIHN1cnZpdmUgcGFnZSBuYXZpZ2F0aW9uIHdoaWxlIHdlIG5lZWQKLSAgICAvLyBhbiBv
YmplY3Qgd2hvc2UgbGlmZXRpbWUgY29uc2lkZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQg
Y29udGV4dC4KKyAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29pbmNpZGVzIHdpdGgg
dGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCiAgICAgZ2xvYmFsID0gdjg6OkxvY2FsPHY4
OjpPYmplY3Q+OjpDYXN0KGdsb2JhbC0+R2V0UHJvdG90eXBlKCkpOwogCiAgICAgdjg6OkhhbmRs
ZTx2ODo6U3RyaW5nPiBrZXkgPSBWOEhpZGRlblByb3BlcnR5TmFtZTo6ZGV2dG9vbHNJbmplY3Rl
ZFNjcmlwdCgpOwpAQCAtMTM3LDcgKzE2MSw3IEBAIEluamVjdGVkU2NyaXB0IEluamVjdGVkU2Ny
aXB0TWFuYWdlcjo6aW5qZWN0ZWRTY3JpcHRGb3IoU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjCiAK
ICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFsID0gY29udGV4dC0+R2xvYmFsKCk7CiAg
ICAgLy8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBh
Z2UgbmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0
aW1lIGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRleHQuCisgICAgLy8g
YW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3Bl
Y3RlZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChn
bG9iYWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5
ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OmRldnRvb2xzSW5qZWN0ZWRTY3JpcHQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkKaW5k
ZXggZTlkMzczYjAxZTAzNWQ1YjQ0ZjYyNzYzYzA2NDg2MDcxNWZhMjc0Ni4uMzQ1MzEzZDQ0YzJl
MzI5ZmQ4NGUwMmJiZDE1ZWU3NzNkNWRiNDdjNSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkKQEAgLTQ2LDYgKzQ2LDcgQEAgRE9N
QUlOX0RFRklORV9OQU1FX01BUCA9IHsKICAgICAiSW5kZXhlZERCIjogIklOREVYRURfREFUQUJB
U0UiLAogICAgICJQcm9maWxlciI6ICJKQVZBU0NSSVBUX0RFQlVHR0VSIiwKICAgICAiV29ya2Vy
IjogIldPUktFUlMiLAorICAgICJXZWJHTCI6ICJXRUJHTCIsCiB9CiAKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAppbmRleCBlNDA2
YzRhOGUxNTg1MDY4NmY3NjY0YjJjNWRmZmVmY2I4YTkyZDJiLi4zMWZmOWY0MWM2MDY2MmE2NDI2
NGFhZGU3NWZiN2NlN2RhOGRjYjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcApAQCAtMzcsNyArMzcsMTEgQEAKICNpbmNsdWRl
ICJJbmplY3RlZFNjcmlwdC5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0SG9zdC5oIgogI2lu
Y2x1ZGUgIkluamVjdGVkU2NyaXB0U291cmNlLmgiCisjaWYgRU5BQkxFKFdFQkdMKQorI2luY2x1
ZGUgIkluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCIKKyNlbmRpZgogI2luY2x1ZGUgIkluc3Bl
Y3RvclZhbHVlcy5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCkBAIC0xNzIsNiAr
MTc2LDE4IEBAIHBhaXI8aW50LCBTY3JpcHRPYmplY3Q+IEluamVjdGVkU2NyaXB0TWFuYWdlcjo6
aW5qZWN0U2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlCiAgICAgcmV0dXJuIHN0ZDo6bWFrZV9w
YWlyKGlkLCBjcmVhdGVJbmplY3RlZFNjcmlwdChzb3VyY2UsIHNjcmlwdFN0YXRlLCBpZCkpOwog
fQogCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluamVjdGVkU2NyaXB0TWFuYWdl
cjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihTY3JpcHRPYmpl
Y3QgZ2xDb250ZXh0KQoreworICAgIHJldHVybiBpbmplY3RXZWJHTFNjcmlwdChpbmplY3RlZFdl
YkdMU2NyaXB0U291cmNlKCksIGdsQ29udGV4dCk7Cit9CisKK1N0cmluZyBJbmplY3RlZFNjcmlw
dE1hbmFnZXI6OmluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UoKQoreworICAgIHJldHVybiBTdHJp
bmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZV9qcyksIHNpemVvZihJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzKSk7Cit9CisjZW5kaWYK
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaApp
bmRleCBhOWJkY2E1MmZjYmMyMjdhYjI5MWFiNzRhNmViODkxOGYwNGJkOGU0Li42MTNmZWY4MTIz
OGE0MDkxOGE4NjMyODQ5MGNhYzAxNTc5NDMzYjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oCkBAIC03LDEzICs3LDEzIEBACiAgKiBh
cmUgbWV0OgogICoKICAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CiAgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCiAgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRl
ciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgogICogICAgIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAq
ICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uIAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQogICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRApAQCAtNjQsNiArNjQsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaXNjYXJkSW5q
ZWN0ZWRTY3JpcHRzRm9yKERPTVdpbmRvdyopOwogICAgIHZvaWQgcmVsZWFzZU9iamVjdEdyb3Vw
KGNvbnN0IFN0cmluZyYgb2JqZWN0R3JvdXApOwogCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIFNj
cmlwdE9iamVjdCB3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNj
cmlwdE9iamVjdCk7CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICB0eXBlZGVmIGJvb2wgKCpJbnNw
ZWN0ZWRTdGF0ZUFjY2Vzc0NoZWNrKShTY3JpcHRTdGF0ZSopOwpAQCAtNzMsNiArNzYsMTEgQEAg
cHJpdmF0ZToKICAgICBTY3JpcHRPYmplY3QgY3JlYXRlSW5qZWN0ZWRTY3JpcHQoY29uc3QgU3Ry
aW5nJiBzb3VyY2UsIFNjcmlwdFN0YXRlKiwgaW50IGlkKTsKICAgICB2b2lkIGRpc2NhcmRJbmpl
Y3RlZFNjcmlwdChTY3JpcHRTdGF0ZSopOwogCisjaWYgRU5BQkxFKFdFQkdMKQorICAgIFN0cmlu
ZyBpbmplY3RlZFdlYkdMU2NyaXB0U291cmNlKCk7CisgICAgU2NyaXB0T2JqZWN0IGluamVjdFdl
YkdMU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTY3JpcHRPYmplY3QpOworI2VuZGlmCisK
ICAgICBzdGF0aWMgYm9vbCBjYW5BY2Nlc3NJbnNwZWN0ZWRXaW5kb3coU2NyaXB0U3RhdGUqKTsK
ICAgICBzdGF0aWMgYm9vbCBjYW5BY2Nlc3NJbnNwZWN0ZWRXb3JrZXJDb250ZXh0KFNjcmlwdFN0
YXRlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFdl
YkdMU2NyaXB0U291cmNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmE1NTU0ZDMxMmEwZWYwYTMxMjJmNThlYzUx
ZWMyZGRhZDdkYjAyYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisoZnVuY3Rpb24o
Z2xDb250ZXh0KSB7CisKKy8vIEZJWE1FOiBXcmFwIFdlYkdMIGNvbnRleHQgZm9yIGluc3RydW1l
bnRhdGlvbi4KK3JldHVybiBnbENvbnRleHQ7CisKK30pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yLmpzb24KaW5kZXggYzk5MTE2MDhjNGU4Y2RiYWFiNjk3ZTA1NzNkZTNlNzRkZTQw
YmI1MS4uMDQyYmU4ZjZmM2UwMmYzZGJhMzUzN2E4OWM2YzdjZWY3ZWJhYWI0YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMjgxMSw1ICsyODExLDIxIEBACiAg
ICAgICAgICAgICAgICAgIm5hbWUiOiAiZGlzY29ubmVjdGVkRnJvbVdvcmtlciIKICAgICAgICAg
ICAgIH0KICAgICAgICAgXQorICAgIH0sCisgICAgeworICAgICAgICAiZG9tYWluIjogIldlYkdM
IiwKKyAgICAgICAgImhpZGRlbiI6IHRydWUsCisgICAgICAgICJ0eXBlcyI6IFtdLAorICAgICAg
ICAiY29tbWFuZHMiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAi
ZW5hYmxlIiwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5hYmxlcyBXZWJHTCBp
bnNwZWN0aW9uLiIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgIm5hbWUiOiAiZGlzYWJsZSIsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRp
c2FibGVzIFdlYkdMIGluc3BlY3Rpb24uIgorICAgICAgICAgICAgfQorICAgICAgICBdLAorICAg
ICAgICAiZXZlbnRzIjogW10KICAgICB9XQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKaW5kZXggYjEyMjMwNDMyMzNmOWQ0NDdhNWQzYWI1NTEx
MDY2OTU5ZWZiZTYyMS4uYmU5MmExM2ZjN2IzY2Q4NTYxMzYzOGU2MTg4NzdjODJmYjJjMzlhYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCkBA
IC02NSw2ICs2NSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0
b3JWYWx1ZXMuY3BwIgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuY3BwIgogI2luY2x1
ZGUgIkluc3BlY3RvcldvcmtlckFnZW50LmNwcCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdl
bnRzLmNwcCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggNDZlMGMy
YjhjNTRmNGI0MjBjMjM2ODRjN2JlM2E3NTNhNDViYjc2OS4uYWMxOWM3ZGI5NTNkMjQ1ODM5Y2Fk
ZmEzMjg2ZWY2OGI1Mjk2MmVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtNjEsNiArNjEsNyBAQAogI2luY2x1ZGUgIkluc3Bl
Y3RvclJlc291cmNlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JTdGF0ZS5oIgogI2luY2x1
ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JXZWJHTEFn
ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyQWdlbnQuaCIKICNpbmNsdWRlICJJbnN0
cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiUGFnZUNvbnNvbGVBZ2VudC5oIgpAQCAtMTQ0
LDYgKzE0NSwxMCBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBh
Z2UqIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwogICAgIG1fYWdlbnRzLmFwcGVu
ZChJbnNwZWN0b3JXb3JrZXJBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQo
KSwgbV9zdGF0ZS5nZXQoKSkpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgbV9h
Z2VudHMuYXBwZW5kKEluc3BlY3RvcldlYkdMQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdB
Z2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCksIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgp
KSk7CisjZW5kaWYKKwogICAgIEFTU0VSVF9BUkcoaW5zcGVjdG9yQ2xpZW50LCBpbnNwZWN0b3JD
bGllbnQpOwogICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3RlZFNjcmlwdEhvc3Qo
KS0+aW5pdChtX2luc3BlY3RvckFnZW50CiAgICAgICAgICwgY29uc29sZUFnZW50CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5k
ZXggY2E5NTBiYWY3MGQxNzY4NTZjM2NlNjg3MzBkMjlkODFiY2RjMThmMi4uNGViYTRiM2MwYTUy
M2FmZGZkMzlhMTJjZjMyOWJhNzYwNzk2ZTc5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtNjgsNiArNjgsNyBAQCBj
bGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgU2NyaXB0QXJndW1lbnRzOwogY2xhc3MgU2Ny
aXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIFNjcmlw
dE9iamVjdDsKIGNsYXNzIFNjcmlwdFByb2ZpbGU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNs
YXNzIFNoYWRvd1Jvb3Q7CkBAIC0yMzYsNiArMjM3LDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
dm9pZCBkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcihEb2N1bWVudCosIHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpOwogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoV0VCR0wpCisgICAgc3RhdGljIFNjcmlwdE9iamVjdCB3cmFwV2ViR0xSZW5kZXJp
bmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKERvY3VtZW50KiwgU2NyaXB0T2JqZWN0KTsKKyNl
bmRpZgorCiAgICAgc3RhdGljIHZvaWQgbmV0d29ya1N0YXRlQ2hhbmdlZChQYWdlKik7CiAgICAg
c3RhdGljIHZvaWQgdXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1cyhGcmFtZSopOwogCkBAIC05
NzUsNyArOTgwLDcgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjptYXJr
UmVzb3VyY2VBc0NhY2hlZChQYWdlKiBwYWdlLCB1bnNpZ25lZAogewogI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMg
PSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKLSAgICAgICAgbWFya1Jlc291cmNl
QXNDYWNoZWRJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIpOyAKKyAgICAgICAg
bWFya1Jlc291cmNlQXNDYWNoZWRJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIp
OwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JXZWJHTEFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JX
ZWJHTEFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YWVhMGFhMzg3Y2RiNzg0YzVjYmQyNmE0Zjk4YjY4
YTJjYjNlMzBjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldlYkdMQWdlbnQuY3BwCkBAIC0wLDAgKzEsMTA0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAi
SW5zcGVjdG9yV2ViR0xBZ2VudC5oIgorCisjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JT
dGF0ZS5oIgorI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNsdWRlICJTY3Jp
cHRPYmplY3QuaCIKKyNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK25hbWVzcGFjZSBXZWJHTEFnZW50U3RhdGUgeworc3RhdGljIGNvbnN0IGNoYXIgd2Vi
R0xBZ2VudEVuYWJsZWRbXSA9ICJ3ZWJHTEFnZW50RW5hYmxlZCI7Cit9OworCitJbnNwZWN0b3JX
ZWJHTEFnZW50OjpJbnNwZWN0b3JXZWJHTEFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5z
cGVjdG9yV2ViR0xBZ2VudD4oIldlYkdMIiwgaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUpCisg
ICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlcihpbmplY3RlZFNjcmlwdE1hbmFnZXIpCisgICAg
LCBtX2Zyb250ZW5kKDApCisgICAgLCBtX2VuYWJsZWQoZmFsc2UpCit7CisgICAgbV9pbnN0cnVt
ZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JXZWJHTEFnZW50KHRoaXMpOworfQorCitJbnNwZWN0
b3JXZWJHTEFnZW50Ojp+SW5zcGVjdG9yV2ViR0xBZ2VudCgpCit7CisgICAgbV9pbnN0cnVtZW50
aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JXZWJHTEFnZW50KDApOworfQorCit2b2lkIEluc3BlY3Rv
cldlYkdMQWdlbnQ6OnNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCkKK3sK
KyAgICBBU1NFUlQoZnJvbnRlbmQpOworICAgIG1fZnJvbnRlbmQgPSBmcm9udGVuZC0+d2ViZ2wo
KTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpjbGVhckZyb250ZW5kKCkKK3sKKyAg
ICBtX2Zyb250ZW5kID0gMDsKKyAgICBkaXNhYmxlKDApOworfQorCit2b2lkIEluc3BlY3Rvcldl
YkdMQWdlbnQ6OnJlc3RvcmUoKQoreworICAgIG1fZW5hYmxlZCA9IG1fc3RhdGUtPmdldEJvb2xl
YW4oV2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCk7Cit9CisKK3ZvaWQgSW5zcGVj
dG9yV2ViR0xBZ2VudDo6ZW5hYmxlKEVycm9yU3RyaW5nKikKK3sKKyAgICBpZiAobV9lbmFibGVk
KQorICAgICAgICByZXR1cm47CisgICAgbV9lbmFibGVkID0gdHJ1ZTsKKyAgICBtX3N0YXRlLT5z
ZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2ViR0xBZ2VudEVuYWJsZWQsIG1fZW5hYmxlZCk7
Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6ZGlzYWJsZShFcnJvclN0cmluZyopCit7
CisgICAgaWYgKCFtX2VuYWJsZWQpCisgICAgICAgIHJldHVybjsKKyAgICBtX2VuYWJsZWQgPSBm
YWxzZTsKKyAgICBtX3N0YXRlLT5zZXRCb29sZWFuKFdlYkdMQWdlbnRTdGF0ZTo6d2ViR0xBZ2Vu
dEVuYWJsZWQsIG1fZW5hYmxlZCk7Cit9CisKK1NjcmlwdE9iamVjdCBJbnNwZWN0b3JXZWJHTEFn
ZW50Ojp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9i
amVjdCBnbENvbnRleHQpCit7CisgICAgcmV0dXJuIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT53
cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGdsQ29udGV4dCk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1Ip
ICYmIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JXZWJHTEFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
V2ViR0xBZ2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwZDA4Y2EyY2Q3ZTAwMjJkOTYwOTNmMjBkNmZjYjRj
YWRmODM3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yV2ViR0xBZ2VudC5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEluc3BlY3RvcldlYkdM
QWdlbnRfaAorI2RlZmluZSBJbnNwZWN0b3JXZWJHTEFnZW50X2gKKworI2lmIEVOQUJMRShJTlNQ
RUNUT1IpICYmIEVOQUJMRShXRUJHTCkKKworI2luY2x1ZGUgIkluc3BlY3RvckJhc2VBZ2VudC5o
IgorI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJp
bmcuaCIKKyNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBJbmplY3RlZFNjcmlwdE1hbmFnZXI7CitjbGFzcyBJbnNwZWN0b3JTdGF0ZTsKK2Ns
YXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CitjbGFzcyBTY3JpcHRPYmplY3Q7CisKK3R5cGVkZWYg
U3RyaW5nIEVycm9yU3RyaW5nOworCitjbGFzcyBJbnNwZWN0b3JXZWJHTEFnZW50IDogcHVibGlj
IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JXZWJHTEFnZW50PiwgcHVibGljIEluc3BlY3Rv
ckJhY2tlbmREaXNwYXRjaGVyOjpXZWJHTENvbW1hbmRIYW5kbGVyIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JXZWJHTEFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFB0cihuZXcgSW5zcGVjdG9yV2ViR0xBZ2VudChpbnN0cnVtZW50aW5nQWdl
bnRzLCBzdGF0ZSwgaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKSk7CisgICAgfQorICAgIH5JbnNwZWN0
b3JXZWJHTEFnZW50KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RnJvbnRlbmQoSW5zcGVjdG9y
RnJvbnRlbmQqKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xlYXJGcm9udGVuZCgpOworICAgIHZpcnR1
YWwgdm9pZCByZXN0b3JlKCk7CisKKyAgICBib29sIGVuYWJsZWQoKSB7IHJldHVybiBtX2VuYWJs
ZWQ7IH0KKworICAgIFNjcmlwdE9iamVjdCB3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5z
dHJ1bWVudGF0aW9uKFNjcmlwdE9iamVjdCk7CisKKyAgICAvLyBDYWxsZWQgZnJvbSB0aGUgZnJv
bnQtZW5kLgorICAgIHZpcnR1YWwgdm9pZCBlbmFibGUoRXJyb3JTdHJpbmcqKTsKKyAgICB2aXJ0
dWFsIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyopOworCisgICAgLy8gQ2FsbGVkIGZyb20gdGhl
IGluamVjdGVkIHNjcmlwdC4KKworICAgIC8vIENhbGxlZCBmcm9tIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbgorCitwcml2YXRlOgorICAgIEluc3BlY3RvcldlYkdMQWdlbnQoSW5zdHJ1bWVudGlu
Z0FnZW50cyosIEluc3BlY3RvclN0YXRlKiwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CisKKyAg
ICBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOworICAgIElu
c3BlY3RvckZyb250ZW5kOjpXZWJHTCogbV9mcm9udGVuZDsKKyAgICBib29sIG1fZW5hYmxlZDsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNU
T1IpICYmIEVOQUJMRShXRUJHTCkKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvcldlYkdM
QWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JX
ZWJHTEluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMyOTdjYjVjYmJmOGUxOWUwZDI4
Y2ExMTk2Njk2NDRmM2UwNTVlNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oCkBAIC0wLDAgKzEsNTcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uX2gKKyNkZWZpbmUgSW5zcGVjdG9y
V2ViR0xJbnN0cnVtZW50YXRpb25faAorCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5oIgorI2luY2x1ZGUgIkluc3Ry
dW1lbnRpbmdBZ2VudHMuaCIKKyNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlv
bihEb2N1bWVudCogZG9jdW1lbnQsIFNjcmlwdE9iamVjdCBnbENvbnRleHQpCit7CisjaWYgRU5B
QkxFKElOU1BFQ1RPUikKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGlu
Z0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpIHsKKyAg
ICAgICAgSW5zcGVjdG9yV2ViR0xBZ2VudCogd2ViR0xBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2Vu
dHMtPmluc3BlY3RvcldlYkdMQWdlbnQoKTsKKyAgICAgICAgaWYgKHdlYkdMQWdlbnQgJiYgd2Vi
R0xBZ2VudC0+ZW5hYmxlZCgpKQorICAgICAgICAgICAgcmV0dXJuIHdlYkdMQWdlbnQtPndyYXBX
ZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oZ2xDb250ZXh0KTsKKyAgICB9
CisjZW5kaWYKKyAgICByZXR1cm4gU2NyaXB0T2JqZWN0KCk7Cit9CisjZW5kaWYgLy8gRU5BQkxF
KFdFQkdMKQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyAhZGVmaW5lZChJ
bnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbl9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggMTk0ZWI4NjVlYzc1YTY2ZmVmYjRiNzI0
NmYwMDhhODM4YTg4YWFiYy4uMTMzNGRjN2Q2ZGI3ZWRiMzkwODZiOTZlM2M3ODY0Y2ExNzhmMzQx
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2Vu
dHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5o
CkBAIC01Miw2ICs1Miw3IEBAIGNsYXNzIEluc3BlY3RvclJlc291cmNlQWdlbnQ7CiBjbGFzcyBJ
bnNwZWN0b3JSdW50aW1lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50OwogY2xh
c3MgSW5zcGVjdG9yV29ya2VyQWdlbnQ7CitjbGFzcyBJbnNwZWN0b3JXZWJHTEFnZW50OwogY2xh
c3MgUGFnZTsKIGNsYXNzIFBhZ2VSdW50aW1lQWdlbnQ7CiBjbGFzcyBXb3JrZXJDb250ZXh0OwpA
QCAtODYsNiArODcsOSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgICAgICwg
bV9pbnNwZWN0b3JXb3JrZXJBZ2VudCgwKQogI2VuZGlmCisjaWYgRU5BQkxFKFdFQkdMKQorICAg
ICAgICAsIG1faW5zcGVjdG9yV2ViR0xBZ2VudCgwKQorI2VuZGlmCiAgICAgeyB9CiAgICAgfklu
c3RydW1lbnRpbmdBZ2VudHMoKSB7IH0KIApAQCAtMTQyLDExICsxNDYsMTcgQEAgcHVibGljOgog
ICAgIEluc3BlY3RvclByb2ZpbGVyQWdlbnQqIGluc3BlY3RvclByb2ZpbGVyQWdlbnQoKSBjb25z
dCB7IHJldHVybiBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQ7IH0KICAgICB2b2lkIHNldEluc3Bl
Y3RvclByb2ZpbGVyQWdlbnQoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNw
ZWN0b3JQcm9maWxlckFnZW50ID0gYWdlbnQ7IH0KICNlbmRpZgorCiAjaWYgRU5BQkxFKFdPUktF
UlMpCiAgICAgSW5zcGVjdG9yV29ya2VyQWdlbnQqIGluc3BlY3RvcldvcmtlckFnZW50KCkgY29u
c3QgeyByZXR1cm4gbV9pbnNwZWN0b3JXb3JrZXJBZ2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVj
dG9yV29ya2VyQWdlbnQoSW5zcGVjdG9yV29ya2VyQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9y
V29ya2VyQWdlbnQgPSBhZ2VudDsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAg
SW5zcGVjdG9yV2ViR0xBZ2VudCogaW5zcGVjdG9yV2ViR0xBZ2VudCgpIGNvbnN0IHsgcmV0dXJu
IG1faW5zcGVjdG9yV2ViR0xBZ2VudDsgfQorICAgIHZvaWQgc2V0SW5zcGVjdG9yV2ViR0xBZ2Vu
dChJbnNwZWN0b3JXZWJHTEFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvcldlYkdMQWdlbnQgPSBh
Z2VudDsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yQWdlbnQqIG1faW5zcGVj
dG9yQWdlbnQ7CiAgICAgSW5zcGVjdG9yUGFnZUFnZW50KiBtX2luc3BlY3RvclBhZ2VBZ2VudDsK
QEAgLTE3Myw2ICsxODMsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgIElu
c3BlY3RvcldvcmtlckFnZW50KiBtX2luc3BlY3RvcldvcmtlckFnZW50OwogI2VuZGlmCisjaWYg
RU5BQkxFKFdFQkdMKQorICAgIEluc3BlY3RvcldlYkdMQWdlbnQqIG1faW5zcGVjdG9yV2ViR0xB
Z2VudDsKKyNlbmRpZgogfTsKIAogSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGF0aW9u
Rm9yUGFnZShQYWdlKik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145959</attachid>
            <date>2012-06-06 01:21:54 -0700</date>
            <delta_ts>2012-06-06 01:49:40 -0700</delta_ts>
            <desc>=Rebased patch</desc>
            <filename>bug-87960-20120606122152.patch</filename>
            <type>text/plain</type>
            <size>56778</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWNlNTA5NjQ0MjQ5ZmFh
ZWIwZTM2ZTMwNDcwNGFhZjYzYzE0MDQxYi4uZTNiMDY1ZTBkNTIwODEyMTEyYTc5MDI5YmU0MDYx
ZWIxN2RhMzk2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgyIEBACisyMDEyLTA2LTA2ICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtXZWJHTF0gQWRkIFdlYkdMIGluc3RydW1lbnRhdGlvbiBzdXBwb3J0IG9uIHRoZSBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2
MAorCisgICAgICAgIEFkZHMgYSBXZWJHTEFnZW50LCBpbmplY3RzIGEgV2ViR0wgc2NyaXB0IHVw
b24gY2FsbGluZyB0aGUgZ2V0Q29udGV4dAorICAgICAgICBtZXRob2Qgb2YgYSBIVE1MQ2FudmFz
RWxlbWVudCB0aGF0IHdpbGwgd3JhcCB0aGUgV2ViR0wgcmVuZGVyaW5nIGNvbnRleHQKKyAgICAg
ICAgZm9yIGluc3RydW1lbnRhdGlvbiBwdXJwb3Nlcy4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SlNIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dCk6CisgICAgICAgIChX
ZWJDb3JlOjpKU0hUTUxDYW52YXNFbGVtZW50Ojp0b0RhdGFVUkwpOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RXZWJHTFNjcmlw
dCk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0U3RhdGU6OmZvckNvbnRleHQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4
SFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHRDYWxsYmFjayk6CisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkluamVjdGVkU2NyaXB0TWFuYWdlcjo6Y3JlYXRlSW5qZWN0ZWRTY3JpcHQpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdE1hbmFnZXI6Omlu
amVjdFdlYkdMU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2NyaXB0TWFuYWdl
cjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OkluamVjdGVkU2Ny
aXB0TWFuYWdlcjo6aW5qZWN0ZWRTY3JpcHRGb3IpOgorICAgICAgICAqIGluc3BlY3Rvci9Db2Rl
R2VuZXJhdG9ySW5zcGVjdG9yLnB5OgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlw
dE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmpl
Y3RlZFNjcmlwdE1hbmFnZXI6OndyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3Rl
ZFdlYkdMU2NyaXB0U291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLmg6CisgICAgICAgIChJbmplY3RlZFNjcmlwdE1hbmFnZXIpOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzOiBBZGRlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFs
bEluT25lLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9s
bGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1hcmtSZXNvdXJjZUFz
Q2FjaGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJHTEFnZW50U3RhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6SW5zcGVjdG9yV2ViR0xBZ2VudCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50Ojp+SW5zcGVjdG9yV2ViR0xB
Z2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpzZXRGcm9udGVu
ZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXZWJHTEFnZW50OjpjbGVhckZyb250ZW5k
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OnJlc3RvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6ZW5hYmxlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmRpc2FibGUpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yV2ViR0xBZ2VudDo6d3JhcFdlYkdMUmVuZGVyaW5nQ29udGV4dEZvckluc3RydW1l
bnRhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3BlY3RvcldlYkdMQWdlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV2ViR0xBZ2VudDo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvcldlYkdMQWdlbnQ6OmVuYWJsZWQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3cmFw
V2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpJbnN0cnVtZW50aW5nQWdlbnRzKToKKyAg
ICAgICAgKEluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVu
dGluZ0FnZW50czo6aW5zcGVjdG9yV2ViR0xBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnN0
cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JXZWJHTEFnZW50KToKKwogMjAxMi0wNi0wNiAg
Sm9vbmUgSHVyICA8am9vbmUuaHVyQGludGVsLmNvbT4KIAogICAgICAgICBbR1RLXSBCdWlsZCBm
aXggZm9yIEFjY2VsZXJhdGVkIENvbXBvc2l0aW5nIHdpdGggT3BlbkdMCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IGNlYjFkYjQwNmNiMGFlNDY5NzE3OWM2ZWJlYjY1NGZkNGJkYTIzMGEuLmRjM2Q3
MDNjNzdiODE0ZmMyMmE3ZTFlOGI2MmM3NWI2MDdmM2Q0M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC05NjIsNiArOTYyLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JTdHlsZVRleHRFZGl0b3IuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5jcHAKKyAgICBpbnNw
ZWN0b3IvSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yV29y
a2VyQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwCiAgICAg
aW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcApAQCAtMTY5Myw3ICsxNjk0LDcgQEAg
SUYgKEVOQUJMRV9ORVRXT1JLX0lORk8pCiAgICAgICAgIE1vZHVsZXMvbmV0d29ya2luZm8vTmV0
d29ya0luZm9Db25uZWN0aW9uLmNwcAogICAgICAgICBNb2R1bGVzL25ldHdvcmtpbmZvL05ldHdv
cmtJbmZvQ29udHJvbGxlci5jcHAKICAgICApCi0gCisKICAgICBMSVNUKEFQUEVORCBXZWJDb3Jl
X0lETF9GSUxFUwogICAgICAgICBNb2R1bGVzL25ldHdvcmtpbmZvL05hdmlnYXRvck5ldHdvcmtJ
bmZvQ29ubmVjdGlvbi5pZGwKICAgICAgICAgTW9kdWxlcy9uZXR3b3JraW5mby9OZXR3b3JrSW5m
b0Nvbm5lY3Rpb24uaWRsCkBAIC0yNjA0LDYgKzI2MDUsMTcgQEAgQUREX0NVU1RPTV9DT01NQU5E
KAogTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVf
RElSfS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oKQogCiAKKyMgR2VuZXJhdGUgSW5qZWN0ZWRXZWJH
TFNjcmlwdFNvdXJjZS5oCitJRiAoRU5BQkxFX1dFQkdMKQorICAgIEFERF9DVVNUT01fQ09NTUFO
RCgKKyAgICAgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVfRElSfS9JbmplY3Rl
ZFdlYkdMU2NyaXB0U291cmNlLmgKKyAgICAgICAgTUFJTl9ERVBFTkRFTkNZIGluc3BlY3Rvci9J
bmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzCisgICAgICAgIENPTU1BTkQgJHtQRVJMX0VYRUNV
VEFCTEV9ICR7V0VCQ09SRV9ESVJ9L2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRXZWJHTFNjcmlw
dFNvdXJjZV9qcyAke1dFQkNPUkVfRElSfS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZS5qcyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlw
dFNvdXJjZS5oCisgICAgICAgIFZFUkJBVElNKQorICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09V
UkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZS5oKQorRU5ESUYgKCkKKworCiBNQUtFX0hBU0hfVE9PTFMoJHtXRUJDT1JFX0RJUn0vcGxh
dGZvcm0vQ29sb3JEYXRhKQogTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTICR7REVSSVZFRF9T
T1VSQ0VTX1dFQkNPUkVfRElSfS9Db2xvckRhdGEuY3BwKQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCAxMDJmYzlmMTg2NTIyNDM0ZjNkMmZhZTEyMzNjZTc3ZTdhOTVhMTQwLi4w
ZWRmMjIxNDVlMjdiYzJmODdiMmYxNjM0MmIxZGQ5ZGYyMGNhZTA1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNSArMSw1IEBACiAjIENvcHlyaWdodCAoQykgMjAwNiwgMjAw
NywgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jIENvcHlyaWdo
dCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4gCisjIENvcHly
aWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICMgQ29w
eXJpZ2h0IChDKSAyMDA5IENhbWVyb24gTWNDb3JtYWNrIDxjYW1AbWNjLmlkLmF1PgogIwogIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKQEAgLTcsMTMgKzcsMTMgQEAKICMgYXJlIG1ldDoKICMKICMgMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0j
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgogIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICMgICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uIAorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICMgMy4gIE5laXRoZXIgdGhl
IG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YK
ICMgICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQKLSMgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisjICAgICBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAjCiAjIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZCiAjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKQEAgLTc4MCwxMCArNzgwLDEwIEBAIFhQYXRoR3Jh
bW1hci5jcHAgOiB4bWwvWFBhdGhHcmFtbWFyLnkgJChQUk9KRUNUX0ZJTEUpCiAKICMgdXNlciBh
Z2VudCBzdHlsZSBzaGVldHMKIAotVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSAkKFdlYkNvcmUp
L2Nzcy9odG1sLmNzcyAkKFdlYkNvcmUpL2Nzcy9xdWlya3MuY3NzICQoV2ViQ29yZSkvY3NzL3Zp
ZXctc291cmNlLmNzcyAkKFdlYkNvcmUpL2Nzcy90aGVtZVdpbi5jc3MgJChXZWJDb3JlKS9jc3Mv
dGhlbWVXaW5RdWlya3MuY3NzIAorVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSAkKFdlYkNvcmUp
L2Nzcy9odG1sLmNzcyAkKFdlYkNvcmUpL2Nzcy9xdWlya3MuY3NzICQoV2ViQ29yZSkvY3NzL3Zp
ZXctc291cmNlLmNzcyAkKFdlYkNvcmUpL2Nzcy90aGVtZVdpbi5jc3MgJChXZWJDb3JlKS9jc3Mv
dGhlbWVXaW5RdWlya3MuY3NzCiAKIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfU1ZHLCQoRkVB
VFVSRV9ERUZJTkVTKSksIEVOQUJMRV9TVkcpCi0gICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMg
Oj0gJChVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcyAKKyAg
ICBVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAkKFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTKSAk
KFdlYkNvcmUpL2Nzcy9zdmcuY3NzCiBlbmRpZgogCiBpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxF
X01BVEhNTCwkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfTUFUSE1MKQpAQCAtODkyLDcgKzg5
Miw3IEBAIFhMaW5rTmFtZXMuY3BwIDogZG9tL21ha2VfbmFtZXMucGwgc3ZnL3hsaW5rYXR0cnMu
aW4KIAlwZXJsIC1JICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cyAkPCAtLWF0dHJzICQoV2Vi
Q29yZSkvc3ZnL3hsaW5rYXR0cnMuaW4KIAogIyAtLS0tLS0tLQotIAorCiAjIFJlZ2lzdGVyIGV2
ZW50IGNvbnN0cnVjdG9ycyBhbmQgdGFyZ2V0cwogCiBFdmVudEZhY3RvcnkuY3BwIEV2ZW50SGVh
ZGVycy5oIEV2ZW50SW50ZXJmYWNlcy5oIDogZG9tL21ha2VfZXZlbnRfZmFjdG9yeS5wbCBkb20v
RXZlbnROYW1lcy5pbgpAQCAtOTA1LDcgKzkwNSw3IEBAIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlv
bi5jcHAgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uLmggRXhjZXB0aW9uSGVhZGVycy5oIEV4Y2Vw
CiAJcGVybCAtSSAkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMgJDwgLS1pbnB1dCAkKFdlYkNv
cmUpL2RvbS9ET01FeGNlcHRpb25zLmluCiAKICMgLS0tLS0tLS0KLSAKKwogIyBNYXRoTUwgdGFn
IGFuZCBhdHRyaWJ1dGUgbmFtZXMsIGFuZCBlbGVtZW50IGZhY3RvcnkKIAogTWF0aE1MRWxlbWVu
dEZhY3RvcnkuY3BwIE1hdGhNTE5hbWVzLmNwcCA6IGRvbS9tYWtlX25hbWVzLnBsIG1hdGhtbC9t
YXRodGFncy5pbiBtYXRobWwvbWF0aGF0dHJzLmluCkBAIC05ODQsNiArOTg0LDExIEBAIGFsbCA6
IEluamVjdGVkU2NyaXB0U291cmNlLmgKIEluamVjdGVkU2NyaXB0U291cmNlLmggOiBJbmplY3Rl
ZFNjcmlwdFNvdXJjZS5qcwogCXBlcmwgJChXZWJDb3JlKS9pbnNwZWN0b3IveHhkLnBsIEluamVj
dGVkU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291
cmNlLmpzIEluamVjdGVkU2NyaXB0U291cmNlLmgKIAorYWxsIDogSW5qZWN0ZWRXZWJHTFNjcmlw
dFNvdXJjZS5oCisKK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaCA6IEluamVjdGVkV2ViR0xT
Y3JpcHRTb3VyY2UuanMKKwlwZXJsICQoV2ViQ29yZSkvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3Rl
ZFdlYkdMU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xT
Y3JpcHRTb3VyY2UuanMgSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCisKIC1pbmNsdWRlICQo
SlNfRE9NX0hFQURFUlM6Lmg9LmRlcCkKIAogaWZlcSAoJChmaW5kc3RyaW5nIEJVSUxESU5HX1dY
LCQoRkVBVFVSRV9ERUZJTkVTKSksIEJVSUxESU5HX1dYKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
cHJpCmluZGV4IGQxYzFhN2FkOGJmM2ZlMzI5M2U1ZDBkODgzNzhhYzA5NDg3Mzg2NzEuLjgzOGQw
NmZjZTc1NTZjMGE2NGU4ZmQxMDIyNWE3ZTU2MTgzNzcwNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5wcmkKQEAgLTYxLDYgKzYxLDggQEAgSU5TUEVDVE9SX0JBQ0tFTkRfQ09NTUFORFNfUVJD
ID0gJCRQV0QvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JCYWNrZW5kQ29tbWEKIAogSU5K
RUNURURfU0NSSVBUX1NPVVJDRSA9ICQkUFdEL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJj
ZS5qcwogCitJTkpFQ1RFRF9XRUJHTF9TQ1JJUFRfU09VUkNFID0gJCRQV0QvaW5zcGVjdG9yL0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMKKwogREVCVUdHRVJfU0NSSVBUX1NPVVJDRSA9ICQk
UFdEL2JpbmRpbmdzL3Y4L0RlYnVnZ2VyU2NyaXB0LmpzCiAKIEFSUkFZX0JVRkZFUl9WSUVXX0NV
U1RPTV9TQ1JJUFRfU09VUkNFID0gJCRQV0QvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZm
ZXJWaWV3Q3VzdG9tU2NyaXB0LmpzCkBAIC03NjgsMTEgKzc3MCwxOCBAQCBHRU5FUkFUT1JTICs9
IGluc3BlY3RvckJhY2tlbmRDb21tYW5kcwogIyBHRU5FUkFUT1IgMi1hOiBpbnNwZWN0b3IgaW5q
ZWN0ZWQgc2NyaXB0IHNvdXJjZSBjb21waWxlcgogaW5qZWN0ZWRTY3JpcHRTb3VyY2Uub3V0cHV0
ID0gSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaAogaW5qZWN0ZWRTY3JpcHRTb3VyY2UuaW5wdXQgPSBJ
TkpFQ1RFRF9TQ1JJUFRfU09VUkNFCi1pbmplY3RlZFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBl
cmwgJCRQV0QvaW5zcGVjdG9yL3h4ZC5wbCBJbmplY3RlZFNjcmlwdFNvdXJjZV9qcyAkJFBXRC9p
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMgJHtRTUFLRV9GSUxFX09VVH0KK2luamVj
dGVkU2NyaXB0U291cmNlLmNvbW1hbmRzID0gcGVybCAkJFBXRC9pbnNwZWN0b3IveHhkLnBsIElu
amVjdGVkU2NyaXB0U291cmNlX2pzICR7UU1BS0VfRklMRV9JTn0gJHtRTUFLRV9GSUxFX09VVH0K
IGluamVjdGVkU2NyaXB0U291cmNlLmFkZF9vdXRwdXRfdG9fc291cmNlcyA9IGZhbHNlCiBHRU5F
UkFUT1JTICs9IGluamVjdGVkU2NyaXB0U291cmNlCiAKLSMgR0VORVJBVE9SIDItYjogaW5zcGVj
dG9yIGRlYnVnZ2VyIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKKyMgR0VORVJBVE9SIDItYjogaW5z
cGVjdG9yIHdlYmdsIGluamVjdGVkIHNjcmlwdCBzb3VyY2UgY29tcGlsZXIKK0luamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2Uub3V0cHV0ID0gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oCitJbmpl
Y3RlZFdlYkdMU2NyaXB0U291cmNlLmlucHV0ID0gSU5KRUNURURfV0VCR0xfU0NSSVBUX1NPVVJD
RQorSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5jb21tYW5kcyA9IHBlcmwgJCRQV0QvaW5zcGVj
dG9yL3h4ZC5wbCBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzICR7UU1BS0VfRklMRV9JTn0g
JHtRTUFLRV9GSUxFX09VVH0KK0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuYWRkX291dHB1dF90
b19zb3VyY2VzID0gZmFsc2UKK0dFTkVSQVRPUlMgKz0gSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZQorCisjIEdFTkVSQVRPUiAyLWM6IGluc3BlY3RvciBkZWJ1Z2dlciBzY3JpcHQgc291cmNlIGNv
bXBpbGVyCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5vdXRwdXQgPSBEZWJ1Z2dlclNjcmlwdFNvdXJj
ZS5oCiBkZWJ1Z2dlclNjcmlwdFNvdXJjZS5pbnB1dCA9IERFQlVHR0VSX1NDUklQVF9TT1VSQ0UK
IGRlYnVnZ2VyU2NyaXB0U291cmNlLmNvbW1hbmRzID0gcGVybCAkJFBXRC9pbnNwZWN0b3IveHhk
LnBsIERlYnVnZ2VyU2NyaXB0U291cmNlX2pzICR7UU1BS0VfRklMRV9JTn0gJHtRTUFLRV9GSUxF
X09VVH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggODM2OGM2ZDQ0NzIzZGM5YmJkZmRiYTUwYWQx
NzM4ZjUxMGM1NTY0Yi4uZjBjNTJhYjdjYWViNTMyOTE0ZDk3MjY0MTk4MTRlOWZlMTdmNDkyMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTgyMSw2ICs4MjEsOCBAQCBEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qczogRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9JbnNwZQogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hl
ci5oOiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmNw
cAogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbmplY3RlZFNjcmlwdFNvdXJjZS5oOiAkKFdlYkNv
cmUpL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcwogCSQoQU1fVl9HRU4pJChQRVJM
KSAkKFdlYkNvcmUpL2luc3BlY3Rvci94eGQucGwgSW5qZWN0ZWRTY3JpcHRTb3VyY2VfanMgJChX
ZWJDb3JlKS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMgJChHRU5TT1VSQ0VTX1dF
QkNPUkUpL0luamVjdGVkU2NyaXB0U291cmNlLmgKK0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5q
ZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oOiAkKFdlYkNvcmUpL2luc3BlY3Rvci9JbmplY3RlZFdl
YkdMU2NyaXB0U291cmNlLmpzCisJJChBTV9WX0dFTikkKFBFUkwpICQoV2ViQ29yZSkvaW5zcGVj
dG9yL3h4ZC5wbCBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzICQoV2ViQ29yZSkvaW5zcGVj
dG9yL0luamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuanMgJChHRU5TT1VSQ0VTX1dFQkNPUkUpL0lu
amVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaAogCiBpZiBFTkFCTEVfV0VCX0FVRElPCiAjIEluc3Rh
bGxpbmcgSFJURiBkYXRhYmFzZSB3YXYgZmlsZXMKQEAgLTEwNzAsNiArMTA3Miw3IEBAIEVYVFJB
X0RJU1QgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2ljdS9MSUNFTlNFIFwKIAlTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weSBcCiAJU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzIFwKKwlTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5qcyBcCiAJU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvci5qc29uIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yLTEuMC5qc29uIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZ2VuZXJhdGUtaW5zcGVj
dG9yLXByb3RvY29sLXZlcnNpb24gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXgg
NWFjNWRlMzYyNDFkMWI4MmZjMTg1NWY3MWFlNGE2YzY1ZmQzZTM0MS4uNTI2ZjVkOTlkMjlkYmVh
MzcxMzg0MDlhMWI2M2I5MmMzYzhiZTIwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CkBAIC0yMCw2ICsyMCw3IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0hU
TUxOYW1lcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkU2NyaXB0U291cmNl
LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5o
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmNw
cCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5o
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckZyb250ZW5kLmNwcCBcCkBAIC0y
NzIyLDYgKzI3MjMsOSBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JWYWx1ZXMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVmFsdWVzLmggXAorCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJH
TEFnZW50LmNwcCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdl
bnQuaCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1bWVu
dGF0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2Vu
dC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaQppbmRleCBkN2Q3MjVhNDdlMDEzM2JhNWZkODlhZGY0ZmZlM2NjMWNhYjZjMWNl
Li45MTFiYWUxMzBkYjNmNDg2MDllMmIzYTE3YzlkZDI0OWM5YzNjMmE5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkK
QEAgLTkyNCw2ICs5MjQsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9y
U3R5bGVUZXh0RWRpdG9yLmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdl
bnQuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCBcCisgICAgaW5zcGVj
dG9yL0luc3BlY3RvcldlYkdMQWdlbnQuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yV29y
a2VyQWdlbnQuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAgXAog
ICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAgXApAQCAtMjA2OSw2ICsyMDcw
LDggQEAgSEVBREVSUyArPSBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuaCBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5oIFwKICAgICBpbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIFwKKyAgICBpbnNwZWN0b3IvSW5zcGVjdG9yV2Vi
R0xBZ2VudC5oIFwKKyAgICBpbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24u
aCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmggXAogICAgIGluc3BlY3Rv
ci9JbnN0cnVtZW50aW5nQWdlbnRzLmggXAogICAgIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2Vz
RGF0YS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKaW5kZXggN2Q4ZDdi
ZWE4NTI0YjVlMGNkM2NiNmM3MzNjMDQ5MzFiZmFhYTU0OS4uYTI1NjI0OGZiNzdmMzgyNGM2MWFk
ZGI0NzA5OGJkNGE0ZjRmZjNlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXAvV2ViQ29yZS5neXAKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXAKQEAgLTQzNCw2ICs0MzQsMjkgQEAKICAgICAgIF0KICAgICB9LAogICAgIHsKKyAgICAgICd0
YXJnZXRfbmFtZSc6ICdpbmplY3RlZF93ZWJnbF9zY3JpcHRfc291cmNlJywKKyAgICAgICd0eXBl
JzogJ25vbmUnLAorICAgICAgJ2FjdGlvbnMnOiBbCisgICAgICAgIHsKKyAgICAgICAgICAnYWN0
aW9uX25hbWUnOiAnZ2VuZXJhdGVJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlJywKKyAgICAgICAg
ICAnaW5wdXRzJzogWworICAgICAgICAgICAgJy4uL2luc3BlY3Rvci9JbmplY3RlZFdlYkdMU2Ny
aXB0U291cmNlLmpzJywKKyAgICAgICAgICBdLAorICAgICAgICAgICdvdXRwdXRzJzogWworICAg
ICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdC9JbmplY3RlZFdlYkdM
U2NyaXB0U291cmNlLmgnLAorICAgICAgICAgIF0sCisgICAgICAgICAgJ2FjdGlvbic6IFsKKyAg
ICAgICAgICAgICdwZXJsJywKKyAgICAgICAgICAgICcuLi9pbnNwZWN0b3IveHhkLnBsJywKKyAg
ICAgICAgICAgICdJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzJywKKyAgICAgICAgICAgICc8
QChfaW5wdXRzKScsCisgICAgICAgICAgICAnPEAoX291dHB1dHMpJworICAgICAgICAgIF0sCisg
ICAgICAgICAgJ21lc3NhZ2UnOiAnR2VuZXJhdGluZyBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNl
LmggZnJvbSBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzJywKKyAgICAgICAgfSwKKyAgICAg
IF0KKyAgICB9LAorICAgIHsKICAgICAgICd0YXJnZXRfbmFtZSc6ICdkZWJ1Z2dlcl9zY3JpcHRf
c291cmNlJywKICAgICAgICd0eXBlJzogJ25vbmUnLAogICAgICAgJ2FjdGlvbnMnOiBbCkBAIC0x
MDc0LDYgKzEwOTcsNyBAQAogICAgICAgICAnd2ViY29yZV9iaW5kaW5nc19zb3VyY2VzJywKICAg
ICAgICAgJ2luc3BlY3Rvcl9wcm90b2NvbF9zb3VyY2VzJywKICAgICAgICAgJ2luamVjdGVkX3Nj
cmlwdF9zb3VyY2UnLAorICAgICAgICAnaW5qZWN0ZWRfd2ViZ2xfc2NyaXB0X3NvdXJjZScsCiAg
ICAgICAgICdkZWJ1Z2dlcl9zY3JpcHRfc291cmNlJywKICAgICAgICAgJy4uLy4uL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cC9KYXZhU2NyaXB0Q29yZS5neXA6eWFycicsCiAgICAg
ICAgICcuLi8uLi9XVEYvV1RGLmd5cC9XVEYuZ3lwOnd0ZicsCkBAIC0xMTk3LDYgKzEyMjEsNyBA
QAogICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKICAgICAgICAgJ2RlYnVnZ2VyX3NjcmlwdF9zb3Vy
Y2UnLAogICAgICAgICAnaW5qZWN0ZWRfc2NyaXB0X3NvdXJjZScsCisgICAgICAgICdpbmplY3Rl
ZF93ZWJnbF9zY3JpcHRfc291cmNlJywKICAgICAgICAgJ2luc3BlY3Rvcl9wcm90b2NvbF9zb3Vy
Y2VzJywKICAgICAgICAgJ3dlYmNvcmVfYmluZGluZ3Nfc291cmNlcycsCiAgICAgICAgICcuLi8u
Li9UaGlyZFBhcnR5L2dsdS9nbHUuZ3lwOmxpYnRlc3MnLApAQCAtMTQ3Miw5ICsxNDk3LDkgQEAK
ICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAgICAgICd3ZWJjb3JlX3ByZXJlcXVpc2l0ZXMn
LAogICAgICAgXSwKLSAgICAgICdkZWZpbmVzJzogWyAKLSAgICAgICAgJ1dFQktJVF9JTVBMRU1F
TlRBVElPTj0xJywgCi0gICAgICBdLCAKKyAgICAgICdkZWZpbmVzJzogWworICAgICAgICAnV0VC
S0lUX0lNUExFTUVOVEFUSU9OPTEnLAorICAgICAgXSwKICAgICAgICMgVGhpcyBpcyBuZWVkZWQg
Zm9yIG1hYyBiZWNhdXNlIG9mIHdlYmtpdF9zeXN0ZW1faW50ZXJmYWNlLiBJdCdkIGJlIG5pY2UK
ICAgICAgICMgaWYgdGhpcyBoYXJkIGRlcGVuZGVuY3kgY291bGQgYmUgc3BsaXQgb2ZmIHRoZSBy
ZXN0LgogICAgICAgJ2hhcmRfZGVwZW5kZW5jeSc6IDEsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggY2Jl
MmM0ZmMxNTYyMTg4M2E5NjlhZmM2NmJlNTU3OGJmN2Q0OTVmZS4uYTg2MWEyZjZhZjBjM2FiYjY5
OTE3ZmNlN2RmMzIxYzUzMTY3YjdlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjgxOSw2ICsyODE5
LDkgQEAKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oJywK
ICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCcsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlclJlc291cmNlLmgnLAorICAgICAgICAgICAgJ2lu
c3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50LmNwcCcsCisgICAgICAgICAgICAnaW5zcGVjdG9y
L0luc3BlY3RvcldlYkdMQWdlbnQuaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0
b3JXb3JrZXJBZ2VudC5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5j
cHAnLApAQCAtNjY0MSw3ICs2NjQ0LDcgQEAKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQt
ZW5kL0ltYWdlcy9zZWFyY2hTbWFsbEdyYXkucG5nJywKICAgICAgICAgICAgICdpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hTbWFsbFdoaXRlLnBuZycsCiAgICAgICAgICAgICAnaW5z
cGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VhcmNoTmV4dC5wbmcnLAotICAgICAgICAgICAgJ2lu
c3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlYXJjaFByZXYucG5nJywgICAgICAgICAgICAKKyAg
ICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWFyY2hQcmV2LnBuZycsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc2VnbWVudC5wbmcnLAogICAg
ICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3NlZ21lbnRFbmQucG5nJywKICAg
ICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zZWdtZW50SG92ZXIucG5nJywK
QEAgLTcyNDAsNiArNzI0Myw3IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9IVE1MTmFtZXMuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0hlYWRlckRldGVjdGlvbi5oJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luamVjdGVkU2NyaXB0
U291cmNlLmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oJywKICAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcycs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDhk
ZjcxZWUzYmViZjEyMWYyOGQ0MDA2ZmJjOGEzZDlmNzJiNTg1MmIuLjRmZGE3YWQxOGNmODI2ODcx
N2E2MmVhZTVlNjMxYjc2ZGU4OTYxMzMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCkBAIC01OTQsNiArNTk0LDEwIEBACiAJCQkJPgogCQkJPC9GaWxl
PgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC03Mzk5
NSw2ICs3Mzk5OSwzNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAiCisJCQkJPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9G
aWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JX
ZWJHTEFnZW50LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JXZWJHTEluc3RydW1lbnRhdGlvbi5oIgorCQkJCT4K
KwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcSW5z
cGVjdG9yV29ya2VyQWdlbnQuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCAxNGExNGJkMzU0NDg2MTBmNmVlM2E2M2MzNzIzNDUzNTAwZTc5NDIwLi5hOTVmYzQ0NzllZmIw
OWQ3MjhjNzZkYzNjZmEyYzcwMWNiMDE4ZjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NDUxLDYgKzQ0NTEsOSBAQAogCQlB
QTIxRUNDRDBBQkYwRkM2MDAyQjgzNEMgLyogQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUEwOTc4RUUwQUJBQTZFMTAw
ODc0NDgwIC8qIENTU0N1cnNvckltYWdlVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBQTRDM0E3NjBCMkIxNjc5MDAyMzM0QTIgLyogU3R5
bGVFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEFBNEMzQTc0MEIyQjE2NzkwMDIzMzRBMiAvKiBTdHlsZUVsZW1lbnQuY3BwICovOyB9Owog
CQlBQTRDM0E3NzBCMkIxNjc5MDAyMzM0QTIgLyogU3R5bGVFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTRDM0E3NTBCMkIxNjc5MDAyMzM0
QTIgLyogU3R5bGVFbGVtZW50LmggKi87IH07CisJCUFBRDc2NkVCMTU3RTUwMkYwMEU4NTQyMyAv
KiBJbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEFBRDc2NkU4MTU3RTUwMkYwMEU4NTQyMyAvKiBJbnNwZWN0b3JXZWJH
TEFnZW50LmNwcCAqLzsgfTsKKwkJQUFENzY2RUMxNTdFNTAyRjAwRTg1NDIzIC8qIEluc3BlY3Rv
cldlYkdMQWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEFBRDc2NkU5MTU3RTUwMkYwMEU4NTQyMyAvKiBJbnNwZWN0b3JXZWJHTEFnZW50LmggKi87
IH07CisJCUFBRDc2NkVEMTU3RTUwMkYwMEU4NTQyMyAvKiBJbnNwZWN0b3JXZWJHTEluc3RydW1l
bnRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QUFENzY2RUExNTdFNTAyRjAwRTg1NDIzIC8qIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9u
LmggKi87IH07CiAJCUFBRjVCN0I3MTUyNEI2QzUwMDA0Q0I0OSAvKiBXZWJTb2NrZXRGcmFtZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUY1QjdC
MTE1MjRCNEJEMDAwNENCNDkgLyogV2ViU29ja2V0RnJhbWUuY3BwICovOyB9OwogCQlBQjIzQTMy
NzA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyM0EzMjUwOUJCQTdEMDAw
NjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcCAqLzsgfTsKIAkJQUIyM0EzMjgw
OUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQjIzQTMyNjA5QkJBN0QwMDA2N0ND
NTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLzsgfTsKQEAgLTExNDM0LDYgKzExNDM3
LDExIEBACiAJCUFBMDk3OEVFMEFCQUE2RTEwMDg3NDQ4MCAvKiBDU1NDdXJzb3JJbWFnZVZhbHVl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NDdXJzb3JJbWFnZVZhbHVl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBNEMzQTc0MEIyQjE2NzkwMDIzMzRB
MiAvKiBTdHlsZUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFN0eWxlRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBNEMz
QTc1MEIyQjE2NzkwMDIzMzRBMiAvKiBTdHlsZUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN0eWxlRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBQTkwMzBGRTE1N0UxNkEwMDAyNzYyNDcgLyogSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJj
ZS5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IEluamVjdGVkV2Vi
R0xTY3JpcHRTb3VyY2UuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBOTEyNzUw
MTU3RTM1QTUwMDQ1NEU1NCAvKiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFENzY2RTgxNTdFNTAyRjAwRTg1NDIzIC8qIElu
c3BlY3RvcldlYkdMQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUFBRDc2NkU5MTU3RTUwMkYwMEU4NTQyMyAvKiBJbnNwZWN0b3JXZWJHTEFnZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvcldlYkdMQWdlbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFENzY2RUExNTdFNTAyRjAwRTg1NDIzIC8qIEluc3Bl
Y3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUFBRjVCN0IxMTUyNEI0QkQwMDA0Q0I0OSAvKiBXZWJTb2NrZXRGcmFtZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJTb2NrZXRGcmFtZS5jcHA7
IHBhdGggPSBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0RnJhbWUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBQjIzQTMyNTA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4
dEluc2VydGVkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQUIyM0EzMjYwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQzMTUsNiArMTQzMjMsNyBAQAog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQk3QTU2M0U1NDEyREUzMkIw
MDBGNDUzNkQgLyogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCAqLywKKwkJCQlBQTkxMjc1MDE1N0Uz
NUE1MDA0NTRFNTQgLyogSW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZS5oICovLAogCQkJCTRGNzA3
QTk3MTFFRjY3OTQwMEFDREE2OSAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5jcHAgKi8s
CiAJCQkJNEY3MDdBOTgxMUVGNjc5NDAwQUNEQTY5IC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVyLmggKi8sCiAJCQkJNEY0RjVGRkExMUNCRDJEMjAwQTE4NkJGIC8qIEluc3BlY3RvckZyb250
ZW5kLmNwcCAqLywKQEAgLTE0MzYwLDYgKzE0MzY5LDcgQEAKIAkJCQlGMzE2Mzk2OTEzMjk0ODFB
MDBBNjQ5Q0IgLyogSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCAqLywKIAkJCQlGMzE2Mzk2QTEz
Mjk0ODFBMDBBNjQ5Q0IgLyogSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggKi8sCiAJCQkJN0E1NjNG
OTUxMkRGNUM5MTAwRjQ1MzZEIC8qIEluamVjdGVkU2NyaXB0U291cmNlLmpzICovLAorCQkJCUFB
OTAzMEZFMTU3RTE2QTAwMDI3NjI0NyAvKiBJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlLmpzICov
LAogCQkJCTFDNDM1Q0Q0MTRFODU0NUIwMDRFMTBFQSAvKiBJbnNwZWN0b3ItMC4xLmpzb24gKi8s
CiAJCQkJMUM0MzVDRDUxNEU4NTQ1QjAwNEUxMEVBIC8qIEluc3BlY3Rvci0xLjAuanNvbiAqLywK
IAkJCQkxQzQzNUNEMzE0RTg1NDRGMDA0RTEwRUEgLyogSW5zcGVjdG9yLmpzb24gKi8sCkBAIC0x
NDQzMSw2ICsxNDQ0MSw5IEBACiAJCQkJNzU0MTMzQTcxMDJFMDBFODAwMDc1RDAwIC8qIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaCAqLywKIAkJCQk0RjMyODlCMzExQTQyQUFCMDA1QUJFN0UgLyog
SW5zcGVjdG9yVmFsdWVzLmNwcCAqLywKIAkJCQk0RjMyODlCNDExQTQyQUFCMDA1QUJFN0UgLyog
SW5zcGVjdG9yVmFsdWVzLmggKi8sCisJCQkJQUFENzY2RTgxNTdFNTAyRjAwRTg1NDIzIC8qIElu
c3BlY3RvcldlYkdMQWdlbnQuY3BwICovLAorCQkJCUFBRDc2NkU5MTU3RTUwMkYwMEU4NTQyMyAv
KiBJbnNwZWN0b3JXZWJHTEFnZW50LmggKi8sCisJCQkJQUFENzY2RUExNTdFNTAyRjAwRTg1NDIz
IC8qIEluc3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmggKi8sCiAJCQkJRjM4MTBDMTkxMzY1
QTQ5NjAwRUQ2RTMzIC8qIEluc3BlY3RvcldvcmtlckFnZW50LmNwcCAqLywKIAkJCQlGMzgxMEMx
QTEzNjVBNDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuaCAqLywKIAkJCQlGMzc1
Q0MwNjExNTBEMzAwMDA4RERCODEgLyogSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaCAqLywKQEAg
LTIzMjYwLDYgKzIzMjczLDggQEAKIAkJCQk3NTQxMzNBODEwMkUwMEU4MDAwNzVEMDAgLyogSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc4REEyMEYxNTIwRUJB
MzAwNjE0MUMxIC8qIEluc3BlY3RvclR5cGVCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
RjMyODlCNjExQTQyQUFCMDA1QUJFN0UgLyogSW5zcGVjdG9yVmFsdWVzLmggaW4gSGVhZGVycyAq
LywKKwkJCQlBQUQ3NjZFQzE1N0U1MDJGMDBFODU0MjMgLyogSW5zcGVjdG9yV2ViR0xBZ2VudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQUFENzY2RUQxNTdFNTAyRjAwRTg1NDIzIC8qIEluc3BlY3Rv
cldlYkdMSW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlGMzgxMEMxQzEzNjVB
NDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUYzNzVDQzA3MTE1MEQzMDAwMDhEREI4MSAvKiBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRjNBQkZFMEMxMzBFOURBMDAwRTdGN0QxIC8qIEluc3RydW1lbnRp
bmdBZ2VudHMuaCBpbiBIZWFkZXJzICovLApAQCAtMjYzODMsNiArMjYzOTgsNyBAQAogCQkJCTc1
NDEzM0FBMTAyRTAwRjQwMDA3NUQwMCAvKiBJbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTU3M0QxMzQ3MTRDRTM5RkYwMDU3QUJDQSAvKiBJbnNwZWN0b3JUeXBl
QnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0RjMyODlCNTExQTQyQUFCMDA1QUJFN0Ug
LyogSW5zcGVjdG9yVmFsdWVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUFBRDc2NkVCMTU3RTUw
MkYwMEU4NTQyMyAvKiBJbnNwZWN0b3JXZWJHTEFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUYzODEwQzFCMTM2NUE0OTYwMEVENkUzMyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlGMzUwQjczNTEzRjEzNzdEMDA4ODBDNDMgLyogSW5zdHJ1bWVudGlu
Z0FnZW50cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjc1MzU2MDBCMDUzODE0MDAyQ0U2NEYg
LyogSW50UG9pbnRDRy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggZDVm
YzNjZTk2MzYzZGM1MTI2ODRmMmY0MDcxYTQyNDg1ZWFjMDYxOC4uYTcyYWYxMDYyOTQ1N2JlZjNm
ZTk4NTRjMGM0YmIzNGQwNjk4MTM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKQEAgLTIxLDcgKzIxLDcg
QEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtMzEsNyAr
MzEsOSBAQAogI2luY2x1ZGUgIkhUTUxDYW52YXNFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuaCIKICNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5z
cGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJKU1dlYkdMUmVuZGVyaW5n
Q29udGV4dC5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgogI2luY2x1ZGUgIldlYkdMQ29u
dGV4dEF0dHJpYnV0ZXMuaCIKICNlbmRpZgogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KQEAgLTc1
LDcgKzc3LDE2IEBAIEpTVmFsdWUgSlNIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dChFeGVj
U3RhdGUqIGV4ZWMpCiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCA9IGNhbnZh
cy0+Z2V0Q29udGV4dCh1c3RyaW5nVG9TdHJpbmcoY29udGV4dElkKSwgYXR0cnMuZ2V0KCkpOwog
ICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAgIHJldHVybiB0
b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihjb250ZXh0KSk7CisgICAgSlNW
YWx1ZSBqc1ZhbHVlID0gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QoKSwgV1RGOjpnZXRQdHIoY29u
dGV4dCkpOworI2lmIEVOQUJMRShXRUJHTCkKKyAgICBpZiAoY29udGV4dC0+aXMzZCgpICYmIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpIHsKKyAgICAgICAgU2NyaXB0
T2JqZWN0IGdsQ29udGV4dChleGVjLCBqc1ZhbHVlLmdldE9iamVjdCgpKTsKKyAgICAgICAgU2Ny
aXB0T2JqZWN0IHdyYXBwZWQgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndyYXBXZWJHTFJl
bmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oY2FudmFzLT5kb2N1bWVudCgpLCBnbENv
bnRleHQpOworICAgICAgICBpZiAoIXdyYXBwZWQuaGFzTm9WYWx1ZSgpKQorICAgICAgICAgICAg
cmV0dXJuIHdyYXBwZWQuanNWYWx1ZSgpOworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBqc1Zh
bHVlOwogfQogCiBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6OnRvRGF0YVVSTChFeGVjU3Rh
dGUqIGV4ZWMpCkBAIC05Myw3ICsxMDQsNyBAQCBKU1ZhbHVlIEpTSFRNTENhbnZhc0VsZW1lbnQ6
OnRvRGF0YVVSTChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgICAgICBxdWFsaXR5UHRyID0gJnF1
YWxpdHk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGpz
U3RyaW5nKGV4ZWMsIGNhbnZhcy0+dG9EYXRhVVJMKHR5cGUsIHF1YWxpdHlQdHIsIGVjKSk7CiAg
ICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKICAgICByZXR1cm4gcmVzdWx0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwCmluZGV4IDE1NzZkMzQ2ZDA2ZGNhNTBjODRmODNlNWZiOTZkZDYxYWY1OWQ2NzAuLjgwYjRl
Nzg5MDY0ZDc0OWUxYmFkN2Y0YjA3MWQ2NWYxYzA4NGViZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKQEAgLTc4
LDYgKzc4LDE0IEBAIFNjcmlwdE9iamVjdCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmNyZWF0ZUlu
amVjdGVkU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBTCiAgICAgcmV0dXJuIFNjcmlwdE9i
amVjdCgpOwogfQogCisjaWYgRU5BQkxFKFdFQkdMKQorU2NyaXB0T2JqZWN0IEluamVjdGVkU2Ny
aXB0TWFuYWdlcjo6aW5qZWN0V2ViR0xTY3JpcHQoY29uc3QgU3RyaW5nJiwgU2NyaXB0T2JqZWN0
KQoreworICAgIC8vIEZJWE1FKDg3OTc1KTogSW1wbGVtZW50IHRoaXMhCisgICAgcmV0dXJuIFNj
cmlwdE9iamVjdCgpOworfQorI2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpk
aXNjYXJkSW5qZWN0ZWRTY3JpcHQoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKQogewogICAgIEpT
RE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3Qq
PihzY3JpcHRTdGF0ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmNwcAppbmRleCBjMTlmYjk4OTJiZGM4YTk3NjRkZjdlM2Fi
YmY3OTliMTVkYmI2ODE0Li5lMjFjNmNhY2U3NTE3ZDk0MDRjOWI5YmM0YzAzZWQzODcxYzMyNDBm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuY3BwCkBAIC05MCw3
ICs5MCw3IEBAIFNjcmlwdFN0YXRlKiBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dCh2ODo6TG9jYWw8
djg6OkNvbnRleHQ+IGNvbnRleHQpCiAKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gZ2xvYmFs
ID0gY29udGV4dC0+R2xvYmFsKCk7CiAgICAgLy8gU2tpcCBwcm94eSBvYmplY3QuIFRoZSBwcm94
eSBvYmplY3Qgd2lsbCBzdXJ2aXZlIHBhZ2UgbmF2aWdhdGlvbiB3aGlsZSB3ZSBuZWVkCi0gICAg
Ly8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvbnNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5z
cGVjdGVkIGNvbnRleHQuCisgICAgLy8gYW4gb2JqZWN0IHdob3NlIGxpZmV0aW1lIGNvaW5jaWRl
cyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0LgogICAgIGdsb2JhbCA9IHY4OjpM
b2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChnbG9iYWwtPkdldFByb3RvdHlwZSgpKTsKIAogICAgIHY4
OjpIYW5kbGU8djg6OlN0cmluZz4ga2V5ID0gVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6OnNjcmlwdFN0
YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhI
VE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggMjBkYjUzZDY0ZWMxMDE5
YmYxMGQzYzQyYzc4ZWY3MDAyOWYyOWQ3OC4uZTE5ODk2ZmVlMDIwMWIxYjU0YjM1NWQ5ZDBjYjIx
ODNmZDI3ODllNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcApAQCAtNDIsNiArNDIs
NyBAQAogI2luY2x1ZGUgIlY4Tm9kZS5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIKICNpZiBFTkFC
TEUoV0VCR0wpCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb24uaCIKICNp
bmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlmCiAjaW5jbHVkZSA8d3Rm
L01hdGhFeHRyYXMuaD4KQEAgLTg4LDggKzg5LDE3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
CiAgICAgaWYgKHJlc3VsdC0+aXMyZCgpKQogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2Fz
dDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7
CiAjaWYgRU5BQkxFKFdFQkdMKQotICAgIGVsc2UgaWYgKHJlc3VsdC0+aXMzZCgpKQotICAgICAg
ICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQp
LCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAgZWxzZSBpZiAocmVzdWx0LT5pczNkKCkpIHsKKyAg
ICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHY4UmVzdWx0ID0gdG9WOChzdGF0aWNfY2FzdDxX
ZWJHTFJlbmRlcmluZ0NvbnRleHQqPihyZXN1bHQpLCBhcmdzLkdldElzb2xhdGUoKSk7CisgICAg
ICAgIGlmIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygpKSB7CisgICAg
ICAgICAgICBTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUgPSBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4
dCh2ODo6Q29udGV4dDo6R2V0Q3VycmVudCgpKTsKKyAgICAgICAgICAgIFNjcmlwdE9iamVjdCBn
bENvbnRleHQoc2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QodjhSZXN1
bHQpKTsKKyAgICAgICAgICAgIFNjcmlwdE9iamVjdCB3cmFwcGVkID0gSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKGlt
cC0+ZG9jdW1lbnQoKSwgZ2xDb250ZXh0KTsKKyAgICAgICAgICAgIGlmICghd3JhcHBlZC5oYXNO
b1ZhbHVlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudjhWYWx1ZSgpOworICAg
ICAgICB9CisgICAgICAgIHJldHVybiB2OFJlc3VsdDsKKyAgICB9CiAjZW5kaWYKICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gdjg6Ok51bGwoYXJncy5HZXRJc29sYXRlKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5kZXggMzMzZmU1NzVjYjA3OGExMjc1NjdjNjVj
MmM1MWRjZjdhNDZkMWMyMy4uMWNlNTk1ZWM4MDc0YzEyNzJiYzY5MmZkNjE5MDlkZmVhYmVkOTU5
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0xMTAsMTAgKzExMCwzNCBAQCBTY3Jp
cHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpjcmVhdGVJbmplY3RlZFNjcmlwdChjb25z
dCBTdHJpbmcmIHNjcmlwdFNvdQogICAgICAgdjg6Ok51bWJlcjo6TmV3KGlkKSwKICAgICB9Owog
ICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGluamVjdGVkU2NyaXB0VmFsdWUgPSB2ODo6RnVuY3Rp
b246OkNhc3QoKnYpLT5DYWxsKHdpbmRvd0dsb2JhbCwgMywgYXJncyk7Ci0gICAgdjg6OkxvY2Fs
PHY4OjpPYmplY3Q+IGluamVjdGVkU2NyaXB0KHY4OjpPYmplY3Q6OkNhc3QoKmluamVjdGVkU2Ny
aXB0VmFsdWUpKTsKLSAgICByZXR1cm4gU2NyaXB0T2JqZWN0KGluc3BlY3RlZFNjcmlwdFN0YXRl
LCBpbmplY3RlZFNjcmlwdCk7CisgICAgcmV0dXJuIFNjcmlwdE9iamVjdChpbnNwZWN0ZWRTY3Jp
cHRTdGF0ZSwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChpbmplY3RlZFNjcmlwdFZhbHVl
KSk7CiB9CiAKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyOjppbmplY3RXZWJHTFNjcmlwdChjb25zdCBTdHJpbmcmIHNjcmlwdFNvdXJjZSwgU2Ny
aXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CisKKyAg
ICBTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2NyaXB0U3RhdGUgPSBnbENvbnRleHQuc2NyaXB0U3Rh
dGUoKTsKKyAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGluc3BlY3RlZENvbnRleHQgPSBpbnNw
ZWN0ZWRTY3JpcHRTdGF0ZS0+Y29udGV4dCgpOworICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250
ZXh0U2NvcGUoaW5zcGVjdGVkQ29udGV4dCk7CisKKyAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4g
d2luZG93R2xvYmFsID0gaW5zcGVjdGVkQ29udGV4dC0+R2xvYmFsKCk7CisKKyAgICB2ODo6TG9j
YWw8djg6OlNjcmlwdD4gc2NyaXB0ID0gdjg6OlNjcmlwdDo6Q29tcGlsZSh2OFN0cmluZyhzY3Jp
cHRTb3VyY2UpKTsKKyAgICBWOFJlY3Vyc2lvblNjb3BlOjpNaWNyb3Rhc2tTdXBwcmVzc2lvbiBy
ZWN1cnNpb25TY29wZTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2ID0gc2NyaXB0LT5SdW4o
KTsKKyAgICBBU1NFUlQoIXYuSXNFbXB0eSgpKTsKKyAgICBBU1NFUlQodi0+SXNGdW5jdGlvbigp
KTsKKworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmdzW10gPSB7CisgICAgICAgIGdsQ29u
dGV4dC52OFZhbHVlKCksCisgICAgfTsKKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBpbmplY3Rl
ZFNjcmlwdFZhbHVlID0gdjg6OkZ1bmN0aW9uOjpDYXN0KCp2KS0+Q2FsbCh3aW5kb3dHbG9iYWws
IDEsIGFyZ3MpOworICAgIHJldHVybiBTY3JpcHRPYmplY3QoaW5zcGVjdGVkU2NyaXB0U3RhdGUs
IHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoaW5qZWN0ZWRTY3JpcHRWYWx1ZSkpOworfQor
I2VuZGlmCisKIHZvaWQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpkaXNjYXJkSW5qZWN0ZWRTY3Jp
cHQoU2NyaXB0U3RhdGUqIGluc3BlY3RlZFNjcmlwdFN0YXRlKQogewogICAgIHY4OjpIYW5kbGVT
Y29wZSBoYW5kbGVTY29wZTsKQEAgLTEyMiw3ICsxNDYsNyBAQCB2b2lkIEluamVjdGVkU2NyaXB0
TWFuYWdlcjo6ZGlzY2FyZEluamVjdGVkU2NyaXB0KFNjcmlwdFN0YXRlKiBpbnNwZWN0ZWRTY3Jp
cHRTdAogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGdsb2JhbCA9IGNvbnRleHQtPkdsb2Jh
bCgpOwogICAgIC8vIFNraXAgcHJveHkgb2JqZWN0LiBUaGUgcHJveHkgb2JqZWN0IHdpbGwgc3Vy
dml2ZSBwYWdlIG5hdmlnYXRpb24gd2hpbGUgd2UgbmVlZAotICAgIC8vIGFuIG9iamVjdCB3aG9z
ZSBsaWZldGltZSBjb25zaWRlcyB3aXRoIHRoYXQgb2YgdGhlIGluc3BlY3RlZCBjb250ZXh0Lgor
ICAgIC8vIGFuIG9iamVjdCB3aG9zZSBsaWZldGltZSBjb2luY2lkZXMgd2l0aCB0aGF0IG9mIHRo
ZSBpbnNwZWN0ZWQgY29udGV4dC4KICAgICBnbG9iYWwgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46
OkNhc3QoZ2xvYmFsLT5HZXRQcm90b3R5cGUoKSk7CiAKICAgICB2ODo6SGFuZGxlPHY4OjpTdHJp
bmc+IGtleSA9IFY4SGlkZGVuUHJvcGVydHlOYW1lOjpkZXZ0b29sc0luamVjdGVkU2NyaXB0KCk7
CkBAIC0xMzcsNyArMTYxLDcgQEAgSW5qZWN0ZWRTY3JpcHQgSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
OjppbmplY3RlZFNjcmlwdEZvcihTY3JpcHRTdGF0ZSogaW5zcGVjdGVkU2MKIAogICAgIHY4OjpM
b2NhbDx2ODo6T2JqZWN0PiBnbG9iYWwgPSBjb250ZXh0LT5HbG9iYWwoKTsKICAgICAvLyBTa2lw
IHByb3h5IG9iamVjdC4gVGhlIHByb3h5IG9iamVjdCB3aWxsIHN1cnZpdmUgcGFnZSBuYXZpZ2F0
aW9uIHdoaWxlIHdlIG5lZWQKLSAgICAvLyBhbiBvYmplY3Qgd2hvc2UgbGlmZXRpbWUgY29uc2lk
ZXMgd2l0aCB0aGF0IG9mIHRoZSBpbnNwZWN0ZWQgY29udGV4dC4KKyAgICAvLyBhbiBvYmplY3Qg
d2hvc2UgbGlmZXRpbWUgY29pbmNpZGVzIHdpdGggdGhhdCBvZiB0aGUgaW5zcGVjdGVkIGNvbnRl
eHQuCiAgICAgZ2xvYmFsID0gdjg6OkxvY2FsPHY4OjpPYmplY3Q+OjpDYXN0KGdsb2JhbC0+R2V0
UHJvdG90eXBlKCkpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6U3RyaW5nPiBrZXkgPSBWOEhpZGRl
blByb3BlcnR5TmFtZTo6ZGV2dG9vbHNJbmplY3RlZFNjcmlwdCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucHkgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQppbmRleCBlOWQzNzNi
MDFlMDM1ZDViNDRmNjI3NjNjMDY0ODYwNzE1ZmEyNzQ2Li4zNDUzMTNkNDRjMmUzMjlmZDg0ZTAy
YmJkMTVlZTc3M2Q1ZGI0N2M1IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29kZUdlbmVyYXRvckluc3BlY3Rvci5weQorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29kZUdlbmVyYXRvckluc3BlY3Rvci5weQpAQCAtNDYsNiArNDYsNyBAQCBET01BSU5fREVGSU5F
X05BTUVfTUFQID0gewogICAgICJJbmRleGVkREIiOiAiSU5ERVhFRF9EQVRBQkFTRSIsCiAgICAg
IlByb2ZpbGVyIjogIkpBVkFTQ1JJUFRfREVCVUdHRVIiLAogICAgICJXb3JrZXIiOiAiV09SS0VS
UyIsCisgICAgIldlYkdMIjogIldFQkdMIiwKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IGU0MDZjNGE4ZTE1ODUw
Njg2Zjc2NjRiMmM1ZGZmZWZjYjhhOTJkMmIuLjMxZmY5ZjQxYzYwNjYyYTY0MjY0YWFkZTc1ZmI3
Y2U3ZGE4ZGNiN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0zNyw3ICszNywxMSBAQAogI2luY2x1ZGUgIkluamVjdGVk
U2NyaXB0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiSW5q
ZWN0ZWRTY3JpcHRTb3VyY2UuaCIKKyNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSAiSW5qZWN0
ZWRXZWJHTFNjcmlwdFNvdXJjZS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVz
LmgiCisjaW5jbHVkZSAiU2NyaXB0T2JqZWN0LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTE3Miw2ICsxNzYsMTggQEAg
cGFpcjxpbnQsIFNjcmlwdE9iamVjdD4gSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjppbmplY3RTY3Jp
cHQoY29uc3QgU3RyaW5nJiBzb3VyY2UKICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoaWQsIGNy
ZWF0ZUluamVjdGVkU2NyaXB0KHNvdXJjZSwgc2NyaXB0U3RhdGUsIGlkKSk7CiB9CiAKKyNpZiBF
TkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjp3cmFwV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKFNjcmlwdE9iamVjdCBnbENvbnRl
eHQpCit7CisgICAgcmV0dXJuIGluamVjdFdlYkdMU2NyaXB0KGluamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UoKSwgZ2xDb250ZXh0KTsKK30KKworU3RyaW5nIEluamVjdGVkU2NyaXB0TWFuYWdlcjo6
aW5qZWN0ZWRXZWJHTFNjcmlwdFNvdXJjZSgpCit7CisgICAgcmV0dXJuIFN0cmluZyhyZWludGVy
cHJldF9jYXN0PGNvbnN0IGNoYXIqPihJbmplY3RlZFdlYkdMU2NyaXB0U291cmNlX2pzKSwgc2l6
ZW9mKEluamVjdGVkV2ViR0xTY3JpcHRTb3VyY2VfanMpKTsKK30KKyNlbmRpZgorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oCmluZGV4IGE5YmRj
YTUyZmNiYzIyN2FiMjkxYWI3NGE2ZWI4OTE4ZjA0YmQ4ZTQuLjYxM2ZlZjgxMjM4YTQwOTE4YTg2
MzI4NDkwY2FjMDE1Nzk0MzNiNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKQEAgLTcsMTMgKzcsMTMgQEAKICAqIGFyZSBtZXQ6CiAg
KgogICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKICAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KICAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCiAgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4g
CisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgogICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
QU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCiAgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CkBAIC02NCw2ICs2NCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2NhcmRJbmplY3RlZFNjcmlw
dHNGb3IoRE9NV2luZG93Kik7CiAgICAgdm9pZCByZWxlYXNlT2JqZWN0R3JvdXAoY29uc3QgU3Ry
aW5nJiBvYmplY3RHcm91cCk7CiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgU2NyaXB0T2JqZWN0
IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0
KTsKKyNlbmRpZgogCiBwcml2YXRlOgogICAgIHR5cGVkZWYgYm9vbCAoKkluc3BlY3RlZFN0YXRl
QWNjZXNzQ2hlY2spKFNjcmlwdFN0YXRlKik7CkBAIC03Myw2ICs3NiwxMSBAQCBwcml2YXRlOgog
ICAgIFNjcmlwdE9iamVjdCBjcmVhdGVJbmplY3RlZFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJj
ZSwgU2NyaXB0U3RhdGUqLCBpbnQgaWQpOwogICAgIHZvaWQgZGlzY2FyZEluamVjdGVkU2NyaXB0
KFNjcmlwdFN0YXRlKik7CiAKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgU3RyaW5nIGluamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UoKTsKKyAgICBTY3JpcHRPYmplY3QgaW5qZWN0V2ViR0xTY3JpcHQo
Y29uc3QgU3RyaW5nJiBzb3VyY2UsIFNjcmlwdE9iamVjdCk7CisjZW5kaWYKKwogICAgIHN0YXRp
YyBib29sIGNhbkFjY2Vzc0luc3BlY3RlZFdpbmRvdyhTY3JpcHRTdGF0ZSopOwogICAgIHN0YXRp
YyBib29sIGNhbkFjY2Vzc0luc3BlY3RlZFdvcmtlckNvbnRleHQoU2NyaXB0U3RhdGUqKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkV2ViR0xTY3JpcHRT
b3VyY2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRXZWJHTFNjcmlwdFNv
dXJjZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42YTU1NTRkMzEyYTBlZjBhMzEyMmY1OGVjNTFlYzJkZGFkN2Ri
MDJiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVk
V2ViR0xTY3JpcHRTb3VyY2UuanMKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyhmdW5jdGlvbihnbENvbnRleHQp
IHsKKworLy8gRklYTUU6IFdyYXAgV2ViR0wgY29udGV4dCBmb3IgaW5zdHJ1bWVudGF0aW9uLgor
cmV0dXJuIGdsQ29udGV4dDsKKworfSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3Iu
anNvbgppbmRleCBjOTkxMTYwOGM0ZThjZGJhYWI2OTdlMDU3M2RlM2U3NGRlNDBiYjUxLi4wNDJi
ZThmNmYzZTAyZjNkYmEzNTM3YTg5YzZjN2NlZjdlYmFhYjRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0yODExLDUgKzI4MTEsMjEgQEAKICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJkaXNjb25uZWN0ZWRGcm9tV29ya2VyIgogICAgICAgICAgICAgfQogICAg
ICAgICBdCisgICAgfSwKKyAgICB7CisgICAgICAgICJkb21haW4iOiAiV2ViR0wiLAorICAgICAg
ICAiaGlkZGVuIjogdHJ1ZSwKKyAgICAgICAgInR5cGVzIjogW10sCisgICAgICAgICJjb21tYW5k
cyI6IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJlbmFibGUiLAor
ICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFbmFibGVzIFdlYkdMIGluc3BlY3Rpb24u
IgorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6
ICJkaXNhYmxlIiwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGlzYWJsZXMgV2Vi
R0wgaW5zcGVjdGlvbi4iCisgICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJldmVu
dHMiOiBbXQogICAgIH1dCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckFsbEluT25lLmNwcAppbmRleCBiMTIyMzA0MzIzM2Y5ZDQ0N2E1ZDNhYjU1MTEwNjY5NTllZmJl
NjIxLi5iZTkyYTEzZmM3YjNjZDg1NjEzNjM4ZTYxODg3N2M4MmZiMmMzOWFjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKQEAgLTY1LDYgKzY1
LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JTdHlsZVRleHRFZGl0b3IuY3BwIgogI2luY2x1ZGUg
Ikluc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5j
cHAiCisjaW5jbHVkZSAiSW5zcGVjdG9yV2ViR0xBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yV29ya2VyQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuY3BwIgog
I2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA0NmUwYzJiOGM1NGY0YjQy
MGMyMzY4NGM3YmUzYTc1M2E0NWJiNzY5Li5hYzE5YzdkYjk1M2QyNDU4MzljYWRmYTMyODZlZjY4
YjUyOTYyZWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwCkBAIC02MSw2ICs2MSw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvcldlYkdMQWdlbnQuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JXb3JrZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdB
Z2VudHMuaCIKICNpbmNsdWRlICJQYWdlQ29uc29sZUFnZW50LmgiCkBAIC0xNDQsNiArMTQ1LDEw
IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwg
SW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAgICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3Rv
cldvcmtlckFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRl
LmdldCgpKSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBtX2FnZW50cy5hcHBl
bmQoSW5zcGVjdG9yV2ViR0xBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQo
KSwgbV9zdGF0ZS5nZXQoKSwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKTsKKyNlbmRp
ZgorCiAgICAgQVNTRVJUX0FSRyhpbnNwZWN0b3JDbGllbnQsIGluc3BlY3RvckNsaWVudCk7CiAg
ICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0SG9zdCgpLT5pbml0KG1f
aW5zcGVjdG9yQWdlbnQKICAgICAgICAgLCBjb25zb2xlQWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBjYTk1MGJh
ZjcwZDE3Njg1NmMzY2U2ODczMGQyOWQ4MWJjZGMxOGYyLi40ZWJhNGIzYzBhNTIzYWZkZmQzOWEx
MmNmMzI5YmE3NjA3OTZlNzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC02OCw2ICs2OCw3IEBAIGNsYXNzIFJlc291
cmNlUmVzcG9uc2U7CiBjbGFzcyBTY3JpcHRBcmd1bWVudHM7CiBjbGFzcyBTY3JpcHRDYWxsU3Rh
Y2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworY2xhc3MgU2NyaXB0T2JqZWN0Owog
Y2xhc3MgU2NyaXB0UHJvZmlsZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU2hhZG93
Um9vdDsKQEAgLTIzNiw2ICsyMzcsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZFJl
Y2VpdmVXZWJTb2NrZXRGcmFtZUVycm9yKERvY3VtZW50KiwgdW5zaWduZWQgbG9uZyBpZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShX
RUJHTCkKKyAgICBzdGF0aWMgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRG
b3JJbnN0cnVtZW50YXRpb24oRG9jdW1lbnQqLCBTY3JpcHRPYmplY3QpOworI2VuZGlmCisKICAg
ICBzdGF0aWMgdm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VkKFBhZ2UqKTsKICAgICBzdGF0aWMgdm9p
ZCB1cGRhdGVBcHBsaWNhdGlvbkNhY2hlU3RhdHVzKEZyYW1lKik7CiAKQEAgLTk3NSw3ICs5ODAs
NyBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1hcmtSZXNvdXJjZUFz
Q2FjaGVkKFBhZ2UqIHBhZ2UsIHVuc2lnbmVkCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAg
ICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1l
bnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQotICAgICAgICBtYXJrUmVzb3VyY2VBc0NhY2hlZElt
cGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaWRlbnRpZmllcik7IAorICAgICAgICBtYXJrUmVzb3Vy
Y2VBc0NhY2hlZEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaWRlbnRpZmllcik7CiAjZW5kaWYK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdM
QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMQWdlbnQu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZhZWEwYWEzODdjZGI3ODRjNWNiZDI2YTRmOThiNjhhMmNiM2UzMGMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2Vi
R0xBZ2VudC5jcHAKQEAgLTAsMCArMSwxMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBF
TkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoV0VCR0wpCisKKyNpbmNsdWRlICJJbnNwZWN0b3JX
ZWJHTEFnZW50LmgiCisKKyNpbmNsdWRlICJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKKyNpbmNs
dWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgorI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCisj
aW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5o
IgorI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworbmFt
ZXNwYWNlIFdlYkdMQWdlbnRTdGF0ZSB7CitzdGF0aWMgY29uc3QgY2hhciB3ZWJHTEFnZW50RW5h
YmxlZFtdID0gIndlYkdMQWdlbnRFbmFibGVkIjsKK307CisKK0luc3BlY3RvcldlYkdMQWdlbnQ6
Okluc3BlY3RvcldlYkdMQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0Fn
ZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVj
dGVkU2NyaXB0TWFuYWdlcikKKyAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JXZWJH
TEFnZW50PigiV2ViR0wiLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKKyAgICAsIG1faW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyKGluamVjdGVkU2NyaXB0TWFuYWdlcikKKyAgICAsIG1fZnJvbnRl
bmQoMCkKKyAgICAsIG1fZW5hYmxlZChmYWxzZSkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2Vu
dHMtPnNldEluc3BlY3RvcldlYkdMQWdlbnQodGhpcyk7Cit9CisKK0luc3BlY3RvcldlYkdMQWdl
bnQ6On5JbnNwZWN0b3JXZWJHTEFnZW50KCkKK3sKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMt
PnNldEluc3BlY3RvcldlYkdMQWdlbnQoMCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2Vu
dDo6c2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKQoreworICAgIEFTU0VS
VChmcm9udGVuZCk7CisgICAgbV9mcm9udGVuZCA9IGZyb250ZW5kLT53ZWJnbCgpOworfQorCit2
b2lkIEluc3BlY3RvcldlYkdMQWdlbnQ6OmNsZWFyRnJvbnRlbmQoKQoreworICAgIG1fZnJvbnRl
bmQgPSAwOworICAgIGRpc2FibGUoMCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV2ViR0xBZ2VudDo6
cmVzdG9yZSgpCit7CisgICAgbV9lbmFibGVkID0gbV9zdGF0ZS0+Z2V0Qm9vbGVhbihXZWJHTEFn
ZW50U3RhdGU6OndlYkdMQWdlbnRFbmFibGVkKTsKK30KKwordm9pZCBJbnNwZWN0b3JXZWJHTEFn
ZW50OjplbmFibGUoRXJyb3JTdHJpbmcqKQoreworICAgIGlmIChtX2VuYWJsZWQpCisgICAgICAg
IHJldHVybjsKKyAgICBtX2VuYWJsZWQgPSB0cnVlOworICAgIG1fc3RhdGUtPnNldEJvb2xlYW4o
V2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCwgbV9lbmFibGVkKTsKK30KKwordm9p
ZCBJbnNwZWN0b3JXZWJHTEFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKK3sKKyAgICBpZiAo
IW1fZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fZW5hYmxlZCA9IGZhbHNlOworICAg
IG1fc3RhdGUtPnNldEJvb2xlYW4oV2ViR0xBZ2VudFN0YXRlOjp3ZWJHTEFnZW50RW5hYmxlZCwg
bV9lbmFibGVkKTsKK30KKworU2NyaXB0T2JqZWN0IEluc3BlY3RvcldlYkdMQWdlbnQ6OndyYXBX
ZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oU2NyaXB0T2JqZWN0IGdsQ29u
dGV4dCkKK3sKKyAgICByZXR1cm4gbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPndyYXBXZWJHTFJl
bmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRpb24oZ2xDb250ZXh0KTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxF
KFdFQkdMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcldl
YkdMQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJHTEFnZW50
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDBkMDhjYTJjZDdlMDAyMmQ5NjA5M2YyMGQ2ZmNiNGNhZGY4MzdkNgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXZWJH
TEFnZW50LmgKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yV2ViR0xBZ2VudF9oCisj
ZGVmaW5lIEluc3BlY3RvcldlYkdMQWdlbnRfaAorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYg
RU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAiSW5zcGVjdG9yQmFzZUFnZW50LmgiCisjaW5jbHVk
ZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2lu
Y2x1ZGUgIlNjcmlwdFN0YXRlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIElu
amVjdGVkU2NyaXB0TWFuYWdlcjsKK2NsYXNzIEluc3BlY3RvclN0YXRlOworY2xhc3MgSW5zdHJ1
bWVudGluZ0FnZW50czsKK2NsYXNzIFNjcmlwdE9iamVjdDsKKwordHlwZWRlZiBTdHJpbmcgRXJy
b3JTdHJpbmc7CisKK2NsYXNzIEluc3BlY3RvcldlYkdMQWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9y
QmFzZUFnZW50PEluc3BlY3RvcldlYkdMQWdlbnQ+LCBwdWJsaWMgSW5zcGVjdG9yQmFja2VuZERp
c3BhdGNoZXI6OldlYkdMQ29tbWFuZEhhbmRsZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNz
T3duUHRyPEluc3BlY3RvcldlYkdMQWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIEluamVjdGVkU2NyaXB0
TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBJbnNwZWN0b3JXZWJHTEFnZW50KGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRl
LCBpbmplY3RlZFNjcmlwdE1hbmFnZXIpKTsKKyAgICB9CisgICAgfkluc3BlY3RvcldlYkdMQWdl
bnQoKTsKKworICAgIHZpcnR1YWwgdm9pZCBzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCop
OworICAgIHZpcnR1YWwgdm9pZCBjbGVhckZyb250ZW5kKCk7CisgICAgdmlydHVhbCB2b2lkIHJl
c3RvcmUoKTsKKworICAgIGJvb2wgZW5hYmxlZCgpIHsgcmV0dXJuIG1fZW5hYmxlZDsgfQorCisg
ICAgU2NyaXB0T2JqZWN0IHdyYXBXZWJHTFJlbmRlcmluZ0NvbnRleHRGb3JJbnN0cnVtZW50YXRp
b24oU2NyaXB0T2JqZWN0KTsKKworICAgIC8vIENhbGxlZCBmcm9tIHRoZSBmcm9udC1lbmQuCisg
ICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopOworICAgIHZpcnR1YWwgdm9pZCBk
aXNhYmxlKEVycm9yU3RyaW5nKik7CisKKyAgICAvLyBDYWxsZWQgZnJvbSB0aGUgaW5qZWN0ZWQg
c2NyaXB0LgorCisgICAgLy8gQ2FsbGVkIGZyb20gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uCisK
K3ByaXZhdGU6CisgICAgSW5zcGVjdG9yV2ViR0xBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwg
SW5zcGVjdG9yU3RhdGUqLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqKTsKKworICAgIEluamVjdGVk
U2NyaXB0TWFuYWdlciogbV9pbmplY3RlZFNjcmlwdE1hbmFnZXI7CisgICAgSW5zcGVjdG9yRnJv
bnRlbmQ6OldlYkdMKiBtX2Zyb250ZW5kOworICAgIGJvb2wgbV9lbmFibGVkOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5B
QkxFKFdFQkdMKQorCisjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yV2ViR0xBZ2VudF9oKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldlYkdMSW5zdHJ1
bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV2ViR0xJbnN0
cnVtZW50YXRpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzI5N2NiNWNiYmY4ZTE5ZTBkMjhjYTExOTY2OTY0
NGYzZTA1NWU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldlYkdMSW5zdHJ1bWVudGF0aW9uLmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5z
cGVjdG9yV2ViR0xJbnN0cnVtZW50YXRpb25faAorI2RlZmluZSBJbnNwZWN0b3JXZWJHTEluc3Ry
dW1lbnRhdGlvbl9oCisKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNp
bmNsdWRlICJJbnNwZWN0b3JXZWJHTEFnZW50LmgiCisjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0Fn
ZW50cy5oIgorI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKKyNpZiBFTkFCTEUoV0VCR0wpCitTY3JpcHRPYmplY3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjp3cmFwV2ViR0xSZW5kZXJpbmdDb250ZXh0Rm9ySW5zdHJ1bWVudGF0aW9uKERvY3VtZW50
KiBkb2N1bWVudCwgU2NyaXB0T2JqZWN0IGdsQ29udGV4dCkKK3sKKyNpZiBFTkFCTEUoSU5TUEVD
VE9SKQorICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0g
aW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkgeworICAgICAgICBJbnNw
ZWN0b3JXZWJHTEFnZW50KiB3ZWJHTEFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVj
dG9yV2ViR0xBZ2VudCgpOworICAgICAgICBpZiAod2ViR0xBZ2VudCAmJiB3ZWJHTEFnZW50LT5l
bmFibGVkKCkpCisgICAgICAgICAgICByZXR1cm4gd2ViR0xBZ2VudC0+d3JhcFdlYkdMUmVuZGVy
aW5nQ29udGV4dEZvckluc3RydW1lbnRhdGlvbihnbENvbnRleHQpOworICAgIH0KKyNlbmRpZgor
ICAgIHJldHVybiBTY3JpcHRPYmplY3QoKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3Rvcldl
YkdMSW5zdHJ1bWVudGF0aW9uX2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Ry
dW1lbnRpbmdBZ2VudHMuaAppbmRleCAxOTRlYjg2NWVjNzVhNjZmZWZiNGI3MjQ2ZjAwOGE4Mzhh
ODhhYWJjLi4xMzM0ZGM3ZDZkYjdlZGIzOTA4NmI5NmUzYzc4NjRjYTE3OGYzNDFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTUyLDYg
KzUyLDcgQEAgY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJ1
bnRpbWVBZ2VudDsKIGNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0
b3JXb3JrZXJBZ2VudDsKK2NsYXNzIEluc3BlY3RvcldlYkdMQWdlbnQ7CiBjbGFzcyBQYWdlOwog
Y2xhc3MgUGFnZVJ1bnRpbWVBZ2VudDsKIGNsYXNzIFdvcmtlckNvbnRleHQ7CkBAIC04Niw2ICs4
Nyw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICAgICAgLCBtX2luc3BlY3Rv
cldvcmtlckFnZW50KDApCiAjZW5kaWYKKyNpZiBFTkFCTEUoV0VCR0wpCisgICAgICAgICwgbV9p
bnNwZWN0b3JXZWJHTEFnZW50KDApCisjZW5kaWYKICAgICB7IH0KICAgICB+SW5zdHJ1bWVudGlu
Z0FnZW50cygpIHsgfQogCkBAIC0xNDIsMTEgKzE0NiwxNyBAQCBwdWJsaWM6CiAgICAgSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudCogaW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJu
IG1faW5zcGVjdG9yUHJvZmlsZXJBZ2VudDsgfQogICAgIHZvaWQgc2V0SW5zcGVjdG9yUHJvZmls
ZXJBZ2VudChJbnNwZWN0b3JQcm9maWxlckFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclByb2Zp
bGVyQWdlbnQgPSBhZ2VudDsgfQogI2VuZGlmCisKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICBJ
bnNwZWN0b3JXb3JrZXJBZ2VudCogaW5zcGVjdG9yV29ya2VyQWdlbnQoKSBjb25zdCB7IHJldHVy
biBtX2luc3BlY3RvcldvcmtlckFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JXb3JrZXJB
Z2VudChJbnNwZWN0b3JXb3JrZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JXb3JrZXJBZ2Vu
dCA9IGFnZW50OyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyAgICBJbnNwZWN0b3JX
ZWJHTEFnZW50KiBpbnNwZWN0b3JXZWJHTEFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0
b3JXZWJHTEFnZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JXZWJHTEFnZW50KEluc3BlY3Rv
cldlYkdMQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yV2ViR0xBZ2VudCA9IGFnZW50OyB9Cisj
ZW5kaWYKKwogcHJpdmF0ZToKICAgICBJbnNwZWN0b3JBZ2VudCogbV9pbnNwZWN0b3JBZ2VudDsK
ICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1faW5zcGVjdG9yUGFnZUFnZW50OwpAQCAtMTczLDYg
KzE4Myw5IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgSW5zcGVjdG9yV29y
a2VyQWdlbnQqIG1faW5zcGVjdG9yV29ya2VyQWdlbnQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoV0VC
R0wpCisgICAgSW5zcGVjdG9yV2ViR0xBZ2VudCogbV9pbnNwZWN0b3JXZWJHTEFnZW50OworI2Vu
ZGlmCiB9OwogCiBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50YXRpb25Gb3JQYWdlKFBh
Z2UqKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>